From faa9ea3c98d13b1f862e7aa2ec24506dad20b9f6 Mon Sep 17 00:00:00 2001 From: Leonardo de Moura Date: Mon, 9 Nov 2020 18:45:35 -0800 Subject: [PATCH] chore: update stage0 --- stage0/src/Init/Core.lean | 2 +- stage0/src/Init/LeanInit.lean | 82 + stage0/src/Lean/Elab/Match.lean | 17 +- .../Lean/Elab/PreDefinition/Structural.lean | 54 +- stage0/src/Lean/LocalContext.lean | 4 + stage0/src/Lean/Meta/Match/Match.lean | 22 + stage0/src/Lean/Meta/Tactic/Induction.lean | 2 +- stage0/src/Lean/Parser/Term.lean | 8 +- stage0/src/Lean/Syntax.lean | 77 - stage0/stdlib/Init/LeanInit.c | 1641 +++++++- stage0/stdlib/Lean/Elab/Match.c | 1883 ++++++--- .../Lean/Elab/PreDefinition/Structural.c | 2660 ++++--------- stage0/stdlib/Lean/LocalContext.c | 101 +- stage0/stdlib/Lean/Meta/Match/Match.c | 3350 +++++++++++++---- stage0/stdlib/Lean/Meta/Tactic/Induction.c | 2 +- stage0/stdlib/Lean/Parser/Term.c | 983 ++++- stage0/stdlib/Lean/Syntax.c | 1565 -------- 17 files changed, 7676 insertions(+), 4777 deletions(-) diff --git a/stage0/src/Init/Core.lean b/stage0/src/Init/Core.lean index eb0b783a80..07c805c2e7 100644 --- a/stage0/src/Init/Core.lean +++ b/stage0/src/Init/Core.lean @@ -140,7 +140,7 @@ structure Iff (a b : Prop) : Prop := @[matchPattern] def rfl {α : Sort u} {a : α} : a = a := Eq.refl a -theorem Eq.subst {α : Sort u} {P : α → Prop} {a b : α} (h₁ : a = b) (h₂ : P a) : P b := +theorem Eq.subst {α : Sort u} {motive : α → Prop} {a b : α} (h₁ : a = b) (h₂ : motive a) : motive b := Eq.ndrec h₂ h₁ theorem Eq.trans {α : Sort u} {a b c : α} (h₁ : a = b) (h₂ : b = c) : a = c := diff --git a/stage0/src/Init/LeanInit.lean b/stage0/src/Init/LeanInit.lean index c3eae53656..6beabca01f 100644 --- a/stage0/src/Init/LeanInit.lean +++ b/stage0/src/Init/LeanInit.lean @@ -278,8 +278,90 @@ partial def getHeadInfo : Syntax → Option SourceInfo | node _ args => args.findSome? getHeadInfo | _ => none +partial def getTailInfo : Syntax → Option SourceInfo + | atom info _ => info + | ident info .. => info + | node _ args => args.findSomeRev? getTailInfo + | _ => none + +@[specialize] private partial def updateLast {α} [Inhabited α] (a : Array α) (f : α → Option α) (i : Nat) : Option (Array α) := + if i == 0 then none + else + let i := i - 1; + let v := a.get! i; + match f v with + | some v => some $ a.set! i v + | none => updateLast a f i + +partial def setTailInfoAux (info : SourceInfo) : Syntax → Option Syntax + | atom _ val => some $ atom info val + | ident _ rawVal val pre => some $ ident info rawVal val pre + | node k args => + match updateLast args (setTailInfoAux info) args.size with + | some args => some $ node k args + | none => none + | stx => none + +def setTailInfo (stx : Syntax) (info : SourceInfo) : Syntax := + match setTailInfoAux info stx with + | some stx => stx + | none => stx + +def unsetTrailing (stx : Syntax) : Syntax := + match stx.getTailInfo with + | none => stx + | some info => stx.setTailInfo { info with trailing := none } + +@[specialize] private partial def updateFirst {α} [Inhabited α] (a : Array α) (f : α → Option α) (i : Nat) : Option (Array α) := + if h : i < a.size then + let v := a.get ⟨i, h⟩; + match f v with + | some v => some $ a.set ⟨i, h⟩ v + | none => updateFirst a f (i+1) + else + none + +partial def setHeadInfoAux (info : SourceInfo) : Syntax → Option Syntax + | atom _ val => some $ atom info val + | ident _ rawVal val pre => some $ ident info rawVal val pre + | node k args => + match updateFirst args (setHeadInfoAux info) 0 with + | some args => some $ node k args + | noxne => none + | stx => none + +def setHeadInfo (stx : Syntax) (info : SourceInfo) : Syntax := + match setHeadInfoAux info stx with + | some stx => stx + | none => stx + +def setInfo (info : SourceInfo) : Syntax → Syntax + | atom _ val => atom info val + | ident _ rawVal val pre => ident info rawVal val pre + | stx => stx + +partial def replaceInfo (info : SourceInfo) : Syntax → Syntax + | node k args => node k $ args.map (replaceInfo info) + | stx => setInfo info stx + +def copyInfo (s : Syntax) (source : Syntax) : Syntax := + match source.getHeadInfo with + | none => s + | some info => s.setHeadInfo info + +def copyTailInfo (s : Syntax) (source : Syntax) : Syntax := + match source.getTailInfo with + | none => s + | some info => s.setTailInfo info + end Syntax +def mkAtom (val : String) : Syntax := + Syntax.atom {} val + +@[inline] def mkNode (k : SyntaxNodeKind) (args : Array Syntax) : Syntax := + Syntax.node k args + /- Syntax objects for a Lean module. -/ structure Module := (header : Syntax) diff --git a/stage0/src/Lean/Elab/Match.lean b/stage0/src/Lean/Elab/Match.lean index af46761440..69e2299ce1 100644 --- a/stage0/src/Lean/Elab/Match.lean +++ b/stage0/src/Lean/Elab/Match.lean @@ -748,12 +748,23 @@ private def elabMatchAux (discrStxs : Array Syntax) (altViews : Array MatchAltVi ``` -/ synthesizeUsingDefault - -- TODO report error if matchType or altLHSS.toList have metavars let rhss := alts.map Prod.snd - let altLHSS := alts.map Prod.fst + let matchType ← instantiateMVars matchType + let altLHSS ← alts.toList.mapM fun alt => do + let altLHS ← Match.instantiateAltLHSMVars alt.1 + withRef altLHS.ref do + for d in altLHS.fvarDecls do + if d.hasExprMVar then + withExistingLocalDecls altLHS.fvarDecls do + throwError! "invalid match-expression, type of pattern variable '{d.toExpr}' contains metavariables{indentExpr d.type}" + for p in altLHS.patterns do + if p.hasExprMVar then + withExistingLocalDecls altLHS.fvarDecls do + throwError! "invalid match-expression, pattern contains metavariables{indentExpr (← p.toExpr)}" + pure altLHS let numDiscrs := discrs.size let matcherName ← mkAuxName `match - let matcherResult ← mkMatcher matcherName matchType numDiscrs altLHSS.toList + let matcherResult ← mkMatcher matcherName matchType numDiscrs altLHSS let motive ← forallBoundedTelescope matchType numDiscrs fun xs matchType => mkLambdaFVars xs matchType reportMatcherResultErrors matcherResult let r := mkApp matcherResult.matcher motive diff --git a/stage0/src/Lean/Elab/PreDefinition/Structural.lean b/stage0/src/Lean/Elab/PreDefinition/Structural.lean index 7dbfff3c9e..6bcdc4ce30 100644 --- a/stage0/src/Lean/Elab/PreDefinition/Structural.lean +++ b/stage0/src/Lean/Elab/PreDefinition/Structural.lean @@ -206,6 +206,21 @@ private partial def toBelow (below : Expr) (numIndParams : Nat) (recArg : Expr) withBelowDict below numIndParams fun C belowDict => toBelowAux C belowDict recArg below +/-- + Return true iff `e` contains an application `recFnName .. t ..` where the term `t` is + the argument we are trying to recurse on, and it contains loose bound variables. + + We use this test to decide whether we should process a matcher-application as a regular + applicaton or not. That is, whether we should push the `below` argument should be affected by the matcher or not. + If `e` does not contain an application of the form `recFnName .. t ..`, then we know + the recursion doesn't depend on any pattern variable in this matcher. +-/ +private def recArgHasLooseBVarsAt (recFnName : Name) (recArgInfo : RecArgInfo) (e : Expr) : Bool := + let recArgPos := recArgInfo.fixedParams.size + recArgInfo.pos + let app? := e.find? fun e => + e.isAppOf recFnName && e.getAppNumArgs > recArgPos && (e.getArg! recArgPos).hasLooseBVars + app?.isSome + private partial def replaceRecApps (recFnName : Name) (recArgInfo : RecArgInfo) (below : Expr) (e : Expr) : MetaM Expr := let rec loop : Expr → Expr → MetaM Expr | below, e@(Expr.lam n d b c) => do @@ -244,25 +259,10 @@ private partial def replaceRecApps (recFnName : Name) (recArgInfo : RecArgInfo) let matcherApp? ← matchMatcherApp? e match matcherApp? with | some matcherApp => - /- If none of the alternatives contain a recursive application, we process it as a regular one. -/ - if matcherApp.alts.all fun alt => !containsRecFn recFnName alt then + if !recArgHasLooseBVarsAt recFnName recArgInfo e then processApp e else /- Here is an example we currently not handle - ``` - def f (xs : List Nat) : Nat := - match xs with - | [] => 0 - | y::ys => - match ys with - | [] => 1 - | zs => f ys + 1 - ``` - We are matching on `ys`, but still using `ys` in the second alternative. - If we push the `below` argument over the dependent match it will be able to eliminate recursive call using `zs`. - To make it work, users have to write the second alternative as `| zs => f zs + 1` - We considered trying `processApp e` first, and only if fails trying the code below. - This trick is sufficient for solving the example above, but it is not sufficient for the slightly more complicated example: ``` def g (xs : List Nat) : Nat := match xs with @@ -271,22 +271,14 @@ private partial def replaceRecApps (recFnName : Name) (recArgInfo : RecArgInfo) match ys with | [] => 1 | _::_::zs => g zs + 1 - | _ => g ys + 2 + | zs => g ys + 2 ``` - To make it work, users would have to write the last alternative as - ``` - | zs => g zs + 2 - ``` - If this is too annoying in practice, we may replace `ys` with the matching term. - This may generate weird error messages, when it doesn't work. - -/ + We are matching on `ys`, but still using `ys` in the third alternative. + If we push the `below` argument over the dependent match it will be able to eliminate recursive call using `zs`. + To make it work, users have to write the third alternative as `| zs => g zs + 2` + If this is too annoying in practice, we may replace `ys` with the matching term, but + this may generate weird error messages, when it doesn't work. -/ let matcherApp ← mapError (matcherApp.addArg below) (fun msg => "failed to add `below` argument to 'matcher' application" ++ indentD msg) - let mut discrs := matcherApp.discrs - for i in [:discrs.size] do - let discr ← processApp discrs[i] - trace[Elab.definition.structural]! "new discr [{i}]: {discr}" - discrs := discrs.set! i discr - trace[Elab.definition.structural]! "discrs: {discrs}" let altsNew ← (Array.zip matcherApp.alts matcherApp.altNumParams).mapM fun (alt, numParams) => lambdaTelescope alt fun xs altBody => do trace[Elab.definition.structural]! "altNumParams: {numParams}, xs: {xs}" @@ -294,7 +286,7 @@ private partial def replaceRecApps (recFnName : Name) (recArgInfo : RecArgInfo) throwError! "unexpected matcher application alternative{indentExpr alt}\nat application{indentExpr e}" let belowForAlt := xs[numParams - 1] mkLambdaFVars xs (← loop belowForAlt altBody) - pure { matcherApp with discrs := discrs, alts := altsNew }.toExpr + pure { matcherApp with alts := altsNew }.toExpr | none => processApp e | _, e => ensureNoRecFn recFnName e loop below e diff --git a/stage0/src/Lean/LocalContext.lean b/stage0/src/Lean/LocalContext.lean index 12fcc92a64..ab025e63d8 100644 --- a/stage0/src/Lean/LocalContext.lean +++ b/stage0/src/Lean/LocalContext.lean @@ -85,6 +85,10 @@ def updateBinderInfo : LocalDecl → BinderInfo → LocalDecl def toExpr (decl : LocalDecl) : Expr := mkFVar decl.fvarId +def hasExprMVar : LocalDecl → Bool + | cdecl (type := t) .. => t.hasExprMVar + | ldecl (type := t) (value := v) .. => t.hasExprMVar || v.hasExprMVar + end LocalDecl open Std (PersistentHashMap PersistentArray PArray) diff --git a/stage0/src/Lean/Meta/Match/Match.lean b/stage0/src/Lean/Meta/Match/Match.lean index 3680baedf9..d482d958a8 100644 --- a/stage0/src/Lean/Meta/Match/Match.lean +++ b/stage0/src/Lean/Meta/Match/Match.lean @@ -66,13 +66,35 @@ def replaceFVarId (fvarId : FVarId) (v : Expr) (p : Pattern) : Pattern := let s : FVarSubst := {} p.applyFVarSubst (s.insert fvarId v) +partial def hasExprMVar : Pattern → Bool + | inaccessible e => e.hasExprMVar + | ctor _ _ ps fs => ps.any (·.hasExprMVar) || fs.any hasExprMVar + | val e => e.hasExprMVar + | as _ p => hasExprMVar p + | arrayLit t xs => t.hasExprMVar || xs.any hasExprMVar + | _ => false + end Pattern +partial def instantiatePatternMVars : Pattern → MetaM Pattern + | Pattern.inaccessible e => return Pattern.inaccessible (← instantiateMVars e) + | Pattern.val e => return Pattern.val (← instantiateMVars e) + | Pattern.ctor n us ps fields => return Pattern.ctor n us (← ps.mapM instantiateMVars) (← fields.mapM instantiatePatternMVars) + | Pattern.as x p => return Pattern.as x (← instantiatePatternMVars p) + | Pattern.arrayLit t xs => return Pattern.arrayLit (← instantiateMVars t) (← xs.mapM instantiatePatternMVars) + | p => return p + structure AltLHS := (ref : Syntax) (fvarDecls : List LocalDecl) -- Free variables used in the patterns. (patterns : List Pattern) -- We use `List Pattern` since we have nary match-expressions. +def instantiateAltLHSMVars (altLHS : AltLHS) : MetaM AltLHS := + return { altLHS with + fvarDecls := (← altLHS.fvarDecls.mapM instantiateLocalDeclMVars), + patterns := (← altLHS.patterns.mapM instantiatePatternMVars) + } + structure Alt := (ref : Syntax) (idx : Nat) -- for generating error messages diff --git a/stage0/src/Lean/Meta/Tactic/Induction.lean b/stage0/src/Lean/Meta/Tactic/Induction.lean index d079a16b7c..e3182050c1 100644 --- a/stage0/src/Lean/Meta/Tactic/Induction.lean +++ b/stage0/src/Lean/Meta/Tactic/Induction.lean @@ -134,7 +134,7 @@ def induction (mvarId : MVarId) (majorFVarId : FVarId) (recursorName : Name) (gi let indices ← recursorInfo.indicesPos.toArray.mapM fun idxPos => do if idxPos ≥ majorTypeArgs.size then throwTacticEx `induction mvarId msg!"major premise type is ill-formed{indentExpr majorType}" let idx := majorTypeArgs.get! idxPos - unless idx.isFVar do throwTacticEx `induction mvarId msg!"major premise type index {idx} is not variable{indentExpr majorType}" + unless idx.isFVar do throwTacticEx `induction mvarId msg!"major premise type index {idx} is not a variable{indentExpr majorType}" majorTypeArgs.size.forM fun i => do let arg := majorTypeArgs[i] if i != idxPos && arg == idx then diff --git a/stage0/src/Lean/Parser/Term.lean b/stage0/src/Lean/Parser/Term.lean index e90ec2fe23..3f768d2f7b 100644 --- a/stage0/src/Lean/Parser/Term.lean +++ b/stage0/src/Lean/Parser/Term.lean @@ -119,7 +119,10 @@ Note that we did not add a `explicitShortBinder` parser since `(α) → α → -/ @[builtinTermParser] def depArrow := parser! bracketedBinder true >> checkPrec 25 >> unicodeSymbol " → " " -> " >> termParser -def simpleBinder := parser! many1 binderIdent +def simpleBinder := parser! + (checkInsideQuot >> many1 binderIdent >> optType) + <|> + (checkOutsideQuot >> many1 binderIdent) @[builtinTermParser] def «forall» := parser!:leadPrec unicodeSymbol "∀ " "forall" >> many1 (ppSpace >> (simpleBinder <|> bracketedBinder)) >> ", " >> termParser @@ -138,7 +141,8 @@ def matchDiscr := parser! optional («try» (ident >> checkNoWsBefore "no space @[builtinTermParser] def «nomatch» := parser!:leadPrec "nomatch " >> termParser def funImplicitBinder := «try» (lookahead ("{" >> many1 binderIdent >> (" : " <|> "}"))) >> implicitBinder -def funBinder : Parser := funImplicitBinder <|> instBinder <|> termParser maxPrec +def funSimpleBinder := parser! «try» (lookahead (many1 binderIdent >> " : ")) >> many1 binderIdent >> optType +def funBinder : Parser := funImplicitBinder <|> instBinder <|> (checkInsideQuot >> funSimpleBinder) <|> termParser maxPrec -- NOTE: we use `nodeWithAntiquot` to ensure that `fun $b => ...` remains a `term` antiquotation def basicFun : Parser := nodeWithAntiquot "basicFun" `Lean.Parser.Term.basicFun (many1 (ppSpace >> funBinder) >> darrow >> termParser) @[builtinTermParser] def «fun» := parser!:maxPrec unicodeSymbol "λ" "fun" >> (basicFun <|> matchAlts false) diff --git a/stage0/src/Lean/Syntax.lean b/stage0/src/Lean/Syntax.lean index bac5b28b0f..5ab9c46780 100644 --- a/stage0/src/Lean/Syntax.lean +++ b/stage0/src/Lean/Syntax.lean @@ -197,77 +197,6 @@ partial def getTailWithPos : Syntax → Option Syntax | node _ args => args.findSomeRev? getTailWithPos | _ => none -partial def getTailInfo : Syntax → Option SourceInfo - | atom info _ => info - | ident info .. => info - | node _ args => args.findSomeRev? getTailInfo - | _ => none - -@[specialize] private partial def updateLast {α} [Inhabited α] (a : Array α) (f : α → Option α) (i : Nat) : Option (Array α) := - if i == 0 then none - else - let i := i - 1; - let v := a.get! i; - match f v with - | some v => some $ a.set! i v - | none => updateLast a f i - -partial def setTailInfoAux (info : SourceInfo) : Syntax → Option Syntax - | atom _ val => some $ atom info val - | ident _ rawVal val pre => some $ ident info rawVal val pre - | node k args => - match updateLast args (setTailInfoAux info) args.size with - | some args => some $ node k args - | none => none - | stx => none - -def setTailInfo (stx : Syntax) (info : SourceInfo) : Syntax := - match setTailInfoAux info stx with - | some stx => stx - | none => stx - -def unsetTrailing (stx : Syntax) : Syntax := - match stx.getTailInfo with - | none => stx - | some info => stx.setTailInfo { info with trailing := none } - -@[specialize] private partial def updateFirst {α} [Inhabited α] (a : Array α) (f : α → Option α) (i : Nat) : Option (Array α) := - if h : i < a.size then - let v := a.get ⟨i, h⟩; - match f v with - | some v => some $ a.set ⟨i, h⟩ v - | none => updateFirst a f (i+1) - else - none - -partial def setHeadInfoAux (info : SourceInfo) : Syntax → Option Syntax - | atom _ val => some $ atom info val - | ident _ rawVal val pre => some $ ident info rawVal val pre - | node k args => - match updateFirst args (setHeadInfoAux info) 0 with - | some args => some $ node k args - | noxne => none - | stx => none - -def setHeadInfo (stx : Syntax) (info : SourceInfo) : Syntax := - match setHeadInfoAux info stx with - | some stx => stx - | none => stx - -def setInfo (info : SourceInfo) : Syntax → Syntax - | atom _ val => atom info val - | ident _ rawVal val pre => ident info rawVal val pre - | stx => stx - -partial def replaceInfo (info : SourceInfo) : Syntax → Syntax - | node k args => node k $ args.map (replaceInfo info) - | stx => setInfo info stx - -def copyInfo (s : Syntax) (source : Syntax) : Syntax := - match source.getHeadInfo with - | none => s - | some info => s.setHeadInfo info - private def reprintLeaf (info : SourceInfo) (val : String) : String := -- no source info => add gracious amounts of whitespace to definitely separate tokens -- Note that the proper pretty printer does not use this function. @@ -423,12 +352,6 @@ def mkSimpleAtom (val : String) : Syntax := def mkListNode (args : Array Syntax) : Syntax := Syntax.node nullKind args -def mkAtom (val : String) : Syntax := - Syntax.atom {} val - -@[inline] def mkNode (k : SyntaxNodeKind) (args : Array Syntax) : Syntax := - Syntax.node k args - @[export lean_mk_syntax_str_lit] def mkStxStrLitAux (val : String) : Syntax := mkStxStrLit val diff --git a/stage0/stdlib/Init/LeanInit.c b/stage0/stdlib/Init/LeanInit.c index d5e2c3bbf3..39390afe82 100644 --- a/stage0/stdlib/Init/LeanInit.c +++ b/stage0/stdlib/Init/LeanInit.c @@ -14,19 +14,23 @@ extern "C" { #endif lean_object* l_Array_getSepElems___rarg___boxed(lean_object*); +lean_object* l_Lean_Syntax_setHeadInfoAux_match__2(lean_object*); lean_object* l_Lean_Syntax_identToAtom_match__1(lean_object*); lean_object* l___private_Init_LeanInit_0__Lean_simpMacroScopesAux_match__1(lean_object*); lean_object* l_Lean_mkCIdentFrom(lean_object*, lean_object*); lean_object* l___private_Init_LeanInit_0__Lean_quoteList___rarg___closed__4; lean_object* lean_string_push(lean_object*, uint32_t); lean_object* l_Lean_Syntax_isIdOrAtom_x3f___boxed(lean_object*); +lean_object* lean_array_set(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_mkAppStx(lean_object*, lean_object*); lean_object* l_Lean_Syntax_decodeQuotedChar_match__6___rarg(lean_object*, lean_object*); lean_object* l_Lean_extractMacroScopes(lean_object*); +lean_object* l_Lean_Syntax_setInfo_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Init_LeanInit_0__Lean_extractImported_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); size_t l_USize_add(size_t, size_t); lean_object* l_Lean_fieldIdxKind; lean_object* l_Lean_Syntax_isNatLit_x3f___boxed(lean_object*); +lean_object* l_Lean_Syntax_setTailInfoAux(lean_object*, lean_object*); lean_object* l_Lean_Syntax_isNameLit_x3f_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* lean_erase_macro_scopes(lean_object*); lean_object* l___private_Init_LeanInit_0__Lean_Syntax_decodeHexDigit(lean_object*, lean_object*); @@ -37,6 +41,7 @@ lean_object* l___private_Init_LeanInit_0__Lean_Syntax_decodeInterpStrQuotedChar_ lean_object* l_Lean_Init_LeanInit___instance__7; lean_object* l___private_Init_LeanInit_0__Lean_Syntax_decodeOctalLitAux(lean_object*, lean_object*, lean_object*); lean_object* lean_mk_empty_array_with_capacity(lean_object*); +lean_object* l___private_Init_LeanInit_0__Lean_Syntax_updateFirst___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Init_LeanInit_0__Array_filterSepElemsMAux___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_nullKind; lean_object* l_Lean_Syntax_getSepArgs___boxed(lean_object*); @@ -51,6 +56,7 @@ lean_object* lean_array_uget(lean_object*, size_t); uint32_t l_Lean_idBeginEscape; lean_object* l___private_Init_LeanInit_0__Lean_quoteOption(lean_object*); lean_object* l_Array_mapMUnsafe_map___at_Lean_expandMacros___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_findSomeRevM_x3f_find___at_Lean_Syntax_getTailInfo___spec__1(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_expandInterpolatedStrChunks(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_decodeQuotedChar(lean_object*, lean_object*); lean_object* l_Lean_Syntax_decodeStrLitAux_match__1(lean_object*); @@ -81,6 +87,7 @@ lean_object* l___private_Init_LeanInit_0__Lean_quoteList___rarg___closed__1; lean_object* l___private_Init_LeanInit_0__Array_filterSepElemsMAux___at_Array_filterSepElems___spec__2(lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Array_empty___closed__1; lean_object* l_Array_forInUnsafe_loop___at_Lean_Syntax_expandInterpolatedStrChunks___spec__1___lambda__2___closed__1; +lean_object* l___private_Init_LeanInit_0__Lean_Syntax_updateFirst___rarg(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_forInUnsafe_loop___at_Lean_Syntax_expandInterpolatedStrChunks___spec__1___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Name_toStringWithSep_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_decodeQuotedChar_match__3(lean_object*); @@ -92,10 +99,12 @@ lean_object* l___private_Init_LeanInit_0__Array_mapSepElemsMAux___rarg___lambda_ lean_object* l_Lean_fieldIdxKind___closed__1; lean_object* l_Lean_Macro_mkMacroEnvSimple; lean_object* l_Lean_Syntax_isInterpolatedStrLit_x3f_match__1___rarg(lean_object*, lean_object*, lean_object*); +lean_object* l___private_Init_LeanInit_0__Lean_Syntax_updateFirst_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Array_forInUnsafe_loop___at_Lean_Syntax_findAux___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Init_LeanInit___instance__22(lean_object*); uint8_t l_Char_isDigit(uint32_t); lean_object* l_Lean_charLitKind___closed__2; +lean_object* l_Lean_Syntax_setTailInfo_match__1(lean_object*); uint8_t lean_name_eq(lean_object*, lean_object*); lean_object* l_Lean_Init_LeanInit___instance__16___boxed(lean_object*); lean_object* l_Lean_isGreek___boxed(lean_object*); @@ -121,6 +130,8 @@ lean_object* lean_array_get_size(lean_object*); lean_object* l___private_Init_LeanInit_0__Array_filterSepElemsMAux___at_Array_filterSepElems___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_charLitKind___closed__1; lean_object* lean_string_append(lean_object*, lean_object*); +lean_object* l_Lean_Syntax_setTailInfoAux_match__2(lean_object*); +lean_object* l_Lean_Syntax_setInfo_match__1(lean_object*); lean_object* l_Lean_expandMacros___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_interpolatedStrKind; lean_object* l_Lean_Macro_withIncRecDepth___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*); @@ -130,20 +141,24 @@ extern lean_object* l_Array_getEvenElems___rarg___closed__1; lean_object* l_Lean_Syntax_strLitToAtom_match__1(lean_object*); lean_object* l___private_Init_LeanInit_0__Lean_eraseMacroScopesAux___closed__4; lean_object* l_Lean_Name_beq_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Syntax_setTailInfo(lean_object*, lean_object*); lean_object* l___private_Init_LeanInit_0__Lean_extractMacroScopesAux_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_string_utf8_extract(lean_object*, lean_object*, lean_object*); lean_object* l___private_Init_LeanInit_0__Lean_Syntax_decodeNameLitAux___boxed(lean_object*, lean_object*, lean_object*); lean_object* l___private_Init_LeanInit_0__Lean_extractMacroScopesAux_match__1(lean_object*); lean_object* l_Lean_Syntax_identToStrLit(lean_object*); +lean_object* l___private_Init_LeanInit_0__Lean_Syntax_updateFirst(lean_object*); lean_object* l___private_Init_LeanInit_0__Lean_Syntax_decodeInterpStrLit___boxed(lean_object*); lean_object* l_Array_filterSepElemsM___at_Array_filterSepElems___spec__1(lean_object*, lean_object*); lean_object* l_Lean_Macro_Context_currRecDepth___default; lean_object* l___private_Init_LeanInit_0__Lean_quoteName___closed__2; lean_object* lean_string_utf8_byte_size(lean_object*); lean_object* l_Lean_mkAppStx___closed__4; +lean_object* l_Lean_mkAtom(lean_object*); lean_object* l_Lean_NameGenerator_namePrefix___default; lean_object* l_Array_filterSepElems___boxed(lean_object*, lean_object*); lean_object* l_Lean_mkIdentFrom___boxed(lean_object*, lean_object*); +lean_object* l_Lean_Syntax_setHeadInfo(lean_object*, lean_object*); lean_object* l_Lean_Init_LeanInit___instance__2; lean_object* l___private_Init_LeanInit_0__Lean_eraseMacroScopesAux___closed__2; uint8_t l_USize_decLt(size_t, size_t); @@ -173,11 +188,13 @@ lean_object* l_Lean_Init_LeanInit___instance__15_match__1(lean_object*); lean_object* l_Lean_Syntax_isAtom_match__1(lean_object*); lean_object* l_Lean_expandMacros___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Macro_Init_LeanInit___instance__12___closed__3; +lean_object* l___private_Init_LeanInit_0__Lean_Syntax_updateLast_match__1(lean_object*, lean_object*); lean_object* l_Lean_Syntax_strLitToAtom(lean_object*); lean_object* l_Lean_Syntax_isLit_x3f___boxed(lean_object*, lean_object*); lean_object* l_Lean_Macro_Init_LeanInit___instance__13___rarg___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_decodeNatLitVal(lean_object*); lean_object* l_Lean_Macro_mkMacroEnv___boxed(lean_object*); +lean_object* l___private_Init_LeanInit_0__Lean_Syntax_updateLast(lean_object*); lean_object* l_Lean_Syntax_hasArgs___boxed(lean_object*); lean_object* l_Lean_Init_LeanInit___instance__20___rarg___closed__4; lean_object* l___private_Init_LeanInit_0__Lean_quoteList___rarg___closed__5; @@ -199,6 +216,7 @@ lean_object* l_Lean_Macro_MacroEnvPointed; lean_object* l_Lean_Name_appendAfter_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*); uint8_t lean_nat_dec_eq(lean_object*, lean_object*); lean_object* l_Lean_Init_LeanInit___instance__20___rarg(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Syntax_setHeadInfoAux_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Name_appendIndexAfter___closed__1; lean_object* l___private_Init_LeanInit_0__Lean_eraseMacroScopesAux___closed__3; lean_object* l___private_Init_LeanInit_0__Lean_Syntax_decodeHexLitAux___boxed(lean_object*, lean_object*, lean_object*); @@ -210,10 +228,12 @@ lean_object* l_Lean_choiceKind___closed__1; lean_object* l_Lean_Syntax_expandInterpolatedStrChunks_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Macro_expandMacroNotAvailable_x3f___boxed(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_decodeStrLitAux_match__1___rarg(lean_object*, lean_object*); +lean_object* l___private_Init_LeanInit_0__Lean_Syntax_updateLast_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Array_mapSepElemsM(lean_object*); lean_object* lean_nat_sub(lean_object*, lean_object*); lean_object* l_Lean_Macro_mkMacroEnvSimple___closed__1; lean_object* l___private_Init_LeanInit_0__Lean_quoteName___closed__7; +lean_object* l_Lean_Syntax_setHeadInfoAux_match__1(lean_object*); lean_object* l_Lean_choiceKind___closed__2; lean_object* l_Lean_mkFreshId___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_identToStrLit_match__1(lean_object*); @@ -234,10 +254,12 @@ lean_object* l_Lean_Syntax_getId___boxed(lean_object*); lean_object* l_Lean_Syntax_hasArgs_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l___private_Init_LeanInit_0__Lean_quoteOption___rarg___closed__1; lean_object* l_Lean_Syntax_isFieldIdx_x3f(lean_object*); +lean_object* l_Lean_Syntax_setTailInfo_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l___private_Init_LeanInit_0__Lean_quoteOption___rarg___closed__2; lean_object* l_Lean_Syntax_isStrLit_x3f_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Macro_addMacroScope(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Name_capitalize_match__1___rarg(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Syntax_copyInfo(lean_object*, lean_object*); lean_object* l_Lean_Syntax_getHeadInfo(lean_object*); lean_object* l_Lean_Init_LeanInit___instance__19___closed__1; lean_object* l_Array_forInUnsafe_loop___at_Lean_mkSepArray___spec__1___lambda__1(lean_object*, lean_object*, lean_object*); @@ -254,21 +276,27 @@ lean_object* l_Lean_mkFreshId___rarg(lean_object*, lean_object*); lean_object* l_Array_forInUnsafe_loop___at_Lean_Syntax_getHeadInfo___spec__1(lean_object*, lean_object*, size_t, size_t, lean_object*); lean_object* l_String_capitalize(lean_object*); lean_object* l_Lean_numLitKind___closed__1; +lean_object* l___private_Init_LeanInit_0__Lean_Syntax_updateLast___rarg(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_NameGenerator_next(lean_object*); +lean_object* l_Lean_Syntax_setHeadInfo_match__1(lean_object*); lean_object* l_Lean_Syntax_decodeCharLit___boxed(lean_object*); lean_object* l_Lean_Init_LeanInit___instance__15___closed__3; lean_object* l_Lean_strLitKind___closed__1; lean_object* l_Lean_Syntax_isNatLitAux___boxed(lean_object*, lean_object*); lean_object* l___private_Init_LeanInit_0__Lean_quoteName___closed__3; lean_object* l___private_Init_LeanInit_0__Lean_Syntax_decodeInterpStrQuotedChar_match__1___rarg(lean_object*, lean_object*, lean_object*); +lean_object* lean_array_fset(lean_object*, lean_object*, lean_object*); lean_object* l___private_Init_LeanInit_0__Lean_quoteList___rarg___closed__6; +lean_object* l___private_Init_LeanInit_0__Lean_Syntax_updateLast___at_Lean_Syntax_setTailInfoAux___spec__1(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Name_appendAfter_match__1(lean_object*); +lean_object* l_Array_mapMUnsafe_map___at_Lean_Syntax_replaceInfo___spec__1(lean_object*, size_t, size_t, lean_object*); lean_object* l_Lean_Syntax_getArgs___boxed(lean_object*); lean_object* l_Lean_Syntax_setKind(lean_object*, lean_object*); lean_object* l_Lean_Name_appendIndexAfter(lean_object*, lean_object*); lean_object* l_Array_getSepElems___rarg(lean_object*); lean_object* l_Lean_reservedMacroScope; lean_object* l_Lean_Init_LeanInit___instance__15___closed__5; +lean_object* l_Lean_Syntax_copyInfo___boxed(lean_object*, lean_object*); lean_object* l_Lean_Macro_throwError(lean_object*); lean_object* l_Lean_Init_LeanInit___instance__22___rarg(lean_object*, lean_object*); lean_object* l_Lean_NameGenerator_namePrefix___default___closed__1; @@ -282,6 +310,7 @@ size_t l_Lean_Name_hash(lean_object*); lean_object* l_Nat_repr(lean_object*); lean_object* l_Array_mapSepElemsM___at_Array_mapSepElems___spec__1___boxed(lean_object*, lean_object*); lean_object* l___private_Init_LeanInit_0__Lean_quoteName___closed__5; +lean_object* l_Array_findSomeRevM_x3f_find___at_Lean_Syntax_getTailInfo___spec__1___boxed(lean_object*, lean_object*, lean_object*); lean_object* l___private_Init_LeanInit_0__Lean_quoteName___closed__8; lean_object* l_Lean_Macro_expandMacro_x3f___rarg(lean_object*); lean_object* l_Lean_Macro_expandMacroNotAvailable_x3f___closed__1; @@ -301,6 +330,7 @@ lean_object* l_Lean_NameGenerator_idx___default; lean_object* l_Lean_mkFreshId(lean_object*); lean_object* l_Lean_mkCIdent(lean_object*); lean_object* l_Lean_mkOptionalNode_match__1(lean_object*); +lean_object* l_Lean_Syntax_replaceInfo(lean_object*, lean_object*); lean_object* l_Lean_numLitKind___closed__2; lean_object* l___private_Init_LeanInit_0__Lean_Syntax_decodeHexLitAux_match__1(lean_object*); lean_object* l_Lean_Syntax_isNameLit_x3f_match__1(lean_object*); @@ -309,10 +339,12 @@ uint32_t lean_string_utf8_get(lean_object*, lean_object*); lean_object* l_Lean_Init_LeanInit___instance__15___closed__6; lean_object* l_Lean_mkAppStx___closed__6; lean_object* l_Lean_Macro_Init_LeanInit___instance__12___lambda__1(lean_object*, lean_object*); +lean_object* l_Lean_Syntax_getTailInfo_match__1(lean_object*); lean_object* l_Lean_Syntax_isLit_x3f_match__1(lean_object*); lean_object* l_Lean_Macro_Init_LeanInit___instance__12___lambda__2___boxed(lean_object*, lean_object*); lean_object* l_Lean_Syntax_getHeadInfo_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_findAux_match__1___rarg(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Syntax_setTailInfoAux_match__1(lean_object*); lean_object* l_Lean_mkOptionalNode(lean_object*); lean_object* l_Lean_Name_Init_LeanInit___instance__3___closed__1; lean_object* l___private_Init_LeanInit_0__Array_filterSepElemsMAux___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -321,6 +353,7 @@ lean_object* l_Nat_pred(lean_object*); lean_object* l_Lean_Syntax_getHeadInfo_match__1(lean_object*); lean_object* l_Lean_Name_appendIndexAfter_match__1(lean_object*); lean_object* l___private_Init_LeanInit_0__Lean_quoteList(lean_object*); +lean_object* l_Lean_Syntax_copyTailInfo_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l___private_Init_Util_0__mkPanicMessageWithDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Init_LeanInit_0__Lean_Syntax_decodeInterpStrLit(lean_object*); lean_object* l_Lean_interpolatedStrKind___closed__2; @@ -335,6 +368,7 @@ lean_object* l___private_Init_LeanInit_0__Lean_Syntax_decodeInterpStrLit_loop_ma lean_object* l_Lean_firstFrontendMacroScope; lean_object* l___private_Init_LeanInit_0__Lean_quoteList_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Init_LeanInit___instance__18(lean_object*); +lean_object* l_Lean_Syntax_copyTailInfo___boxed(lean_object*, lean_object*); lean_object* l_Lean_mkSepArray(lean_object*, lean_object*); lean_object* l_Lean_Name_Init_LeanInit___instance__5; lean_object* l_Lean_Name_appendBefore_match__1(lean_object*); @@ -361,6 +395,7 @@ lean_object* l_Lean_addMacroScope(lean_object*, lean_object*, lean_object*); uint8_t l_Lean_isIdEndEscape(uint32_t); lean_object* l___private_Init_LeanInit_0__Lean_quoteName_match__1(lean_object*); lean_object* l_Lean_Syntax_getArgs_match__1(lean_object*); +lean_object* l_Lean_Syntax_unsetTrailing_match__1(lean_object*); lean_object* l_Array_forInUnsafe_loop___at_Lean_Syntax_expandInterpolatedStrChunks___spec__1___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_decodeCharLit(lean_object*); lean_object* l_Lean_SourceInfo_leading___default; @@ -382,6 +417,7 @@ lean_object* l_Lean_mkAtomFrom(lean_object*, lean_object*); lean_object* l_Lean_Init_LeanInit___instance__14; lean_object* l_Lean_mkAppStx___closed__3; lean_object* l_Lean_Macro_Init_LeanInit___instance__13___rarg___lambda__1(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Syntax_unsetTrailing(lean_object*); lean_object* l_Lean_isLetterLike___boxed(lean_object*); lean_object* l_Lean_Syntax_isIdOrAtom_x3f(lean_object*); lean_object* l_Lean_Syntax_isAtom_match__1___rarg(lean_object*, lean_object*, lean_object*); @@ -393,6 +429,7 @@ lean_object* l_Array_mapMUnsafe_map___at_Lean_expandMacros___spec__1(size_t, siz lean_object* l_Lean_identKind; lean_object* l_Lean_Name_beq_match__1(lean_object*); lean_object* l___private_Init_LeanInit_0__Lean_quoteOption___rarg___closed__5; +lean_object* l_Lean_Syntax_setTailInfoAux_match__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Option_get_x21___rarg___closed__4; lean_object* l_Lean_Syntax_isLit_x3f_match__2(lean_object*); uint8_t l_UInt32_decEq(uint32_t, uint32_t); @@ -446,6 +483,7 @@ lean_object* l_Lean_Syntax_identToAtom(lean_object*); lean_object* lean_panic_fn(lean_object*, lean_object*); lean_object* l_Lean_Name_appendBefore_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Init_LeanInit_0__Lean_assembleParts_match__1(lean_object*); +lean_object* l_Lean_Syntax_getTailInfo_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_getHeadInfo___boxed(lean_object*); lean_object* l_Lean_Init_LeanInit___instance__8___closed__1; lean_object* l_Lean_mkSepArray_match__1___rarg(lean_object*, lean_object*); @@ -453,10 +491,12 @@ lean_object* l___private_Init_LeanInit_0__Array_mapSepElemsMAux___rarg(lean_obje lean_object* l_Lean_mkOptionalNode_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Substring_takeWhileAux___at___private_Init_LeanInit_0__Lean_Syntax_decodeNameLitAux___spec__1___boxed(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_mkSepArray_match__1(lean_object*); +lean_object* l_Lean_Syntax_setHeadInfo_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_expandMacros___boxed__const__1; lean_object* l_Lean_Syntax_getOptionalIdent_x3f(lean_object*); lean_object* l_Lean_Macro_throwUnsupported___rarg(lean_object*); lean_object* l_Lean_Syntax_decodeCharLit_match__1(lean_object*); +lean_object* l_Lean_Syntax_replaceInfo_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Name_toStringWithSep___closed__1; lean_object* l_Lean_NameGenerator_curr(lean_object*); lean_object* l_Lean_Syntax_getId_match__1(lean_object*); @@ -480,12 +520,14 @@ lean_object* l_Lean_Name_append_match__1___rarg(lean_object*, lean_object*, lean lean_object* l_Lean_Syntax_decodeQuotedChar___boxed__const__4; lean_object* l_Lean_Init_LeanInit___instance__20_match__1___rarg(lean_object*, lean_object*); lean_object* l_Lean_Syntax_decodeQuotedChar___boxed__const__1; +lean_object* l_Lean_Syntax_copyInfo_match__1(lean_object*); lean_object* l_Lean_Name_Init_LeanInit___instance__5___closed__1; lean_object* l_Lean_mkCAppStx(lean_object*, lean_object*); lean_object* l_Lean_Syntax_expandInterpolatedStrChunks_match__2(lean_object*); lean_object* l_List_foldl___at_Lean_MacroScopesView_review___spec__1(lean_object*, lean_object*); lean_object* l_Lean_mkAppStx___closed__9; lean_object* l___private_Init_LeanInit_0__Lean_quoteName___closed__1; +lean_object* l_Lean_Syntax_setInfo(lean_object*, lean_object*); lean_object* l_Array_forInUnsafe_loop___at_Lean_Syntax_getHeadInfo___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Macro_Init_LeanInit___instance__12___lambda__2(lean_object*, lean_object*); lean_object* l_Lean_Name_hasMacroScopes_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*); @@ -508,6 +550,7 @@ lean_object* l_String_trim(lean_object*); lean_object* l_Lean_Syntax_decodeQuotedChar___boxed(lean_object*, lean_object*); lean_object* l_Lean_isIdEndEscape___boxed(lean_object*); lean_object* l_Array_forInUnsafe_loop___at_Lean_mkSepArray___spec__1___lambda__1___boxed(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Syntax_getTailInfo(lean_object*); lean_object* l___private_Init_LeanInit_0__Lean_quoteList_match__1(lean_object*, lean_object*); lean_object* l_Lean_Syntax_getOptionalIdent_x3f___boxed(lean_object*); lean_object* l___private_Init_LeanInit_0__Lean_eraseMacroScopesAux_match__1(lean_object*); @@ -517,6 +560,7 @@ lean_object* l_Array_toList___rarg(lean_object*); lean_object* l___private_Init_LeanInit_0__Lean_Syntax_decodeHexLitAux(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Macro_Init_LeanInit___instance__12___closed__1; lean_object* l_Lean_Init_LeanInit___instance__22___rarg___closed__1; +lean_object* l_Lean_Syntax_unsetTrailing_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Init_LeanInit___instance__22___rarg___boxed(lean_object*, lean_object*); lean_object* l_Lean_Syntax_decodeStrLit(lean_object*); lean_object* l___private_Init_LeanInit_0__Lean_quoteName___closed__9; @@ -532,6 +576,7 @@ lean_object* l_Lean_Syntax_getOptional_x3f_match__1___rarg(lean_object*, lean_ob lean_object* l_Lean_mkCIdentFrom___boxed(lean_object*, lean_object*); lean_object* l_Lean_mkHole___closed__2; lean_object* l_Lean_mkCIdentFrom___closed__1; +lean_object* l_Lean_Syntax_getTailInfo___boxed(lean_object*); lean_object* l_Lean_Syntax_decodeQuotedChar___boxed__const__3; lean_object* l___private_Init_LeanInit_0__Lean_extractMacroScopesAux(lean_object*, lean_object*); lean_object* l_Lean_Syntax_identToStrLit_match__1___rarg(lean_object*, lean_object*, lean_object*); @@ -544,6 +589,7 @@ lean_object* lean_string_length(lean_object*); lean_object* l_Lean_Name_Init_LeanInit___instance__3; lean_object* l_Lean_expandMacros_match__2___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Array_forInUnsafe_loop___at_Lean_Syntax_findAux___spec__1(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*); +lean_object* l_Lean_Syntax_replaceInfo_match__1(lean_object*); lean_object* l___private_Init_LeanInit_0__Array_mapSepElemsMAux___at_Array_mapSepElems___spec__2(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Init_LeanInit_0__Array_mapSepElemsMAux___at_Array_mapSepElems___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Macro_withFreshMacroScope___rarg(lean_object*, lean_object*, lean_object*); @@ -553,6 +599,7 @@ lean_object* l___private_Init_LeanInit_0__Lean_Syntax_decodeInterpStrQuotedChar( lean_object* l_Lean_Syntax_toNat_match__1(lean_object*); lean_object* l___private_Init_LeanInit_0__Lean_assembleParts___closed__2; lean_object* l_Lean_Macro_throwUnsupported(lean_object*, lean_object*); +lean_object* l_Lean_Syntax_setTailInfoAux_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* lean_mk_syntax_ident(lean_object*); lean_object* l_Lean_mkStxLit(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_getArg(lean_object*, lean_object*); @@ -563,12 +610,14 @@ lean_object* l_Lean_Name_appendBefore(lean_object*, lean_object*); lean_object* l_Lean_mkOptionalNode___closed__2; lean_object* l_Lean_Syntax_getOp___boxed(lean_object*, lean_object*); lean_object* l_Lean_Syntax_getOptional_x3f___boxed(lean_object*); +lean_object* l_Lean_Syntax_setHeadInfoAux_match__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_decodeQuotedChar_match__1(lean_object*); lean_object* l_Lean_Macro_withIncRecDepth___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_mkCIdentFrom___closed__2; lean_object* lean_nat_mod(lean_object*, lean_object*); lean_object* l_Lean_interpolatedStrKind___closed__1; lean_object* l___private_Init_LeanInit_0__Lean_extractMainModule(lean_object*, lean_object*, lean_object*); +lean_object* l___private_Init_LeanInit_0__Lean_Syntax_updateFirst___at_Lean_Syntax_setHeadInfoAux___spec__1(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Init_LeanInit___instance__21(lean_object*); lean_object* l_Lean_Macro_Init_LeanInit___instance__12___closed__4; lean_object* lean_simp_macro_scopes(lean_object*); @@ -596,15 +645,20 @@ lean_object* l_Lean_Syntax_decodeQuotedChar_match__4(lean_object*); lean_object* l_Lean_mkSepArray___boxed(lean_object*, lean_object*); lean_object* l_Lean_MonadQuotation_addMacroScope(lean_object*); lean_object* l_Lean_Syntax_isNone_match__1___rarg(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Syntax_copyTailInfo_match__1(lean_object*); lean_object* l_Lean_Syntax_decodeQuotedChar_match__5___rarg(lean_object*, lean_object*); lean_object* l_Lean_mkAppStx___closed__2; +lean_object* l___private_Init_LeanInit_0__Lean_Syntax_updateFirst_match__1(lean_object*, lean_object*); lean_object* l_Array_foldlMUnsafe_fold___at_Array_getSepElems___spec__1___rarg(lean_object*, size_t, size_t, lean_object*); lean_object* l_Lean_Syntax_findAux(lean_object*, lean_object*); lean_object* l_Lean_Name_hash___boxed(lean_object*); lean_object* l_Lean_defaultMaxRecDepth; +lean_object* l_Lean_Syntax_copyInfo_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_decodeStrLitAux(lean_object*, lean_object*, lean_object*); uint8_t lean_string_utf8_at_end(lean_object*, lean_object*); lean_object* l_Lean_Syntax_getOp(lean_object*, lean_object*); +lean_object* l_Lean_mkNode(lean_object*, lean_object*); +lean_object* l_Lean_Syntax_copyTailInfo(lean_object*, lean_object*); lean_object* lean_uint32_to_nat(uint32_t); lean_object* l_Array_forInUnsafe_loop___at_Lean_mkSepArray___spec__1___closed__1; lean_object* l_Lean_Syntax_getOptional_x3f_match__1(lean_object*); @@ -617,6 +671,7 @@ lean_object* l_Lean_mkAppStx___closed__1; lean_object* l_Lean_MonadQuotation_addMacroScope___rarg(lean_object*, lean_object*, lean_object*); extern lean_object* l_Array_findSomeM_x3f___rarg___closed__1; lean_object* l___private_Init_LeanInit_0__Lean_Syntax_decodeHexLitAux_match__1___rarg(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Syntax_setHeadInfoAux(lean_object*, lean_object*); size_t lean_string_hash(lean_object*); lean_object* l_Lean_Option_hasQuote___rarg(lean_object*); lean_object* l_Lean_SourceInfo_trailing___default; @@ -635,6 +690,7 @@ lean_object* l_Lean_Syntax_isNatLitAux_match__1___rarg(lean_object*, lean_object uint8_t lean_string_dec_eq(lean_object*, lean_object*); uint32_t l_Char_ofNat(lean_object*); uint8_t lean_nat_dec_lt(lean_object*, lean_object*); +lean_object* l_Array_mapMUnsafe_map___at_Lean_Syntax_replaceInfo___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Init_LeanInit___instance__15___boxed(lean_object*); lean_object* l_Lean_Init_LeanInit___instance__15___closed__1; uint8_t l_Lean_Syntax_isIdent(lean_object*); @@ -3481,6 +3537,1581 @@ lean_dec(x_1); return x_2; } } +lean_object* l_Lean_Syntax_getTailInfo_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +_start: +{ +switch (lean_obj_tag(x_1)) { +case 0: +{ +lean_object* x_6; +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_6 = lean_apply_1(x_5, x_1); +return x_6; +} +case 1: +{ +lean_object* x_7; lean_object* x_8; lean_object* x_9; +lean_dec(x_5); +lean_dec(x_3); +lean_dec(x_2); +x_7 = lean_ctor_get(x_1, 0); +lean_inc(x_7); +x_8 = lean_ctor_get(x_1, 1); +lean_inc(x_8); +lean_dec(x_1); +x_9 = lean_apply_2(x_4, x_7, x_8); +return x_9; +} +case 2: +{ +lean_object* x_10; lean_object* x_11; lean_object* x_12; +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +x_10 = lean_ctor_get(x_1, 0); +lean_inc(x_10); +x_11 = lean_ctor_get(x_1, 1); +lean_inc(x_11); +lean_dec(x_1); +x_12 = lean_apply_2(x_2, x_10, x_11); +return x_12; +} +default: +{ +lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_2); +x_13 = lean_ctor_get(x_1, 0); +lean_inc(x_13); +x_14 = lean_ctor_get(x_1, 1); +lean_inc(x_14); +x_15 = lean_ctor_get(x_1, 2); +lean_inc(x_15); +x_16 = lean_ctor_get(x_1, 3); +lean_inc(x_16); +lean_dec(x_1); +x_17 = lean_apply_4(x_3, x_13, x_14, x_15, x_16); +return x_17; +} +} +} +} +lean_object* l_Lean_Syntax_getTailInfo_match__1(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Lean_Syntax_getTailInfo_match__1___rarg), 5, 0); +return x_2; +} +} +lean_object* l_Array_findSomeRevM_x3f_find___at_Lean_Syntax_getTailInfo___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +lean_object* x_4; uint8_t x_5; +x_4 = lean_unsigned_to_nat(0u); +x_5 = lean_nat_dec_eq(x_2, x_4); +if (x_5 == 0) +{ +lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; +x_6 = lean_unsigned_to_nat(1u); +x_7 = lean_nat_sub(x_2, x_6); +lean_dec(x_2); +x_8 = lean_array_fget(x_1, x_7); +x_9 = l_Lean_Syntax_getTailInfo(x_8); +lean_dec(x_8); +if (lean_obj_tag(x_9) == 0) +{ +x_2 = x_7; +x_3 = lean_box(0); +goto _start; +} +else +{ +lean_dec(x_7); +return x_9; +} +} +else +{ +lean_object* x_11; +lean_dec(x_2); +x_11 = lean_box(0); +return x_11; +} +} +} +lean_object* l_Lean_Syntax_getTailInfo(lean_object* x_1) { +_start: +{ +switch (lean_obj_tag(x_1)) { +case 0: +{ +lean_object* x_2; +x_2 = lean_box(0); +return x_2; +} +case 1: +{ +lean_object* x_3; lean_object* x_4; lean_object* x_5; +x_3 = lean_ctor_get(x_1, 1); +x_4 = lean_array_get_size(x_3); +x_5 = l_Array_findSomeRevM_x3f_find___at_Lean_Syntax_getTailInfo___spec__1(x_3, x_4, lean_box(0)); +return x_5; +} +default: +{ +lean_object* x_6; lean_object* x_7; +x_6 = lean_ctor_get(x_1, 0); +lean_inc(x_6); +x_7 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_7, 0, x_6); +return x_7; +} +} +} +} +lean_object* l_Array_findSomeRevM_x3f_find___at_Lean_Syntax_getTailInfo___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +lean_object* x_4; +x_4 = l_Array_findSomeRevM_x3f_find___at_Lean_Syntax_getTailInfo___spec__1(x_1, x_2, x_3); +lean_dec(x_1); +return x_4; +} +} +lean_object* l_Lean_Syntax_getTailInfo___boxed(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = l_Lean_Syntax_getTailInfo(x_1); +lean_dec(x_1); +return x_2; +} +} +lean_object* l___private_Init_LeanInit_0__Lean_Syntax_updateLast_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +if (lean_obj_tag(x_1) == 0) +{ +lean_object* x_4; lean_object* x_5; +lean_dec(x_2); +x_4 = lean_box(0); +x_5 = lean_apply_1(x_3, x_4); +return x_5; +} +else +{ +lean_object* x_6; lean_object* x_7; +lean_dec(x_3); +x_6 = lean_ctor_get(x_1, 0); +lean_inc(x_6); +lean_dec(x_1); +x_7 = lean_apply_1(x_2, x_6); +return x_7; +} +} +} +lean_object* l___private_Init_LeanInit_0__Lean_Syntax_updateLast_match__1(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; +x_3 = lean_alloc_closure((void*)(l___private_Init_LeanInit_0__Lean_Syntax_updateLast_match__1___rarg), 3, 0); +return x_3; +} +} +lean_object* l___private_Init_LeanInit_0__Lean_Syntax_updateLast___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +_start: +{ +lean_object* x_5; uint8_t x_6; +x_5 = lean_unsigned_to_nat(0u); +x_6 = lean_nat_dec_eq(x_4, x_5); +if (x_6 == 0) +{ +lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; +x_7 = lean_unsigned_to_nat(1u); +x_8 = lean_nat_sub(x_4, x_7); +lean_dec(x_4); +lean_inc(x_1); +x_9 = lean_array_get(x_1, x_2, x_8); +lean_inc(x_3); +x_10 = lean_apply_1(x_3, x_9); +if (lean_obj_tag(x_10) == 0) +{ +x_4 = x_8; +goto _start; +} +else +{ +uint8_t x_12; +lean_dec(x_3); +lean_dec(x_1); +x_12 = !lean_is_exclusive(x_10); +if (x_12 == 0) +{ +lean_object* x_13; lean_object* x_14; +x_13 = lean_ctor_get(x_10, 0); +x_14 = lean_array_set(x_2, x_8, x_13); +lean_dec(x_8); +lean_ctor_set(x_10, 0, x_14); +return x_10; +} +else +{ +lean_object* x_15; lean_object* x_16; lean_object* x_17; +x_15 = lean_ctor_get(x_10, 0); +lean_inc(x_15); +lean_dec(x_10); +x_16 = lean_array_set(x_2, x_8, x_15); +lean_dec(x_8); +x_17 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_17, 0, x_16); +return x_17; +} +} +} +else +{ +lean_object* x_18; +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_18 = lean_box(0); +return x_18; +} +} +} +lean_object* l___private_Init_LeanInit_0__Lean_Syntax_updateLast(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l___private_Init_LeanInit_0__Lean_Syntax_updateLast___rarg), 4, 0); +return x_2; +} +} +lean_object* l_Lean_Syntax_setTailInfoAux_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +if (lean_obj_tag(x_1) == 0) +{ +lean_object* x_4; lean_object* x_5; +lean_dec(x_2); +x_4 = lean_box(0); +x_5 = lean_apply_1(x_3, x_4); +return x_5; +} +else +{ +lean_object* x_6; lean_object* x_7; +lean_dec(x_3); +x_6 = lean_ctor_get(x_1, 0); +lean_inc(x_6); +lean_dec(x_1); +x_7 = lean_apply_1(x_2, x_6); +return x_7; +} +} +} +lean_object* l_Lean_Syntax_setTailInfoAux_match__1(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Lean_Syntax_setTailInfoAux_match__1___rarg), 3, 0); +return x_2; +} +} +lean_object* l_Lean_Syntax_setTailInfoAux_match__2___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +_start: +{ +switch (lean_obj_tag(x_1)) { +case 0: +{ +lean_object* x_6; +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_6 = lean_apply_1(x_5, x_1); +return x_6; +} +case 1: +{ +lean_object* x_7; lean_object* x_8; lean_object* x_9; +lean_dec(x_5); +lean_dec(x_3); +lean_dec(x_2); +x_7 = lean_ctor_get(x_1, 0); +lean_inc(x_7); +x_8 = lean_ctor_get(x_1, 1); +lean_inc(x_8); +lean_dec(x_1); +x_9 = lean_apply_2(x_4, x_7, x_8); +return x_9; +} +case 2: +{ +lean_object* x_10; lean_object* x_11; lean_object* x_12; +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +x_10 = lean_ctor_get(x_1, 0); +lean_inc(x_10); +x_11 = lean_ctor_get(x_1, 1); +lean_inc(x_11); +lean_dec(x_1); +x_12 = lean_apply_2(x_2, x_10, x_11); +return x_12; +} +default: +{ +lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_2); +x_13 = lean_ctor_get(x_1, 0); +lean_inc(x_13); +x_14 = lean_ctor_get(x_1, 1); +lean_inc(x_14); +x_15 = lean_ctor_get(x_1, 2); +lean_inc(x_15); +x_16 = lean_ctor_get(x_1, 3); +lean_inc(x_16); +lean_dec(x_1); +x_17 = lean_apply_4(x_3, x_13, x_14, x_15, x_16); +return x_17; +} +} +} +} +lean_object* l_Lean_Syntax_setTailInfoAux_match__2(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Lean_Syntax_setTailInfoAux_match__2___rarg), 5, 0); +return x_2; +} +} +lean_object* l___private_Init_LeanInit_0__Lean_Syntax_updateLast___at_Lean_Syntax_setTailInfoAux___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +lean_object* x_4; uint8_t x_5; +x_4 = lean_unsigned_to_nat(0u); +x_5 = lean_nat_dec_eq(x_3, x_4); +if (x_5 == 0) +{ +lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; +x_6 = lean_unsigned_to_nat(1u); +x_7 = lean_nat_sub(x_3, x_6); +lean_dec(x_3); +x_8 = l_Lean_Init_LeanInit___instance__9; +x_9 = lean_array_get(x_8, x_2, x_7); +lean_inc(x_1); +x_10 = l_Lean_Syntax_setTailInfoAux(x_1, x_9); +if (lean_obj_tag(x_10) == 0) +{ +x_3 = x_7; +goto _start; +} +else +{ +uint8_t x_12; +lean_dec(x_1); +x_12 = !lean_is_exclusive(x_10); +if (x_12 == 0) +{ +lean_object* x_13; lean_object* x_14; +x_13 = lean_ctor_get(x_10, 0); +x_14 = lean_array_set(x_2, x_7, x_13); +lean_dec(x_7); +lean_ctor_set(x_10, 0, x_14); +return x_10; +} +else +{ +lean_object* x_15; lean_object* x_16; lean_object* x_17; +x_15 = lean_ctor_get(x_10, 0); +lean_inc(x_15); +lean_dec(x_10); +x_16 = lean_array_set(x_2, x_7, x_15); +lean_dec(x_7); +x_17 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_17, 0, x_16); +return x_17; +} +} +} +else +{ +lean_object* x_18; +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_18 = lean_box(0); +return x_18; +} +} +} +lean_object* l_Lean_Syntax_setTailInfoAux(lean_object* x_1, lean_object* x_2) { +_start: +{ +switch (lean_obj_tag(x_2)) { +case 0: +{ +lean_object* x_3; +lean_dec(x_1); +x_3 = lean_box(0); +return x_3; +} +case 1: +{ +uint8_t x_4; +x_4 = !lean_is_exclusive(x_2); +if (x_4 == 0) +{ +lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; +x_5 = lean_ctor_get(x_2, 0); +x_6 = lean_ctor_get(x_2, 1); +x_7 = lean_array_get_size(x_6); +x_8 = l___private_Init_LeanInit_0__Lean_Syntax_updateLast___at_Lean_Syntax_setTailInfoAux___spec__1(x_1, x_6, x_7); +if (lean_obj_tag(x_8) == 0) +{ +lean_object* x_9; +lean_free_object(x_2); +lean_dec(x_5); +x_9 = lean_box(0); +return x_9; +} +else +{ +uint8_t x_10; +x_10 = !lean_is_exclusive(x_8); +if (x_10 == 0) +{ +lean_object* x_11; +x_11 = lean_ctor_get(x_8, 0); +lean_ctor_set(x_2, 1, x_11); +lean_ctor_set(x_8, 0, x_2); +return x_8; +} +else +{ +lean_object* x_12; lean_object* x_13; +x_12 = lean_ctor_get(x_8, 0); +lean_inc(x_12); +lean_dec(x_8); +lean_ctor_set(x_2, 1, x_12); +x_13 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_13, 0, x_2); +return x_13; +} +} +} +else +{ +lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; +x_14 = lean_ctor_get(x_2, 0); +x_15 = lean_ctor_get(x_2, 1); +lean_inc(x_15); +lean_inc(x_14); +lean_dec(x_2); +x_16 = lean_array_get_size(x_15); +x_17 = l___private_Init_LeanInit_0__Lean_Syntax_updateLast___at_Lean_Syntax_setTailInfoAux___spec__1(x_1, x_15, x_16); +if (lean_obj_tag(x_17) == 0) +{ +lean_object* x_18; +lean_dec(x_14); +x_18 = lean_box(0); +return x_18; +} +else +{ +lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; +x_19 = lean_ctor_get(x_17, 0); +lean_inc(x_19); +if (lean_is_exclusive(x_17)) { + lean_ctor_release(x_17, 0); + x_20 = x_17; +} else { + lean_dec_ref(x_17); + x_20 = lean_box(0); +} +x_21 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_21, 0, x_14); +lean_ctor_set(x_21, 1, x_19); +if (lean_is_scalar(x_20)) { + x_22 = lean_alloc_ctor(1, 1, 0); +} else { + x_22 = x_20; +} +lean_ctor_set(x_22, 0, x_21); +return x_22; +} +} +} +case 2: +{ +uint8_t x_23; +x_23 = !lean_is_exclusive(x_2); +if (x_23 == 0) +{ +lean_object* x_24; lean_object* x_25; +x_24 = lean_ctor_get(x_2, 0); +lean_dec(x_24); +lean_ctor_set(x_2, 0, x_1); +x_25 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_25, 0, x_2); +return x_25; +} +else +{ +lean_object* x_26; lean_object* x_27; lean_object* x_28; +x_26 = lean_ctor_get(x_2, 1); +lean_inc(x_26); +lean_dec(x_2); +x_27 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_27, 0, x_1); +lean_ctor_set(x_27, 1, x_26); +x_28 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_28, 0, x_27); +return x_28; +} +} +default: +{ +uint8_t x_29; +x_29 = !lean_is_exclusive(x_2); +if (x_29 == 0) +{ +lean_object* x_30; lean_object* x_31; +x_30 = lean_ctor_get(x_2, 0); +lean_dec(x_30); +lean_ctor_set(x_2, 0, x_1); +x_31 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_31, 0, x_2); +return x_31; +} +else +{ +lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; +x_32 = lean_ctor_get(x_2, 1); +x_33 = lean_ctor_get(x_2, 2); +x_34 = lean_ctor_get(x_2, 3); +lean_inc(x_34); +lean_inc(x_33); +lean_inc(x_32); +lean_dec(x_2); +x_35 = lean_alloc_ctor(3, 4, 0); +lean_ctor_set(x_35, 0, x_1); +lean_ctor_set(x_35, 1, x_32); +lean_ctor_set(x_35, 2, x_33); +lean_ctor_set(x_35, 3, x_34); +x_36 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_36, 0, x_35); +return x_36; +} +} +} +} +} +lean_object* l_Lean_Syntax_setTailInfo_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +if (lean_obj_tag(x_1) == 0) +{ +lean_object* x_4; lean_object* x_5; +lean_dec(x_2); +x_4 = lean_box(0); +x_5 = lean_apply_1(x_3, x_4); +return x_5; +} +else +{ +lean_object* x_6; lean_object* x_7; +lean_dec(x_3); +x_6 = lean_ctor_get(x_1, 0); +lean_inc(x_6); +lean_dec(x_1); +x_7 = lean_apply_1(x_2, x_6); +return x_7; +} +} +} +lean_object* l_Lean_Syntax_setTailInfo_match__1(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Lean_Syntax_setTailInfo_match__1___rarg), 3, 0); +return x_2; +} +} +lean_object* l_Lean_Syntax_setTailInfo(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; +lean_inc(x_1); +x_3 = l_Lean_Syntax_setTailInfoAux(x_2, x_1); +if (lean_obj_tag(x_3) == 0) +{ +return x_1; +} +else +{ +lean_object* x_4; +lean_dec(x_1); +x_4 = lean_ctor_get(x_3, 0); +lean_inc(x_4); +lean_dec(x_3); +return x_4; +} +} +} +lean_object* l_Lean_Syntax_unsetTrailing_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +if (lean_obj_tag(x_1) == 0) +{ +lean_object* x_4; lean_object* x_5; +lean_dec(x_3); +x_4 = lean_box(0); +x_5 = lean_apply_1(x_2, x_4); +return x_5; +} +else +{ +lean_object* x_6; lean_object* x_7; +lean_dec(x_2); +x_6 = lean_ctor_get(x_1, 0); +lean_inc(x_6); +lean_dec(x_1); +x_7 = lean_apply_1(x_3, x_6); +return x_7; +} +} +} +lean_object* l_Lean_Syntax_unsetTrailing_match__1(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Lean_Syntax_unsetTrailing_match__1___rarg), 3, 0); +return x_2; +} +} +lean_object* l_Lean_Syntax_unsetTrailing(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = l_Lean_Syntax_getTailInfo(x_1); +if (lean_obj_tag(x_2) == 0) +{ +return x_1; +} +else +{ +lean_object* x_3; uint8_t x_4; +x_3 = lean_ctor_get(x_2, 0); +lean_inc(x_3); +lean_dec(x_2); +x_4 = !lean_is_exclusive(x_3); +if (x_4 == 0) +{ +lean_object* x_5; lean_object* x_6; lean_object* x_7; +x_5 = lean_ctor_get(x_3, 2); +lean_dec(x_5); +x_6 = lean_box(0); +lean_ctor_set(x_3, 2, x_6); +x_7 = l_Lean_Syntax_setTailInfo(x_1, x_3); +return x_7; +} +else +{ +lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; +x_8 = lean_ctor_get(x_3, 0); +x_9 = lean_ctor_get(x_3, 1); +lean_inc(x_9); +lean_inc(x_8); +lean_dec(x_3); +x_10 = lean_box(0); +x_11 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_11, 0, x_8); +lean_ctor_set(x_11, 1, x_9); +lean_ctor_set(x_11, 2, x_10); +x_12 = l_Lean_Syntax_setTailInfo(x_1, x_11); +return x_12; +} +} +} +} +lean_object* l___private_Init_LeanInit_0__Lean_Syntax_updateFirst_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +if (lean_obj_tag(x_1) == 0) +{ +lean_object* x_4; lean_object* x_5; +lean_dec(x_2); +x_4 = lean_box(0); +x_5 = lean_apply_1(x_3, x_4); +return x_5; +} +else +{ +lean_object* x_6; lean_object* x_7; +lean_dec(x_3); +x_6 = lean_ctor_get(x_1, 0); +lean_inc(x_6); +lean_dec(x_1); +x_7 = lean_apply_1(x_2, x_6); +return x_7; +} +} +} +lean_object* l___private_Init_LeanInit_0__Lean_Syntax_updateFirst_match__1(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; +x_3 = lean_alloc_closure((void*)(l___private_Init_LeanInit_0__Lean_Syntax_updateFirst_match__1___rarg), 3, 0); +return x_3; +} +} +lean_object* l___private_Init_LeanInit_0__Lean_Syntax_updateFirst___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +_start: +{ +lean_object* x_5; uint8_t x_6; +x_5 = lean_array_get_size(x_2); +x_6 = lean_nat_dec_lt(x_4, x_5); +lean_dec(x_5); +if (x_6 == 0) +{ +lean_object* x_7; +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_7 = lean_box(0); +return x_7; +} +else +{ +lean_object* x_8; lean_object* x_9; +x_8 = lean_array_fget(x_2, x_4); +lean_inc(x_3); +x_9 = lean_apply_1(x_3, x_8); +if (lean_obj_tag(x_9) == 0) +{ +lean_object* x_10; lean_object* x_11; +x_10 = lean_unsigned_to_nat(1u); +x_11 = lean_nat_add(x_4, x_10); +lean_dec(x_4); +x_4 = x_11; +goto _start; +} +else +{ +uint8_t x_13; +lean_dec(x_3); +x_13 = !lean_is_exclusive(x_9); +if (x_13 == 0) +{ +lean_object* x_14; lean_object* x_15; +x_14 = lean_ctor_get(x_9, 0); +x_15 = lean_array_fset(x_2, x_4, x_14); +lean_dec(x_4); +lean_ctor_set(x_9, 0, x_15); +return x_9; +} +else +{ +lean_object* x_16; lean_object* x_17; lean_object* x_18; +x_16 = lean_ctor_get(x_9, 0); +lean_inc(x_16); +lean_dec(x_9); +x_17 = lean_array_fset(x_2, x_4, x_16); +lean_dec(x_4); +x_18 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_18, 0, x_17); +return x_18; +} +} +} +} +} +lean_object* l___private_Init_LeanInit_0__Lean_Syntax_updateFirst(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l___private_Init_LeanInit_0__Lean_Syntax_updateFirst___rarg___boxed), 4, 0); +return x_2; +} +} +lean_object* l___private_Init_LeanInit_0__Lean_Syntax_updateFirst___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +_start: +{ +lean_object* x_5; +x_5 = l___private_Init_LeanInit_0__Lean_Syntax_updateFirst___rarg(x_1, x_2, x_3, x_4); +lean_dec(x_1); +return x_5; +} +} +lean_object* l_Lean_Syntax_setHeadInfoAux_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +if (lean_obj_tag(x_1) == 0) +{ +lean_object* x_4; +lean_dec(x_2); +x_4 = lean_apply_1(x_3, x_1); +return x_4; +} +else +{ +lean_object* x_5; lean_object* x_6; +lean_dec(x_3); +x_5 = lean_ctor_get(x_1, 0); +lean_inc(x_5); +lean_dec(x_1); +x_6 = lean_apply_1(x_2, x_5); +return x_6; +} +} +} +lean_object* l_Lean_Syntax_setHeadInfoAux_match__1(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Lean_Syntax_setHeadInfoAux_match__1___rarg), 3, 0); +return x_2; +} +} +lean_object* l_Lean_Syntax_setHeadInfoAux_match__2___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +_start: +{ +switch (lean_obj_tag(x_1)) { +case 0: +{ +lean_object* x_6; +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_6 = lean_apply_1(x_5, x_1); +return x_6; +} +case 1: +{ +lean_object* x_7; lean_object* x_8; lean_object* x_9; +lean_dec(x_5); +lean_dec(x_3); +lean_dec(x_2); +x_7 = lean_ctor_get(x_1, 0); +lean_inc(x_7); +x_8 = lean_ctor_get(x_1, 1); +lean_inc(x_8); +lean_dec(x_1); +x_9 = lean_apply_2(x_4, x_7, x_8); +return x_9; +} +case 2: +{ +lean_object* x_10; lean_object* x_11; lean_object* x_12; +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +x_10 = lean_ctor_get(x_1, 0); +lean_inc(x_10); +x_11 = lean_ctor_get(x_1, 1); +lean_inc(x_11); +lean_dec(x_1); +x_12 = lean_apply_2(x_2, x_10, x_11); +return x_12; +} +default: +{ +lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_2); +x_13 = lean_ctor_get(x_1, 0); +lean_inc(x_13); +x_14 = lean_ctor_get(x_1, 1); +lean_inc(x_14); +x_15 = lean_ctor_get(x_1, 2); +lean_inc(x_15); +x_16 = lean_ctor_get(x_1, 3); +lean_inc(x_16); +lean_dec(x_1); +x_17 = lean_apply_4(x_3, x_13, x_14, x_15, x_16); +return x_17; +} +} +} +} +lean_object* l_Lean_Syntax_setHeadInfoAux_match__2(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Lean_Syntax_setHeadInfoAux_match__2___rarg), 5, 0); +return x_2; +} +} +lean_object* l___private_Init_LeanInit_0__Lean_Syntax_updateFirst___at_Lean_Syntax_setHeadInfoAux___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +lean_object* x_4; uint8_t x_5; +x_4 = lean_array_get_size(x_2); +x_5 = lean_nat_dec_lt(x_3, x_4); +lean_dec(x_4); +if (x_5 == 0) +{ +lean_object* x_6; +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_6 = lean_box(0); +return x_6; +} +else +{ +lean_object* x_7; lean_object* x_8; +x_7 = lean_array_fget(x_2, x_3); +lean_inc(x_1); +x_8 = l_Lean_Syntax_setHeadInfoAux(x_1, x_7); +if (lean_obj_tag(x_8) == 0) +{ +lean_object* x_9; lean_object* x_10; +x_9 = lean_unsigned_to_nat(1u); +x_10 = lean_nat_add(x_3, x_9); +lean_dec(x_3); +x_3 = x_10; +goto _start; +} +else +{ +uint8_t x_12; +lean_dec(x_1); +x_12 = !lean_is_exclusive(x_8); +if (x_12 == 0) +{ +lean_object* x_13; lean_object* x_14; +x_13 = lean_ctor_get(x_8, 0); +x_14 = lean_array_fset(x_2, x_3, x_13); +lean_dec(x_3); +lean_ctor_set(x_8, 0, x_14); +return x_8; +} +else +{ +lean_object* x_15; lean_object* x_16; lean_object* x_17; +x_15 = lean_ctor_get(x_8, 0); +lean_inc(x_15); +lean_dec(x_8); +x_16 = lean_array_fset(x_2, x_3, x_15); +lean_dec(x_3); +x_17 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_17, 0, x_16); +return x_17; +} +} +} +} +} +lean_object* l_Lean_Syntax_setHeadInfoAux(lean_object* x_1, lean_object* x_2) { +_start: +{ +switch (lean_obj_tag(x_2)) { +case 0: +{ +lean_object* x_3; +lean_dec(x_1); +x_3 = lean_box(0); +return x_3; +} +case 1: +{ +uint8_t x_4; +x_4 = !lean_is_exclusive(x_2); +if (x_4 == 0) +{ +lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; +x_5 = lean_ctor_get(x_2, 0); +x_6 = lean_ctor_get(x_2, 1); +x_7 = lean_unsigned_to_nat(0u); +x_8 = l___private_Init_LeanInit_0__Lean_Syntax_updateFirst___at_Lean_Syntax_setHeadInfoAux___spec__1(x_1, x_6, x_7); +if (lean_obj_tag(x_8) == 0) +{ +lean_object* x_9; +lean_free_object(x_2); +lean_dec(x_5); +x_9 = lean_box(0); +return x_9; +} +else +{ +uint8_t x_10; +x_10 = !lean_is_exclusive(x_8); +if (x_10 == 0) +{ +lean_object* x_11; +x_11 = lean_ctor_get(x_8, 0); +lean_ctor_set(x_2, 1, x_11); +lean_ctor_set(x_8, 0, x_2); +return x_8; +} +else +{ +lean_object* x_12; lean_object* x_13; +x_12 = lean_ctor_get(x_8, 0); +lean_inc(x_12); +lean_dec(x_8); +lean_ctor_set(x_2, 1, x_12); +x_13 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_13, 0, x_2); +return x_13; +} +} +} +else +{ +lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; +x_14 = lean_ctor_get(x_2, 0); +x_15 = lean_ctor_get(x_2, 1); +lean_inc(x_15); +lean_inc(x_14); +lean_dec(x_2); +x_16 = lean_unsigned_to_nat(0u); +x_17 = l___private_Init_LeanInit_0__Lean_Syntax_updateFirst___at_Lean_Syntax_setHeadInfoAux___spec__1(x_1, x_15, x_16); +if (lean_obj_tag(x_17) == 0) +{ +lean_object* x_18; +lean_dec(x_14); +x_18 = lean_box(0); +return x_18; +} +else +{ +lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; +x_19 = lean_ctor_get(x_17, 0); +lean_inc(x_19); +if (lean_is_exclusive(x_17)) { + lean_ctor_release(x_17, 0); + x_20 = x_17; +} else { + lean_dec_ref(x_17); + x_20 = lean_box(0); +} +x_21 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_21, 0, x_14); +lean_ctor_set(x_21, 1, x_19); +if (lean_is_scalar(x_20)) { + x_22 = lean_alloc_ctor(1, 1, 0); +} else { + x_22 = x_20; +} +lean_ctor_set(x_22, 0, x_21); +return x_22; +} +} +} +case 2: +{ +uint8_t x_23; +x_23 = !lean_is_exclusive(x_2); +if (x_23 == 0) +{ +lean_object* x_24; lean_object* x_25; +x_24 = lean_ctor_get(x_2, 0); +lean_dec(x_24); +lean_ctor_set(x_2, 0, x_1); +x_25 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_25, 0, x_2); +return x_25; +} +else +{ +lean_object* x_26; lean_object* x_27; lean_object* x_28; +x_26 = lean_ctor_get(x_2, 1); +lean_inc(x_26); +lean_dec(x_2); +x_27 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_27, 0, x_1); +lean_ctor_set(x_27, 1, x_26); +x_28 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_28, 0, x_27); +return x_28; +} +} +default: +{ +uint8_t x_29; +x_29 = !lean_is_exclusive(x_2); +if (x_29 == 0) +{ +lean_object* x_30; lean_object* x_31; +x_30 = lean_ctor_get(x_2, 0); +lean_dec(x_30); +lean_ctor_set(x_2, 0, x_1); +x_31 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_31, 0, x_2); +return x_31; +} +else +{ +lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; +x_32 = lean_ctor_get(x_2, 1); +x_33 = lean_ctor_get(x_2, 2); +x_34 = lean_ctor_get(x_2, 3); +lean_inc(x_34); +lean_inc(x_33); +lean_inc(x_32); +lean_dec(x_2); +x_35 = lean_alloc_ctor(3, 4, 0); +lean_ctor_set(x_35, 0, x_1); +lean_ctor_set(x_35, 1, x_32); +lean_ctor_set(x_35, 2, x_33); +lean_ctor_set(x_35, 3, x_34); +x_36 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_36, 0, x_35); +return x_36; +} +} +} +} +} +lean_object* l_Lean_Syntax_setHeadInfo_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +if (lean_obj_tag(x_1) == 0) +{ +lean_object* x_4; lean_object* x_5; +lean_dec(x_2); +x_4 = lean_box(0); +x_5 = lean_apply_1(x_3, x_4); +return x_5; +} +else +{ +lean_object* x_6; lean_object* x_7; +lean_dec(x_3); +x_6 = lean_ctor_get(x_1, 0); +lean_inc(x_6); +lean_dec(x_1); +x_7 = lean_apply_1(x_2, x_6); +return x_7; +} +} +} +lean_object* l_Lean_Syntax_setHeadInfo_match__1(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Lean_Syntax_setHeadInfo_match__1___rarg), 3, 0); +return x_2; +} +} +lean_object* l_Lean_Syntax_setHeadInfo(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; +lean_inc(x_1); +x_3 = l_Lean_Syntax_setHeadInfoAux(x_2, x_1); +if (lean_obj_tag(x_3) == 0) +{ +return x_1; +} +else +{ +lean_object* x_4; +lean_dec(x_1); +x_4 = lean_ctor_get(x_3, 0); +lean_inc(x_4); +lean_dec(x_3); +return x_4; +} +} +} +lean_object* l_Lean_Syntax_setInfo_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +_start: +{ +switch (lean_obj_tag(x_1)) { +case 2: +{ +lean_object* x_5; lean_object* x_6; lean_object* x_7; +lean_dec(x_4); +lean_dec(x_3); +x_5 = lean_ctor_get(x_1, 0); +lean_inc(x_5); +x_6 = lean_ctor_get(x_1, 1); +lean_inc(x_6); +lean_dec(x_1); +x_7 = lean_apply_2(x_2, x_5, x_6); +return x_7; +} +case 3: +{ +lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; +lean_dec(x_4); +lean_dec(x_2); +x_8 = lean_ctor_get(x_1, 0); +lean_inc(x_8); +x_9 = lean_ctor_get(x_1, 1); +lean_inc(x_9); +x_10 = lean_ctor_get(x_1, 2); +lean_inc(x_10); +x_11 = lean_ctor_get(x_1, 3); +lean_inc(x_11); +lean_dec(x_1); +x_12 = lean_apply_4(x_3, x_8, x_9, x_10, x_11); +return x_12; +} +default: +{ +lean_object* x_13; +lean_dec(x_3); +lean_dec(x_2); +x_13 = lean_apply_1(x_4, x_1); +return x_13; +} +} +} +} +lean_object* l_Lean_Syntax_setInfo_match__1(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Lean_Syntax_setInfo_match__1___rarg), 4, 0); +return x_2; +} +} +lean_object* l_Lean_Syntax_setInfo(lean_object* x_1, lean_object* x_2) { +_start: +{ +switch (lean_obj_tag(x_2)) { +case 2: +{ +uint8_t x_3; +x_3 = !lean_is_exclusive(x_2); +if (x_3 == 0) +{ +lean_object* x_4; +x_4 = lean_ctor_get(x_2, 0); +lean_dec(x_4); +lean_ctor_set(x_2, 0, x_1); +return x_2; +} +else +{ +lean_object* x_5; lean_object* x_6; +x_5 = lean_ctor_get(x_2, 1); +lean_inc(x_5); +lean_dec(x_2); +x_6 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_6, 0, x_1); +lean_ctor_set(x_6, 1, x_5); +return x_6; +} +} +case 3: +{ +uint8_t x_7; +x_7 = !lean_is_exclusive(x_2); +if (x_7 == 0) +{ +lean_object* x_8; +x_8 = lean_ctor_get(x_2, 0); +lean_dec(x_8); +lean_ctor_set(x_2, 0, x_1); +return x_2; +} +else +{ +lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; +x_9 = lean_ctor_get(x_2, 1); +x_10 = lean_ctor_get(x_2, 2); +x_11 = lean_ctor_get(x_2, 3); +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_9); +lean_dec(x_2); +x_12 = lean_alloc_ctor(3, 4, 0); +lean_ctor_set(x_12, 0, x_1); +lean_ctor_set(x_12, 1, x_9); +lean_ctor_set(x_12, 2, x_10); +lean_ctor_set(x_12, 3, x_11); +return x_12; +} +} +default: +{ +lean_dec(x_1); +return x_2; +} +} +} +} +lean_object* l_Lean_Syntax_replaceInfo_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +if (lean_obj_tag(x_1) == 1) +{ +lean_object* x_4; lean_object* x_5; lean_object* x_6; +lean_dec(x_3); +x_4 = lean_ctor_get(x_1, 0); +lean_inc(x_4); +x_5 = lean_ctor_get(x_1, 1); +lean_inc(x_5); +lean_dec(x_1); +x_6 = lean_apply_2(x_2, x_4, x_5); +return x_6; +} +else +{ +lean_object* x_7; +lean_dec(x_2); +x_7 = lean_apply_1(x_3, x_1); +return x_7; +} +} +} +lean_object* l_Lean_Syntax_replaceInfo_match__1(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Lean_Syntax_replaceInfo_match__1___rarg), 3, 0); +return x_2; +} +} +lean_object* l_Array_mapMUnsafe_map___at_Lean_Syntax_replaceInfo___spec__1(lean_object* x_1, size_t x_2, size_t x_3, lean_object* x_4) { +_start: +{ +uint8_t x_5; +x_5 = x_3 < x_2; +if (x_5 == 0) +{ +lean_object* x_6; +lean_dec(x_1); +x_6 = x_4; +return x_6; +} +else +{ +lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; size_t x_12; size_t x_13; lean_object* x_14; lean_object* x_15; +x_7 = lean_array_uget(x_4, x_3); +x_8 = lean_unsigned_to_nat(0u); +x_9 = lean_array_uset(x_4, x_3, x_8); +x_10 = x_7; +lean_inc(x_1); +x_11 = l_Lean_Syntax_replaceInfo(x_1, x_10); +x_12 = 1; +x_13 = x_3 + x_12; +x_14 = x_11; +x_15 = lean_array_uset(x_9, x_3, x_14); +x_3 = x_13; +x_4 = x_15; +goto _start; +} +} +} +lean_object* l_Lean_Syntax_replaceInfo(lean_object* x_1, lean_object* x_2) { +_start: +{ +if (lean_obj_tag(x_2) == 1) +{ +uint8_t x_3; +x_3 = !lean_is_exclusive(x_2); +if (x_3 == 0) +{ +lean_object* x_4; lean_object* x_5; size_t x_6; size_t x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; +x_4 = lean_ctor_get(x_2, 1); +x_5 = lean_array_get_size(x_4); +x_6 = lean_usize_of_nat(x_5); +lean_dec(x_5); +x_7 = 0; +x_8 = x_4; +x_9 = l_Array_mapMUnsafe_map___at_Lean_Syntax_replaceInfo___spec__1(x_1, x_6, x_7, x_8); +x_10 = x_9; +lean_ctor_set(x_2, 1, x_10); +return x_2; +} +else +{ +lean_object* x_11; lean_object* x_12; lean_object* x_13; size_t x_14; size_t x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; +x_11 = lean_ctor_get(x_2, 0); +x_12 = lean_ctor_get(x_2, 1); +lean_inc(x_12); +lean_inc(x_11); +lean_dec(x_2); +x_13 = lean_array_get_size(x_12); +x_14 = lean_usize_of_nat(x_13); +lean_dec(x_13); +x_15 = 0; +x_16 = x_12; +x_17 = l_Array_mapMUnsafe_map___at_Lean_Syntax_replaceInfo___spec__1(x_1, x_14, x_15, x_16); +x_18 = x_17; +x_19 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_19, 0, x_11); +lean_ctor_set(x_19, 1, x_18); +return x_19; +} +} +else +{ +lean_object* x_20; +x_20 = l_Lean_Syntax_setInfo(x_1, x_2); +return x_20; +} +} +} +lean_object* l_Array_mapMUnsafe_map___at_Lean_Syntax_replaceInfo___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +_start: +{ +size_t x_5; size_t x_6; lean_object* x_7; +x_5 = lean_unbox_usize(x_2); +lean_dec(x_2); +x_6 = lean_unbox_usize(x_3); +lean_dec(x_3); +x_7 = l_Array_mapMUnsafe_map___at_Lean_Syntax_replaceInfo___spec__1(x_1, x_5, x_6, x_4); +return x_7; +} +} +lean_object* l_Lean_Syntax_copyInfo_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +if (lean_obj_tag(x_1) == 0) +{ +lean_object* x_4; lean_object* x_5; +lean_dec(x_3); +x_4 = lean_box(0); +x_5 = lean_apply_1(x_2, x_4); +return x_5; +} +else +{ +lean_object* x_6; lean_object* x_7; +lean_dec(x_2); +x_6 = lean_ctor_get(x_1, 0); +lean_inc(x_6); +lean_dec(x_1); +x_7 = lean_apply_1(x_3, x_6); +return x_7; +} +} +} +lean_object* l_Lean_Syntax_copyInfo_match__1(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Lean_Syntax_copyInfo_match__1___rarg), 3, 0); +return x_2; +} +} +lean_object* l_Lean_Syntax_copyInfo(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; +x_3 = l_Lean_Syntax_getHeadInfo(x_2); +if (lean_obj_tag(x_3) == 0) +{ +return x_1; +} +else +{ +lean_object* x_4; lean_object* x_5; +x_4 = lean_ctor_get(x_3, 0); +lean_inc(x_4); +lean_dec(x_3); +x_5 = l_Lean_Syntax_setHeadInfo(x_1, x_4); +return x_5; +} +} +} +lean_object* l_Lean_Syntax_copyInfo___boxed(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; +x_3 = l_Lean_Syntax_copyInfo(x_1, x_2); +lean_dec(x_2); +return x_3; +} +} +lean_object* l_Lean_Syntax_copyTailInfo_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +if (lean_obj_tag(x_1) == 0) +{ +lean_object* x_4; lean_object* x_5; +lean_dec(x_3); +x_4 = lean_box(0); +x_5 = lean_apply_1(x_2, x_4); +return x_5; +} +else +{ +lean_object* x_6; lean_object* x_7; +lean_dec(x_2); +x_6 = lean_ctor_get(x_1, 0); +lean_inc(x_6); +lean_dec(x_1); +x_7 = lean_apply_1(x_3, x_6); +return x_7; +} +} +} +lean_object* l_Lean_Syntax_copyTailInfo_match__1(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Lean_Syntax_copyTailInfo_match__1___rarg), 3, 0); +return x_2; +} +} +lean_object* l_Lean_Syntax_copyTailInfo(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; +x_3 = l_Lean_Syntax_getTailInfo(x_2); +if (lean_obj_tag(x_3) == 0) +{ +return x_1; +} +else +{ +lean_object* x_4; lean_object* x_5; +x_4 = lean_ctor_get(x_3, 0); +lean_inc(x_4); +lean_dec(x_3); +x_5 = l_Lean_Syntax_setTailInfo(x_1, x_4); +return x_5; +} +} +} +lean_object* l_Lean_Syntax_copyTailInfo___boxed(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; +x_3 = l_Lean_Syntax_copyTailInfo(x_1, x_2); +lean_dec(x_2); +return x_3; +} +} +lean_object* l_Lean_mkAtom(lean_object* x_1) { +_start: +{ +lean_object* x_2; lean_object* x_3; +x_2 = l_Lean_Init_LeanInit___instance__8___closed__1; +x_3 = lean_alloc_ctor(2, 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_mkNode(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; +x_3 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_3, 0, x_1); +lean_ctor_set(x_3, 1, x_2); +return x_3; +} +} static lean_object* _init_l_Lean_reservedMacroScope() { _start: { @@ -3690,7 +5321,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l___private_Init_LeanInit_0__Lean_eraseMacroScopesAux___closed__1; x_2 = l___private_Init_LeanInit_0__Lean_eraseMacroScopesAux___closed__2; -x_3 = lean_unsigned_to_nat(354u); +x_3 = lean_unsigned_to_nat(436u); x_4 = lean_unsigned_to_nat(24u); x_5 = l___private_Init_LeanInit_0__Lean_eraseMacroScopesAux___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -4019,7 +5650,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l___private_Init_LeanInit_0__Lean_eraseMacroScopesAux___closed__1; x_2 = l___private_Init_LeanInit_0__Lean_assembleParts___closed__1; -x_3 = lean_unsigned_to_nat(388u); +x_3 = lean_unsigned_to_nat(470u); x_4 = lean_unsigned_to_nat(35u); x_5 = l___private_Init_LeanInit_0__Lean_eraseMacroScopesAux___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -4146,7 +5777,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l___private_Init_LeanInit_0__Lean_eraseMacroScopesAux___closed__1; x_2 = l___private_Init_LeanInit_0__Lean_extractImported___closed__1; -x_3 = lean_unsigned_to_nat(397u); +x_3 = lean_unsigned_to_nat(479u); x_4 = lean_unsigned_to_nat(35u); x_5 = l___private_Init_LeanInit_0__Lean_eraseMacroScopesAux___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -4282,7 +5913,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l___private_Init_LeanInit_0__Lean_eraseMacroScopesAux___closed__1; x_2 = l___private_Init_LeanInit_0__Lean_extractMainModule___closed__1; -x_3 = lean_unsigned_to_nat(406u); +x_3 = lean_unsigned_to_nat(488u); x_4 = lean_unsigned_to_nat(33u); x_5 = l___private_Init_LeanInit_0__Lean_eraseMacroScopesAux___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -4416,7 +6047,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l___private_Init_LeanInit_0__Lean_eraseMacroScopesAux___closed__1; x_2 = l___private_Init_LeanInit_0__Lean_extractMacroScopesAux___closed__1; -x_3 = lean_unsigned_to_nat(411u); +x_3 = lean_unsigned_to_nat(493u); x_4 = lean_unsigned_to_nat(29u); x_5 = l___private_Init_LeanInit_0__Lean_eraseMacroScopesAux___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); diff --git a/stage0/stdlib/Lean/Elab/Match.c b/stage0/stdlib/Lean/Elab/Match.c index 1fabbf8882..2178694145 100644 --- a/stage0/stdlib/Lean/Elab/Match.c +++ b/stage0/stdlib/Lean/Elab/Match.c @@ -15,6 +15,7 @@ extern "C" { #endif lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_CtorApp_processImplicitArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_List_reverse___rarg(lean_object*); +lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_withExistingLocalDeclsImp___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___regBuiltin_Lean_Elab_Term_elabInaccessible___closed__2; lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_processId_match__2___rarg(lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabDiscrsWitMatchType_match__3(lean_object*); @@ -22,6 +23,7 @@ lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_withElaboratedLHS___r lean_object* lean_array_set(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_elabNoMatch___closed__1; lean_object* l_Lean_mkAppStx(lean_object*, lean_object*); +lean_object* l_Lean_throwError___at_Lean_Elab_Term_throwErrorIfErrors___spec__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_getNumExplicitCtorParams___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_List_map___at_Lean_Elab_Term_reportMatcherResultErrors___spec__1(lean_object*); lean_object* l_Lean_Elab_Term_CollectPatternVars_collect___closed__8; @@ -38,6 +40,7 @@ lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___boxed_ lean_object* l_Lean_throwError___at___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_throwCtorExpected___spec__1(lean_object*); uint8_t l_Lean_Expr_isCharLit(lean_object*); lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_nameToPattern___closed__3; +lean_object* l_List_forIn_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__5___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_registerTraceClass(lean_object*, lean_object*); uint8_t l_Lean_Expr_isNatLit(lean_object*); lean_object* l_Lean_Meta_forallTelescopeReducing___at_Lean_Elab_Term_CollectPatternVars_CtorApp_processCtorApp___spec__4(lean_object*); @@ -64,6 +67,7 @@ lean_object* l_Lean_LocalDecl_userName(lean_object*); lean_object* l_Lean_Elab_Term_elabMatch(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__2(size_t, size_t, lean_object*); extern lean_object* l_Lean_nullKind; +lean_object* l_List_forIn_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_elabMatch_match__25(lean_object*); lean_object* l_Lean_Meta_whnf___at___private_Lean_Elab_Term_0__Lean_Elab_Term_isTypeApp_x3f___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -176,6 +180,7 @@ extern lean_object* l_Lean_Elab_Term_expandFunBinders_loop___closed__6; lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_1248____closed__1; lean_object* l_Lean_Elab_Term_ToDepElimPattern_main___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchTypeAndDiscrs_loop_match__1___rarg(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_withExistingLocalDecls___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__3(lean_object*); extern lean_object* l_Std_Range_myMacro____x40_Init_Data_Range___hyg_315____closed__5; lean_object* l_Array_anyMUnsafe_any___at_Lean_Elab_Term_elabMatch___spec__1___boxed(lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchTypeAndDiscrs_loop___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -195,6 +200,7 @@ lean_object* l___private_Init_LeanInit_0__Array_mapSepElemsMAux___at_Lean_Elab_T lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_processVar___lambda__3___closed__1; lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_waitExpectedType_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_processVar___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_List_forIn_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__4___closed__2; lean_object* l_Lean_MessageData_ofList(lean_object*); lean_object* l_Lean_Elab_Term_ToDepElimPattern_main___closed__1; lean_object* l_Lean_Elab_throwUnsupportedSyntax___at___private_Lean_Elab_Term_0__Lean_Elab_Term_elabTermAux___spec__2___rarg(lean_object*); @@ -231,10 +237,12 @@ lean_object* l_Lean_Elab_Term_getMainModule___rarg(lean_object*, lean_object*); uint8_t l_USize_decLt(size_t, size_t); lean_object* l_Lean_Meta_instantiateMVarsImp(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_CollectPatternVars_CtorApp_processCtorApp___lambda__1___boxed(lean_object**); +lean_object* l_List_forIn_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__4___closed__1; lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_throwCtorExpected___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_throwError___at___private_Lean_Elab_Match_0__Lean_Elab_Term_ToDepElimPattern_throwInvalidPattern___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_isAuxDiscrName___closed__2; extern lean_object* l_Lean_mkAppStx___closed__8; +lean_object* l_List_forIn_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Term_finalizePatternDecls___spec__2___closed__3; lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_expandNonAtomicDiscrs_x3f_loop(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_nat_add(lean_object*, lean_object*); @@ -469,6 +477,8 @@ lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_pr lean_object* l_Lean_Elab_Term_ToDepElimPattern_State_found___default; uint8_t l_Array_isEmpty___rarg(lean_object*); lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_App_0__Lean_Elab_Term_addLValArg___spec__3___lambda__1___boxed(lean_object*, lean_object*); +lean_object* l_Lean_LocalDecl_toExpr(lean_object*); +lean_object* l_Lean_Meta_Match_instantiateAltLHSMVars(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_expandNonAtomicDiscrs_x3f_loop___closed__2; lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_processVar___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_getMatchAlts___spec__1___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*); @@ -507,6 +517,7 @@ lean_object* l_Lean_ConstantInfo_type(lean_object*); lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_getMatchAlts___spec__1(lean_object*, size_t, size_t, lean_object*); lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabAtomicDiscr___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_addTrace___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Elab_throwUnsupportedSyntax___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__7(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_addMacroScope(lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_waitExpectedTypeAndDiscrs___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_ToDepElimPattern_alreadyVisited___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -514,7 +525,6 @@ lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___closed lean_object* l_Lean_Elab_Term_CollectPatternVars_resolveId_x3f_match__4(lean_object*); lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_withPatternVars_loop_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_CtorApp_processExplicitArg___closed__3; -lean_object* l_Lean_Elab_throwUnsupportedSyntax___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__4___rarg(lean_object*); lean_object* l_Lean_Elab_Term_elabMatch_match__15(lean_object*); lean_object* l_Array_anyMUnsafe_any___at___private_Lean_Elab_Match_0__Lean_Elab_Term_expandNonAtomicDiscrs_x3f___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabAtomicDiscr(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -527,6 +537,7 @@ lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Match_0__Lean_Ela lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_CtorApp_isNextArgAccessible_match__1(lean_object*); uint8_t l_Array_anyMUnsafe_any___at_Lean_Elab_Term_elabMatch___spec__1(lean_object*, size_t, size_t); lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_throwAmbiguous___rarg___closed__1; +lean_object* l_Lean_Meta_withExistingLocalDecls___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__3___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_nullKind___closed__2; lean_object* l_Lean_Elab_Term_CollectPatternVars_collect(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_mkSepStx(lean_object*, lean_object*); @@ -539,7 +550,6 @@ lean_object* l_Lean_mkAtomFrom(lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_waitExpectedType(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_expandMacrosInPatterns___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_CollectPatternVars_processCtor(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Elab_throwUnsupportedSyntax___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_elabMatch_match__16(lean_object*); extern lean_object* l_Lean_Elab_Term_Lean_Elab_App___instance__4; lean_object* l_Lean_LocalDecl_type(lean_object*); @@ -556,7 +566,6 @@ lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_Ct lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Term_finalizePatternDecls___spec__2___closed__4; extern lean_object* l_Lean_Lean_ToExpr___instance__7___closed__1; lean_object* l_Lean_Meta_mkEqRefl___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchTypeAndDiscrs_loop___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__3___boxed(lean_object*, lean_object*, lean_object*); lean_object* l_List_redLength___rarg(lean_object*); lean_object* l_Lean_Elab_Term_ToDepElimPattern_State_newLocals___default; lean_object* l_Lean_Elab_Term_elabMVarWithIdKind___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -604,6 +613,7 @@ lean_object* l_Lean_Meta_mkEq___at___private_Lean_Elab_Match_0__Lean_Elab_Term_e extern lean_object* l_Lean_Elab_Term_elabLetDeclCore___closed__6; lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_expandMacrosInPatterns___spec__1(size_t, size_t, lean_object*, lean_object*, lean_object*); uint8_t lean_nat_dec_le(lean_object*, lean_object*); +lean_object* l_List_forIn_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__5___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabDiscrsWitMatchType___spec__1(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_mkApp(lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_tryPostponeIfDiscrTypeIsMVar_match__1(lean_object*); @@ -612,6 +622,7 @@ lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_Ct lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabDiscrsWitMatchType_match__3___rarg(lean_object*, lean_object*); lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_CollectPatternVars_main___spec__3(size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_getPatternsVars___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_List_forIn_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__5___closed__1; lean_object* l_Lean_Syntax_getArgs(lean_object*); lean_object* l___regBuiltin_Lean_Elab_Term_elabInaccessible___closed__3; lean_object* l_Lean_fmt___at_Lean_Level_LevelToFormat_Result_format___spec__1(lean_object*); @@ -632,6 +643,7 @@ lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_pr lean_object* l_Lean_Elab_Term_CollectPatternVars_State_vars___default; lean_object* l_Lean_Elab_Term_elabMatch_match__7___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_CollectPatternVars_CtorApp_processCtorApp_match__2(lean_object*); +uint8_t l_Lean_LocalDecl_hasExprMVar(lean_object*); lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_forallBoundedTelescopeImp___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_elabMatch_match__3___rarg(lean_object*, lean_object*, lean_object*); uint8_t l_Lean_TagAttribute_hasTag(lean_object*, lean_object*, lean_object*); @@ -648,6 +660,7 @@ lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_pr lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_withDepElimPatterns___spec__1(size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_CollectPatternVars_CtorApp_processCtorApp___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_registerBuiltinNodeKind(lean_object*, lean_object*); +uint8_t l_Lean_Meta_Match_Pattern_hasExprMVar(lean_object*); lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_CtorApp_processImplicitArg(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_getMatchAlts(lean_object*); lean_object* l_Lean_Meta_inferType___at___private_Lean_Elab_Match_0__Lean_Elab_Term_ToDepElimPattern_mkLocalDeclFor___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -661,10 +674,12 @@ lean_object* l_Lean_mkStxStrLit(lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_tryPostponeIfMVar(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_elabMatch_match__24(lean_object*); lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabPatterns_match__1(lean_object*); +lean_object* l_ReaderT_bind___at_Lean_Elab_Term_Lean_Elab_Term___instance__8___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_processId_match__3___rarg(lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchTypeAndDiscrs_loop_match__1(lean_object*); lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabDiscrsWitMatchType___spec__1___lambda__1___closed__2; lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabAtomicDiscr_match__1(lean_object*); +lean_object* l_List_forIn_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__5___lambda__2___closed__1; lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_getNumExplicitCtorParams___spec__1(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_withElaboratedLHS___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_throwError___at___private_Lean_Elab_Match_0__Lean_Elab_Term_ToDepElimPattern_throwInvalidPattern___spec__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -672,12 +687,15 @@ lean_object* l_Lean_Meta_kabstract_visit(lean_object*, lean_object*, lean_object lean_object* l_Lean_Elab_Term_elabMatchAltView_match__1(lean_object*); lean_object* l_Lean_Elab_Term_elabType(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Elab_throwUnsupportedSyntax___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__7___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_Expr_isFVar(lean_object*); lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchCore(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_ToDepElimPattern_main_match__3___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_mkForall(lean_object*, uint8_t, lean_object*, lean_object*); +lean_object* l_List_forIn_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__4___closed__4; extern lean_object* l_Lean_mkAppStx___closed__9; lean_object* l_Lean_Elab_Term_withSynthesize___rarg(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_List_mapM___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_CtorApp_pushNewArg___closed__3; lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_getMatchAlts_match__1___rarg(lean_object*, lean_object*); extern lean_object* l_Lean_Elab_Term_expandFunBinders_loop___closed__2; @@ -691,10 +709,13 @@ lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_isAuxDiscrName___boxe lean_object* l_Lean_Elab_Term_elabMatch_match__19___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_CollectPatternVars_collect___lambda__2___closed__1; lean_object* l_Lean_expandMacros(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Elab_throwUnsupportedSyntax___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__7___rarg(lean_object*); lean_object* l_Lean_Expr_arrayLit_x3f(lean_object*); extern lean_object* l_Lean_mkOptionalNode___closed__1; extern lean_object* l_Array_Init_Data_Array_Basic___instance__3___rarg___closed__1; lean_object* l_Lean_Syntax_isNameLit_x3f(lean_object*); +lean_object* l_List_forIn_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_List_forIn_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__5___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_isAuxDiscrName___closed__1; extern lean_object* l_Lean_Elab_Term_expandFunBinders_loop___closed__18; lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_mkMVarSyntax___rarg___boxed(lean_object*, lean_object*); @@ -716,7 +737,6 @@ lean_object* l_Lean_Elab_Term_elabMatchAltView___closed__1; lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabDiscrsWitMatchType___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_tryPostponeIfDiscrTypeIsMVar(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_mkHole___closed__2; -lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__3(size_t, size_t, lean_object*); lean_object* l_Lean_Elab_Term_CollectPatternVars_collect___closed__7; lean_object* l_Lean_Meta_inferType___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l___private_Init_LeanInit_0__Lean_quoteName___closed__4; @@ -780,6 +800,7 @@ lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_getMatchAlts_match__2 lean_object* l_Lean_Elab_Term_ToDepElimPattern_main___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_Expr_occurs(lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_elabMatch_match__13___rarg(lean_object*, lean_object*, lean_object*); +lean_object* l_List_forIn_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__5___lambda__2___closed__2; lean_object* l_Lean_Elab_Term_reportMatcherResultErrors(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_withElaboratedLHS_match__1(lean_object*); lean_object* l_Lean_mkFreshId___at___private_Lean_Elab_Match_0__Lean_Elab_Term_ToDepElimPattern_mkLocalDeclFor___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -792,6 +813,7 @@ lean_object* l_ReaderT_Init_Control_Reader___instance__4___rarg(lean_object*); lean_object* l_Lean_Elab_Term_reportMatcherResultErrors___closed__2; lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabDiscrsWitMatchType_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l___regBuiltin_Lean_Elab_Term_elabMVarWithIdKind___closed__1; +lean_object* l_List_forIn_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__4___closed__3; extern lean_object* l_Std_Range_myMacro____x40_Init_Data_Range___hyg_315____closed__2; lean_object* l_List_mapM___at_Lean_Elab_Term_ToDepElimPattern_main___spec__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_CtorApp_processCtorAppAux_match__2___rarg(lean_object*, lean_object*, lean_object*); @@ -802,7 +824,6 @@ lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___closed lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabPatterns_match__2___rarg(lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_throwAmbiguous___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Term_getPatternsVars___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Elab_throwUnsupportedSyntax___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_withDepElimPatterns___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabDiscrsWitMatchType___spec__1___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_ToDepElimPattern_main_match__3(lean_object*); @@ -813,6 +834,7 @@ lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_Ct lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_CtorApp_pushNewArg_match__1(lean_object*); lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_CtorApp_processCtorAppAux_match__1(lean_object*); lean_object* l_Lean_Elab_Term_elabMatch_match__17___rarg(lean_object*, lean_object*, lean_object*); +lean_object* l_List_forIn_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__5___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_elabMatchAltView___closed__2; lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchTypeAndDiscrs_loop___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_isLocalIdent_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -860,6 +882,7 @@ lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_ge lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_collectPatternVars(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_Lean_Elab_Match___instance__1(lean_object*); lean_object* l_Lean_Elab_Term_CollectPatternVars_collect___closed__1; +lean_object* l_Lean_Meta_Match_Pattern_toExpr(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_elabMatch_match__23___rarg(lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Elab_Term_expandFunBinders_loop___closed__1; uint8_t lean_nat_dec_lt(lean_object*, lean_object*); @@ -23501,38 +23524,836 @@ goto _start; } } } -lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__3(size_t x_1, size_t x_2, lean_object* x_3) { +lean_object* l_Lean_Meta_withExistingLocalDecls___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__3___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { _start: { -uint8_t x_4; -x_4 = x_2 < x_1; -if (x_4 == 0) +lean_object* x_10; lean_object* x_11; +x_10 = lean_apply_2(x_2, x_3, x_4); +x_11 = l___private_Lean_Meta_Basic_0__Lean_Meta_withExistingLocalDeclsImp___rarg(x_1, x_10, x_5, x_6, x_7, x_8, x_9); +if (lean_obj_tag(x_11) == 0) { -lean_object* x_5; -x_5 = x_3; -return x_5; +uint8_t x_12; +x_12 = !lean_is_exclusive(x_11); +if (x_12 == 0) +{ +return x_11; } else { -lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; size_t x_11; size_t x_12; lean_object* x_13; lean_object* x_14; -x_6 = lean_array_uget(x_3, x_2); -x_7 = lean_unsigned_to_nat(0u); -x_8 = lean_array_uset(x_3, x_2, x_7); -x_9 = x_6; -x_10 = lean_ctor_get(x_9, 0); -lean_inc(x_10); +lean_object* x_13; lean_object* x_14; lean_object* x_15; +x_13 = lean_ctor_get(x_11, 0); +x_14 = lean_ctor_get(x_11, 1); +lean_inc(x_14); +lean_inc(x_13); +lean_dec(x_11); +x_15 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_15, 0, x_13); +lean_ctor_set(x_15, 1, x_14); +return x_15; +} +} +else +{ +uint8_t x_16; +x_16 = !lean_is_exclusive(x_11); +if (x_16 == 0) +{ +return x_11; +} +else +{ +lean_object* x_17; lean_object* x_18; lean_object* x_19; +x_17 = lean_ctor_get(x_11, 0); +x_18 = lean_ctor_get(x_11, 1); +lean_inc(x_18); +lean_inc(x_17); +lean_dec(x_11); +x_19 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_19, 0, x_17); +lean_ctor_set(x_19, 1, x_18); +return x_19; +} +} +} +} +lean_object* l_Lean_Meta_withExistingLocalDecls___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__3(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Lean_Meta_withExistingLocalDecls___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__3___rarg), 9, 0); +return x_2; +} +} +static lean_object* _init_l_List_forIn_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__4___closed__1() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string("invalid match-expression, type of pattern variable '"); +return x_1; +} +} +static lean_object* _init_l_List_forIn_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__4___closed__2() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_List_forIn_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__4___closed__1; +x_2 = l_Lean_stringToMessageData(x_1); +return x_2; +} +} +static lean_object* _init_l_List_forIn_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__4___closed__3() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string("' contains metavariables"); +return x_1; +} +} +static lean_object* _init_l_List_forIn_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__4___closed__4() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_List_forIn_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__4___closed__3; +x_2 = l_Lean_stringToMessageData(x_1); +return x_2; +} +} +lean_object* l_List_forIn_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__4(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { +_start: +{ +if (lean_obj_tag(x_2) == 0) +{ +lean_object* x_11; lean_dec(x_9); -x_11 = 1; -x_12 = x_2 + x_11; -x_13 = x_10; -x_14 = lean_array_uset(x_8, x_2, x_13); -x_2 = x_12; -x_3 = x_14; +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_1); +x_11 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_11, 0, x_3); +lean_ctor_set(x_11, 1, x_10); +return x_11; +} +else +{ +lean_object* x_12; lean_object* x_13; uint8_t x_14; +lean_dec(x_3); +x_12 = lean_ctor_get(x_2, 0); +x_13 = lean_ctor_get(x_2, 1); +x_14 = l_Lean_LocalDecl_hasExprMVar(x_12); +if (x_14 == 0) +{ +lean_object* x_15; +x_15 = lean_box(0); +x_2 = x_13; +x_3 = x_15; goto _start; } +else +{ +lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; +x_17 = l_Lean_LocalDecl_toExpr(x_12); +x_18 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_18, 0, x_17); +x_19 = l_List_forIn_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__4___closed__2; +x_20 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_20, 0, x_19); +lean_ctor_set(x_20, 1, x_18); +x_21 = l_List_forIn_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__4___closed__4; +x_22 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_22, 0, x_20); +lean_ctor_set(x_22, 1, x_21); +x_23 = l_Lean_LocalDecl_type(x_12); +x_24 = l_Lean_indentExpr(x_23); +x_25 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_25, 0, x_22); +lean_ctor_set(x_25, 1, x_24); +x_26 = l_Array_foldlMUnsafe_fold___at_Lean_withNestedTraces___spec__5___closed__1; +x_27 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_27, 0, x_25); +lean_ctor_set(x_27, 1, x_26); +x_28 = lean_alloc_closure((void*)(l_Lean_throwError___at_Lean_Elab_Term_throwErrorIfErrors___spec__1___rarg___boxed), 8, 1); +lean_closure_set(x_28, 0, x_27); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_1); +x_29 = l_Lean_Meta_withExistingLocalDecls___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__3___rarg(x_1, x_28, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +if (lean_obj_tag(x_29) == 0) +{ +lean_object* x_30; lean_object* x_31; +x_30 = lean_ctor_get(x_29, 1); +lean_inc(x_30); +lean_dec(x_29); +x_31 = lean_box(0); +x_2 = x_13; +x_3 = x_31; +x_10 = x_30; +goto _start; +} +else +{ +uint8_t x_33; +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_1); +x_33 = !lean_is_exclusive(x_29); +if (x_33 == 0) +{ +return x_29; +} +else +{ +lean_object* x_34; lean_object* x_35; lean_object* x_36; +x_34 = lean_ctor_get(x_29, 0); +x_35 = lean_ctor_get(x_29, 1); +lean_inc(x_35); +lean_inc(x_34); +lean_dec(x_29); +x_36 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_36, 0, x_34); +lean_ctor_set(x_36, 1, x_35); +return x_36; } } -lean_object* l_Lean_Elab_throwUnsupportedSyntax___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__4___rarg(lean_object* x_1) { +} +} +} +} +lean_object* l_List_forIn_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__5___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +_start: +{ +lean_object* x_9; +x_9 = l_Lean_Meta_Match_Pattern_toExpr(x_1, x_4, x_5, x_6, x_7, x_8); +return x_9; +} +} +static lean_object* _init_l_List_forIn_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__5___lambda__2___closed__1() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string("invalid match-expression, pattern contains metavariables"); +return x_1; +} +} +static lean_object* _init_l_List_forIn_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__5___lambda__2___closed__2() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_List_forIn_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__5___lambda__2___closed__1; +x_2 = l_Lean_stringToMessageData(x_1); +return x_2; +} +} +lean_object* l_List_forIn_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__5___lambda__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +_start: +{ +lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; +x_9 = l_Lean_indentExpr(x_1); +x_10 = l_List_forIn_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__5___lambda__2___closed__2; +x_11 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_11, 0, x_10); +lean_ctor_set(x_11, 1, x_9); +x_12 = l_Array_foldlMUnsafe_fold___at_Lean_withNestedTraces___spec__5___closed__1; +x_13 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_13, 0, x_11); +lean_ctor_set(x_13, 1, x_12); +x_14 = l_Lean_throwError___at_Lean_Elab_Term_throwErrorIfErrors___spec__1___rarg(x_13, x_2, x_3, x_4, x_5, x_6, x_7, x_8); +return x_14; +} +} +static lean_object* _init_l_List_forIn_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__5___closed__1() { +_start: +{ +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_List_forIn_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__5___lambda__2___boxed), 8, 0); +return x_1; +} +} +lean_object* l_List_forIn_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__5(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { +_start: +{ +if (lean_obj_tag(x_2) == 0) +{ +lean_object* x_11; +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_1); +x_11 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_11, 0, x_3); +lean_ctor_set(x_11, 1, x_10); +return x_11; +} +else +{ +lean_object* x_12; lean_object* x_13; uint8_t x_14; +lean_dec(x_3); +x_12 = lean_ctor_get(x_2, 0); +lean_inc(x_12); +x_13 = lean_ctor_get(x_2, 1); +lean_inc(x_13); +lean_dec(x_2); +x_14 = l_Lean_Meta_Match_Pattern_hasExprMVar(x_12); +if (x_14 == 0) +{ +lean_object* x_15; +lean_dec(x_12); +x_15 = lean_box(0); +x_2 = x_13; +x_3 = x_15; +goto _start; +} +else +{ +lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; +x_17 = lean_alloc_closure((void*)(l_List_forIn_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__5___lambda__1___boxed), 8, 1); +lean_closure_set(x_17, 0, x_12); +x_18 = l_List_forIn_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__5___closed__1; +x_19 = lean_alloc_closure((void*)(l_ReaderT_bind___at_Lean_Elab_Term_Lean_Elab_Term___instance__8___spec__2___rarg), 9, 2); +lean_closure_set(x_19, 0, x_17); +lean_closure_set(x_19, 1, x_18); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_1); +x_20 = l_Lean_Meta_withExistingLocalDecls___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__3___rarg(x_1, x_19, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +if (lean_obj_tag(x_20) == 0) +{ +lean_object* x_21; lean_object* x_22; +x_21 = lean_ctor_get(x_20, 1); +lean_inc(x_21); +lean_dec(x_20); +x_22 = lean_box(0); +x_2 = x_13; +x_3 = x_22; +x_10 = x_21; +goto _start; +} +else +{ +uint8_t x_24; +lean_dec(x_13); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_1); +x_24 = !lean_is_exclusive(x_20); +if (x_24 == 0) +{ +return x_20; +} +else +{ +lean_object* x_25; lean_object* x_26; lean_object* x_27; +x_25 = lean_ctor_get(x_20, 0); +x_26 = lean_ctor_get(x_20, 1); +lean_inc(x_26); +lean_inc(x_25); +lean_dec(x_20); +x_27 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_27, 0, x_25); +lean_ctor_set(x_27, 1, x_26); +return x_27; +} +} +} +} +} +} +lean_object* l_List_mapM___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__6(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +_start: +{ +if (lean_obj_tag(x_1) == 0) +{ +lean_object* x_9; lean_object* x_10; +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_9 = lean_box(0); +x_10 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_10, 0, x_9); +lean_ctor_set(x_10, 1, x_8); +return x_10; +} +else +{ +uint8_t x_11; +x_11 = !lean_is_exclusive(x_1); +if (x_11 == 0) +{ +lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; +x_12 = lean_ctor_get(x_1, 0); +x_13 = lean_ctor_get(x_1, 1); +x_14 = lean_ctor_get(x_12, 0); +lean_inc(x_14); +lean_dec(x_12); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +x_15 = l_Lean_Meta_Match_instantiateAltLHSMVars(x_14, x_4, x_5, x_6, x_7, x_8); +if (lean_obj_tag(x_15) == 0) +{ +lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; +x_16 = lean_ctor_get(x_15, 0); +lean_inc(x_16); +x_17 = lean_ctor_get(x_15, 1); +lean_inc(x_17); +lean_dec(x_15); +x_18 = lean_ctor_get(x_16, 0); +lean_inc(x_18); +x_19 = lean_ctor_get(x_16, 1); +lean_inc(x_19); +x_20 = lean_ctor_get(x_6, 0); +lean_inc(x_20); +x_21 = lean_ctor_get(x_6, 1); +lean_inc(x_21); +x_22 = lean_ctor_get(x_6, 2); +lean_inc(x_22); +x_23 = lean_ctor_get(x_6, 3); +lean_inc(x_23); +x_24 = l_Lean_replaceRef(x_18, x_23); +lean_dec(x_23); +lean_dec(x_18); +x_25 = lean_alloc_ctor(0, 4, 0); +lean_ctor_set(x_25, 0, x_20); +lean_ctor_set(x_25, 1, x_21); +lean_ctor_set(x_25, 2, x_22); +lean_ctor_set(x_25, 3, x_24); +x_26 = lean_box(0); +lean_inc(x_7); +lean_inc(x_25); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_2); +lean_inc(x_19); +x_27 = l_List_forIn_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__4(x_19, x_19, x_26, x_2, x_3, x_4, x_5, x_25, x_7, x_17); +if (lean_obj_tag(x_27) == 0) +{ +lean_object* x_28; lean_object* x_29; lean_object* x_30; +x_28 = lean_ctor_get(x_27, 1); +lean_inc(x_28); +lean_dec(x_27); +x_29 = lean_ctor_get(x_16, 2); +lean_inc(x_29); +lean_inc(x_7); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_2); +x_30 = l_List_forIn_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__5(x_19, x_29, x_26, x_2, x_3, x_4, x_5, x_25, x_7, x_28); +if (lean_obj_tag(x_30) == 0) +{ +lean_object* x_31; lean_object* x_32; +x_31 = lean_ctor_get(x_30, 1); +lean_inc(x_31); +lean_dec(x_30); +x_32 = l_List_mapM___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__6(x_13, x_2, x_3, x_4, x_5, x_6, x_7, x_31); +if (lean_obj_tag(x_32) == 0) +{ +uint8_t x_33; +x_33 = !lean_is_exclusive(x_32); +if (x_33 == 0) +{ +lean_object* x_34; +x_34 = lean_ctor_get(x_32, 0); +lean_ctor_set(x_1, 1, x_34); +lean_ctor_set(x_1, 0, x_16); +lean_ctor_set(x_32, 0, x_1); +return x_32; +} +else +{ +lean_object* x_35; lean_object* x_36; lean_object* x_37; +x_35 = lean_ctor_get(x_32, 0); +x_36 = lean_ctor_get(x_32, 1); +lean_inc(x_36); +lean_inc(x_35); +lean_dec(x_32); +lean_ctor_set(x_1, 1, x_35); +lean_ctor_set(x_1, 0, x_16); +x_37 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_37, 0, x_1); +lean_ctor_set(x_37, 1, x_36); +return x_37; +} +} +else +{ +uint8_t x_38; +lean_dec(x_16); +lean_free_object(x_1); +x_38 = !lean_is_exclusive(x_32); +if (x_38 == 0) +{ +return x_32; +} +else +{ +lean_object* x_39; lean_object* x_40; lean_object* x_41; +x_39 = lean_ctor_get(x_32, 0); +x_40 = lean_ctor_get(x_32, 1); +lean_inc(x_40); +lean_inc(x_39); +lean_dec(x_32); +x_41 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_41, 0, x_39); +lean_ctor_set(x_41, 1, x_40); +return x_41; +} +} +} +else +{ +uint8_t x_42; +lean_dec(x_16); +lean_free_object(x_1); +lean_dec(x_13); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_42 = !lean_is_exclusive(x_30); +if (x_42 == 0) +{ +return x_30; +} +else +{ +lean_object* x_43; lean_object* x_44; lean_object* x_45; +x_43 = lean_ctor_get(x_30, 0); +x_44 = lean_ctor_get(x_30, 1); +lean_inc(x_44); +lean_inc(x_43); +lean_dec(x_30); +x_45 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_45, 0, x_43); +lean_ctor_set(x_45, 1, x_44); +return x_45; +} +} +} +else +{ +uint8_t x_46; +lean_dec(x_25); +lean_dec(x_19); +lean_dec(x_16); +lean_free_object(x_1); +lean_dec(x_13); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_46 = !lean_is_exclusive(x_27); +if (x_46 == 0) +{ +return x_27; +} +else +{ +lean_object* x_47; lean_object* x_48; lean_object* x_49; +x_47 = lean_ctor_get(x_27, 0); +x_48 = lean_ctor_get(x_27, 1); +lean_inc(x_48); +lean_inc(x_47); +lean_dec(x_27); +x_49 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_49, 0, x_47); +lean_ctor_set(x_49, 1, x_48); +return x_49; +} +} +} +else +{ +uint8_t x_50; +lean_free_object(x_1); +lean_dec(x_13); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_50 = !lean_is_exclusive(x_15); +if (x_50 == 0) +{ +return x_15; +} +else +{ +lean_object* x_51; lean_object* x_52; lean_object* x_53; +x_51 = lean_ctor_get(x_15, 0); +x_52 = lean_ctor_get(x_15, 1); +lean_inc(x_52); +lean_inc(x_51); +lean_dec(x_15); +x_53 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_53, 0, x_51); +lean_ctor_set(x_53, 1, x_52); +return x_53; +} +} +} +else +{ +lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; +x_54 = lean_ctor_get(x_1, 0); +x_55 = lean_ctor_get(x_1, 1); +lean_inc(x_55); +lean_inc(x_54); +lean_dec(x_1); +x_56 = lean_ctor_get(x_54, 0); +lean_inc(x_56); +lean_dec(x_54); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +x_57 = l_Lean_Meta_Match_instantiateAltLHSMVars(x_56, x_4, x_5, x_6, x_7, x_8); +if (lean_obj_tag(x_57) == 0) +{ +lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; +x_58 = lean_ctor_get(x_57, 0); +lean_inc(x_58); +x_59 = lean_ctor_get(x_57, 1); +lean_inc(x_59); +lean_dec(x_57); +x_60 = lean_ctor_get(x_58, 0); +lean_inc(x_60); +x_61 = lean_ctor_get(x_58, 1); +lean_inc(x_61); +x_62 = lean_ctor_get(x_6, 0); +lean_inc(x_62); +x_63 = lean_ctor_get(x_6, 1); +lean_inc(x_63); +x_64 = lean_ctor_get(x_6, 2); +lean_inc(x_64); +x_65 = lean_ctor_get(x_6, 3); +lean_inc(x_65); +x_66 = l_Lean_replaceRef(x_60, x_65); +lean_dec(x_65); +lean_dec(x_60); +x_67 = lean_alloc_ctor(0, 4, 0); +lean_ctor_set(x_67, 0, x_62); +lean_ctor_set(x_67, 1, x_63); +lean_ctor_set(x_67, 2, x_64); +lean_ctor_set(x_67, 3, x_66); +x_68 = lean_box(0); +lean_inc(x_7); +lean_inc(x_67); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_2); +lean_inc(x_61); +x_69 = l_List_forIn_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__4(x_61, x_61, x_68, x_2, x_3, x_4, x_5, x_67, x_7, x_59); +if (lean_obj_tag(x_69) == 0) +{ +lean_object* x_70; lean_object* x_71; lean_object* x_72; +x_70 = lean_ctor_get(x_69, 1); +lean_inc(x_70); +lean_dec(x_69); +x_71 = lean_ctor_get(x_58, 2); +lean_inc(x_71); +lean_inc(x_7); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_2); +x_72 = l_List_forIn_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__5(x_61, x_71, x_68, x_2, x_3, x_4, x_5, x_67, x_7, x_70); +if (lean_obj_tag(x_72) == 0) +{ +lean_object* x_73; lean_object* x_74; +x_73 = lean_ctor_get(x_72, 1); +lean_inc(x_73); +lean_dec(x_72); +x_74 = l_List_mapM___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__6(x_55, x_2, x_3, x_4, x_5, x_6, x_7, x_73); +if (lean_obj_tag(x_74) == 0) +{ +lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; +x_75 = lean_ctor_get(x_74, 0); +lean_inc(x_75); +x_76 = lean_ctor_get(x_74, 1); +lean_inc(x_76); +if (lean_is_exclusive(x_74)) { + lean_ctor_release(x_74, 0); + lean_ctor_release(x_74, 1); + x_77 = x_74; +} else { + lean_dec_ref(x_74); + x_77 = lean_box(0); +} +x_78 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_78, 0, x_58); +lean_ctor_set(x_78, 1, x_75); +if (lean_is_scalar(x_77)) { + x_79 = lean_alloc_ctor(0, 2, 0); +} else { + x_79 = x_77; +} +lean_ctor_set(x_79, 0, x_78); +lean_ctor_set(x_79, 1, x_76); +return x_79; +} +else +{ +lean_object* x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83; +lean_dec(x_58); +x_80 = lean_ctor_get(x_74, 0); +lean_inc(x_80); +x_81 = lean_ctor_get(x_74, 1); +lean_inc(x_81); +if (lean_is_exclusive(x_74)) { + lean_ctor_release(x_74, 0); + lean_ctor_release(x_74, 1); + x_82 = x_74; +} else { + lean_dec_ref(x_74); + x_82 = lean_box(0); +} +if (lean_is_scalar(x_82)) { + x_83 = lean_alloc_ctor(1, 2, 0); +} else { + x_83 = x_82; +} +lean_ctor_set(x_83, 0, x_80); +lean_ctor_set(x_83, 1, x_81); +return x_83; +} +} +else +{ +lean_object* x_84; lean_object* x_85; lean_object* x_86; lean_object* x_87; +lean_dec(x_58); +lean_dec(x_55); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_84 = lean_ctor_get(x_72, 0); +lean_inc(x_84); +x_85 = lean_ctor_get(x_72, 1); +lean_inc(x_85); +if (lean_is_exclusive(x_72)) { + lean_ctor_release(x_72, 0); + lean_ctor_release(x_72, 1); + x_86 = x_72; +} else { + lean_dec_ref(x_72); + x_86 = lean_box(0); +} +if (lean_is_scalar(x_86)) { + x_87 = lean_alloc_ctor(1, 2, 0); +} else { + x_87 = x_86; +} +lean_ctor_set(x_87, 0, x_84); +lean_ctor_set(x_87, 1, x_85); +return x_87; +} +} +else +{ +lean_object* x_88; lean_object* x_89; lean_object* x_90; lean_object* x_91; +lean_dec(x_67); +lean_dec(x_61); +lean_dec(x_58); +lean_dec(x_55); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_88 = lean_ctor_get(x_69, 0); +lean_inc(x_88); +x_89 = lean_ctor_get(x_69, 1); +lean_inc(x_89); +if (lean_is_exclusive(x_69)) { + lean_ctor_release(x_69, 0); + lean_ctor_release(x_69, 1); + x_90 = x_69; +} else { + lean_dec_ref(x_69); + x_90 = lean_box(0); +} +if (lean_is_scalar(x_90)) { + x_91 = lean_alloc_ctor(1, 2, 0); +} else { + x_91 = x_90; +} +lean_ctor_set(x_91, 0, x_88); +lean_ctor_set(x_91, 1, x_89); +return x_91; +} +} +else +{ +lean_object* x_92; lean_object* x_93; lean_object* x_94; lean_object* x_95; +lean_dec(x_55); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_92 = lean_ctor_get(x_57, 0); +lean_inc(x_92); +x_93 = lean_ctor_get(x_57, 1); +lean_inc(x_93); +if (lean_is_exclusive(x_57)) { + lean_ctor_release(x_57, 0); + lean_ctor_release(x_57, 1); + x_94 = x_57; +} else { + lean_dec_ref(x_57); + x_94 = lean_box(0); +} +if (lean_is_scalar(x_94)) { + x_95 = lean_alloc_ctor(1, 2, 0); +} else { + x_95 = x_94; +} +lean_ctor_set(x_95, 0, x_92); +lean_ctor_set(x_95, 1, x_93); +return x_95; +} +} +} +} +} +lean_object* l_Lean_Elab_throwUnsupportedSyntax___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__7___rarg(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; @@ -23543,11 +24364,11 @@ lean_ctor_set(x_3, 1, x_1); return x_3; } } -lean_object* l_Lean_Elab_throwUnsupportedSyntax___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__4(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +lean_object* l_Lean_Elab_throwUnsupportedSyntax___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__7(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { _start: { lean_object* x_7; -x_7 = lean_alloc_closure((void*)(l_Lean_Elab_throwUnsupportedSyntax___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__4___rarg), 1, 0); +x_7 = lean_alloc_closure((void*)(l_Lean_Elab_throwUnsupportedSyntax___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__7___rarg), 1, 0); return x_7; } } @@ -23625,7 +24446,7 @@ lean_inc(x_5); x_12 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchTypeAndDiscrs(x_1, x_3, x_2, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11); if (lean_obj_tag(x_12) == 0) { -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_147; lean_object* x_148; lean_object* x_149; lean_object* x_150; lean_object* x_151; lean_object* x_152; lean_object* x_153; lean_object* x_154; lean_object* x_155; lean_object* x_156; lean_object* x_157; lean_object* x_158; lean_object* x_159; lean_object* x_160; lean_object* x_161; lean_object* x_162; lean_object* x_163; lean_object* x_164; +lean_object* x_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_159; lean_object* x_160; lean_object* x_161; lean_object* x_162; lean_object* x_163; lean_object* x_164; lean_object* x_165; lean_object* x_166; lean_object* x_167; lean_object* x_168; lean_object* x_169; lean_object* x_170; lean_object* x_171; lean_object* x_172; lean_object* x_173; lean_object* x_174; lean_object* x_175; lean_object* x_176; x_13 = lean_ctor_get(x_12, 0); lean_inc(x_13); x_14 = lean_ctor_get(x_13, 1); @@ -23641,216 +24462,216 @@ lean_inc(x_17); x_18 = lean_ctor_get(x_14, 1); lean_inc(x_18); lean_dec(x_14); -x_147 = lean_st_ref_get(x_10, x_15); -x_148 = lean_ctor_get(x_147, 0); -lean_inc(x_148); -x_149 = lean_ctor_get(x_147, 1); -lean_inc(x_149); -lean_dec(x_147); -x_150 = lean_ctor_get(x_148, 0); -lean_inc(x_150); -lean_dec(x_148); -x_151 = l_Lean_Elab_Term_getCurrMacroScope(x_5, x_6, x_7, x_8, x_9, x_10, x_149); -x_152 = lean_ctor_get(x_151, 0); -lean_inc(x_152); -x_153 = lean_ctor_get(x_151, 1); -lean_inc(x_153); -lean_dec(x_151); -x_154 = lean_ctor_get(x_9, 1); -lean_inc(x_154); -x_155 = lean_ctor_get(x_9, 2); -lean_inc(x_155); -x_156 = lean_st_ref_get(x_10, x_153); -x_157 = lean_ctor_get(x_156, 0); -lean_inc(x_157); -x_158 = lean_ctor_get(x_156, 1); -lean_inc(x_158); -lean_dec(x_156); -x_159 = lean_ctor_get(x_157, 1); -lean_inc(x_159); -lean_dec(x_157); -lean_inc(x_150); -x_160 = lean_alloc_closure((void*)(l___private_Lean_Elab_Util_0__Lean_Elab_expandMacro_x3f___boxed), 4, 1); -lean_closure_set(x_160, 0, x_150); -x_161 = x_160; -x_162 = lean_environment_main_module(x_150); -x_163 = lean_alloc_ctor(0, 5, 0); -lean_ctor_set(x_163, 0, x_161); -lean_ctor_set(x_163, 1, x_162); -lean_ctor_set(x_163, 2, x_152); -lean_ctor_set(x_163, 3, x_154); -lean_ctor_set(x_163, 4, x_155); -x_164 = l_Lean_Elab_Term_expandMacrosInPatterns(x_18, x_163, x_159); -if (lean_obj_tag(x_164) == 0) -{ -lean_object* x_165; lean_object* x_166; lean_object* x_167; lean_object* x_168; lean_object* x_169; uint8_t x_170; -x_165 = lean_ctor_get(x_164, 0); +x_159 = lean_st_ref_get(x_10, x_15); +x_160 = lean_ctor_get(x_159, 0); +lean_inc(x_160); +x_161 = lean_ctor_get(x_159, 1); +lean_inc(x_161); +lean_dec(x_159); +x_162 = lean_ctor_get(x_160, 0); +lean_inc(x_162); +lean_dec(x_160); +x_163 = l_Lean_Elab_Term_getCurrMacroScope(x_5, x_6, x_7, x_8, x_9, x_10, x_161); +x_164 = lean_ctor_get(x_163, 0); +lean_inc(x_164); +x_165 = lean_ctor_get(x_163, 1); lean_inc(x_165); -x_166 = lean_ctor_get(x_164, 1); +lean_dec(x_163); +x_166 = lean_ctor_get(x_9, 1); lean_inc(x_166); -lean_dec(x_164); -x_167 = lean_st_ref_take(x_10, x_158); -x_168 = lean_ctor_get(x_167, 0); -lean_inc(x_168); -x_169 = lean_ctor_get(x_167, 1); +x_167 = lean_ctor_get(x_9, 2); +lean_inc(x_167); +x_168 = lean_st_ref_get(x_10, x_165); +x_169 = lean_ctor_get(x_168, 0); lean_inc(x_169); -lean_dec(x_167); -x_170 = !lean_is_exclusive(x_168); -if (x_170 == 0) -{ -lean_object* x_171; lean_object* x_172; lean_object* x_173; -x_171 = lean_ctor_get(x_168, 1); -lean_dec(x_171); -lean_ctor_set(x_168, 1, x_166); -x_172 = lean_st_ref_set(x_10, x_168, x_169); -x_173 = lean_ctor_get(x_172, 1); -lean_inc(x_173); -lean_dec(x_172); -x_19 = x_165; -x_20 = x_173; -goto block_146; -} -else -{ -lean_object* x_174; lean_object* x_175; lean_object* x_176; lean_object* x_177; lean_object* x_178; lean_object* x_179; -x_174 = lean_ctor_get(x_168, 0); -x_175 = lean_ctor_get(x_168, 2); -x_176 = lean_ctor_get(x_168, 3); -lean_inc(x_176); -lean_inc(x_175); -lean_inc(x_174); +x_170 = lean_ctor_get(x_168, 1); +lean_inc(x_170); lean_dec(x_168); -x_177 = lean_alloc_ctor(0, 4, 0); -lean_ctor_set(x_177, 0, x_174); -lean_ctor_set(x_177, 1, x_166); -lean_ctor_set(x_177, 2, x_175); -lean_ctor_set(x_177, 3, x_176); -x_178 = lean_st_ref_set(x_10, x_177, x_169); -x_179 = lean_ctor_get(x_178, 1); -lean_inc(x_179); -lean_dec(x_178); -x_19 = x_165; -x_20 = x_179; -goto block_146; +x_171 = lean_ctor_get(x_169, 1); +lean_inc(x_171); +lean_dec(x_169); +lean_inc(x_162); +x_172 = lean_alloc_closure((void*)(l___private_Lean_Elab_Util_0__Lean_Elab_expandMacro_x3f___boxed), 4, 1); +lean_closure_set(x_172, 0, x_162); +x_173 = x_172; +x_174 = lean_environment_main_module(x_162); +x_175 = lean_alloc_ctor(0, 5, 0); +lean_ctor_set(x_175, 0, x_173); +lean_ctor_set(x_175, 1, x_174); +lean_ctor_set(x_175, 2, x_164); +lean_ctor_set(x_175, 3, x_166); +lean_ctor_set(x_175, 4, x_167); +x_176 = l_Lean_Elab_Term_expandMacrosInPatterns(x_18, x_175, x_171); +if (lean_obj_tag(x_176) == 0) +{ +lean_object* x_177; lean_object* x_178; lean_object* x_179; lean_object* x_180; lean_object* x_181; uint8_t x_182; +x_177 = lean_ctor_get(x_176, 0); +lean_inc(x_177); +x_178 = lean_ctor_get(x_176, 1); +lean_inc(x_178); +lean_dec(x_176); +x_179 = lean_st_ref_take(x_10, x_170); +x_180 = lean_ctor_get(x_179, 0); +lean_inc(x_180); +x_181 = lean_ctor_get(x_179, 1); +lean_inc(x_181); +lean_dec(x_179); +x_182 = !lean_is_exclusive(x_180); +if (x_182 == 0) +{ +lean_object* x_183; lean_object* x_184; lean_object* x_185; +x_183 = lean_ctor_get(x_180, 1); +lean_dec(x_183); +lean_ctor_set(x_180, 1, x_178); +x_184 = lean_st_ref_set(x_10, x_180, x_181); +x_185 = lean_ctor_get(x_184, 1); +lean_inc(x_185); +lean_dec(x_184); +x_19 = x_177; +x_20 = x_185; +goto block_158; +} +else +{ +lean_object* x_186; lean_object* x_187; lean_object* x_188; lean_object* x_189; lean_object* x_190; lean_object* x_191; +x_186 = lean_ctor_get(x_180, 0); +x_187 = lean_ctor_get(x_180, 2); +x_188 = lean_ctor_get(x_180, 3); +lean_inc(x_188); +lean_inc(x_187); +lean_inc(x_186); +lean_dec(x_180); +x_189 = lean_alloc_ctor(0, 4, 0); +lean_ctor_set(x_189, 0, x_186); +lean_ctor_set(x_189, 1, x_178); +lean_ctor_set(x_189, 2, x_187); +lean_ctor_set(x_189, 3, x_188); +x_190 = lean_st_ref_set(x_10, x_189, x_181); +x_191 = lean_ctor_get(x_190, 1); +lean_inc(x_191); +lean_dec(x_190); +x_19 = x_177; +x_20 = x_191; +goto block_158; } } else { -lean_object* x_180; +lean_object* x_192; lean_dec(x_17); lean_dec(x_16); -x_180 = lean_ctor_get(x_164, 0); -lean_inc(x_180); -lean_dec(x_164); -if (lean_obj_tag(x_180) == 0) +x_192 = lean_ctor_get(x_176, 0); +lean_inc(x_192); +lean_dec(x_176); +if (lean_obj_tag(x_192) == 0) { -lean_object* x_181; lean_object* x_182; lean_object* x_183; lean_object* x_184; lean_object* x_185; uint8_t x_186; -x_181 = lean_ctor_get(x_180, 0); -lean_inc(x_181); -x_182 = lean_ctor_get(x_180, 1); -lean_inc(x_182); -lean_dec(x_180); -x_183 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_183, 0, x_182); -x_184 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_184, 0, x_183); -x_185 = l_Lean_throwErrorAt___at___private_Lean_Elab_Term_0__Lean_Elab_Term_elabTermAux___spec__1___rarg(x_181, x_184, x_5, x_6, x_7, x_8, x_9, x_10, x_158); +lean_object* x_193; lean_object* x_194; lean_object* x_195; lean_object* x_196; lean_object* x_197; uint8_t x_198; +x_193 = lean_ctor_get(x_192, 0); +lean_inc(x_193); +x_194 = lean_ctor_get(x_192, 1); +lean_inc(x_194); +lean_dec(x_192); +x_195 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_195, 0, x_194); +x_196 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_196, 0, x_195); +x_197 = l_Lean_throwErrorAt___at___private_Lean_Elab_Term_0__Lean_Elab_Term_elabTermAux___spec__1___rarg(x_193, x_196, x_5, x_6, x_7, x_8, x_9, x_10, x_170); lean_dec(x_10); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); -lean_dec(x_181); -x_186 = !lean_is_exclusive(x_185); -if (x_186 == 0) +lean_dec(x_193); +x_198 = !lean_is_exclusive(x_197); +if (x_198 == 0) { -return x_185; +return x_197; } else { -lean_object* x_187; lean_object* x_188; lean_object* x_189; -x_187 = lean_ctor_get(x_185, 0); -x_188 = lean_ctor_get(x_185, 1); -lean_inc(x_188); -lean_inc(x_187); -lean_dec(x_185); -x_189 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_189, 0, x_187); -lean_ctor_set(x_189, 1, x_188); -return x_189; +lean_object* x_199; lean_object* x_200; lean_object* x_201; +x_199 = lean_ctor_get(x_197, 0); +x_200 = lean_ctor_get(x_197, 1); +lean_inc(x_200); +lean_inc(x_199); +lean_dec(x_197); +x_201 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_201, 0, x_199); +lean_ctor_set(x_201, 1, x_200); +return x_201; } } else { -lean_object* x_190; uint8_t x_191; +lean_object* x_202; uint8_t x_203; lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); -x_190 = l_Lean_Elab_throwUnsupportedSyntax___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__4___rarg(x_158); -x_191 = !lean_is_exclusive(x_190); -if (x_191 == 0) +x_202 = l_Lean_Elab_throwUnsupportedSyntax___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__7___rarg(x_170); +x_203 = !lean_is_exclusive(x_202); +if (x_203 == 0) { -return x_190; +return x_202; } else { -lean_object* x_192; lean_object* x_193; lean_object* x_194; -x_192 = lean_ctor_get(x_190, 0); -x_193 = lean_ctor_get(x_190, 1); -lean_inc(x_193); -lean_inc(x_192); -lean_dec(x_190); -x_194 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_194, 0, x_192); -lean_ctor_set(x_194, 1, x_193); -return x_194; +lean_object* x_204; lean_object* x_205; lean_object* x_206; +x_204 = lean_ctor_get(x_202, 0); +x_205 = lean_ctor_get(x_202, 1); +lean_inc(x_205); +lean_inc(x_204); +lean_dec(x_202); +x_206 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_206, 0, x_204); +lean_ctor_set(x_206, 1, x_205); +return x_206; } } } -block_146: +block_158: { -lean_object* x_21; uint8_t x_123; lean_object* x_124; lean_object* x_134; lean_object* x_135; lean_object* x_136; uint8_t x_137; -x_134 = lean_st_ref_get(x_10, x_20); -x_135 = lean_ctor_get(x_134, 0); -lean_inc(x_135); -x_136 = lean_ctor_get(x_135, 3); -lean_inc(x_136); -lean_dec(x_135); -x_137 = lean_ctor_get_uint8(x_136, sizeof(void*)*1); -lean_dec(x_136); -if (x_137 == 0) +lean_object* x_21; uint8_t x_135; lean_object* x_136; lean_object* x_146; lean_object* x_147; lean_object* x_148; uint8_t x_149; +x_146 = lean_st_ref_get(x_10, x_20); +x_147 = lean_ctor_get(x_146, 0); +lean_inc(x_147); +x_148 = lean_ctor_get(x_147, 3); +lean_inc(x_148); +lean_dec(x_147); +x_149 = lean_ctor_get_uint8(x_148, sizeof(void*)*1); +lean_dec(x_148); +if (x_149 == 0) { -lean_object* x_138; uint8_t x_139; -x_138 = lean_ctor_get(x_134, 1); -lean_inc(x_138); -lean_dec(x_134); -x_139 = 0; -x_123 = x_139; -x_124 = x_138; -goto block_133; +lean_object* x_150; uint8_t x_151; +x_150 = lean_ctor_get(x_146, 1); +lean_inc(x_150); +lean_dec(x_146); +x_151 = 0; +x_135 = x_151; +x_136 = x_150; +goto block_145; } else { -lean_object* x_140; lean_object* x_141; lean_object* x_142; lean_object* x_143; lean_object* x_144; uint8_t x_145; -x_140 = lean_ctor_get(x_134, 1); -lean_inc(x_140); -lean_dec(x_134); -x_141 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabDiscrsWitMatchType___spec__1___lambda__1___closed__5; -x_142 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2(x_141, x_5, x_6, x_7, x_8, x_9, x_10, x_140); -x_143 = lean_ctor_get(x_142, 0); -lean_inc(x_143); -x_144 = lean_ctor_get(x_142, 1); -lean_inc(x_144); -lean_dec(x_142); -x_145 = lean_unbox(x_143); -lean_dec(x_143); -x_123 = x_145; -x_124 = x_144; -goto block_133; +lean_object* x_152; lean_object* x_153; lean_object* x_154; lean_object* x_155; lean_object* x_156; uint8_t x_157; +x_152 = lean_ctor_get(x_146, 1); +lean_inc(x_152); +lean_dec(x_146); +x_153 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabDiscrsWitMatchType___spec__1___lambda__1___closed__5; +x_154 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2(x_153, x_5, x_6, x_7, x_8, x_9, x_10, x_152); +x_155 = lean_ctor_get(x_154, 0); +lean_inc(x_155); +x_156 = lean_ctor_get(x_154, 1); +lean_inc(x_156); +lean_dec(x_154); +x_157 = lean_unbox(x_155); +lean_dec(x_155); +x_135 = x_157; +x_136 = x_156; +goto block_145; } -block_122: +block_134: { lean_object* x_22; size_t x_23; size_t x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; x_22 = lean_array_get_size(x_19); @@ -23905,231 +24726,225 @@ lean_inc(x_5); x_37 = l_Lean_Elab_Term_synthesizeUsingDefault(x_5, x_6, x_7, x_8, x_9, x_10, x_36); if (lean_obj_tag(x_37) == 0) { -lean_object* x_38; lean_object* x_39; size_t 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_38; lean_object* x_39; size_t x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; x_38 = lean_ctor_get(x_37, 1); lean_inc(x_38); lean_dec(x_37); x_39 = lean_array_get_size(x_31); x_40 = lean_usize_of_nat(x_39); lean_dec(x_39); +lean_inc(x_31); x_41 = x_31; -lean_inc(x_41); x_42 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__2(x_40, x_24, x_41); x_43 = x_42; -x_44 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__3(x_40, x_24, x_41); -x_45 = x_44; -x_46 = lean_array_get_size(x_16); -x_47 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___closed__1; -lean_inc(x_5); -x_48 = l_Lean_Elab_Term_mkAuxName(x_47, x_5, x_6, x_7, x_8, x_9, x_10, x_38); -if (lean_obj_tag(x_48) == 0) -{ -lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; -x_49 = lean_ctor_get(x_48, 0); -lean_inc(x_49); -x_50 = lean_ctor_get(x_48, 1); -lean_inc(x_50); -lean_dec(x_48); -x_51 = l_Array_toList___rarg(x_45); -lean_dec(x_45); lean_inc(x_10); lean_inc(x_9); lean_inc(x_8); lean_inc(x_7); -lean_inc(x_46); -lean_inc(x_17); -x_52 = l_Lean_Meta_Match_mkMatcher(x_49, x_17, x_46, x_51, x_7, x_8, x_9, x_10, x_50); -if (lean_obj_tag(x_52) == 0) +x_44 = l_Lean_Meta_instantiateMVarsImp(x_17, x_7, x_8, x_9, x_10, x_38); +if (lean_obj_tag(x_44) == 0) { -lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; -x_53 = lean_ctor_get(x_52, 0); -lean_inc(x_53); -x_54 = lean_ctor_get(x_52, 1); -lean_inc(x_54); -lean_dec(x_52); -x_55 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_55, 0, x_46); -x_56 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___closed__2; +lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; +x_45 = lean_ctor_get(x_44, 0); +lean_inc(x_45); +x_46 = lean_ctor_get(x_44, 1); +lean_inc(x_46); +lean_dec(x_44); +x_47 = l_Array_toList___rarg(x_31); +lean_dec(x_31); lean_inc(x_10); lean_inc(x_9); lean_inc(x_8); lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); -x_57 = l_Lean_Meta_forallBoundedTelescope___at_Lean_Elab_Term_elabLetDeclAux___spec__1___rarg(x_17, x_55, x_56, x_5, x_6, x_7, x_8, x_9, x_10, x_54); -if (lean_obj_tag(x_57) == 0) +x_48 = l_List_mapM___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__6(x_47, x_5, x_6, x_7, x_8, x_9, x_10, x_46); +if (lean_obj_tag(x_48) == 0) { -lean_object* x_58; lean_object* x_59; lean_object* x_60; -x_58 = lean_ctor_get(x_57, 0); -lean_inc(x_58); -x_59 = lean_ctor_get(x_57, 1); -lean_inc(x_59); -lean_dec(x_57); +lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; +x_49 = lean_ctor_get(x_48, 0); +lean_inc(x_49); +x_50 = lean_ctor_get(x_48, 1); +lean_inc(x_50); +lean_dec(x_48); +x_51 = lean_array_get_size(x_16); +x_52 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___closed__1; lean_inc(x_5); -lean_inc(x_53); -x_60 = l_Lean_Elab_Term_reportMatcherResultErrors(x_53, x_5, x_6, x_7, x_8, x_9, x_10, x_59); -if (lean_obj_tag(x_60) == 0) +x_53 = l_Lean_Elab_Term_mkAuxName(x_52, x_5, x_6, x_7, x_8, x_9, x_10, x_50); +if (lean_obj_tag(x_53) == 0) { -lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; uint8_t x_67; lean_object* x_68; lean_object* x_82; lean_object* x_83; lean_object* x_84; uint8_t x_85; -x_61 = lean_ctor_get(x_60, 1); -lean_inc(x_61); -if (lean_is_exclusive(x_60)) { - lean_ctor_release(x_60, 0); - lean_ctor_release(x_60, 1); - x_62 = x_60; -} else { - lean_dec_ref(x_60); - x_62 = lean_box(0); -} -x_63 = lean_ctor_get(x_53, 0); -lean_inc(x_63); +lean_object* x_54; lean_object* x_55; lean_object* x_56; +x_54 = lean_ctor_get(x_53, 0); +lean_inc(x_54); +x_55 = lean_ctor_get(x_53, 1); +lean_inc(x_55); lean_dec(x_53); -x_64 = l_Lean_mkApp(x_63, x_58); -x_65 = l_Lean_mkAppN(x_64, x_16); -lean_dec(x_16); -x_66 = l_Lean_mkAppN(x_65, x_43); -lean_dec(x_43); -x_82 = lean_st_ref_get(x_10, x_61); -x_83 = lean_ctor_get(x_82, 0); -lean_inc(x_83); -x_84 = lean_ctor_get(x_83, 3); -lean_inc(x_84); -lean_dec(x_83); -x_85 = lean_ctor_get_uint8(x_84, sizeof(void*)*1); -lean_dec(x_84); -if (x_85 == 0) +lean_inc(x_10); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_51); +lean_inc(x_45); +x_56 = l_Lean_Meta_Match_mkMatcher(x_54, x_45, x_51, x_49, x_7, x_8, x_9, x_10, x_55); +if (lean_obj_tag(x_56) == 0) { -lean_object* x_86; uint8_t x_87; -x_86 = lean_ctor_get(x_82, 1); -lean_inc(x_86); -lean_dec(x_82); -x_87 = 0; -x_67 = x_87; -x_68 = x_86; -goto block_81; -} -else +lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; +x_57 = lean_ctor_get(x_56, 0); +lean_inc(x_57); +x_58 = lean_ctor_get(x_56, 1); +lean_inc(x_58); +lean_dec(x_56); +x_59 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_59, 0, x_51); +x_60 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___closed__2; +lean_inc(x_10); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +x_61 = l_Lean_Meta_forallBoundedTelescope___at_Lean_Elab_Term_elabLetDeclAux___spec__1___rarg(x_45, x_59, x_60, x_5, x_6, x_7, x_8, x_9, x_10, x_58); +if (lean_obj_tag(x_61) == 0) { -lean_object* x_88; lean_object* x_89; lean_object* x_90; lean_object* x_91; lean_object* x_92; uint8_t x_93; -x_88 = lean_ctor_get(x_82, 1); -lean_inc(x_88); -lean_dec(x_82); -x_89 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabDiscrsWitMatchType___spec__1___lambda__1___closed__5; -x_90 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2(x_89, x_5, x_6, x_7, x_8, x_9, x_10, x_88); -x_91 = lean_ctor_get(x_90, 0); -lean_inc(x_91); -x_92 = lean_ctor_get(x_90, 1); -lean_inc(x_92); -lean_dec(x_90); -x_93 = lean_unbox(x_91); -lean_dec(x_91); -x_67 = x_93; -x_68 = x_92; -goto block_81; -} -block_81: +lean_object* x_62; lean_object* x_63; lean_object* x_64; +x_62 = lean_ctor_get(x_61, 0); +lean_inc(x_62); +x_63 = lean_ctor_get(x_61, 1); +lean_inc(x_63); +lean_dec(x_61); +lean_inc(x_5); +lean_inc(x_57); +x_64 = l_Lean_Elab_Term_reportMatcherResultErrors(x_57, x_5, x_6, x_7, x_8, x_9, x_10, x_63); +if (lean_obj_tag(x_64) == 0) { -if (x_67 == 0) -{ -lean_object* x_69; -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -if (lean_is_scalar(x_62)) { - x_69 = lean_alloc_ctor(0, 2, 0); +lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; uint8_t x_71; lean_object* x_72; lean_object* x_86; lean_object* x_87; lean_object* x_88; uint8_t x_89; +x_65 = lean_ctor_get(x_64, 1); +lean_inc(x_65); +if (lean_is_exclusive(x_64)) { + lean_ctor_release(x_64, 0); + lean_ctor_release(x_64, 1); + x_66 = x_64; } else { - x_69 = x_62; + lean_dec_ref(x_64); + x_66 = lean_box(0); } -lean_ctor_set(x_69, 0, x_66); -lean_ctor_set(x_69, 1, x_68); -return x_69; +x_67 = lean_ctor_get(x_57, 0); +lean_inc(x_67); +lean_dec(x_57); +x_68 = l_Lean_mkApp(x_67, x_62); +x_69 = l_Lean_mkAppN(x_68, x_16); +lean_dec(x_16); +x_70 = l_Lean_mkAppN(x_69, x_43); +lean_dec(x_43); +x_86 = lean_st_ref_get(x_10, x_65); +x_87 = lean_ctor_get(x_86, 0); +lean_inc(x_87); +x_88 = lean_ctor_get(x_87, 3); +lean_inc(x_88); +lean_dec(x_87); +x_89 = lean_ctor_get_uint8(x_88, sizeof(void*)*1); +lean_dec(x_88); +if (x_89 == 0) +{ +lean_object* x_90; uint8_t x_91; +x_90 = lean_ctor_get(x_86, 1); +lean_inc(x_90); +lean_dec(x_86); +x_91 = 0; +x_71 = x_91; +x_72 = x_90; +goto block_85; } else { -lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; uint8_t x_77; -lean_dec(x_62); -lean_inc(x_66); -x_70 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_70, 0, x_66); -x_71 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___closed__4; -x_72 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_72, 0, x_71); -lean_ctor_set(x_72, 1, x_70); -x_73 = l_Array_foldlMUnsafe_fold___at_Lean_withNestedTraces___spec__5___closed__1; -x_74 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_74, 0, x_72); -lean_ctor_set(x_74, 1, x_73); -x_75 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabDiscrsWitMatchType___spec__1___lambda__1___closed__5; -x_76 = l_Lean_addTrace___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__1(x_75, x_74, x_5, x_6, x_7, x_8, x_9, x_10, x_68); +lean_object* x_92; lean_object* x_93; lean_object* x_94; lean_object* x_95; lean_object* x_96; uint8_t x_97; +x_92 = lean_ctor_get(x_86, 1); +lean_inc(x_92); +lean_dec(x_86); +x_93 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabDiscrsWitMatchType___spec__1___lambda__1___closed__5; +x_94 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2(x_93, x_5, x_6, x_7, x_8, x_9, x_10, x_92); +x_95 = lean_ctor_get(x_94, 0); +lean_inc(x_95); +x_96 = lean_ctor_get(x_94, 1); +lean_inc(x_96); +lean_dec(x_94); +x_97 = lean_unbox(x_95); +lean_dec(x_95); +x_71 = x_97; +x_72 = x_96; +goto block_85; +} +block_85: +{ +if (x_71 == 0) +{ +lean_object* x_73; lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); -x_77 = !lean_is_exclusive(x_76); -if (x_77 == 0) -{ -lean_object* x_78; -x_78 = lean_ctor_get(x_76, 0); -lean_dec(x_78); -lean_ctor_set(x_76, 0, x_66); -return x_76; +if (lean_is_scalar(x_66)) { + x_73 = lean_alloc_ctor(0, 2, 0); +} else { + x_73 = x_66; +} +lean_ctor_set(x_73, 0, x_70); +lean_ctor_set(x_73, 1, x_72); +return x_73; } else { -lean_object* x_79; lean_object* x_80; -x_79 = lean_ctor_get(x_76, 1); -lean_inc(x_79); -lean_dec(x_76); -x_80 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_80, 0, x_66); -lean_ctor_set(x_80, 1, x_79); +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; uint8_t x_81; +lean_dec(x_66); +lean_inc(x_70); +x_74 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_74, 0, x_70); +x_75 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___closed__4; +x_76 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_76, 0, x_75); +lean_ctor_set(x_76, 1, x_74); +x_77 = l_Array_foldlMUnsafe_fold___at_Lean_withNestedTraces___spec__5___closed__1; +x_78 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_78, 0, x_76); +lean_ctor_set(x_78, 1, x_77); +x_79 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabDiscrsWitMatchType___spec__1___lambda__1___closed__5; +x_80 = l_Lean_addTrace___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__1(x_79, x_78, x_5, x_6, x_7, x_8, x_9, x_10, x_72); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +x_81 = !lean_is_exclusive(x_80); +if (x_81 == 0) +{ +lean_object* x_82; +x_82 = lean_ctor_get(x_80, 0); +lean_dec(x_82); +lean_ctor_set(x_80, 0, x_70); return x_80; } -} -} -} else { -uint8_t x_94; -lean_dec(x_58); -lean_dec(x_53); -lean_dec(x_43); -lean_dec(x_16); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -x_94 = !lean_is_exclusive(x_60); -if (x_94 == 0) -{ -return x_60; +lean_object* x_83; lean_object* x_84; +x_83 = lean_ctor_get(x_80, 1); +lean_inc(x_83); +lean_dec(x_80); +x_84 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_84, 0, x_70); +lean_ctor_set(x_84, 1, x_83); +return x_84; } -else -{ -lean_object* x_95; lean_object* x_96; lean_object* x_97; -x_95 = lean_ctor_get(x_60, 0); -x_96 = lean_ctor_get(x_60, 1); -lean_inc(x_96); -lean_inc(x_95); -lean_dec(x_60); -x_97 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_97, 0, x_95); -lean_ctor_set(x_97, 1, x_96); -return x_97; } } } else { uint8_t x_98; -lean_dec(x_53); +lean_dec(x_62); +lean_dec(x_57); lean_dec(x_43); lean_dec(x_16); lean_dec(x_10); @@ -24138,19 +24953,19 @@ lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); -x_98 = !lean_is_exclusive(x_57); +x_98 = !lean_is_exclusive(x_64); if (x_98 == 0) { -return x_57; +return x_64; } else { lean_object* x_99; lean_object* x_100; lean_object* x_101; -x_99 = lean_ctor_get(x_57, 0); -x_100 = lean_ctor_get(x_57, 1); +x_99 = lean_ctor_get(x_64, 0); +x_100 = lean_ctor_get(x_64, 1); lean_inc(x_100); lean_inc(x_99); -lean_dec(x_57); +lean_dec(x_64); x_101 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_101, 0, x_99); lean_ctor_set(x_101, 1, x_100); @@ -24161,9 +24976,8 @@ return x_101; else { uint8_t x_102; -lean_dec(x_46); +lean_dec(x_57); lean_dec(x_43); -lean_dec(x_17); lean_dec(x_16); lean_dec(x_10); lean_dec(x_9); @@ -24171,19 +24985,19 @@ lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); -x_102 = !lean_is_exclusive(x_52); +x_102 = !lean_is_exclusive(x_61); if (x_102 == 0) { -return x_52; +return x_61; } else { lean_object* x_103; lean_object* x_104; lean_object* x_105; -x_103 = lean_ctor_get(x_52, 0); -x_104 = lean_ctor_get(x_52, 1); +x_103 = lean_ctor_get(x_61, 0); +x_104 = lean_ctor_get(x_61, 1); lean_inc(x_104); lean_inc(x_103); -lean_dec(x_52); +lean_dec(x_61); x_105 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_105, 0, x_103); lean_ctor_set(x_105, 1, x_104); @@ -24194,10 +25008,9 @@ return x_105; else { uint8_t x_106; -lean_dec(x_46); +lean_dec(x_51); lean_dec(x_45); lean_dec(x_43); -lean_dec(x_17); lean_dec(x_16); lean_dec(x_10); lean_dec(x_9); @@ -24205,19 +25018,19 @@ lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); -x_106 = !lean_is_exclusive(x_48); +x_106 = !lean_is_exclusive(x_56); if (x_106 == 0) { -return x_48; +return x_56; } else { lean_object* x_107; lean_object* x_108; lean_object* x_109; -x_107 = lean_ctor_get(x_48, 0); -x_108 = lean_ctor_get(x_48, 1); +x_107 = lean_ctor_get(x_56, 0); +x_108 = lean_ctor_get(x_56, 1); lean_inc(x_108); lean_inc(x_107); -lean_dec(x_48); +lean_dec(x_56); x_109 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_109, 0, x_107); lean_ctor_set(x_109, 1, x_108); @@ -24228,8 +25041,10 @@ return x_109; else { uint8_t x_110; -lean_dec(x_31); -lean_dec(x_17); +lean_dec(x_51); +lean_dec(x_49); +lean_dec(x_45); +lean_dec(x_43); lean_dec(x_16); lean_dec(x_10); lean_dec(x_9); @@ -24237,19 +25052,19 @@ lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); -x_110 = !lean_is_exclusive(x_37); +x_110 = !lean_is_exclusive(x_53); if (x_110 == 0) { -return x_37; +return x_53; } else { lean_object* x_111; lean_object* x_112; lean_object* x_113; -x_111 = lean_ctor_get(x_37, 0); -x_112 = lean_ctor_get(x_37, 1); +x_111 = lean_ctor_get(x_53, 0); +x_112 = lean_ctor_get(x_53, 1); lean_inc(x_112); lean_inc(x_111); -lean_dec(x_37); +lean_dec(x_53); x_113 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_113, 0, x_111); lean_ctor_set(x_113, 1, x_112); @@ -24260,8 +25075,8 @@ return x_113; else { uint8_t x_114; -lean_dec(x_31); -lean_dec(x_17); +lean_dec(x_45); +lean_dec(x_43); lean_dec(x_16); lean_dec(x_10); lean_dec(x_9); @@ -24269,19 +25084,19 @@ lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); -x_114 = !lean_is_exclusive(x_35); +x_114 = !lean_is_exclusive(x_48); if (x_114 == 0) { -return x_35; +return x_48; } else { lean_object* x_115; lean_object* x_116; lean_object* x_117; -x_115 = lean_ctor_get(x_35, 0); -x_116 = lean_ctor_get(x_35, 1); +x_115 = lean_ctor_get(x_48, 0); +x_116 = lean_ctor_get(x_48, 1); lean_inc(x_116); lean_inc(x_115); -lean_dec(x_35); +lean_dec(x_48); x_117 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_117, 0, x_115); lean_ctor_set(x_117, 1, x_116); @@ -24292,6 +25107,39 @@ return x_117; else { uint8_t x_118; +lean_dec(x_43); +lean_dec(x_31); +lean_dec(x_16); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +x_118 = !lean_is_exclusive(x_44); +if (x_118 == 0) +{ +return x_44; +} +else +{ +lean_object* x_119; lean_object* x_120; lean_object* x_121; +x_119 = lean_ctor_get(x_44, 0); +x_120 = lean_ctor_get(x_44, 1); +lean_inc(x_120); +lean_inc(x_119); +lean_dec(x_44); +x_121 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_121, 0, x_119); +lean_ctor_set(x_121, 1, x_120); +return x_121; +} +} +} +else +{ +uint8_t x_122; +lean_dec(x_31); lean_dec(x_17); lean_dec(x_16); lean_dec(x_10); @@ -24300,84 +25148,147 @@ lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); -x_118 = !lean_is_exclusive(x_30); -if (x_118 == 0) +x_122 = !lean_is_exclusive(x_37); +if (x_122 == 0) { -return x_30; +return x_37; } else { -lean_object* x_119; lean_object* x_120; lean_object* x_121; -x_119 = lean_ctor_get(x_30, 0); -x_120 = lean_ctor_get(x_30, 1); -lean_inc(x_120); -lean_inc(x_119); -lean_dec(x_30); -x_121 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_121, 0, x_119); -lean_ctor_set(x_121, 1, x_120); -return x_121; -} -} -} -block_133: -{ -if (x_123 == 0) -{ -x_21 = x_124; -goto block_122; -} -else -{ -lean_object* x_125; lean_object* x_126; lean_object* x_127; lean_object* x_128; lean_object* x_129; lean_object* x_130; lean_object* x_131; lean_object* x_132; -lean_inc(x_17); -x_125 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_125, 0, x_17); -x_126 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___closed__6; -x_127 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_127, 0, x_126); -lean_ctor_set(x_127, 1, x_125); -x_128 = l_Array_foldlMUnsafe_fold___at_Lean_withNestedTraces___spec__5___closed__1; -x_129 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_129, 0, x_127); -lean_ctor_set(x_129, 1, x_128); -x_130 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabDiscrsWitMatchType___spec__1___lambda__1___closed__5; -x_131 = l_Lean_addTrace___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__1(x_130, x_129, x_5, x_6, x_7, x_8, x_9, x_10, x_124); -x_132 = lean_ctor_get(x_131, 1); -lean_inc(x_132); -lean_dec(x_131); -x_21 = x_132; -goto block_122; -} +lean_object* x_123; lean_object* x_124; lean_object* x_125; +x_123 = lean_ctor_get(x_37, 0); +x_124 = lean_ctor_get(x_37, 1); +lean_inc(x_124); +lean_inc(x_123); +lean_dec(x_37); +x_125 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_125, 0, x_123); +lean_ctor_set(x_125, 1, x_124); +return x_125; } } } else { -uint8_t x_195; +uint8_t x_126; +lean_dec(x_31); +lean_dec(x_17); +lean_dec(x_16); lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); -x_195 = !lean_is_exclusive(x_12); -if (x_195 == 0) +x_126 = !lean_is_exclusive(x_35); +if (x_126 == 0) +{ +return x_35; +} +else +{ +lean_object* x_127; lean_object* x_128; lean_object* x_129; +x_127 = lean_ctor_get(x_35, 0); +x_128 = lean_ctor_get(x_35, 1); +lean_inc(x_128); +lean_inc(x_127); +lean_dec(x_35); +x_129 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_129, 0, x_127); +lean_ctor_set(x_129, 1, x_128); +return x_129; +} +} +} +else +{ +uint8_t x_130; +lean_dec(x_17); +lean_dec(x_16); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +x_130 = !lean_is_exclusive(x_30); +if (x_130 == 0) +{ +return x_30; +} +else +{ +lean_object* x_131; lean_object* x_132; lean_object* x_133; +x_131 = lean_ctor_get(x_30, 0); +x_132 = lean_ctor_get(x_30, 1); +lean_inc(x_132); +lean_inc(x_131); +lean_dec(x_30); +x_133 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_133, 0, x_131); +lean_ctor_set(x_133, 1, x_132); +return x_133; +} +} +} +block_145: +{ +if (x_135 == 0) +{ +x_21 = x_136; +goto block_134; +} +else +{ +lean_object* x_137; lean_object* x_138; lean_object* x_139; lean_object* x_140; lean_object* x_141; lean_object* x_142; lean_object* x_143; lean_object* x_144; +lean_inc(x_17); +x_137 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_137, 0, x_17); +x_138 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___closed__6; +x_139 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_139, 0, x_138); +lean_ctor_set(x_139, 1, x_137); +x_140 = l_Array_foldlMUnsafe_fold___at_Lean_withNestedTraces___spec__5___closed__1; +x_141 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_141, 0, x_139); +lean_ctor_set(x_141, 1, x_140); +x_142 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabDiscrsWitMatchType___spec__1___lambda__1___closed__5; +x_143 = l_Lean_addTrace___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__1(x_142, x_141, x_5, x_6, x_7, x_8, x_9, x_10, x_136); +x_144 = lean_ctor_get(x_143, 1); +lean_inc(x_144); +lean_dec(x_143); +x_21 = x_144; +goto block_134; +} +} +} +} +else +{ +uint8_t x_207; +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +x_207 = !lean_is_exclusive(x_12); +if (x_207 == 0) { return x_12; } else { -lean_object* x_196; lean_object* x_197; lean_object* x_198; -x_196 = lean_ctor_get(x_12, 0); -x_197 = lean_ctor_get(x_12, 1); -lean_inc(x_197); -lean_inc(x_196); +lean_object* x_208; lean_object* x_209; lean_object* x_210; +x_208 = lean_ctor_get(x_12, 0); +x_209 = lean_ctor_get(x_12, 1); +lean_inc(x_209); +lean_inc(x_208); lean_dec(x_12); -x_198 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_198, 0, x_196); -lean_ctor_set(x_198, 1, x_197); -return x_198; +x_210 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_210, 0, x_208); +lean_ctor_set(x_210, 1, x_209); +return x_210; } } } @@ -24406,23 +25317,43 @@ x_6 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_Match_0__Lean_Elab_Term_el return x_6; } } -lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__3___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +lean_object* l_List_forIn_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__4___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { _start: { -size_t x_4; size_t x_5; lean_object* x_6; -x_4 = lean_unbox_usize(x_1); -lean_dec(x_1); -x_5 = lean_unbox_usize(x_2); +lean_object* x_11; +x_11 = l_List_forIn_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__4(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); lean_dec(x_2); -x_6 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__3(x_4, x_5, x_3); -return x_6; +return x_11; } } -lean_object* l_Lean_Elab_throwUnsupportedSyntax___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__4___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +lean_object* l_List_forIn_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__5___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +_start: +{ +lean_object* x_9; +x_9 = l_List_forIn_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__5___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); +lean_dec(x_3); +lean_dec(x_2); +return x_9; +} +} +lean_object* l_List_forIn_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__5___lambda__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +_start: +{ +lean_object* x_9; +x_9 = l_List_forIn_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__5___lambda__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +return x_9; +} +} +lean_object* l_Lean_Elab_throwUnsupportedSyntax___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__7___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { _start: { lean_object* x_7; -x_7 = l_Lean_Elab_throwUnsupportedSyntax___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__4(x_1, x_2, x_3, x_4, x_5, x_6); +x_7 = l_Lean_Elab_throwUnsupportedSyntax___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__7(x_1, x_2, x_3, x_4, x_5, x_6); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); @@ -29721,6 +30652,20 @@ l_Lean_Elab_Term_reportMatcherResultErrors___closed__1 = _init_l_Lean_Elab_Term_ lean_mark_persistent(l_Lean_Elab_Term_reportMatcherResultErrors___closed__1); l_Lean_Elab_Term_reportMatcherResultErrors___closed__2 = _init_l_Lean_Elab_Term_reportMatcherResultErrors___closed__2(); lean_mark_persistent(l_Lean_Elab_Term_reportMatcherResultErrors___closed__2); +l_List_forIn_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__4___closed__1 = _init_l_List_forIn_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__4___closed__1(); +lean_mark_persistent(l_List_forIn_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__4___closed__1); +l_List_forIn_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__4___closed__2 = _init_l_List_forIn_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__4___closed__2(); +lean_mark_persistent(l_List_forIn_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__4___closed__2); +l_List_forIn_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__4___closed__3 = _init_l_List_forIn_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__4___closed__3(); +lean_mark_persistent(l_List_forIn_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__4___closed__3); +l_List_forIn_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__4___closed__4 = _init_l_List_forIn_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__4___closed__4(); +lean_mark_persistent(l_List_forIn_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__4___closed__4); +l_List_forIn_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__5___lambda__2___closed__1 = _init_l_List_forIn_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__5___lambda__2___closed__1(); +lean_mark_persistent(l_List_forIn_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__5___lambda__2___closed__1); +l_List_forIn_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__5___lambda__2___closed__2 = _init_l_List_forIn_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__5___lambda__2___closed__2(); +lean_mark_persistent(l_List_forIn_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__5___lambda__2___closed__2); +l_List_forIn_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__5___closed__1 = _init_l_List_forIn_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__5___closed__1(); +lean_mark_persistent(l_List_forIn_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__5___closed__1); l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___closed__1 = _init_l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___closed__1(); lean_mark_persistent(l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___closed__1); l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___closed__2 = _init_l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___closed__2(); diff --git a/stage0/stdlib/Lean/Elab/PreDefinition/Structural.c b/stage0/stdlib/Lean/Elab/PreDefinition/Structural.c index 06c6969d26..d901b8828c 100644 --- a/stage0/stdlib/Lean/Elab/PreDefinition/Structural.c +++ b/stage0/stdlib/Lean/Elab/PreDefinition/Structural.c @@ -14,10 +14,10 @@ extern "C" { #endif lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_hasBadIndexDep_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__13___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Meta_binductionOnSuffix; lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_mkBRecOn___lambda__3___closed__3; lean_object* lean_array_set(lean_object*, lean_object*, lean_object*); +lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__8___lambda__2___closed__2; lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_throwToBelowFailed(lean_object*); lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_hasBadIndexDep_x3f_match__2(lean_object*); uint8_t l_Array_isPrefixOf___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_getFixedPrefix___spec__1(lean_object*, lean_object*); @@ -46,7 +46,6 @@ lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Struc lean_object* l_Lean_Meta_isExprDefEq___at_Lean_Meta_isExprDefEqGuarded___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__3___lambda__2___closed__1; extern lean_object* l_Init_Core___instance__33; -lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__13___lambda__2___closed__3; lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_mkBRecOn___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_MessageData_ofList___closed__3; uint8_t l_USize_decEq(size_t, size_t); @@ -61,37 +60,31 @@ lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_toBelow lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_withBelowDict___spec__1(lean_object*); lean_object* l_Lean_Meta_MatcherApp_addArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_mkBRecOn___closed__2; +lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_recArgHasLooseBVarsAt___boxed(lean_object*, lean_object*, lean_object*); uint8_t l___private_Init_Data_Array_Basic_0__Array_allDiffAux___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_findRecArg_loop___spec__3(lean_object*, lean_object*); -lean_object* l_Array_anyMUnsafe_any___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__7___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_array_uset(lean_object*, size_t, lean_object*); lean_object* l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__11(lean_object*, lean_object*, lean_object*, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_ensureNoRecFn___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_toBelowAux___closed__16; -lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__11___closed__3; lean_object* l_Array_extract___rarg(lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Meta_mkAppM___rarg___lambda__1___closed__4; lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop_match__1___rarg(lean_object*, lean_object*); lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_elimRecursion___lambda__2___closed__2; -lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__10___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Array_empty___closed__1; lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_hasBadParamDep_x3f_match__1(lean_object*); lean_object* lean_environment_find(lean_object*, lean_object*); lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_throwToBelowFailed___rarg___closed__3; lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_hasBadParamDep_x3f___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_lambdaTelescope___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__12(lean_object*); lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_toBelowAux___lambda__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_st_ref_get(lean_object*, lean_object*); lean_object* l_Lean_Elab_addAndCompileUnsafeRec(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -uint8_t l_Array_anyMUnsafe_any___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__7(lean_object*, lean_object*, size_t, size_t); -lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__13___lambda__2___closed__5; +lean_object* l_Lean_Meta_withLetDecl___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__9___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_setEnv___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_elimRecursion___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_Expr_isAppOf(lean_object*, lean_object*); lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_throwStructuralFailed___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_toBelowAux___closed__10; lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__3___closed__2; -lean_object* l_Lean_Meta_withLetDecl___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__14(lean_object*); lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_getIndexMinPos(lean_object*, lean_object*); lean_object* lean_expr_instantiate1(lean_object*, lean_object*); lean_object* lean_array_push(lean_object*, lean_object*); @@ -101,8 +94,6 @@ lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replace lean_object* l_Lean_fmt___at_Lean_Position_Lean_Data_Position___instance__2___spec__1(lean_object*); lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___closed__1; lean_object* l_Lean_MessageData_ofList(lean_object*); -lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__13___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__10(lean_object*, lean_object*, lean_object*, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_withBelowDict___spec__1___rarg___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Expr_getAppArgs___closed__1; lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__3___closed__1; @@ -116,6 +107,7 @@ lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_PreDefinition_St lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_toBelowAux(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_findRecArg_loop___rarg___lambda__1___boxed(lean_object*, lean_object*); lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_hasBadIndexDep_x3f___spec__2___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Expr_getRevArg_x21(lean_object*, lean_object*); lean_object* l___private_Init_Data_Array_Basic_0__Array_allDiffAuxAux___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_findRecArg_loop___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_replaceFVars(lean_object*, lean_object*, lean_object*); lean_object* l_Array_isPrefixOf___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_getFixedPrefix___spec__1___boxed(lean_object*, lean_object*); @@ -132,18 +124,13 @@ lean_object* l_Lean_throwError___at_Lean_Elab_Term_throwTypeMismatchError___spec extern lean_object* l_Std_HashMap_Std_Data_HashMap___instance__1___closed__1; lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_mkBRecOn___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_structuralRecursion___closed__1; -lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__10___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__13___lambda__2___closed__2; +lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__8___lambda__2___closed__5; lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_findRecArg_loop___rarg___closed__8; lean_object* l_Array_zip___rarg(lean_object*, lean_object*); -lean_object* l_Lean_Meta_lambdaTelescope___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__12___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__13___lambda__2___closed__1; lean_object* l_Lean_mkAppN(lean_object*, lean_object*); lean_object* l_Lean_mkMData(lean_object*, lean_object*); lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_findRecArg_loop___rarg___closed__9; -lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__13___lambda__2___closed__4; lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_mkBRecOn___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__13(lean_object*, lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_getFixedPrefix_match__1(lean_object*); lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_findRecArg_loop___rarg___closed__4; lean_object* l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(lean_object*, lean_object*, lean_object*); @@ -160,7 +147,6 @@ lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_toBelow lean_object* l_Lean_mkProj(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_mkAppM___at_Lean_Meta_mkDecideProof___spec__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_toBelowAux___closed__7; -lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__10___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t lean_nat_dec_eq(lean_object*, lean_object*); lean_object* l_Lean_Elab_structuralRecursion___closed__4; lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_withBelowDict___spec__1___rarg___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -174,13 +160,12 @@ lean_object* lean_nat_sub(lean_object*, lean_object*); lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__3___boxed__const__1; lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__6___boxed__const__1; lean_object* l_Lean_addTrace___at_Lean_Meta_isLevelDefEqAux___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_lambdaTelescope___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__7(lean_object*); lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_findRecArg_loop___rarg___closed__1; -lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__9___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_structuralRecursion___lambda__1___closed__1; lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_mkBRecOn___closed__1; lean_object* l_Lean_Meta_whnfD___at___private_Lean_Meta_InferType_0__Lean_Meta_getLevelImp___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__13___lambda__2___closed__6; lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_hasBadIndexDep_x3f_match__4(lean_object*); lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_elimRecursion___lambda__1___closed__2; lean_object* l_Lean_Expr_replaceFVar(lean_object*, lean_object*, lean_object*); @@ -193,14 +178,13 @@ lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_findRec lean_object* l_Lean_Expr_fvarId_x21(lean_object*); lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_getIndexMinPos___boxed(lean_object*, lean_object*); lean_object* l_Lean_Meta_dependsOn___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_hasBadIndexDep_x3f___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___closed__2; lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_findRecArg_loop___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_findRecArg_loop___rarg___closed__14; lean_object* l_Lean_Meta_forEachExpr___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_withLetDecl___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__14___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_toBelowAux_match__3___rarg(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_getIndexMinPos___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__6___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +uint8_t l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_recArgHasLooseBVarsAt(lean_object*, lean_object*, lean_object*); lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_hasBadIndexDep_x3f___spec__3___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_mkLambdaFVars___at_Lean_Meta_SynthInstance_tryResolveCore___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_toBelowAux___closed__5; @@ -239,11 +223,9 @@ lean_object* l_Lean_Meta_getFVarLocalDecl___at___private_Lean_Meta_Basic_0__Lean lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__3___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop_match__2(lean_object*); lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_findRecArg___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__11___closed__1; -lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__11___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Init_Util_0__mkPanicMessageWithDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_ensureNoRecFn(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_Structural___hyg_3594_(lean_object*); +lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_Structural___hyg_3495_(lean_object*); uint8_t l_Lean_Expr_isConstOf(lean_object*, lean_object*); lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_throwStructuralFailed___rarg___closed__2; lean_object* l_Lean_hasConst___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_findRecArg_loop___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -253,14 +235,15 @@ lean_object* l_Lean_ForEachExpr_visit___at___private_Lean_Elab_PreDefinition_Str lean_object* l_Lean_Meta_mapErrorImp___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_findRecArg_loop___rarg___closed__12; lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_hasBadIndexDep_x3f___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_lambdaTelescope___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__7___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_findRecArg_loop___spec__2(lean_object*, size_t, size_t, lean_object*); lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_hasBadParamDep_x3f_match__3___rarg(lean_object*, lean_object*); uint8_t l_Lean_Expr_Data_binderInfo(uint64_t); +lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_recArgHasLooseBVarsAt___lambda__1___boxed(lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_toBelowAux___closed__8; lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_hasBadParamDep_x3f_match__4(lean_object*); size_t lean_usize_of_nat(lean_object*); lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_mkBRecOn___lambda__3___closed__2; -lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__9(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_findRecArg_loop_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_toBelowAux___closed__6; lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_mkBRecOn___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -301,12 +284,10 @@ lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_findRec extern lean_object* l_Lean_Expr_Lean_Expr___instance__11; lean_object* l_Lean_Elab_addNonRec___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Elab_Lean_Elab_PreDefinition_Basic___instance__1; -lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__11___closed__2; uint8_t lean_nat_dec_le(lean_object*, lean_object*); lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop_match__1(lean_object*); lean_object* l_Lean_mkApp(lean_object*, lean_object*); lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_toBelowAux_match__2___rarg___closed__1; -lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__10___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_hasBadParamDep_x3f___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_hasBadParamDep_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_toBelowAux___closed__15; @@ -315,12 +296,14 @@ lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_contain lean_object* lean_panic_fn(lean_object*, lean_object*); lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_toBelowAux___closed__3; lean_object* l_Lean_Elab_structuralRecursion___lambda__1(lean_object*); +lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__8___lambda__2___closed__6; lean_object* l_Lean_Meta_MatcherApp_toExpr(lean_object*); lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_getIndexMinPos_match__1(lean_object*, lean_object*); lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_toBelowAux_match__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_getFixedPrefix___boxed(lean_object*, lean_object*, lean_object*); -lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__11___closed__4; +lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__8___lambda__2___closed__3; lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__3___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__8___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_hasBadParamDep_x3f_match__2(lean_object*); lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_hasBadParamDep_x3f___spec__1___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_setMCtx___at___private_Lean_Meta_Basic_0__Lean_Meta_liftMkBindingM___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -332,26 +315,30 @@ lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Struc lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___lambda__1___closed__2; lean_object* l_Lean_Meta_decLevel___at_Lean_Meta_getDecLevel___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_containsRecFn(lean_object*, lean_object*); -lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___closed__3; lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___lambda__1___closed__1; lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_hasBadParamDep_x3f_match__1___rarg(lean_object*, lean_object*); lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_toBelowAux___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_toBelowAux___closed__9; +uint8_t l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_recArgHasLooseBVarsAt___lambda__1(lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_hasBadIndexDep_x3f_match__2___rarg(lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_throwToBelowFailed___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_hasBadParamDep_x3f_match__2___rarg(lean_object*, lean_object*, lean_object*); +uint8_t l_Lean_Expr_hasLooseBVars(lean_object*); lean_object* l_Array_toList___rarg(lean_object*); lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_hasBadParamDep_x3f___spec__1___lambda__1(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_mk_array(lean_object*, lean_object*); lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_ensureNoRecFn___lambda__1___closed__1; lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_findRecArg_loop___rarg___closed__10; lean_object* l_Lean_Meta_forEachExpr___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_ensureNoRecFn___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__8___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_hasBadParamDep_x3f___spec__2___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_elimRecursion(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_ensureNoRecFn___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__8___lambda__2___closed__1; lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop_match__2___rarg(lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_mkBRecOn___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_indentD(lean_object*); +lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__8___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_FindImpl_findM_x3f_visit(lean_object*, size_t, lean_object*, lean_object*); uint8_t l___private_Init_Data_Array_Basic_0__Array_allDiffAuxAux___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_findRecArg_loop___spec__4(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_mkBRecOn___lambda__3___closed__5; @@ -376,6 +363,7 @@ lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_findRec lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_containsRecFn___lambda__1___boxed(lean_object*, lean_object*); lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_mkBRecOn___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_withLetDeclImp___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__8___lambda__2___closed__4; lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_ensureNoRecFn___lambda__1___closed__2; uint8_t lean_level_eq(lean_object*, lean_object*); lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_toBelow___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -386,8 +374,6 @@ lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Struc lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_mkBRecOn___spec__1(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*); lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__8___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_toBelowAux___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__13___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__10___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_mkConst(lean_object*, lean_object*); lean_object* l_Lean_Meta_forallBoundedTelescope___at___private_Lean_Meta_FunInfo_0__Lean_Meta_getFunInfoAux___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -402,7 +388,7 @@ lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_toBelow lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_hasBadIndexDep_x3f_match__3(lean_object*); extern lean_object* l_Array_findSomeM_x3f___rarg___closed__1; lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___lambda__1___closed__3; -lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__13___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_withLetDecl___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__9(lean_object*); lean_object* l_ReaderT_bind___at_Lean_Meta_Lean_Meta_Basic___instance__8___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_getFixedPrefix(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_structuralRecursion___closed__2; @@ -7516,6 +7502,101 @@ x_10 = l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_withBelowDict return x_10; } } +uint8_t l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_recArgHasLooseBVarsAt___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +uint8_t x_4; +x_4 = l_Lean_Expr_isAppOf(x_3, x_1); +if (x_4 == 0) +{ +uint8_t x_5; +x_5 = 0; +return x_5; +} +else +{ +lean_object* x_6; lean_object* x_7; uint8_t x_8; +x_6 = lean_unsigned_to_nat(0u); +x_7 = l_Lean_Expr_getAppNumArgsAux(x_3, x_6); +x_8 = lean_nat_dec_lt(x_2, x_7); +if (x_8 == 0) +{ +uint8_t x_9; +lean_dec(x_7); +x_9 = 0; +return x_9; +} +else +{ +lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; uint8_t x_14; +x_10 = lean_nat_sub(x_7, x_2); +lean_dec(x_7); +x_11 = lean_unsigned_to_nat(1u); +x_12 = lean_nat_sub(x_10, x_11); +lean_dec(x_10); +x_13 = l_Lean_Expr_getRevArg_x21(x_3, x_12); +x_14 = l_Lean_Expr_hasLooseBVars(x_13); +lean_dec(x_13); +return x_14; +} +} +} +} +uint8_t l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_recArgHasLooseBVarsAt(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; size_t x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; +x_4 = lean_ctor_get(x_2, 0); +x_5 = lean_array_get_size(x_4); +x_6 = lean_ctor_get(x_2, 2); +x_7 = lean_nat_add(x_5, x_6); +lean_dec(x_5); +x_8 = lean_alloc_closure((void*)(l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_recArgHasLooseBVarsAt___lambda__1___boxed), 3, 2); +lean_closure_set(x_8, 0, x_1); +lean_closure_set(x_8, 1, x_7); +x_9 = 8192; +x_10 = l_Lean_Expr_FindImpl_initCache; +x_11 = l_Lean_Expr_FindImpl_findM_x3f_visit(x_8, x_9, x_3, x_10); +x_12 = lean_ctor_get(x_11, 0); +lean_inc(x_12); +lean_dec(x_11); +if (lean_obj_tag(x_12) == 0) +{ +uint8_t x_13; +x_13 = 0; +return x_13; +} +else +{ +uint8_t x_14; +lean_dec(x_12); +x_14 = 1; +return x_14; +} +} +} +lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_recArgHasLooseBVarsAt___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +uint8_t x_4; lean_object* x_5; +x_4 = l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_recArgHasLooseBVarsAt___lambda__1(x_1, x_2, x_3); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_5 = lean_box(x_4); +return x_5; +} +} +lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_recArgHasLooseBVarsAt___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +uint8_t x_4; lean_object* x_5; +x_4 = l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_recArgHasLooseBVarsAt(x_1, x_2, x_3); +lean_dec(x_2); +x_5 = lean_box(x_4); +return x_5; +} +} lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop_match__1___rarg(lean_object* x_1, lean_object* x_2) { _start: { @@ -8956,878 +9037,7 @@ return x_63; } } } -uint8_t l_Array_anyMUnsafe_any___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__7(lean_object* x_1, lean_object* x_2, size_t x_3, size_t x_4) { -_start: -{ -uint8_t x_5; -x_5 = x_3 == x_4; -if (x_5 == 0) -{ -lean_object* x_6; uint8_t x_7; -x_6 = lean_array_uget(x_2, x_3); -lean_inc(x_1); -x_7 = l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_containsRecFn(x_1, x_6); -if (x_7 == 0) -{ -size_t x_8; size_t x_9; -x_8 = 1; -x_9 = x_3 + x_8; -x_3 = x_9; -goto _start; -} -else -{ -uint8_t x_11; -lean_dec(x_1); -x_11 = 1; -return x_11; -} -} -else -{ -uint8_t x_12; -lean_dec(x_1); -x_12 = 0; -return x_12; -} -} -} -lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__8(lean_object* x_1, lean_object* x_2, lean_object* x_3, size_t x_4, size_t x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { -_start: -{ -uint8_t x_12; -x_12 = x_5 < x_4; -if (x_12 == 0) -{ -lean_object* x_13; lean_object* x_14; -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -x_13 = x_6; -x_14 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_14, 0, x_13); -lean_ctor_set(x_14, 1, x_11); -return x_14; -} -else -{ -lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; -x_15 = lean_array_uget(x_6, x_5); -x_16 = lean_unsigned_to_nat(0u); -x_17 = lean_array_uset(x_6, x_5, x_16); -x_18 = x_15; -lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_8); -lean_inc(x_7); -lean_inc(x_3); -lean_inc(x_2); -lean_inc(x_1); -x_19 = l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop(x_1, x_2, x_3, x_18, x_7, x_8, x_9, x_10, x_11); -if (lean_obj_tag(x_19) == 0) -{ -lean_object* x_20; lean_object* x_21; size_t x_22; size_t x_23; lean_object* x_24; lean_object* x_25; -x_20 = lean_ctor_get(x_19, 0); -lean_inc(x_20); -x_21 = lean_ctor_get(x_19, 1); -lean_inc(x_21); -lean_dec(x_19); -x_22 = 1; -x_23 = x_5 + x_22; -x_24 = x_20; -x_25 = lean_array_uset(x_17, x_5, x_24); -x_5 = x_23; -x_6 = x_25; -x_11 = x_21; -goto _start; -} -else -{ -uint8_t x_27; -lean_dec(x_17); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -x_27 = !lean_is_exclusive(x_19); -if (x_27 == 0) -{ -return x_19; -} -else -{ -lean_object* x_28; lean_object* x_29; lean_object* x_30; -x_28 = lean_ctor_get(x_19, 0); -x_29 = lean_ctor_get(x_19, 1); -lean_inc(x_29); -lean_inc(x_28); -lean_dec(x_19); -x_30 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_30, 0, x_28); -lean_ctor_set(x_30, 1, x_29); -return x_30; -} -} -} -} -} -lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__9(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) { -_start: -{ -lean_object* x_15; uint8_t x_16; -x_15 = lean_ctor_get(x_6, 1); -x_16 = lean_nat_dec_le(x_15, x_8); -if (x_16 == 0) -{ -lean_object* x_17; uint8_t x_18; -x_17 = lean_unsigned_to_nat(0u); -x_18 = lean_nat_dec_eq(x_7, x_17); -if (x_18 == 0) -{ -lean_object* x_19; lean_object* x_20; uint8_t x_21; -x_19 = lean_unsigned_to_nat(1u); -x_20 = lean_nat_sub(x_7, x_19); -lean_dec(x_7); -x_21 = lean_nat_dec_eq(x_4, x_8); -if (x_21 == 0) -{ -lean_object* x_22; uint8_t x_23; -x_22 = lean_ctor_get(x_2, 3); -lean_inc(x_22); -x_23 = l_Array_contains___at___private_Lean_Meta_FunInfo_0__Lean_Meta_collectDeps_visit___spec__2(x_22, x_8); -lean_dec(x_22); -if (x_23 == 0) -{ -lean_object* x_24; lean_object* x_25; lean_object* x_26; -x_24 = l_Lean_Expr_Lean_Expr___instance__11; -x_25 = lean_array_get(x_24, x_5, x_8); -lean_inc(x_13); -lean_inc(x_12); -lean_inc(x_11); -lean_inc(x_10); -lean_inc(x_3); -lean_inc(x_2); -lean_inc(x_1); -x_26 = l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop(x_1, x_2, x_3, x_25, x_10, x_11, x_12, x_13, x_14); -if (lean_obj_tag(x_26) == 0) -{ -lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; -x_27 = lean_ctor_get(x_26, 0); -lean_inc(x_27); -x_28 = lean_ctor_get(x_26, 1); -lean_inc(x_28); -lean_dec(x_26); -x_29 = lean_array_push(x_9, x_27); -x_30 = lean_ctor_get(x_6, 2); -x_31 = lean_nat_add(x_8, x_30); -lean_dec(x_8); -x_7 = x_20; -x_8 = x_31; -x_9 = x_29; -x_14 = x_28; -goto _start; -} -else -{ -uint8_t x_33; -lean_dec(x_20); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -x_33 = !lean_is_exclusive(x_26); -if (x_33 == 0) -{ -return x_26; -} -else -{ -lean_object* x_34; lean_object* x_35; lean_object* x_36; -x_34 = lean_ctor_get(x_26, 0); -x_35 = lean_ctor_get(x_26, 1); -lean_inc(x_35); -lean_inc(x_34); -lean_dec(x_26); -x_36 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_36, 0, x_34); -lean_ctor_set(x_36, 1, x_35); -return x_36; -} -} -} -else -{ -lean_object* x_37; lean_object* x_38; -x_37 = lean_ctor_get(x_6, 2); -x_38 = lean_nat_add(x_8, x_37); -lean_dec(x_8); -x_7 = x_20; -x_8 = x_38; -goto _start; -} -} -else -{ -lean_object* x_40; lean_object* x_41; -x_40 = lean_ctor_get(x_6, 2); -x_41 = lean_nat_add(x_8, x_40); -lean_dec(x_8); -x_7 = x_20; -x_8 = x_41; -goto _start; -} -} -else -{ -lean_object* x_43; -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -x_43 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_43, 0, x_9); -lean_ctor_set(x_43, 1, x_14); -return x_43; -} -} -else -{ -lean_object* x_44; -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -x_44 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_44, 0, x_9); -lean_ctor_set(x_44, 1, x_14); -return x_44; -} -} -} -lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__10___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { -_start: -{ -lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; -x_13 = lean_array_get_size(x_1); -x_14 = l_Array_extract___rarg(x_1, x_2, x_13); -x_15 = lean_array_get_size(x_14); -x_16 = lean_unsigned_to_nat(0u); -x_17 = lean_unsigned_to_nat(1u); -lean_inc(x_15); -x_18 = lean_alloc_ctor(0, 3, 0); -lean_ctor_set(x_18, 0, x_16); -lean_ctor_set(x_18, 1, x_15); -lean_ctor_set(x_18, 2, x_17); -x_19 = l_Array_empty___closed__1; -x_20 = l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__9(x_3, x_4, x_5, x_6, x_14, x_18, x_15, x_16, x_19, x_8, x_9, x_10, x_11, x_12); -lean_dec(x_18); -lean_dec(x_14); -if (lean_obj_tag(x_20) == 0) -{ -uint8_t x_21; -x_21 = !lean_is_exclusive(x_20); -if (x_21 == 0) -{ -lean_object* x_22; lean_object* x_23; -x_22 = lean_ctor_get(x_20, 0); -x_23 = l_Lean_mkAppN(x_7, x_22); -lean_dec(x_22); -lean_ctor_set(x_20, 0, x_23); -return x_20; -} -else -{ -lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; -x_24 = lean_ctor_get(x_20, 0); -x_25 = lean_ctor_get(x_20, 1); -lean_inc(x_25); -lean_inc(x_24); -lean_dec(x_20); -x_26 = l_Lean_mkAppN(x_7, x_24); -lean_dec(x_24); -x_27 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_27, 0, x_26); -lean_ctor_set(x_27, 1, x_25); -return x_27; -} -} -else -{ -uint8_t x_28; -lean_dec(x_7); -x_28 = !lean_is_exclusive(x_20); -if (x_28 == 0) -{ -return x_20; -} -else -{ -lean_object* x_29; lean_object* x_30; lean_object* x_31; -x_29 = lean_ctor_get(x_20, 0); -x_30 = lean_ctor_get(x_20, 1); -lean_inc(x_30); -lean_inc(x_29); -lean_dec(x_20); -x_31 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_31, 0, x_29); -lean_ctor_set(x_31, 1, x_30); -return x_31; -} -} -} -} -lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__10___lambda__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) { -_start: -{ -lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; -x_15 = l_Lean_Expr_Lean_Expr___instance__11; -x_16 = lean_array_get(x_15, x_1, x_2); -x_17 = lean_ctor_get(x_5, 6); -lean_inc(x_17); -x_18 = lean_array_get_size(x_17); -lean_dec(x_17); -lean_inc(x_13); -lean_inc(x_12); -lean_inc(x_11); -lean_inc(x_10); -lean_inc(x_6); -x_19 = l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_toBelow(x_6, x_18, x_16, x_10, x_11, x_12, x_13, x_14); -if (lean_obj_tag(x_19) == 0) -{ -lean_object* x_20; lean_object* x_21; lean_object* x_22; -lean_dec(x_8); -x_20 = lean_ctor_get(x_19, 0); -lean_inc(x_20); -x_21 = lean_ctor_get(x_19, 1); -lean_inc(x_21); -lean_dec(x_19); -x_22 = l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__10___lambda__1(x_1, x_3, x_4, x_5, x_6, x_7, x_20, x_10, x_11, x_12, x_13, x_21); -return x_22; -} -else -{ -lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; uint8_t x_30; -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_1); -x_23 = lean_ctor_get(x_19, 1); -lean_inc(x_23); -lean_dec(x_19); -x_24 = l_Lean_indentExpr(x_8); -x_25 = l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__3___lambda__2___closed__2; -x_26 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_26, 0, x_25); -lean_ctor_set(x_26, 1, x_24); -x_27 = l_Array_foldlMUnsafe_fold___at_Lean_withNestedTraces___spec__5___closed__1; -x_28 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_28, 0, x_26); -lean_ctor_set(x_28, 1, x_27); -x_29 = l_Lean_throwError___at_Lean_Meta_getMVarDecl___spec__1___rarg(x_28, x_10, x_11, x_12, x_13, x_23); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -x_30 = !lean_is_exclusive(x_29); -if (x_30 == 0) -{ -return x_29; -} -else -{ -lean_object* x_31; lean_object* x_32; lean_object* x_33; -x_31 = lean_ctor_get(x_29, 0); -x_32 = lean_ctor_get(x_29, 1); -lean_inc(x_32); -lean_inc(x_31); -lean_dec(x_29); -x_33 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_33, 0, x_31); -lean_ctor_set(x_33, 1, x_32); -return x_33; -} -} -} -} -lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__10(lean_object* x_1, lean_object* x_2, lean_object* x_3, size_t x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { -_start: -{ -if (lean_obj_tag(x_6) == 5) -{ -lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; -x_14 = lean_ctor_get(x_6, 0); -lean_inc(x_14); -x_15 = lean_ctor_get(x_6, 1); -lean_inc(x_15); -lean_dec(x_6); -x_16 = lean_array_set(x_7, x_8, x_15); -x_17 = lean_unsigned_to_nat(1u); -x_18 = lean_nat_sub(x_8, x_17); -lean_dec(x_8); -x_6 = x_14; -x_7 = x_16; -x_8 = x_18; -goto _start; -} -else -{ -uint8_t x_20; -lean_dec(x_8); -x_20 = l_Lean_Expr_isConstOf(x_6, x_1); -if (x_20 == 0) -{ -lean_object* x_21; -lean_dec(x_5); -lean_inc(x_12); -lean_inc(x_11); -lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_3); -lean_inc(x_2); -lean_inc(x_1); -x_21 = l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop(x_1, x_2, x_3, x_6, x_9, x_10, x_11, x_12, x_13); -if (lean_obj_tag(x_21) == 0) -{ -lean_object* x_22; lean_object* x_23; lean_object* x_24; size_t x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; -x_22 = lean_ctor_get(x_21, 0); -lean_inc(x_22); -x_23 = lean_ctor_get(x_21, 1); -lean_inc(x_23); -lean_dec(x_21); -x_24 = lean_array_get_size(x_7); -x_25 = lean_usize_of_nat(x_24); -lean_dec(x_24); -x_26 = x_7; -x_27 = lean_box_usize(x_25); -x_28 = lean_box_usize(x_4); -x_29 = lean_alloc_closure((void*)(l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__8___boxed), 11, 6); -lean_closure_set(x_29, 0, x_1); -lean_closure_set(x_29, 1, x_2); -lean_closure_set(x_29, 2, x_3); -lean_closure_set(x_29, 3, x_27); -lean_closure_set(x_29, 4, x_28); -lean_closure_set(x_29, 5, x_26); -x_30 = x_29; -x_31 = lean_apply_5(x_30, x_9, x_10, x_11, x_12, x_23); -if (lean_obj_tag(x_31) == 0) -{ -uint8_t x_32; -x_32 = !lean_is_exclusive(x_31); -if (x_32 == 0) -{ -lean_object* x_33; lean_object* x_34; -x_33 = lean_ctor_get(x_31, 0); -x_34 = l_Lean_mkAppN(x_22, x_33); -lean_dec(x_33); -lean_ctor_set(x_31, 0, x_34); -return x_31; -} -else -{ -lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; -x_35 = lean_ctor_get(x_31, 0); -x_36 = lean_ctor_get(x_31, 1); -lean_inc(x_36); -lean_inc(x_35); -lean_dec(x_31); -x_37 = l_Lean_mkAppN(x_22, x_35); -lean_dec(x_35); -x_38 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_38, 0, x_37); -lean_ctor_set(x_38, 1, x_36); -return x_38; -} -} -else -{ -uint8_t x_39; -lean_dec(x_22); -x_39 = !lean_is_exclusive(x_31); -if (x_39 == 0) -{ -return x_31; -} -else -{ -lean_object* x_40; lean_object* x_41; lean_object* x_42; -x_40 = lean_ctor_get(x_31, 0); -x_41 = lean_ctor_get(x_31, 1); -lean_inc(x_41); -lean_inc(x_40); -lean_dec(x_31); -x_42 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_42, 0, x_40); -lean_ctor_set(x_42, 1, x_41); -return x_42; -} -} -} -else -{ -uint8_t x_43; -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_7); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -x_43 = !lean_is_exclusive(x_21); -if (x_43 == 0) -{ -return x_21; -} -else -{ -lean_object* x_44; lean_object* x_45; lean_object* x_46; -x_44 = lean_ctor_get(x_21, 0); -x_45 = lean_ctor_get(x_21, 1); -lean_inc(x_45); -lean_inc(x_44); -lean_dec(x_21); -x_46 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_46, 0, x_44); -lean_ctor_set(x_46, 1, x_45); -return x_46; -} -} -} -else -{ -lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; uint8_t x_52; -lean_dec(x_6); -x_47 = lean_ctor_get(x_2, 0); -lean_inc(x_47); -x_48 = lean_array_get_size(x_47); -lean_dec(x_47); -x_49 = lean_ctor_get(x_2, 2); -lean_inc(x_49); -x_50 = lean_nat_add(x_48, x_49); -x_51 = lean_array_get_size(x_7); -x_52 = lean_nat_dec_le(x_51, x_50); -lean_dec(x_51); -if (x_52 == 0) -{ -lean_object* x_53; lean_object* x_54; -x_53 = lean_box(0); -x_54 = l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__10___lambda__2(x_7, x_50, x_48, x_1, x_2, x_3, x_49, x_5, x_53, x_9, x_10, x_11, x_12, x_13); -lean_dec(x_49); -lean_dec(x_50); -return x_54; -} -else -{ -lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; uint8_t x_61; -lean_dec(x_50); -lean_dec(x_49); -lean_dec(x_48); -lean_dec(x_7); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -x_55 = l_Lean_indentExpr(x_5); -x_56 = l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__3___closed__2; -x_57 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_57, 0, x_56); -lean_ctor_set(x_57, 1, x_55); -x_58 = l_Array_foldlMUnsafe_fold___at_Lean_withNestedTraces___spec__5___closed__1; -x_59 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_59, 0, x_57); -lean_ctor_set(x_59, 1, x_58); -x_60 = l_Lean_throwError___at_Lean_Meta_getMVarDecl___spec__1___rarg(x_59, x_9, x_10, x_11, x_12, x_13); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -x_61 = !lean_is_exclusive(x_60); -if (x_61 == 0) -{ -return x_60; -} -else -{ -lean_object* x_62; lean_object* x_63; lean_object* x_64; -x_62 = lean_ctor_get(x_60, 0); -x_63 = lean_ctor_get(x_60, 1); -lean_inc(x_63); -lean_inc(x_62); -lean_dec(x_60); -x_64 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_64, 0, x_62); -lean_ctor_set(x_64, 1, x_63); -return x_64; -} -} -} -} -} -} -static lean_object* _init_l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__11___closed__1() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string("new discr ["); -return x_1; -} -} -static lean_object* _init_l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__11___closed__2() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__11___closed__1; -x_2 = l_Lean_stringToMessageData(x_1); -return x_2; -} -} -static lean_object* _init_l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__11___closed__3() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string("]: "); -return x_1; -} -} -static lean_object* _init_l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__11___closed__4() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__11___closed__3; -x_2 = l_Lean_stringToMessageData(x_1); -return x_2; -} -} -lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__11(lean_object* x_1, lean_object* x_2, lean_object* x_3, size_t x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { -_start: -{ -lean_object* x_14; uint8_t x_15; -x_14 = lean_ctor_get(x_5, 1); -x_15 = lean_nat_dec_le(x_14, x_7); -if (x_15 == 0) -{ -lean_object* x_16; uint8_t x_17; -x_16 = lean_unsigned_to_nat(0u); -x_17 = lean_nat_dec_eq(x_6, x_16); -if (x_17 == 0) -{ -lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; -x_18 = lean_unsigned_to_nat(1u); -x_19 = lean_nat_sub(x_6, x_18); -lean_dec(x_6); -x_20 = l_Lean_Expr_Lean_Expr___instance__11; -x_21 = lean_array_get(x_20, x_8, x_7); -x_22 = l_Lean_Expr_getAppNumArgsAux(x_21, x_16); -x_23 = l_Lean_Expr_getAppArgs___closed__1; -lean_inc(x_22); -x_24 = lean_mk_array(x_22, x_23); -x_25 = lean_nat_sub(x_22, x_18); -lean_dec(x_22); -lean_inc(x_12); -lean_inc(x_11); -lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_21); -lean_inc(x_3); -lean_inc(x_2); -lean_inc(x_1); -x_26 = l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__10(x_1, x_2, x_3, x_4, x_21, x_21, x_24, x_25, x_9, x_10, x_11, x_12, x_13); -if (lean_obj_tag(x_26) == 0) -{ -lean_object* x_27; lean_object* x_28; uint8_t x_29; lean_object* x_30; lean_object* x_53; lean_object* x_54; lean_object* x_55; uint8_t x_56; -x_27 = lean_ctor_get(x_26, 0); -lean_inc(x_27); -x_28 = lean_ctor_get(x_26, 1); -lean_inc(x_28); -lean_dec(x_26); -x_53 = lean_st_ref_get(x_12, x_28); -x_54 = lean_ctor_get(x_53, 0); -lean_inc(x_54); -x_55 = lean_ctor_get(x_54, 3); -lean_inc(x_55); -lean_dec(x_54); -x_56 = lean_ctor_get_uint8(x_55, sizeof(void*)*1); -lean_dec(x_55); -if (x_56 == 0) -{ -lean_object* x_57; uint8_t x_58; -x_57 = lean_ctor_get(x_53, 1); -lean_inc(x_57); -lean_dec(x_53); -x_58 = 0; -x_29 = x_58; -x_30 = x_57; -goto block_52; -} -else -{ -lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; uint8_t x_64; -x_59 = lean_ctor_get(x_53, 1); -lean_inc(x_59); -lean_dec(x_53); -x_60 = l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_toBelowAux___closed__12; -x_61 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__2(x_60, x_9, x_10, x_11, x_12, x_59); -x_62 = lean_ctor_get(x_61, 0); -lean_inc(x_62); -x_63 = lean_ctor_get(x_61, 1); -lean_inc(x_63); -lean_dec(x_61); -x_64 = lean_unbox(x_62); -lean_dec(x_62); -x_29 = x_64; -x_30 = x_63; -goto block_52; -} -block_52: -{ -if (x_29 == 0) -{ -lean_object* x_31; lean_object* x_32; lean_object* x_33; -x_31 = lean_array_set(x_8, x_7, x_27); -x_32 = lean_ctor_get(x_5, 2); -x_33 = lean_nat_add(x_7, x_32); -lean_dec(x_7); -x_6 = x_19; -x_7 = x_33; -x_8 = x_31; -x_13 = x_30; -goto _start; -} -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; 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_inc(x_7); -x_35 = l_Lean_fmt___at_Lean_Position_Lean_Data_Position___instance__2___spec__1(x_7); -x_36 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_36, 0, x_35); -x_37 = l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__11___closed__2; -x_38 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_38, 0, x_37); -lean_ctor_set(x_38, 1, x_36); -x_39 = l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__11___closed__4; -x_40 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_40, 0, x_38); -lean_ctor_set(x_40, 1, x_39); -lean_inc(x_27); -x_41 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_41, 0, x_27); -x_42 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_42, 0, x_40); -lean_ctor_set(x_42, 1, x_41); -x_43 = l_Array_foldlMUnsafe_fold___at_Lean_withNestedTraces___spec__5___closed__1; -x_44 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_44, 0, x_42); -lean_ctor_set(x_44, 1, x_43); -x_45 = l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_toBelowAux___closed__12; -x_46 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEqAux___spec__1(x_45, x_44, x_9, x_10, x_11, x_12, x_30); -x_47 = lean_ctor_get(x_46, 1); -lean_inc(x_47); -lean_dec(x_46); -x_48 = lean_array_set(x_8, x_7, x_27); -x_49 = lean_ctor_get(x_5, 2); -x_50 = lean_nat_add(x_7, x_49); -lean_dec(x_7); -x_6 = x_19; -x_7 = x_50; -x_8 = x_48; -x_13 = x_47; -goto _start; -} -} -} -else -{ -uint8_t x_65; -lean_dec(x_19); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -x_65 = !lean_is_exclusive(x_26); -if (x_65 == 0) -{ -return x_26; -} -else -{ -lean_object* x_66; lean_object* x_67; lean_object* x_68; -x_66 = lean_ctor_get(x_26, 0); -x_67 = lean_ctor_get(x_26, 1); -lean_inc(x_67); -lean_inc(x_66); -lean_dec(x_26); -x_68 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_68, 0, x_66); -lean_ctor_set(x_68, 1, x_67); -return x_68; -} -} -} -else -{ -lean_object* x_69; -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -x_69 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_69, 0, x_8); -lean_ctor_set(x_69, 1, x_13); -return x_69; -} -} -else -{ -lean_object* x_70; -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -x_70 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_70, 0, x_8); -lean_ctor_set(x_70, 1, x_13); -return x_70; -} -} -} -lean_object* l_Lean_Meta_lambdaTelescope___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__12___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +lean_object* l_Lean_Meta_lambdaTelescope___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__7___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { _start: { uint8_t x_8; lean_object* x_9; @@ -9879,15 +9089,15 @@ return x_17; } } } -lean_object* l_Lean_Meta_lambdaTelescope___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__12(lean_object* x_1) { +lean_object* l_Lean_Meta_lambdaTelescope___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__7(lean_object* x_1) { _start: { lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Lean_Meta_lambdaTelescope___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__12___rarg), 7, 0); +x_2 = lean_alloc_closure((void*)(l_Lean_Meta_lambdaTelescope___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__7___rarg), 7, 0); return x_2; } } -lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__13___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__8___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { _start: { lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; @@ -9944,7 +9154,7 @@ return x_23; } } } -static lean_object* _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__13___lambda__2___closed__1() { +static lean_object* _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__8___lambda__2___closed__1() { _start: { lean_object* x_1; @@ -9952,16 +9162,16 @@ x_1 = lean_mk_string("unexpected matcher application alternative"); return x_1; } } -static lean_object* _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__13___lambda__2___closed__2() { +static lean_object* _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__8___lambda__2___closed__2() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__13___lambda__2___closed__1; +x_1 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__8___lambda__2___closed__1; x_2 = l_Lean_stringToMessageData(x_1); return x_2; } } -static lean_object* _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__13___lambda__2___closed__3() { +static lean_object* _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__8___lambda__2___closed__3() { _start: { lean_object* x_1; @@ -9969,16 +9179,16 @@ x_1 = lean_mk_string("\nat application"); return x_1; } } -static lean_object* _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__13___lambda__2___closed__4() { +static lean_object* _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__8___lambda__2___closed__4() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__13___lambda__2___closed__3; +x_1 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__8___lambda__2___closed__3; x_2 = l_Lean_stringToMessageData(x_1); return x_2; } } -static lean_object* _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__13___lambda__2___closed__5() { +static lean_object* _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__8___lambda__2___closed__5() { _start: { lean_object* x_1; @@ -9986,20 +9196,20 @@ x_1 = lean_mk_string("altNumParams: "); return x_1; } } -static lean_object* _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__13___lambda__2___closed__6() { +static lean_object* _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__8___lambda__2___closed__6() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__13___lambda__2___closed__5; +x_1 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__8___lambda__2___closed__5; x_2 = l_Lean_stringToMessageData(x_1); return x_2; } } -lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__13___lambda__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { +lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__8___lambda__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { _start: { -lean_object* x_14; uint8_t x_34; lean_object* x_35; lean_object* x_51; lean_object* x_52; lean_object* x_53; uint8_t x_54; -x_51 = lean_st_ref_get(x_12, x_13); +lean_object* x_13; uint8_t x_33; lean_object* x_34; lean_object* x_51; lean_object* x_52; lean_object* x_53; uint8_t x_54; +x_51 = lean_st_ref_get(x_11, x_12); x_52 = lean_ctor_get(x_51, 0); lean_inc(x_52); x_53 = lean_ctor_get(x_52, 3); @@ -10014,242 +9224,238 @@ x_55 = lean_ctor_get(x_51, 1); lean_inc(x_55); lean_dec(x_51); x_56 = 0; -x_34 = x_56; -x_35 = x_55; +x_33 = x_56; +x_34 = x_55; goto block_50; } else { -lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; uint8_t x_61; +lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; uint8_t x_62; x_57 = lean_ctor_get(x_51, 1); lean_inc(x_57); lean_dec(x_51); -lean_inc(x_6); -x_58 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__2(x_6, x_9, x_10, x_11, x_12, x_57); -x_59 = lean_ctor_get(x_58, 0); -lean_inc(x_59); -x_60 = lean_ctor_get(x_58, 1); +x_58 = l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_toBelowAux___closed__12; +x_59 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__2(x_58, x_8, x_9, x_10, x_11, x_57); +x_60 = lean_ctor_get(x_59, 0); lean_inc(x_60); -lean_dec(x_58); -x_61 = lean_unbox(x_59); +x_61 = lean_ctor_get(x_59, 1); +lean_inc(x_61); lean_dec(x_59); +x_62 = lean_unbox(x_60); +lean_dec(x_60); +x_33 = x_62; x_34 = x_61; -x_35 = x_60; goto block_50; } -block_33: +block_32: { -lean_object* x_15; uint8_t x_16; -x_15 = lean_array_get_size(x_7); -x_16 = lean_nat_dec_le(x_1, x_15); -lean_dec(x_15); -if (x_16 == 0) +lean_object* x_14; uint8_t x_15; +x_14 = lean_array_get_size(x_6); +x_15 = lean_nat_dec_le(x_1, x_14); +lean_dec(x_14); +if (x_15 == 0) { -lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; uint8_t x_27; +lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; uint8_t x_26; +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_16 = l_Lean_indentExpr(x_4); +x_17 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__8___lambda__2___closed__2; +x_18 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_18, 0, x_17); +lean_ctor_set(x_18, 1, x_16); +x_19 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__8___lambda__2___closed__4; +x_20 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_20, 0, x_18); +lean_ctor_set(x_20, 1, x_19); +x_21 = l_Lean_indentExpr(x_5); +x_22 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_22, 0, x_20); +lean_ctor_set(x_22, 1, x_21); +x_23 = l_Array_foldlMUnsafe_fold___at_Lean_withNestedTraces___spec__5___closed__1; +x_24 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_24, 0, x_22); +lean_ctor_set(x_24, 1, x_23); +x_25 = l_Lean_throwError___at_Lean_Meta_getMVarDecl___spec__1___rarg(x_24, x_8, x_9, x_10, x_11, x_13); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +x_26 = !lean_is_exclusive(x_25); +if (x_26 == 0) +{ +return x_25; +} +else +{ +lean_object* x_27; lean_object* x_28; lean_object* x_29; +x_27 = lean_ctor_get(x_25, 0); +x_28 = lean_ctor_get(x_25, 1); +lean_inc(x_28); +lean_inc(x_27); +lean_dec(x_25); +x_29 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_29, 0, x_27); +lean_ctor_set(x_29, 1, x_28); +return x_29; +} +} +else +{ +lean_object* x_30; lean_object* x_31; +lean_dec(x_5); +lean_dec(x_4); +x_30 = lean_box(0); +x_31 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__8___lambda__1(x_1, x_6, x_2, x_3, x_7, x_30, x_8, x_9, x_10, x_11, x_13); +lean_dec(x_1); +return x_31; +} +} +block_50: +{ +if (x_33 == 0) +{ +x_13 = x_34; +goto block_32; +} +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; 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_inc(x_1); +x_35 = l_Lean_fmt___at_Lean_Position_Lean_Data_Position___instance__2___spec__1(x_1); +x_36 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_36, 0, x_35); +x_37 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__8___lambda__2___closed__6; +x_38 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_38, 0, x_37); +lean_ctor_set(x_38, 1, x_36); +x_39 = l_Lean_Meta_mkAppM___rarg___lambda__1___closed__4; +x_40 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_40, 0, x_38); +lean_ctor_set(x_40, 1, x_39); +x_41 = l_Array_toList___rarg(x_6); +x_42 = l_List_map___at_Lean_MessageData_Lean_Message___instance__12___spec__1(x_41); +x_43 = l_Lean_MessageData_ofList(x_42); +lean_dec(x_42); +x_44 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_44, 0, x_40); +lean_ctor_set(x_44, 1, x_43); +x_45 = l_Array_foldlMUnsafe_fold___at_Lean_withNestedTraces___spec__5___closed__1; +x_46 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_46, 0, x_44); +lean_ctor_set(x_46, 1, x_45); +x_47 = l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_toBelowAux___closed__12; +x_48 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEqAux___spec__1(x_47, x_46, x_8, x_9, x_10, x_11, x_34); +x_49 = lean_ctor_get(x_48, 1); +lean_inc(x_49); +lean_dec(x_48); +x_13 = x_49; +goto block_32; +} +} +} +} +lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__8(lean_object* x_1, lean_object* x_2, lean_object* x_3, size_t x_4, size_t x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +_start: +{ +uint8_t x_12; +x_12 = x_5 < x_4; +if (x_12 == 0) +{ +lean_object* x_13; lean_object* x_14; +lean_dec(x_10); +lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_17 = l_Lean_indentExpr(x_4); -x_18 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__13___lambda__2___closed__2; -x_19 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_19, 0, x_18); -lean_ctor_set(x_19, 1, x_17); -x_20 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__13___lambda__2___closed__4; -x_21 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_21, 0, x_19); -lean_ctor_set(x_21, 1, x_20); -x_22 = l_Lean_indentExpr(x_5); -x_23 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_23, 0, x_21); -lean_ctor_set(x_23, 1, x_22); -x_24 = l_Array_foldlMUnsafe_fold___at_Lean_withNestedTraces___spec__5___closed__1; -x_25 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_25, 0, x_23); -lean_ctor_set(x_25, 1, x_24); -x_26 = l_Lean_throwError___at_Lean_Meta_getMVarDecl___spec__1___rarg(x_25, x_9, x_10, x_11, x_12, x_14); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -x_27 = !lean_is_exclusive(x_26); -if (x_27 == 0) -{ -return x_26; +x_13 = x_6; +x_14 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_14, 0, x_13); +lean_ctor_set(x_14, 1, x_11); +return x_14; } else { -lean_object* x_28; lean_object* x_29; lean_object* x_30; -x_28 = lean_ctor_get(x_26, 0); -x_29 = lean_ctor_get(x_26, 1); -lean_inc(x_29); -lean_inc(x_28); -lean_dec(x_26); -x_30 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_30, 0, x_28); -lean_ctor_set(x_30, 1, x_29); -return x_30; -} -} -else -{ -lean_object* x_31; lean_object* x_32; -lean_dec(x_5); -lean_dec(x_4); -x_31 = lean_box(0); -x_32 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__13___lambda__1(x_1, x_7, x_2, x_3, x_8, x_31, x_9, x_10, x_11, x_12, x_14); -lean_dec(x_1); -return x_32; -} -} -block_50: -{ -if (x_34 == 0) -{ -lean_dec(x_6); -x_14 = x_35; -goto block_33; -} -else -{ -lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; -lean_inc(x_1); -x_36 = l_Lean_fmt___at_Lean_Position_Lean_Data_Position___instance__2___spec__1(x_1); -x_37 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_37, 0, x_36); -x_38 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__13___lambda__2___closed__6; -x_39 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_39, 0, x_38); -lean_ctor_set(x_39, 1, x_37); -x_40 = l_Lean_Meta_mkAppM___rarg___lambda__1___closed__4; -x_41 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_41, 0, x_39); -lean_ctor_set(x_41, 1, x_40); -x_42 = l_Array_toList___rarg(x_7); -x_43 = l_List_map___at_Lean_MessageData_Lean_Message___instance__12___spec__1(x_42); -x_44 = l_Lean_MessageData_ofList(x_43); -lean_dec(x_43); -x_45 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_45, 0, x_41); -lean_ctor_set(x_45, 1, x_44); -x_46 = l_Array_foldlMUnsafe_fold___at_Lean_withNestedTraces___spec__5___closed__1; -x_47 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_47, 0, x_45); -lean_ctor_set(x_47, 1, x_46); -x_48 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEqAux___spec__1(x_6, x_47, x_9, x_10, x_11, x_12, x_35); -x_49 = lean_ctor_get(x_48, 1); -lean_inc(x_49); -lean_dec(x_48); -x_14 = x_49; -goto block_33; -} -} -} -} -lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__13(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, size_t x_5, size_t x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { -_start: -{ -uint8_t x_13; -x_13 = x_6 < x_5; -if (x_13 == 0) -{ -lean_object* x_14; lean_object* x_15; -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -x_14 = x_7; -x_15 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_15, 0, x_14); -lean_ctor_set(x_15, 1, x_12); -return x_15; -} -else -{ -lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; -x_16 = lean_array_uget(x_7, x_6); -x_17 = lean_unsigned_to_nat(0u); -x_18 = lean_array_uset(x_7, x_6, x_17); -x_19 = x_16; -x_20 = lean_ctor_get(x_19, 0); +lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; +x_15 = lean_array_uget(x_6, x_5); +x_16 = lean_unsigned_to_nat(0u); +x_17 = lean_array_uset(x_6, x_5, x_16); +x_18 = x_15; +x_19 = lean_ctor_get(x_18, 0); +lean_inc(x_19); +x_20 = lean_ctor_get(x_18, 1); lean_inc(x_20); -x_21 = lean_ctor_get(x_19, 1); -lean_inc(x_21); -lean_dec(x_19); -lean_inc(x_4); +lean_dec(x_18); lean_inc(x_3); -lean_inc(x_20); +lean_inc(x_19); lean_inc(x_2); lean_inc(x_1); -x_22 = lean_alloc_closure((void*)(l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__13___lambda__2), 13, 6); -lean_closure_set(x_22, 0, x_21); -lean_closure_set(x_22, 1, x_1); -lean_closure_set(x_22, 2, x_2); -lean_closure_set(x_22, 3, x_20); -lean_closure_set(x_22, 4, x_3); -lean_closure_set(x_22, 5, x_4); -lean_inc(x_11); +x_21 = lean_alloc_closure((void*)(l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__8___lambda__2), 12, 5); +lean_closure_set(x_21, 0, x_20); +lean_closure_set(x_21, 1, x_1); +lean_closure_set(x_21, 2, x_2); +lean_closure_set(x_21, 3, x_19); +lean_closure_set(x_21, 4, x_3); lean_inc(x_10); lean_inc(x_9); lean_inc(x_8); -x_23 = l_Lean_Meta_lambdaTelescope___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__12___rarg(x_20, x_22, x_8, x_9, x_10, x_11, x_12); -if (lean_obj_tag(x_23) == 0) +lean_inc(x_7); +x_22 = l_Lean_Meta_lambdaTelescope___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__7___rarg(x_19, x_21, x_7, x_8, x_9, x_10, x_11); +if (lean_obj_tag(x_22) == 0) { -lean_object* x_24; lean_object* x_25; size_t x_26; size_t x_27; lean_object* x_28; lean_object* x_29; -x_24 = lean_ctor_get(x_23, 0); +lean_object* x_23; lean_object* x_24; size_t x_25; size_t x_26; lean_object* x_27; lean_object* x_28; +x_23 = lean_ctor_get(x_22, 0); +lean_inc(x_23); +x_24 = lean_ctor_get(x_22, 1); lean_inc(x_24); -x_25 = lean_ctor_get(x_23, 1); -lean_inc(x_25); -lean_dec(x_23); -x_26 = 1; -x_27 = x_6 + x_26; -x_28 = x_24; -x_29 = lean_array_uset(x_18, x_6, x_28); -x_6 = x_27; -x_7 = x_29; -x_12 = x_25; +lean_dec(x_22); +x_25 = 1; +x_26 = x_5 + x_25; +x_27 = x_23; +x_28 = lean_array_uset(x_17, x_5, x_27); +x_5 = x_26; +x_6 = x_28; +x_11 = x_24; goto _start; } else { -uint8_t x_31; -lean_dec(x_18); -lean_dec(x_11); +uint8_t x_30; +lean_dec(x_17); lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); -lean_dec(x_4); +lean_dec(x_7); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_31 = !lean_is_exclusive(x_23); -if (x_31 == 0) +x_30 = !lean_is_exclusive(x_22); +if (x_30 == 0) { -return x_23; +return x_22; } else { -lean_object* x_32; lean_object* x_33; lean_object* x_34; -x_32 = lean_ctor_get(x_23, 0); -x_33 = lean_ctor_get(x_23, 1); -lean_inc(x_33); +lean_object* x_31; lean_object* x_32; lean_object* x_33; +x_31 = lean_ctor_get(x_22, 0); +x_32 = lean_ctor_get(x_22, 1); lean_inc(x_32); -lean_dec(x_23); -x_34 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_34, 0, x_32); -lean_ctor_set(x_34, 1, x_33); -return x_34; +lean_inc(x_31); +lean_dec(x_22); +x_33 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_33, 0, x_31); +lean_ctor_set(x_33, 1, x_32); +return x_33; } } } } } -lean_object* l_Lean_Meta_withLetDecl___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__14___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { +lean_object* l_Lean_Meta_withLetDecl___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__9___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { _start: { lean_object* x_10; @@ -10300,11 +9506,11 @@ return x_18; } } } -lean_object* l_Lean_Meta_withLetDecl___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__14(lean_object* x_1) { +lean_object* l_Lean_Meta_withLetDecl___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__9(lean_object* x_1) { _start: { lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Lean_Meta_withLetDecl___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__14___rarg), 9, 0); +x_2 = lean_alloc_closure((void*)(l_Lean_Meta_withLetDecl___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__9___rarg), 9, 0); return x_2; } } @@ -10466,23 +9672,6 @@ x_1 = lean_alloc_closure((void*)(l___private_Lean_Elab_PreDefinition_Structural_ return x_1; } } -static lean_object* _init_l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___closed__2() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string("discrs: "); -return x_1; -} -} -static lean_object* _init_l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___closed__3() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___closed__2; -x_2 = l_Lean_stringToMessageData(x_1); -return x_2; -} -} static lean_object* _init_l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___boxed__const__1() { _start: { @@ -10498,349 +9687,279 @@ _start: switch (lean_obj_tag(x_4)) { case 5: { -lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; +lean_object* x_10; lean_object* x_11; lean_inc(x_4); x_10 = l_Lean_Meta_matchMatcherApp_x3f(x_4, x_5, x_6, x_7, x_8, x_9); x_11 = lean_ctor_get(x_10, 0); lean_inc(x_11); +if (lean_obj_tag(x_11) == 0) +{ +lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; x_12 = lean_ctor_get(x_10, 1); lean_inc(x_12); lean_dec(x_10); -if (lean_obj_tag(x_11) == 0) -{ -lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; -x_22 = lean_unsigned_to_nat(0u); -x_23 = l_Lean_Expr_getAppNumArgsAux(x_4, x_22); -x_24 = l_Lean_Expr_getAppArgs___closed__1; -lean_inc(x_23); -x_25 = lean_mk_array(x_23, x_24); -x_26 = lean_unsigned_to_nat(1u); -x_27 = lean_nat_sub(x_23, x_26); -lean_dec(x_23); +x_13 = lean_unsigned_to_nat(0u); +x_14 = l_Lean_Expr_getAppNumArgsAux(x_4, x_13); +x_15 = l_Lean_Expr_getAppArgs___closed__1; +lean_inc(x_14); +x_16 = lean_mk_array(x_14, x_15); +x_17 = lean_unsigned_to_nat(1u); +x_18 = lean_nat_sub(x_14, x_17); +lean_dec(x_14); lean_inc(x_4); -x_28 = l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__6(x_1, x_2, x_3, x_4, x_4, x_25, x_27, x_5, x_6, x_7, x_8, x_12); -return x_28; +x_19 = l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__3(x_1, x_2, x_3, x_4, x_4, x_16, x_18, x_5, x_6, x_7, x_8, x_12); +return x_19; } else { -lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; uint8_t x_33; -x_29 = lean_ctor_get(x_11, 0); -lean_inc(x_29); +lean_object* x_20; lean_object* x_21; uint8_t x_22; +x_20 = lean_ctor_get(x_10, 1); +lean_inc(x_20); +lean_dec(x_10); +x_21 = lean_ctor_get(x_11, 0); +lean_inc(x_21); lean_dec(x_11); -x_30 = lean_ctor_get(x_29, 7); -lean_inc(x_30); -x_31 = lean_array_get_size(x_30); -x_32 = lean_unsigned_to_nat(0u); -x_33 = lean_nat_dec_lt(x_32, x_31); -if (x_33 == 0) +lean_inc(x_4); +lean_inc(x_1); +x_22 = l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_recArgHasLooseBVarsAt(x_1, x_2, x_4); +if (x_22 == 0) { -lean_object* x_34; -lean_dec(x_31); -lean_dec(x_30); -lean_dec(x_29); -x_34 = lean_box(0); -x_13 = x_34; -goto block_21; +lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; +lean_dec(x_21); +x_23 = lean_unsigned_to_nat(0u); +x_24 = l_Lean_Expr_getAppNumArgsAux(x_4, x_23); +x_25 = l_Lean_Expr_getAppArgs___closed__1; +lean_inc(x_24); +x_26 = lean_mk_array(x_24, x_25); +x_27 = lean_unsigned_to_nat(1u); +x_28 = lean_nat_sub(x_24, x_27); +lean_dec(x_24); +lean_inc(x_4); +x_29 = l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__6(x_1, x_2, x_3, x_4, x_4, x_26, x_28, x_5, x_6, x_7, x_8, x_20); +return x_29; } else { -uint8_t x_35; -x_35 = lean_nat_dec_le(x_31, x_31); +lean_object* x_30; lean_object* x_31; lean_object* x_32; +x_30 = lean_alloc_closure((void*)(l_Lean_Meta_MatcherApp_addArg), 7, 2); +lean_closure_set(x_30, 0, x_21); +lean_closure_set(x_30, 1, x_3); +x_31 = l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___closed__1; +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +x_32 = l_Lean_Meta_mapErrorImp___rarg(x_30, x_31, x_5, x_6, x_7, x_8, x_20); +if (lean_obj_tag(x_32) == 0) +{ +lean_object* x_33; lean_object* x_34; uint8_t x_35; +x_33 = lean_ctor_get(x_32, 0); +lean_inc(x_33); +x_34 = lean_ctor_get(x_32, 1); +lean_inc(x_34); +lean_dec(x_32); +x_35 = !lean_is_exclusive(x_33); if (x_35 == 0) { -lean_object* x_36; -lean_dec(x_31); -lean_dec(x_30); -lean_dec(x_29); -x_36 = lean_box(0); -x_13 = x_36; -goto block_21; -} -else -{ -size_t x_37; size_t x_38; uint8_t x_39; -x_37 = 0; -x_38 = lean_usize_of_nat(x_31); -lean_dec(x_31); -lean_inc(x_1); -x_39 = l_Array_anyMUnsafe_any___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__7(x_1, x_30, x_37, x_38); -lean_dec(x_30); -if (x_39 == 0) -{ -lean_object* x_40; -lean_dec(x_29); -x_40 = lean_box(0); -x_13 = x_40; -goto block_21; -} -else -{ -lean_object* x_41; lean_object* x_42; lean_object* x_43; -lean_inc(x_3); -x_41 = lean_alloc_closure((void*)(l_Lean_Meta_MatcherApp_addArg), 7, 2); -lean_closure_set(x_41, 0, x_29); -lean_closure_set(x_41, 1, x_3); -x_42 = l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___closed__1; -lean_inc(x_8); -lean_inc(x_7); -lean_inc(x_6); -lean_inc(x_5); -x_43 = l_Lean_Meta_mapErrorImp___rarg(x_41, x_42, x_5, x_6, x_7, x_8, x_12); -if (lean_obj_tag(x_43) == 0) -{ -lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; -x_44 = lean_ctor_get(x_43, 0); -lean_inc(x_44); -x_45 = lean_ctor_get(x_43, 1); -lean_inc(x_45); +lean_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; size_t x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; +x_36 = lean_ctor_get(x_33, 0); +x_37 = lean_ctor_get(x_33, 1); +x_38 = lean_ctor_get(x_33, 2); +x_39 = lean_ctor_get(x_33, 3); +x_40 = lean_ctor_get(x_33, 4); +x_41 = lean_ctor_get(x_33, 5); +x_42 = lean_ctor_get(x_33, 6); +x_43 = lean_ctor_get(x_33, 7); +x_44 = lean_ctor_get(x_33, 8); +x_45 = l_Array_zip___rarg(x_43, x_42); lean_dec(x_43); -x_46 = lean_ctor_get(x_44, 0); -lean_inc(x_46); -x_47 = lean_ctor_get(x_44, 1); -lean_inc(x_47); -x_48 = lean_ctor_get(x_44, 2); -lean_inc(x_48); -x_49 = lean_ctor_get(x_44, 3); -lean_inc(x_49); -x_50 = lean_ctor_get(x_44, 4); -lean_inc(x_50); -x_51 = lean_ctor_get(x_44, 5); -lean_inc(x_51); -x_52 = lean_ctor_get(x_44, 6); -lean_inc(x_52); -x_53 = lean_ctor_get(x_44, 7); -lean_inc(x_53); -x_54 = lean_ctor_get(x_44, 8); -lean_inc(x_54); -if (lean_is_exclusive(x_44)) { - lean_ctor_release(x_44, 0); - lean_ctor_release(x_44, 1); - lean_ctor_release(x_44, 2); - lean_ctor_release(x_44, 3); - lean_ctor_release(x_44, 4); - lean_ctor_release(x_44, 5); - lean_ctor_release(x_44, 6); - lean_ctor_release(x_44, 7); - lean_ctor_release(x_44, 8); - x_55 = x_44; -} else { - lean_dec_ref(x_44); - x_55 = lean_box(0); -} -x_56 = lean_array_get_size(x_51); -x_57 = lean_unsigned_to_nat(1u); -lean_inc(x_56); -x_58 = lean_alloc_ctor(0, 3, 0); -lean_ctor_set(x_58, 0, x_32); -lean_ctor_set(x_58, 1, x_56); -lean_ctor_set(x_58, 2, x_57); -lean_inc(x_8); -lean_inc(x_7); -lean_inc(x_6); -lean_inc(x_5); -lean_inc(x_2); -lean_inc(x_1); -x_59 = l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__11(x_1, x_2, x_3, x_37, x_58, x_56, x_32, x_51, x_5, x_6, x_7, x_8, x_45); -lean_dec(x_58); -if (lean_obj_tag(x_59) == 0) -{ -lean_object* x_60; lean_object* x_61; lean_object* x_62; uint8_t x_87; lean_object* x_88; lean_object* x_100; lean_object* x_101; lean_object* x_102; uint8_t x_103; -x_60 = lean_ctor_get(x_59, 0); -lean_inc(x_60); -x_61 = lean_ctor_get(x_59, 1); -lean_inc(x_61); -lean_dec(x_59); -x_100 = lean_st_ref_get(x_8, x_61); -x_101 = lean_ctor_get(x_100, 0); -lean_inc(x_101); -x_102 = lean_ctor_get(x_101, 3); -lean_inc(x_102); -lean_dec(x_101); -x_103 = lean_ctor_get_uint8(x_102, sizeof(void*)*1); -lean_dec(x_102); -if (x_103 == 0) -{ -lean_object* x_104; uint8_t x_105; -x_104 = lean_ctor_get(x_100, 1); -lean_inc(x_104); -lean_dec(x_100); -x_105 = 0; -x_87 = x_105; -x_88 = x_104; -goto block_99; -} -else -{ -lean_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110; uint8_t x_111; -x_106 = lean_ctor_get(x_100, 1); -lean_inc(x_106); -lean_dec(x_100); -x_107 = l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_toBelowAux___closed__12; -x_108 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__2(x_107, x_5, x_6, x_7, x_8, x_106); -x_109 = lean_ctor_get(x_108, 0); -lean_inc(x_109); -x_110 = lean_ctor_get(x_108, 1); -lean_inc(x_110); -lean_dec(x_108); -x_111 = lean_unbox(x_109); -lean_dec(x_109); -x_87 = x_111; -x_88 = x_110; -goto block_99; -} -block_86: -{ -lean_object* x_63; lean_object* x_64; size_t x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; -x_63 = l_Array_zip___rarg(x_53, x_52); -lean_dec(x_53); -x_64 = lean_array_get_size(x_63); -x_65 = lean_usize_of_nat(x_64); -lean_dec(x_64); -x_66 = x_63; -x_67 = l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_toBelowAux___closed__12; -x_68 = lean_box_usize(x_65); -x_69 = l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___boxed__const__1; -x_70 = lean_alloc_closure((void*)(l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__13___boxed), 12, 7); -lean_closure_set(x_70, 0, x_1); -lean_closure_set(x_70, 1, x_2); -lean_closure_set(x_70, 2, x_4); -lean_closure_set(x_70, 3, x_67); -lean_closure_set(x_70, 4, x_68); -lean_closure_set(x_70, 5, x_69); -lean_closure_set(x_70, 6, x_66); -x_71 = x_70; -x_72 = lean_apply_5(x_71, x_5, x_6, x_7, x_8, x_62); -if (lean_obj_tag(x_72) == 0) -{ -uint8_t x_73; -x_73 = !lean_is_exclusive(x_72); -if (x_73 == 0) -{ -lean_object* x_74; lean_object* x_75; lean_object* x_76; -x_74 = lean_ctor_get(x_72, 0); -if (lean_is_scalar(x_55)) { - x_75 = lean_alloc_ctor(0, 9, 0); -} else { - x_75 = x_55; -} -lean_ctor_set(x_75, 0, x_46); -lean_ctor_set(x_75, 1, x_47); -lean_ctor_set(x_75, 2, x_48); -lean_ctor_set(x_75, 3, x_49); -lean_ctor_set(x_75, 4, x_50); -lean_ctor_set(x_75, 5, x_60); -lean_ctor_set(x_75, 6, x_52); -lean_ctor_set(x_75, 7, x_74); -lean_ctor_set(x_75, 8, x_54); -x_76 = l_Lean_Meta_MatcherApp_toExpr(x_75); -lean_ctor_set(x_72, 0, x_76); -return x_72; -} -else -{ -lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; -x_77 = lean_ctor_get(x_72, 0); -x_78 = lean_ctor_get(x_72, 1); -lean_inc(x_78); -lean_inc(x_77); -lean_dec(x_72); -if (lean_is_scalar(x_55)) { - x_79 = lean_alloc_ctor(0, 9, 0); -} else { - x_79 = x_55; -} -lean_ctor_set(x_79, 0, x_46); -lean_ctor_set(x_79, 1, x_47); -lean_ctor_set(x_79, 2, x_48); -lean_ctor_set(x_79, 3, x_49); -lean_ctor_set(x_79, 4, x_50); -lean_ctor_set(x_79, 5, x_60); -lean_ctor_set(x_79, 6, x_52); -lean_ctor_set(x_79, 7, x_77); -lean_ctor_set(x_79, 8, x_54); -x_80 = l_Lean_Meta_MatcherApp_toExpr(x_79); -x_81 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_81, 0, x_80); -lean_ctor_set(x_81, 1, x_78); -return x_81; -} -} -else -{ -uint8_t x_82; -lean_dec(x_60); -lean_dec(x_55); -lean_dec(x_54); -lean_dec(x_52); -lean_dec(x_50); -lean_dec(x_49); -lean_dec(x_48); -lean_dec(x_47); +x_46 = lean_array_get_size(x_45); +x_47 = lean_usize_of_nat(x_46); lean_dec(x_46); -x_82 = !lean_is_exclusive(x_72); -if (x_82 == 0) +x_48 = x_45; +x_49 = lean_box_usize(x_47); +x_50 = l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___boxed__const__1; +x_51 = lean_alloc_closure((void*)(l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__8___boxed), 11, 6); +lean_closure_set(x_51, 0, x_1); +lean_closure_set(x_51, 1, x_2); +lean_closure_set(x_51, 2, x_4); +lean_closure_set(x_51, 3, x_49); +lean_closure_set(x_51, 4, x_50); +lean_closure_set(x_51, 5, x_48); +x_52 = x_51; +x_53 = lean_apply_5(x_52, x_5, x_6, x_7, x_8, x_34); +if (lean_obj_tag(x_53) == 0) { -return x_72; +uint8_t x_54; +x_54 = !lean_is_exclusive(x_53); +if (x_54 == 0) +{ +lean_object* x_55; lean_object* x_56; +x_55 = lean_ctor_get(x_53, 0); +lean_ctor_set(x_33, 7, x_55); +x_56 = l_Lean_Meta_MatcherApp_toExpr(x_33); +lean_ctor_set(x_53, 0, x_56); +return x_53; } else { -lean_object* x_83; lean_object* x_84; lean_object* x_85; -x_83 = lean_ctor_get(x_72, 0); -x_84 = lean_ctor_get(x_72, 1); -lean_inc(x_84); +lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; +x_57 = lean_ctor_get(x_53, 0); +x_58 = lean_ctor_get(x_53, 1); +lean_inc(x_58); +lean_inc(x_57); +lean_dec(x_53); +lean_ctor_set(x_33, 7, x_57); +x_59 = l_Lean_Meta_MatcherApp_toExpr(x_33); +x_60 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_60, 0, x_59); +lean_ctor_set(x_60, 1, x_58); +return x_60; +} +} +else +{ +uint8_t x_61; +lean_free_object(x_33); +lean_dec(x_44); +lean_dec(x_42); +lean_dec(x_41); +lean_dec(x_40); +lean_dec(x_39); +lean_dec(x_38); +lean_dec(x_37); +lean_dec(x_36); +x_61 = !lean_is_exclusive(x_53); +if (x_61 == 0) +{ +return x_53; +} +else +{ +lean_object* x_62; lean_object* x_63; lean_object* x_64; +x_62 = lean_ctor_get(x_53, 0); +x_63 = lean_ctor_get(x_53, 1); +lean_inc(x_63); +lean_inc(x_62); +lean_dec(x_53); +x_64 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_64, 0, x_62); +lean_ctor_set(x_64, 1, x_63); +return x_64; +} +} +} +else +{ +lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; size_t x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82; +x_65 = lean_ctor_get(x_33, 0); +x_66 = lean_ctor_get(x_33, 1); +x_67 = lean_ctor_get(x_33, 2); +x_68 = lean_ctor_get(x_33, 3); +x_69 = lean_ctor_get(x_33, 4); +x_70 = lean_ctor_get(x_33, 5); +x_71 = lean_ctor_get(x_33, 6); +x_72 = lean_ctor_get(x_33, 7); +x_73 = lean_ctor_get(x_33, 8); +lean_inc(x_73); +lean_inc(x_72); +lean_inc(x_71); +lean_inc(x_70); +lean_inc(x_69); +lean_inc(x_68); +lean_inc(x_67); +lean_inc(x_66); +lean_inc(x_65); +lean_dec(x_33); +x_74 = l_Array_zip___rarg(x_72, x_71); +lean_dec(x_72); +x_75 = lean_array_get_size(x_74); +x_76 = lean_usize_of_nat(x_75); +lean_dec(x_75); +x_77 = x_74; +x_78 = lean_box_usize(x_76); +x_79 = l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___boxed__const__1; +x_80 = lean_alloc_closure((void*)(l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__8___boxed), 11, 6); +lean_closure_set(x_80, 0, x_1); +lean_closure_set(x_80, 1, x_2); +lean_closure_set(x_80, 2, x_4); +lean_closure_set(x_80, 3, x_78); +lean_closure_set(x_80, 4, x_79); +lean_closure_set(x_80, 5, x_77); +x_81 = x_80; +x_82 = lean_apply_5(x_81, x_5, x_6, x_7, x_8, x_34); +if (lean_obj_tag(x_82) == 0) +{ +lean_object* x_83; lean_object* x_84; lean_object* x_85; lean_object* x_86; lean_object* x_87; lean_object* x_88; +x_83 = lean_ctor_get(x_82, 0); lean_inc(x_83); -lean_dec(x_72); -x_85 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_85, 0, x_83); -lean_ctor_set(x_85, 1, x_84); -return x_85; +x_84 = lean_ctor_get(x_82, 1); +lean_inc(x_84); +if (lean_is_exclusive(x_82)) { + lean_ctor_release(x_82, 0); + lean_ctor_release(x_82, 1); + x_85 = x_82; +} else { + lean_dec_ref(x_82); + x_85 = lean_box(0); } +x_86 = lean_alloc_ctor(0, 9, 0); +lean_ctor_set(x_86, 0, x_65); +lean_ctor_set(x_86, 1, x_66); +lean_ctor_set(x_86, 2, x_67); +lean_ctor_set(x_86, 3, x_68); +lean_ctor_set(x_86, 4, x_69); +lean_ctor_set(x_86, 5, x_70); +lean_ctor_set(x_86, 6, x_71); +lean_ctor_set(x_86, 7, x_83); +lean_ctor_set(x_86, 8, x_73); +x_87 = l_Lean_Meta_MatcherApp_toExpr(x_86); +if (lean_is_scalar(x_85)) { + x_88 = lean_alloc_ctor(0, 2, 0); +} else { + x_88 = x_85; } -} -block_99: -{ -if (x_87 == 0) -{ -x_62 = x_88; -goto block_86; +lean_ctor_set(x_88, 0, x_87); +lean_ctor_set(x_88, 1, x_84); +return x_88; } else { -lean_object* x_89; lean_object* x_90; lean_object* x_91; lean_object* x_92; lean_object* x_93; lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97; lean_object* x_98; -x_89 = l_Array_toList___rarg(x_60); -x_90 = l_List_map___at_Lean_MessageData_Lean_Message___instance__12___spec__1(x_89); -x_91 = l_Lean_MessageData_ofList(x_90); -lean_dec(x_90); -x_92 = l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___closed__3; -x_93 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_93, 0, x_92); -lean_ctor_set(x_93, 1, x_91); -x_94 = l_Array_foldlMUnsafe_fold___at_Lean_withNestedTraces___spec__5___closed__1; -x_95 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_95, 0, x_93); -lean_ctor_set(x_95, 1, x_94); -x_96 = l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_toBelowAux___closed__12; -x_97 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEqAux___spec__1(x_96, x_95, x_5, x_6, x_7, x_8, x_88); -x_98 = lean_ctor_get(x_97, 1); -lean_inc(x_98); -lean_dec(x_97); -x_62 = x_98; -goto block_86; +lean_object* x_89; lean_object* x_90; lean_object* x_91; lean_object* x_92; +lean_dec(x_73); +lean_dec(x_71); +lean_dec(x_70); +lean_dec(x_69); +lean_dec(x_68); +lean_dec(x_67); +lean_dec(x_66); +lean_dec(x_65); +x_89 = lean_ctor_get(x_82, 0); +lean_inc(x_89); +x_90 = lean_ctor_get(x_82, 1); +lean_inc(x_90); +if (lean_is_exclusive(x_82)) { + lean_ctor_release(x_82, 0); + lean_ctor_release(x_82, 1); + x_91 = x_82; +} else { + lean_dec_ref(x_82); + x_91 = lean_box(0); +} +if (lean_is_scalar(x_91)) { + x_92 = lean_alloc_ctor(1, 2, 0); +} else { + x_92 = x_91; +} +lean_ctor_set(x_92, 0, x_89); +lean_ctor_set(x_92, 1, x_90); +return x_92; } } } else { -uint8_t x_112; -lean_dec(x_55); -lean_dec(x_54); -lean_dec(x_53); -lean_dec(x_52); -lean_dec(x_50); -lean_dec(x_49); -lean_dec(x_48); -lean_dec(x_47); -lean_dec(x_46); +uint8_t x_93; lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); @@ -10848,87 +9967,38 @@ lean_dec(x_5); lean_dec(x_4); lean_dec(x_2); lean_dec(x_1); -x_112 = !lean_is_exclusive(x_59); -if (x_112 == 0) +x_93 = !lean_is_exclusive(x_32); +if (x_93 == 0) { -return x_59; +return x_32; } else { -lean_object* x_113; lean_object* x_114; lean_object* x_115; -x_113 = lean_ctor_get(x_59, 0); -x_114 = lean_ctor_get(x_59, 1); -lean_inc(x_114); -lean_inc(x_113); -lean_dec(x_59); -x_115 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_115, 0, x_113); -lean_ctor_set(x_115, 1, x_114); -return x_115; +lean_object* x_94; lean_object* x_95; lean_object* x_96; +x_94 = lean_ctor_get(x_32, 0); +x_95 = lean_ctor_get(x_32, 1); +lean_inc(x_95); +lean_inc(x_94); +lean_dec(x_32); +x_96 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_96, 0, x_94); +lean_ctor_set(x_96, 1, x_95); +return x_96; } } } -else -{ -uint8_t x_116; -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -x_116 = !lean_is_exclusive(x_43); -if (x_116 == 0) -{ -return x_43; -} -else -{ -lean_object* x_117; lean_object* x_118; lean_object* x_119; -x_117 = lean_ctor_get(x_43, 0); -x_118 = lean_ctor_get(x_43, 1); -lean_inc(x_118); -lean_inc(x_117); -lean_dec(x_43); -x_119 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_119, 0, x_117); -lean_ctor_set(x_119, 1, x_118); -return x_119; -} -} -} -} -} -} -block_21: -{ -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_dec(x_13); -x_14 = lean_unsigned_to_nat(0u); -x_15 = l_Lean_Expr_getAppNumArgsAux(x_4, x_14); -x_16 = l_Lean_Expr_getAppArgs___closed__1; -lean_inc(x_15); -x_17 = lean_mk_array(x_15, x_16); -x_18 = lean_unsigned_to_nat(1u); -x_19 = lean_nat_sub(x_15, x_18); -lean_dec(x_15); -lean_inc(x_4); -x_20 = l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__3(x_1, x_2, x_3, x_4, x_4, x_17, x_19, x_5, x_6, x_7, x_8, x_12); -return x_20; } } case 6: { -lean_object* x_120; lean_object* x_121; lean_object* x_122; uint64_t x_123; lean_object* x_124; -x_120 = lean_ctor_get(x_4, 0); -lean_inc(x_120); -x_121 = lean_ctor_get(x_4, 1); -lean_inc(x_121); -x_122 = lean_ctor_get(x_4, 2); -lean_inc(x_122); -x_123 = lean_ctor_get_uint64(x_4, sizeof(void*)*3); +lean_object* x_97; lean_object* x_98; lean_object* x_99; uint64_t x_100; lean_object* x_101; +x_97 = lean_ctor_get(x_4, 0); +lean_inc(x_97); +x_98 = lean_ctor_get(x_4, 1); +lean_inc(x_98); +x_99 = lean_ctor_get(x_4, 2); +lean_inc(x_99); +x_100 = lean_ctor_get_uint64(x_4, sizeof(void*)*3); lean_dec(x_4); lean_inc(x_8); lean_inc(x_7); @@ -10937,29 +10007,29 @@ lean_inc(x_5); lean_inc(x_3); lean_inc(x_2); lean_inc(x_1); -x_124 = l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop(x_1, x_2, x_3, x_121, x_5, x_6, x_7, x_8, x_9); -if (lean_obj_tag(x_124) == 0) +x_101 = l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop(x_1, x_2, x_3, x_98, x_5, x_6, x_7, x_8, x_9); +if (lean_obj_tag(x_101) == 0) { -lean_object* x_125; lean_object* x_126; uint8_t x_127; lean_object* x_128; lean_object* x_129; -x_125 = lean_ctor_get(x_124, 0); -lean_inc(x_125); -x_126 = lean_ctor_get(x_124, 1); -lean_inc(x_126); -lean_dec(x_124); -x_127 = (uint8_t)((x_123 << 24) >> 61); -x_128 = lean_alloc_closure((void*)(l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___lambda__2___boxed), 10, 4); -lean_closure_set(x_128, 0, x_122); -lean_closure_set(x_128, 1, x_1); -lean_closure_set(x_128, 2, x_2); -lean_closure_set(x_128, 3, x_3); -x_129 = l_Lean_Meta_withLocalDecl___at_Lean_Meta_forallTelescopeCompatibleAux___spec__1___rarg(x_120, x_127, x_125, x_128, x_5, x_6, x_7, x_8, x_126); -return x_129; +lean_object* x_102; lean_object* x_103; uint8_t x_104; lean_object* x_105; lean_object* x_106; +x_102 = lean_ctor_get(x_101, 0); +lean_inc(x_102); +x_103 = lean_ctor_get(x_101, 1); +lean_inc(x_103); +lean_dec(x_101); +x_104 = (uint8_t)((x_100 << 24) >> 61); +x_105 = lean_alloc_closure((void*)(l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___lambda__2___boxed), 10, 4); +lean_closure_set(x_105, 0, x_99); +lean_closure_set(x_105, 1, x_1); +lean_closure_set(x_105, 2, x_2); +lean_closure_set(x_105, 3, x_3); +x_106 = l_Lean_Meta_withLocalDecl___at_Lean_Meta_forallTelescopeCompatibleAux___spec__1___rarg(x_97, x_104, x_102, x_105, x_5, x_6, x_7, x_8, x_103); +return x_106; } else { -uint8_t x_130; -lean_dec(x_122); -lean_dec(x_120); +uint8_t x_107; +lean_dec(x_99); +lean_dec(x_97); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); @@ -10967,36 +10037,36 @@ lean_dec(x_5); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_130 = !lean_is_exclusive(x_124); -if (x_130 == 0) +x_107 = !lean_is_exclusive(x_101); +if (x_107 == 0) { -return x_124; +return x_101; } else { -lean_object* x_131; lean_object* x_132; lean_object* x_133; -x_131 = lean_ctor_get(x_124, 0); -x_132 = lean_ctor_get(x_124, 1); -lean_inc(x_132); -lean_inc(x_131); -lean_dec(x_124); -x_133 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_133, 0, x_131); -lean_ctor_set(x_133, 1, x_132); -return x_133; +lean_object* x_108; lean_object* x_109; lean_object* x_110; +x_108 = lean_ctor_get(x_101, 0); +x_109 = lean_ctor_get(x_101, 1); +lean_inc(x_109); +lean_inc(x_108); +lean_dec(x_101); +x_110 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_110, 0, x_108); +lean_ctor_set(x_110, 1, x_109); +return x_110; } } } case 7: { -lean_object* x_134; lean_object* x_135; lean_object* x_136; uint64_t x_137; lean_object* x_138; -x_134 = lean_ctor_get(x_4, 0); -lean_inc(x_134); -x_135 = lean_ctor_get(x_4, 1); -lean_inc(x_135); -x_136 = lean_ctor_get(x_4, 2); -lean_inc(x_136); -x_137 = lean_ctor_get_uint64(x_4, sizeof(void*)*3); +lean_object* x_111; lean_object* x_112; lean_object* x_113; uint64_t x_114; lean_object* x_115; +x_111 = lean_ctor_get(x_4, 0); +lean_inc(x_111); +x_112 = lean_ctor_get(x_4, 1); +lean_inc(x_112); +x_113 = lean_ctor_get(x_4, 2); +lean_inc(x_113); +x_114 = lean_ctor_get_uint64(x_4, sizeof(void*)*3); lean_dec(x_4); lean_inc(x_8); lean_inc(x_7); @@ -11005,29 +10075,29 @@ lean_inc(x_5); lean_inc(x_3); lean_inc(x_2); lean_inc(x_1); -x_138 = l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop(x_1, x_2, x_3, x_135, x_5, x_6, x_7, x_8, x_9); -if (lean_obj_tag(x_138) == 0) +x_115 = l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop(x_1, x_2, x_3, x_112, x_5, x_6, x_7, x_8, x_9); +if (lean_obj_tag(x_115) == 0) { -lean_object* x_139; lean_object* x_140; uint8_t x_141; lean_object* x_142; lean_object* x_143; -x_139 = lean_ctor_get(x_138, 0); -lean_inc(x_139); -x_140 = lean_ctor_get(x_138, 1); -lean_inc(x_140); -lean_dec(x_138); -x_141 = (uint8_t)((x_137 << 24) >> 61); -x_142 = lean_alloc_closure((void*)(l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___lambda__3___boxed), 10, 4); -lean_closure_set(x_142, 0, x_136); -lean_closure_set(x_142, 1, x_1); -lean_closure_set(x_142, 2, x_2); -lean_closure_set(x_142, 3, x_3); -x_143 = l_Lean_Meta_withLocalDecl___at_Lean_Meta_forallTelescopeCompatibleAux___spec__1___rarg(x_134, x_141, x_139, x_142, x_5, x_6, x_7, x_8, x_140); -return x_143; +lean_object* x_116; lean_object* x_117; uint8_t x_118; lean_object* x_119; lean_object* x_120; +x_116 = lean_ctor_get(x_115, 0); +lean_inc(x_116); +x_117 = lean_ctor_get(x_115, 1); +lean_inc(x_117); +lean_dec(x_115); +x_118 = (uint8_t)((x_114 << 24) >> 61); +x_119 = lean_alloc_closure((void*)(l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___lambda__3___boxed), 10, 4); +lean_closure_set(x_119, 0, x_113); +lean_closure_set(x_119, 1, x_1); +lean_closure_set(x_119, 2, x_2); +lean_closure_set(x_119, 3, x_3); +x_120 = l_Lean_Meta_withLocalDecl___at_Lean_Meta_forallTelescopeCompatibleAux___spec__1___rarg(x_111, x_118, x_116, x_119, x_5, x_6, x_7, x_8, x_117); +return x_120; } else { -uint8_t x_144; -lean_dec(x_136); -lean_dec(x_134); +uint8_t x_121; +lean_dec(x_113); +lean_dec(x_111); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); @@ -11035,37 +10105,37 @@ lean_dec(x_5); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_144 = !lean_is_exclusive(x_138); -if (x_144 == 0) +x_121 = !lean_is_exclusive(x_115); +if (x_121 == 0) { -return x_138; +return x_115; } else { -lean_object* x_145; lean_object* x_146; lean_object* x_147; -x_145 = lean_ctor_get(x_138, 0); -x_146 = lean_ctor_get(x_138, 1); -lean_inc(x_146); -lean_inc(x_145); -lean_dec(x_138); -x_147 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_147, 0, x_145); -lean_ctor_set(x_147, 1, x_146); -return x_147; +lean_object* x_122; lean_object* x_123; lean_object* x_124; +x_122 = lean_ctor_get(x_115, 0); +x_123 = lean_ctor_get(x_115, 1); +lean_inc(x_123); +lean_inc(x_122); +lean_dec(x_115); +x_124 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_124, 0, x_122); +lean_ctor_set(x_124, 1, x_123); +return x_124; } } } case 8: { -lean_object* x_148; lean_object* x_149; lean_object* x_150; lean_object* x_151; lean_object* x_152; -x_148 = lean_ctor_get(x_4, 0); -lean_inc(x_148); -x_149 = lean_ctor_get(x_4, 1); -lean_inc(x_149); -x_150 = lean_ctor_get(x_4, 2); -lean_inc(x_150); -x_151 = lean_ctor_get(x_4, 3); -lean_inc(x_151); +lean_object* x_125; lean_object* x_126; lean_object* x_127; lean_object* x_128; lean_object* x_129; +x_125 = lean_ctor_get(x_4, 0); +lean_inc(x_125); +x_126 = lean_ctor_get(x_4, 1); +lean_inc(x_126); +x_127 = lean_ctor_get(x_4, 2); +lean_inc(x_127); +x_128 = lean_ctor_get(x_4, 3); +lean_inc(x_128); lean_dec(x_4); lean_inc(x_8); lean_inc(x_7); @@ -11074,15 +10144,15 @@ lean_inc(x_5); lean_inc(x_3); lean_inc(x_2); lean_inc(x_1); -x_152 = l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop(x_1, x_2, x_3, x_149, x_5, x_6, x_7, x_8, x_9); -if (lean_obj_tag(x_152) == 0) +x_129 = l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop(x_1, x_2, x_3, x_126, x_5, x_6, x_7, x_8, x_9); +if (lean_obj_tag(x_129) == 0) { -lean_object* x_153; lean_object* x_154; lean_object* x_155; -x_153 = lean_ctor_get(x_152, 0); -lean_inc(x_153); -x_154 = lean_ctor_get(x_152, 1); -lean_inc(x_154); -lean_dec(x_152); +lean_object* x_130; lean_object* x_131; lean_object* x_132; +x_130 = lean_ctor_get(x_129, 0); +lean_inc(x_130); +x_131 = lean_ctor_get(x_129, 1); +lean_inc(x_131); +lean_dec(x_129); lean_inc(x_8); lean_inc(x_7); lean_inc(x_6); @@ -11090,29 +10160,29 @@ lean_inc(x_5); lean_inc(x_3); lean_inc(x_2); lean_inc(x_1); -x_155 = l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop(x_1, x_2, x_3, x_150, x_5, x_6, x_7, x_8, x_154); -if (lean_obj_tag(x_155) == 0) +x_132 = l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop(x_1, x_2, x_3, x_127, x_5, x_6, x_7, x_8, x_131); +if (lean_obj_tag(x_132) == 0) { -lean_object* x_156; lean_object* x_157; lean_object* x_158; lean_object* x_159; -x_156 = lean_ctor_get(x_155, 0); -lean_inc(x_156); -x_157 = lean_ctor_get(x_155, 1); -lean_inc(x_157); -lean_dec(x_155); -x_158 = lean_alloc_closure((void*)(l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___lambda__2___boxed), 10, 4); -lean_closure_set(x_158, 0, x_151); -lean_closure_set(x_158, 1, x_1); -lean_closure_set(x_158, 2, x_2); -lean_closure_set(x_158, 3, x_3); -x_159 = l_Lean_Meta_withLetDecl___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__14___rarg(x_148, x_153, x_156, x_158, x_5, x_6, x_7, x_8, x_157); -return x_159; +lean_object* x_133; lean_object* x_134; lean_object* x_135; lean_object* x_136; +x_133 = lean_ctor_get(x_132, 0); +lean_inc(x_133); +x_134 = lean_ctor_get(x_132, 1); +lean_inc(x_134); +lean_dec(x_132); +x_135 = lean_alloc_closure((void*)(l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___lambda__2___boxed), 10, 4); +lean_closure_set(x_135, 0, x_128); +lean_closure_set(x_135, 1, x_1); +lean_closure_set(x_135, 2, x_2); +lean_closure_set(x_135, 3, x_3); +x_136 = l_Lean_Meta_withLetDecl___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__9___rarg(x_125, x_130, x_133, x_135, x_5, x_6, x_7, x_8, x_134); +return x_136; } else { -uint8_t x_160; -lean_dec(x_153); -lean_dec(x_151); -lean_dec(x_148); +uint8_t x_137; +lean_dec(x_130); +lean_dec(x_128); +lean_dec(x_125); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); @@ -11120,32 +10190,32 @@ lean_dec(x_5); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_160 = !lean_is_exclusive(x_155); -if (x_160 == 0) +x_137 = !lean_is_exclusive(x_132); +if (x_137 == 0) { -return x_155; +return x_132; } else { -lean_object* x_161; lean_object* x_162; lean_object* x_163; -x_161 = lean_ctor_get(x_155, 0); -x_162 = lean_ctor_get(x_155, 1); -lean_inc(x_162); -lean_inc(x_161); -lean_dec(x_155); -x_163 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_163, 0, x_161); -lean_ctor_set(x_163, 1, x_162); -return x_163; +lean_object* x_138; lean_object* x_139; lean_object* x_140; +x_138 = lean_ctor_get(x_132, 0); +x_139 = lean_ctor_get(x_132, 1); +lean_inc(x_139); +lean_inc(x_138); +lean_dec(x_132); +x_140 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_140, 0, x_138); +lean_ctor_set(x_140, 1, x_139); +return x_140; } } } else { -uint8_t x_164; -lean_dec(x_151); -lean_dec(x_150); -lean_dec(x_148); +uint8_t x_141; +lean_dec(x_128); +lean_dec(x_127); +lean_dec(x_125); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); @@ -11153,156 +10223,156 @@ lean_dec(x_5); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_164 = !lean_is_exclusive(x_152); -if (x_164 == 0) +x_141 = !lean_is_exclusive(x_129); +if (x_141 == 0) { -return x_152; +return x_129; } else { -lean_object* x_165; lean_object* x_166; lean_object* x_167; -x_165 = lean_ctor_get(x_152, 0); -x_166 = lean_ctor_get(x_152, 1); -lean_inc(x_166); -lean_inc(x_165); -lean_dec(x_152); -x_167 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_167, 0, x_165); -lean_ctor_set(x_167, 1, x_166); -return x_167; +lean_object* x_142; lean_object* x_143; lean_object* x_144; +x_142 = lean_ctor_get(x_129, 0); +x_143 = lean_ctor_get(x_129, 1); +lean_inc(x_143); +lean_inc(x_142); +lean_dec(x_129); +x_144 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_144, 0, x_142); +lean_ctor_set(x_144, 1, x_143); +return x_144; } } } case 10: { -lean_object* x_168; lean_object* x_169; lean_object* x_170; -x_168 = lean_ctor_get(x_4, 0); -lean_inc(x_168); -x_169 = lean_ctor_get(x_4, 1); -lean_inc(x_169); +lean_object* x_145; lean_object* x_146; lean_object* x_147; +x_145 = lean_ctor_get(x_4, 0); +lean_inc(x_145); +x_146 = lean_ctor_get(x_4, 1); +lean_inc(x_146); lean_dec(x_4); -x_170 = l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop(x_1, x_2, x_3, x_169, x_5, x_6, x_7, x_8, x_9); -if (lean_obj_tag(x_170) == 0) +x_147 = l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop(x_1, x_2, x_3, x_146, x_5, x_6, x_7, x_8, x_9); +if (lean_obj_tag(x_147) == 0) { -uint8_t x_171; -x_171 = !lean_is_exclusive(x_170); -if (x_171 == 0) +uint8_t x_148; +x_148 = !lean_is_exclusive(x_147); +if (x_148 == 0) { -lean_object* x_172; lean_object* x_173; -x_172 = lean_ctor_get(x_170, 0); -x_173 = l_Lean_mkMData(x_168, x_172); -lean_ctor_set(x_170, 0, x_173); -return x_170; +lean_object* x_149; lean_object* x_150; +x_149 = lean_ctor_get(x_147, 0); +x_150 = l_Lean_mkMData(x_145, x_149); +lean_ctor_set(x_147, 0, x_150); +return x_147; } else { -lean_object* x_174; lean_object* x_175; lean_object* x_176; lean_object* x_177; -x_174 = lean_ctor_get(x_170, 0); -x_175 = lean_ctor_get(x_170, 1); -lean_inc(x_175); -lean_inc(x_174); -lean_dec(x_170); -x_176 = l_Lean_mkMData(x_168, x_174); -x_177 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_177, 0, x_176); -lean_ctor_set(x_177, 1, x_175); -return x_177; +lean_object* x_151; lean_object* x_152; lean_object* x_153; lean_object* x_154; +x_151 = lean_ctor_get(x_147, 0); +x_152 = lean_ctor_get(x_147, 1); +lean_inc(x_152); +lean_inc(x_151); +lean_dec(x_147); +x_153 = l_Lean_mkMData(x_145, x_151); +x_154 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_154, 0, x_153); +lean_ctor_set(x_154, 1, x_152); +return x_154; } } else { -uint8_t x_178; -lean_dec(x_168); -x_178 = !lean_is_exclusive(x_170); -if (x_178 == 0) +uint8_t x_155; +lean_dec(x_145); +x_155 = !lean_is_exclusive(x_147); +if (x_155 == 0) { -return x_170; +return x_147; } else { -lean_object* x_179; lean_object* x_180; lean_object* x_181; -x_179 = lean_ctor_get(x_170, 0); -x_180 = lean_ctor_get(x_170, 1); -lean_inc(x_180); -lean_inc(x_179); -lean_dec(x_170); -x_181 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_181, 0, x_179); -lean_ctor_set(x_181, 1, x_180); -return x_181; +lean_object* x_156; lean_object* x_157; lean_object* x_158; +x_156 = lean_ctor_get(x_147, 0); +x_157 = lean_ctor_get(x_147, 1); +lean_inc(x_157); +lean_inc(x_156); +lean_dec(x_147); +x_158 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_158, 0, x_156); +lean_ctor_set(x_158, 1, x_157); +return x_158; } } } case 11: { -lean_object* x_182; lean_object* x_183; lean_object* x_184; lean_object* x_185; -x_182 = lean_ctor_get(x_4, 0); -lean_inc(x_182); -x_183 = lean_ctor_get(x_4, 1); -lean_inc(x_183); -x_184 = lean_ctor_get(x_4, 2); -lean_inc(x_184); +lean_object* x_159; lean_object* x_160; lean_object* x_161; lean_object* x_162; +x_159 = lean_ctor_get(x_4, 0); +lean_inc(x_159); +x_160 = lean_ctor_get(x_4, 1); +lean_inc(x_160); +x_161 = lean_ctor_get(x_4, 2); +lean_inc(x_161); lean_dec(x_4); -x_185 = l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop(x_1, x_2, x_3, x_184, x_5, x_6, x_7, x_8, x_9); -if (lean_obj_tag(x_185) == 0) +x_162 = l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop(x_1, x_2, x_3, x_161, x_5, x_6, x_7, x_8, x_9); +if (lean_obj_tag(x_162) == 0) { -uint8_t x_186; -x_186 = !lean_is_exclusive(x_185); -if (x_186 == 0) +uint8_t x_163; +x_163 = !lean_is_exclusive(x_162); +if (x_163 == 0) { -lean_object* x_187; lean_object* x_188; -x_187 = lean_ctor_get(x_185, 0); -x_188 = l_Lean_mkProj(x_182, x_183, x_187); -lean_ctor_set(x_185, 0, x_188); -return x_185; +lean_object* x_164; lean_object* x_165; +x_164 = lean_ctor_get(x_162, 0); +x_165 = l_Lean_mkProj(x_159, x_160, x_164); +lean_ctor_set(x_162, 0, x_165); +return x_162; } else { -lean_object* x_189; lean_object* x_190; lean_object* x_191; lean_object* x_192; -x_189 = lean_ctor_get(x_185, 0); -x_190 = lean_ctor_get(x_185, 1); -lean_inc(x_190); -lean_inc(x_189); -lean_dec(x_185); -x_191 = l_Lean_mkProj(x_182, x_183, x_189); -x_192 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_192, 0, x_191); -lean_ctor_set(x_192, 1, x_190); -return x_192; +lean_object* x_166; lean_object* x_167; lean_object* x_168; lean_object* x_169; +x_166 = lean_ctor_get(x_162, 0); +x_167 = lean_ctor_get(x_162, 1); +lean_inc(x_167); +lean_inc(x_166); +lean_dec(x_162); +x_168 = l_Lean_mkProj(x_159, x_160, x_166); +x_169 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_169, 0, x_168); +lean_ctor_set(x_169, 1, x_167); +return x_169; } } else { -uint8_t x_193; -lean_dec(x_183); -lean_dec(x_182); -x_193 = !lean_is_exclusive(x_185); -if (x_193 == 0) +uint8_t x_170; +lean_dec(x_160); +lean_dec(x_159); +x_170 = !lean_is_exclusive(x_162); +if (x_170 == 0) { -return x_185; +return x_162; } else { -lean_object* x_194; lean_object* x_195; lean_object* x_196; -x_194 = lean_ctor_get(x_185, 0); -x_195 = lean_ctor_get(x_185, 1); -lean_inc(x_195); -lean_inc(x_194); -lean_dec(x_185); -x_196 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_196, 0, x_194); -lean_ctor_set(x_196, 1, x_195); -return x_196; +lean_object* x_171; lean_object* x_172; lean_object* x_173; +x_171 = lean_ctor_get(x_162, 0); +x_172 = lean_ctor_get(x_162, 1); +lean_inc(x_172); +lean_inc(x_171); +lean_dec(x_162); +x_173 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_173, 0, x_171); +lean_ctor_set(x_173, 1, x_172); +return x_173; } } } default: { -lean_object* x_197; +lean_object* x_174; lean_dec(x_3); lean_dec(x_2); -x_197 = l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_ensureNoRecFn(x_1, x_4, x_5, x_6, x_7, x_8, x_9); -return x_197; +x_174 = l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_ensureNoRecFn(x_1, x_4, x_5, x_6, x_7, x_8, x_9); +return x_174; } } } @@ -11401,18 +10471,14 @@ lean_dec(x_2); return x_15; } } -lean_object* l_Array_anyMUnsafe_any___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__7___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__8___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { _start: { -size_t x_5; size_t x_6; uint8_t x_7; lean_object* x_8; -x_5 = lean_unbox_usize(x_3); -lean_dec(x_3); -x_6 = lean_unbox_usize(x_4); -lean_dec(x_4); -x_7 = l_Array_anyMUnsafe_any___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__7(x_1, x_2, x_5, x_6); -lean_dec(x_2); -x_8 = lean_box(x_7); -return x_8; +lean_object* x_12; +x_12 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__8___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11); +lean_dec(x_6); +lean_dec(x_1); +return x_12; } } lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__8___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { @@ -11427,80 +10493,6 @@ x_14 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_ return x_14; } } -lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__9___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) { -_start: -{ -lean_object* x_15; -x_15 = l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__9(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -return x_15; -} -} -lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__10___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { -_start: -{ -lean_object* x_13; -x_13 = l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__10___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12); -lean_dec(x_6); -return x_13; -} -} -lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__10___lambda__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) { -_start: -{ -lean_object* x_15; -x_15 = l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__10___lambda__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14); -lean_dec(x_9); -lean_dec(x_7); -lean_dec(x_2); -return x_15; -} -} -lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__10___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { -_start: -{ -size_t x_14; lean_object* x_15; -x_14 = lean_unbox_usize(x_4); -lean_dec(x_4); -x_15 = l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__10(x_1, x_2, x_3, x_14, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13); -return x_15; -} -} -lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__11___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { -_start: -{ -size_t x_14; lean_object* x_15; -x_14 = lean_unbox_usize(x_4); -lean_dec(x_4); -x_15 = l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__11(x_1, x_2, x_3, x_14, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13); -lean_dec(x_5); -return x_15; -} -} -lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__13___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { -_start: -{ -lean_object* x_12; -x_12 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__13___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11); -lean_dec(x_6); -lean_dec(x_1); -return x_12; -} -} -lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__13___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { -_start: -{ -size_t x_13; size_t x_14; lean_object* x_15; -x_13 = lean_unbox_usize(x_5); -lean_dec(x_5); -x_14 = lean_unbox_usize(x_6); -lean_dec(x_6); -x_15 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__13(x_1, x_2, x_3, x_4, x_13, x_14, x_7, x_8, x_9, x_10, x_11, x_12); -return x_15; -} -} lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___lambda__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { _start: { @@ -13254,7 +12246,7 @@ lean_inc(x_5); lean_inc(x_4); lean_inc(x_3); lean_inc(x_2); -x_13 = l_Lean_Meta_lambdaTelescope___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__12___rarg(x_7, x_8, x_2, x_3, x_4, x_5, x_11); +x_13 = l_Lean_Meta_lambdaTelescope___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__7___rarg(x_7, x_8, x_2, x_3, x_4, x_5, x_11); if (lean_obj_tag(x_13) == 0) { lean_object* x_14; lean_object* x_15; lean_object* x_16; uint8_t x_17; @@ -13542,7 +12534,7 @@ return x_32; } } } -lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_Structural___hyg_3594_(lean_object* x_1) { +lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_Structural___hyg_3495_(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; @@ -13702,26 +12694,18 @@ l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_0__Lean lean_mark_persistent(l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__3___boxed__const__1); l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__6___boxed__const__1 = _init_l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__6___boxed__const__1(); lean_mark_persistent(l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__6___boxed__const__1); -l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__11___closed__1 = _init_l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__11___closed__1(); -lean_mark_persistent(l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__11___closed__1); -l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__11___closed__2 = _init_l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__11___closed__2(); -lean_mark_persistent(l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__11___closed__2); -l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__11___closed__3 = _init_l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__11___closed__3(); -lean_mark_persistent(l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__11___closed__3); -l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__11___closed__4 = _init_l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__11___closed__4(); -lean_mark_persistent(l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__11___closed__4); -l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__13___lambda__2___closed__1 = _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__13___lambda__2___closed__1(); -lean_mark_persistent(l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__13___lambda__2___closed__1); -l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__13___lambda__2___closed__2 = _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__13___lambda__2___closed__2(); -lean_mark_persistent(l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__13___lambda__2___closed__2); -l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__13___lambda__2___closed__3 = _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__13___lambda__2___closed__3(); -lean_mark_persistent(l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__13___lambda__2___closed__3); -l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__13___lambda__2___closed__4 = _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__13___lambda__2___closed__4(); -lean_mark_persistent(l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__13___lambda__2___closed__4); -l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__13___lambda__2___closed__5 = _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__13___lambda__2___closed__5(); -lean_mark_persistent(l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__13___lambda__2___closed__5); -l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__13___lambda__2___closed__6 = _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__13___lambda__2___closed__6(); -lean_mark_persistent(l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__13___lambda__2___closed__6); +l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__8___lambda__2___closed__1 = _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__8___lambda__2___closed__1(); +lean_mark_persistent(l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__8___lambda__2___closed__1); +l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__8___lambda__2___closed__2 = _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__8___lambda__2___closed__2(); +lean_mark_persistent(l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__8___lambda__2___closed__2); +l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__8___lambda__2___closed__3 = _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__8___lambda__2___closed__3(); +lean_mark_persistent(l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__8___lambda__2___closed__3); +l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__8___lambda__2___closed__4 = _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__8___lambda__2___closed__4(); +lean_mark_persistent(l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__8___lambda__2___closed__4); +l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__8___lambda__2___closed__5 = _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__8___lambda__2___closed__5(); +lean_mark_persistent(l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__8___lambda__2___closed__5); +l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__8___lambda__2___closed__6 = _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__8___lambda__2___closed__6(); +lean_mark_persistent(l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__8___lambda__2___closed__6); l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___lambda__1___closed__1 = _init_l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___lambda__1___closed__1(); lean_mark_persistent(l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___lambda__1___closed__1); l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___lambda__1___closed__2 = _init_l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___lambda__1___closed__2(); @@ -13730,10 +12714,6 @@ l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop_ lean_mark_persistent(l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___lambda__1___closed__3); l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___closed__1 = _init_l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___closed__1(); lean_mark_persistent(l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___closed__1); -l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___closed__2 = _init_l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___closed__2(); -lean_mark_persistent(l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___closed__2); -l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___closed__3 = _init_l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___closed__3(); -lean_mark_persistent(l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___closed__3); l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___boxed__const__1 = _init_l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___boxed__const__1(); lean_mark_persistent(l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___boxed__const__1); l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_mkBRecOn___lambda__3___closed__1 = _init_l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_mkBRecOn___lambda__3___closed__1(); @@ -13772,7 +12752,7 @@ l_Lean_Elab_structuralRecursion___closed__3 = _init_l_Lean_Elab_structuralRecurs lean_mark_persistent(l_Lean_Elab_structuralRecursion___closed__3); l_Lean_Elab_structuralRecursion___closed__4 = _init_l_Lean_Elab_structuralRecursion___closed__4(); lean_mark_persistent(l_Lean_Elab_structuralRecursion___closed__4); -res = l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_Structural___hyg_3594_(lean_io_mk_world()); +res = l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_Structural___hyg_3495_(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); return lean_io_result_mk_ok(lean_box(0)); diff --git a/stage0/stdlib/Lean/LocalContext.c b/stage0/stdlib/Lean/LocalContext.c index e0e623e6fc..b3ffa20093 100644 --- a/stage0/stdlib/Lean/LocalContext.c +++ b/stage0/stdlib/Lean/LocalContext.c @@ -39,6 +39,7 @@ lean_object* l___private_Std_Data_PersistentArray_0__Std_PersistentArray_foldlMA lean_object* l_Lean_LocalDecl_setValue_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_LocalDecl_value_x3f_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Nat_foldRev_loop___at_Lean_LocalContext_mkForall___spec__1(lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_LocalDecl_hasExprMVar___boxed(lean_object*); lean_object* l_Lean_LocalContext_foldlM___at_Lean_LocalContext_foldl___spec__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_LocalContext_addDecl_match__1___rarg(lean_object*, lean_object*); lean_object* l_Array_findSomeRevM_x3f_find___at_Lean_LocalContext_findDeclRev_x3f___spec__6___rarg(lean_object*, lean_object*, lean_object*, lean_object*); @@ -173,6 +174,7 @@ lean_object* l_Lean_LocalDecl_value(lean_object*); lean_object* l_Std_PersistentArray_anyM___at_Lean_LocalContext_anyM___spec__1___rarg(lean_object*, lean_object*, lean_object*); uint8_t l_Lean_Name_hasMacroScopes(lean_object*); lean_object* l_Array_findSomeRevM_x3f_find___at_Lean_LocalContext_findFromUserName_x3f___spec__5(lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_LocalDecl_hasExprMVar_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* lean_local_ctx_num_indices(lean_object*); lean_object* l_Lean_LocalDecl_isLet___boxed(lean_object*); lean_object* lean_array_fget(lean_object*, lean_object*); @@ -209,6 +211,7 @@ lean_object* l_Lean_LocalContext_Lean_LocalContext___instance__2___closed__1; lean_object* l_Array_foldlMUnsafe_fold___at_Lean_LocalContext_foldl___spec__5___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_LocalContext_foldlM___at_Lean_LocalContext_foldl___spec__1(lean_object*); lean_object* l_Lean_LocalDecl_value_x3f_match__1(lean_object*); +uint8_t l_Lean_Expr_hasExprMVar(lean_object*); lean_object* l_Lean_LocalDecl_updateBinderInfo_match__1(lean_object*); lean_object* lean_array_get(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_LocalContext_isSubPrefixOfAux_match__1(lean_object*); @@ -365,7 +368,9 @@ uint8_t l_Array_anyMUnsafe_any___at_Lean_LocalContext_isSubPrefixOfAux___spec__1 lean_object* l_Array_anyMUnsafe_any___at_Lean_LocalContext_anyM___spec__3___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Std_PersistentArray_anyMAux___at_Lean_LocalContext_any___spec__2(lean_object*, lean_object*); lean_object* l_Lean_LocalDecl_binderInfo_match__1(lean_object*); +lean_object* l_Lean_LocalDecl_hasExprMVar_match__1(lean_object*); lean_object* l_Lean_LocalDecl_binderInfoEx_match__1(lean_object*); +uint8_t l_Lean_LocalDecl_hasExprMVar(lean_object*); lean_object* l_Lean_LocalContext_get_x21___closed__2; lean_object* l_Std_PersistentArray_anyM___at_Lean_LocalContext_anyM___spec__1___rarg___lambda__1(lean_object*, lean_object*, lean_object*, uint8_t); lean_object* l_Lean_LocalContext_renameUserName_match__2___rarg(lean_object*, lean_object*); @@ -1894,6 +1899,98 @@ lean_dec(x_1); return x_2; } } +lean_object* l_Lean_LocalDecl_hasExprMVar_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +if (lean_obj_tag(x_1) == 0) +{ +lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; uint8_t x_8; lean_object* x_9; lean_object* x_10; +lean_dec(x_3); +x_4 = lean_ctor_get(x_1, 0); +lean_inc(x_4); +x_5 = lean_ctor_get(x_1, 1); +lean_inc(x_5); +x_6 = lean_ctor_get(x_1, 2); +lean_inc(x_6); +x_7 = lean_ctor_get(x_1, 3); +lean_inc(x_7); +x_8 = lean_ctor_get_uint8(x_1, sizeof(void*)*4); +lean_dec(x_1); +x_9 = lean_box(x_8); +x_10 = lean_apply_5(x_2, x_4, x_5, x_6, x_7, x_9); +return x_10; +} +else +{ +lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; uint8_t x_16; lean_object* x_17; lean_object* x_18; +lean_dec(x_2); +x_11 = lean_ctor_get(x_1, 0); +lean_inc(x_11); +x_12 = lean_ctor_get(x_1, 1); +lean_inc(x_12); +x_13 = lean_ctor_get(x_1, 2); +lean_inc(x_13); +x_14 = lean_ctor_get(x_1, 3); +lean_inc(x_14); +x_15 = lean_ctor_get(x_1, 4); +lean_inc(x_15); +x_16 = lean_ctor_get_uint8(x_1, sizeof(void*)*5); +lean_dec(x_1); +x_17 = lean_box(x_16); +x_18 = lean_apply_6(x_3, x_11, x_12, x_13, x_14, x_15, x_17); +return x_18; +} +} +} +lean_object* l_Lean_LocalDecl_hasExprMVar_match__1(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Lean_LocalDecl_hasExprMVar_match__1___rarg), 3, 0); +return x_2; +} +} +uint8_t l_Lean_LocalDecl_hasExprMVar(lean_object* x_1) { +_start: +{ +if (lean_obj_tag(x_1) == 0) +{ +lean_object* x_2; uint8_t x_3; +x_2 = lean_ctor_get(x_1, 3); +x_3 = l_Lean_Expr_hasExprMVar(x_2); +return x_3; +} +else +{ +lean_object* x_4; lean_object* x_5; uint8_t x_6; +x_4 = lean_ctor_get(x_1, 3); +x_5 = lean_ctor_get(x_1, 4); +x_6 = l_Lean_Expr_hasExprMVar(x_4); +if (x_6 == 0) +{ +uint8_t x_7; +x_7 = l_Lean_Expr_hasExprMVar(x_5); +return x_7; +} +else +{ +uint8_t x_8; +x_8 = 1; +return x_8; +} +} +} +} +lean_object* l_Lean_LocalDecl_hasExprMVar___boxed(lean_object* x_1) { +_start: +{ +uint8_t x_2; lean_object* x_3; +x_2 = l_Lean_LocalDecl_hasExprMVar(x_1); +lean_dec(x_1); +x_3 = lean_box(x_2); +return x_3; +} +} static lean_object* _init_l_Lean_LocalContext_fvarIdToDecl___default___closed__1() { _start: { @@ -3047,7 +3144,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Lean_LocalDecl_value___closed__1; x_2 = l_Lean_LocalContext_get_x21___closed__1; -x_3 = lean_unsigned_to_nat(143u); +x_3 = lean_unsigned_to_nat(147u); x_4 = lean_unsigned_to_nat(14u); x_5 = l_Lean_LocalContext_get_x21___closed__2; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -8357,7 +8454,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Lean_LocalDecl_value___closed__1; x_2 = l_Nat_foldRev_loop___at_Lean_LocalContext_mkBinding___spec__1___closed__1; -x_3 = lean_unsigned_to_nat(327u); +x_3 = lean_unsigned_to_nat(331u); x_4 = lean_unsigned_to_nat(14u); x_5 = l_Lean_LocalContext_get_x21___closed__2; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); diff --git a/stage0/stdlib/Lean/Meta/Match/Match.c b/stage0/stdlib/Lean/Meta/Match/Match.c index d210b5e92d..066d68c246 100644 --- a/stage0/stdlib/Lean/Meta/Match/Match.c +++ b/stage0/stdlib/Lean/Meta/Match/Match.c @@ -30,12 +30,14 @@ lean_object* l_Lean_Meta_Match_mkMatcher___lambda__2(lean_object*, lean_object*, lean_object* l_Lean_Meta_isMatcher___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_checkNumPatterns___closed__1; lean_object* lean_array_set(lean_object*, lean_object*, lean_object*); +lean_object* l_List_mapM___at_Lean_Meta_Match_instantiatePatternMVars___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_commitWhen___at_Lean_Meta_Match_Unify_unify___spec__3(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_getUElimPos_x3f_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processNonVariable_match__3___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_throwErrorAt___at_Lean_Meta_Match_Alt_checkAndReplaceFVarId___spec__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processConstructor_match__4(lean_object*); lean_object* l_Lean_Meta_Match_mkMatcher___lambda__1___closed__3; +lean_object* l_List_mapM___at_Lean_Meta_Match_instantiatePatternMVars___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); size_t l_USize_add(size_t, size_t); lean_object* l_List_map___at_Lean_Meta_Match_Example_applyFVarSubst___spec__2___boxed(lean_object*, lean_object*); uint8_t l_List_foldr___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_isConstructorTransition___spec__1(uint8_t, lean_object*); @@ -59,13 +61,13 @@ lean_object* l_List_foldr___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Matc lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_checkNumPatterns___closed__2; lean_object* l_List_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processArrayLit___spec__2(lean_object*, lean_object*); lean_object* lean_mk_empty_array_with_capacity(lean_object*); -lean_object* l_Array_anyMUnsafe_any___at_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6389____spec__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_List_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandVarIntoCtor_x3f___spec__3(lean_object*, lean_object*); uint8_t l_Array_contains___at___private_Lean_Meta_FunInfo_0__Lean_Meta_collectDeps_visit___spec__2(lean_object*, lean_object*); lean_object* l_Lean_mkSort(lean_object*); lean_object* l_List_foldr___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_hasNatValPattern___spec__1___boxed(lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_isDone___boxed(lean_object*); lean_object* l_Lean_addTrace___at_Lean_Meta_Match_Unify_assign___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_Match_Pattern_hasExprMVar___boxed(lean_object*); extern lean_object* l_addParenHeuristic___closed__2; uint8_t l_Std_AssocList_contains___at_Lean_Meta_FVarSubst_contains___spec__1(lean_object*, lean_object*); lean_object* l_Lean_Meta_Match_MatcherInfo_numAlts___boxed(lean_object*); @@ -94,7 +96,6 @@ lean_object* l_List_map___at_Lean_Meta_Match_Pattern_applyFVarSubst___spec__2___ extern lean_object* l_List_repr___rarg___closed__1; lean_object* l_List_map___at_Lean_Meta_Match_Example_varsToUnderscore___spec__1(lean_object*); lean_object* l_List_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processSkipInaccessible___spec__1(lean_object*); -lean_object* l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6491____closed__3; lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandNatValuePattern_match__1(lean_object*); lean_object* l_Array_append___rarg(lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_isValueTransition_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*); @@ -144,14 +145,17 @@ lean_object* l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__4; extern lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__7; lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_traceStep___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Std_HashMapImp_insert___at_Lean_Meta_Match_Extension_State_addEntry___spec__6(lean_object*, lean_object*, lean_object*); +lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6636____spec__2(lean_object*, size_t, size_t, lean_object*); lean_object* l_List_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processValue___spec__5___boxed(lean_object*, lean_object*); lean_object* lean_st_ref_get(lean_object*, lean_object*); +lean_object* l_Lean_mkStateFromImportedEntries___at_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6636____spec__1(lean_object*, lean_object*); lean_object* l_Lean_Meta_Match_processInaccessibleAsCtor___lambda__1___closed__3; uint8_t l_Lean_Meta_Match_Unify_occurs(lean_object*, lean_object*); lean_object* l_List_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandVarIntoCtor_x3f___spec__5___boxed(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6738____closed__3; lean_object* l_List_append___rarg(lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_getUElimPos_x3f___closed__3; -lean_object* l_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6389_(lean_object*); +lean_object* l_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6636_(lean_object*); uint8_t lean_name_eq(lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_checkNumPatterns(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_List_map___at_Lean_Meta_Match_Example_applyFVarSubst___spec__1___boxed(lean_object*, lean_object*); @@ -170,6 +174,7 @@ lean_object* l_Lean_Meta_Match_Extension_extension___elambda__3___boxed(lean_obj lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processValue___closed__3; lean_object* l_Lean_Meta_Match_processInaccessibleAsCtor_match__2___rarg(lean_object*, lean_object*, lean_object*); lean_object* lean_expr_instantiate1(lean_object*, lean_object*); +lean_object* l_Lean_Meta_Match_Pattern_hasExprMVar_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processArrayLit_match__2(lean_object*); lean_object* l_Lean_SMap_find_x3f___at_Lean_Meta_Match_Extension_getMatcherInfo_x3f___spec__1___boxed(lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_collectValues(lean_object*); @@ -194,7 +199,6 @@ lean_object* l_Lean_Meta_isTypeCorrect(lean_object*, lean_object*, lean_object*, lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processNonVariable___lambda__1___closed__2; uint8_t l_List_foldr___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_hasVarPattern___spec__1(uint8_t, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_isNextVar___boxed(lean_object*); -lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6389____spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Expr_getAppArgs___closed__1; lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processValue___closed__2; lean_object* l_Std_AssocList_find_x3f___at_Lean_Meta_FVarSubst_find_x3f___spec__1(lean_object*, lean_object*); @@ -220,6 +224,7 @@ extern lean_object* l_Init_Data_Repr___instance__11___rarg___closed__1; uint8_t l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_isDone(lean_object*); lean_object* l_Lean_SMap_switch___at_Lean_Meta_Match_Extension_State_switch___spec__1(lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processConstructor___closed__1; +lean_object* l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6738____closed__1; lean_object* l_List_map___at_Lean_Meta_Match_Pattern_applyFVarSubst___spec__1(lean_object*, lean_object*); lean_object* l_Nat_foldAux___at_Lean_Meta_Match_mkMatcher___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_MessageData_joinSep(lean_object*, lean_object*); @@ -255,6 +260,7 @@ lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_unify_x3f_matc lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAltsAux___rarg___closed__4; lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandNatValuePattern(lean_object*); lean_object* l_List_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandVarIntoCtor_x3f___spec__3___boxed(lean_object*, lean_object*); +lean_object* l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6738____closed__2; lean_object* l_Lean_Meta_isExprDefEq___at_Lean_Meta_Match_Unify_unify___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_collectValues_match__1(lean_object*); lean_object* l_Lean_Name_toStringWithSep(lean_object*, lean_object*); @@ -266,11 +272,10 @@ lean_object* l_Lean_Meta_Match_Unify_unify_match__1___rarg(lean_object*, lean_ob lean_object* l_List_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processConstructor___spec__3(lean_object*); lean_object* l_Lean_Meta_isLevelDefEqAux(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_updateAlts___closed__3; -lean_object* l_Lean_registerPersistentEnvExtensionUnsafe___at_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6389____spec__5(lean_object*, lean_object*); lean_object* l_Lean_mkAppN(lean_object*, lean_object*); lean_object* l_List_filterMapM_loop___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processNonVariable___spec__1___closed__2; lean_object* l_List_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processValue___spec__3(lean_object*, lean_object*); -lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Match_Match___hyg_7681_(lean_object*); +lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Match_Match___hyg_7928_(lean_object*); lean_object* l_Lean_Meta_Match_mkMatcher___lambda__1___closed__8; lean_object* l_Lean_Meta_Match_generateMatcherCode___boxed(lean_object*); lean_object* l_Lean_addTrace___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_traceStep___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -281,6 +286,7 @@ lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processVariabl lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processConstructor_match__5___rarg(lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Compiler_inlineAttrs; lean_object* l_Lean_Meta_Match_Example_varsToUnderscore_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_List_mapM___at_Lean_Meta_Match_instantiateAltLHSMVars___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(lean_object*, lean_object*, lean_object*); uint8_t l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_isArrayLitTransition(lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processAsPattern_match__2___rarg(lean_object*, lean_object*, lean_object*); @@ -290,6 +296,7 @@ lean_object* l_Lean_SMap_find_x3f___at_Lean_Meta_Match_Extension_getMatcherInfo_ lean_object* l_Std_mkHashSet___at_Lean_Meta_Match_State_used___default___spec__1(lean_object*); lean_object* l_Lean_throwError___at_Lean_Meta_getMVarDecl___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processConstructor___spec__9(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_Match_instantiatePatternMVars(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_Match_processInaccessibleAsCtor(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_withExistingLocalDecls___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandVarIntoCtor_x3f___spec__6___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processArrayLit_match__3(lean_object*); @@ -308,6 +315,7 @@ lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_isFirstPattern lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processNonVariable_match__2(lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAltsAux___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t lean_nat_dec_eq(lean_object*, lean_object*); +lean_object* l_Lean_Meta_Match_instantiatePatternMVars_match__1(lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processConstructor_match__3(lean_object*); extern lean_object* l_Lean_Name_appendIndexAfter___closed__1; extern lean_object* l_Init_Data_Repr___instance__7___rarg___closed__2; @@ -317,8 +325,6 @@ extern lean_object* l___private_Init_LeanInit_0__Lean_eraseMacroScopesAux___clos lean_object* l_Init_Core___instance__15___rarg(lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAltsAux___rarg___closed__2; lean_object* l_Lean_Meta_Match_Pattern_toMessageData___closed__5; -lean_object* l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6491____closed__4; -lean_object* l_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6389____closed__5; lean_object* l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__9; lean_object* l_Lean_Meta_Match_Pattern_toMessageData(lean_object*); lean_object* l_Lean_Meta_Match_Example_varsToUnderscore(lean_object*); @@ -331,12 +337,12 @@ extern lean_object* l_Lean_Meta_evalNat___closed__20; lean_object* l_List_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processValue___spec__6___closed__1; lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processValue_match__3(lean_object*); lean_object* l_List_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processValue___spec__3___boxed(lean_object*, lean_object*); -lean_object* l_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6389____closed__3; lean_object* l_Lean_Meta_Match_Example_applyFVarSubst_match__2(lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandVarIntoCtor_x3f___lambda__1___boxed__const__1; lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_process(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_Match_mkMatcher___lambda__1___closed__13; lean_object* lean_nat_sub(lean_object*, lean_object*); +lean_object* l_Lean_mkStateFromImportedEntries___at_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6636____spec__1___boxed(lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_throwInductiveTypeExpected___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_constLevels_x21(lean_object*); lean_object* l_Lean_Meta_Match_Pattern_applyFVarSubst___boxed(lean_object*, lean_object*); @@ -346,7 +352,6 @@ lean_object* l_Lean_throwError___at___private_Lean_Meta_Match_Match_0__Lean_Meta lean_object* l_Lean_Meta_Match_isCurrVarInductive___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_Match_Extension_State_map___default___closed__2; lean_object* l_Lean_Meta_Match_Alt_checkAndReplaceFVarId(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6389____spec__2(lean_object*, size_t, size_t, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processAsPattern___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_hasArrayLitPattern(lean_object*); lean_object* l_List_mapM___at_Lean_Meta_Match_Problem_toMessageData___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -361,10 +366,12 @@ lean_object* l_Lean_Meta_whnfD___at___private_Lean_Meta_InferType_0__Lean_Meta_g lean_object* l_Array_mapIdxM_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processArrayLit___spec__9___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Std_AssocList_contains___at_Lean_Meta_Match_Extension_State_addEntry___spec__7(lean_object*, lean_object*); lean_object* l_Lean_Meta_getArrayArgType(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6636____closed__5; lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_getInductiveVal_x3f_match__2(lean_object*); extern lean_object* l___private_Lean_Meta_RecursorInfo_0__Lean_Meta_getMajorPosDepElim___closed__8; lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandVarIntoArrayLit___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_List_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandVarIntoCtor_x3f___spec__4(lean_object*, lean_object*); +lean_object* l_Lean_Meta_Match_Pattern_hasExprMVar_match__1(lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandVarIntoArrayLit_loop_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Array_contains___at_Lean_Meta_CheckAssignment_check___spec__2(lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandVarIntoCtor_x3f___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -372,7 +379,6 @@ lean_object* l_Lean_Meta_Match_processInaccessibleAsCtor___closed__4; lean_object* l_Lean_Meta_FVarSubst_apply(lean_object*, lean_object*); lean_object* l_List_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processConstructor___spec__5(lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_hasArrayLitPattern_match__1___rarg(lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6491____closed__1; lean_object* l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__3(lean_object*, lean_object*); lean_object* l_List_filterAux___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processValue___spec__4(lean_object*, lean_object*, lean_object*); lean_object* l_List_foldr___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_isNatValueTransition___spec__1___boxed(lean_object*, lean_object*); @@ -384,6 +390,8 @@ lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processSkipIna lean_object* l_Lean_Meta_Match_Example_replaceFVarId_match__1(lean_object*); lean_object* l_List_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processSkipInaccessible___spec__1___closed__1; extern lean_object* l_Lean_Meta_evalNat_match__2___rarg___closed__1; +uint8_t l_Lean_Expr_hasExprMVar(lean_object*); +lean_object* l_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6636____lambda__1___boxed(lean_object*); lean_object* l_List_foldr___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_isValueTransition___spec__1___boxed(lean_object*, lean_object*); lean_object* l_Lean_replaceRef(lean_object*, lean_object*); lean_object* lean_array_get(lean_object*, lean_object*, lean_object*); @@ -394,7 +402,6 @@ lean_object* l_Lean_Meta_Match_mkMatcher___lambda__1___closed__4; lean_object* l_List_foldl___at_Lean_Meta_Match_Example_toMessageData___spec__1(lean_object*, lean_object*); lean_object* l_Lean_Meta_Match_mkMatcher___lambda__2___closed__2; lean_object* l_Lean_Expr_fvarId_x21(lean_object*); -uint8_t l_Array_anyMUnsafe_any___at_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6389____spec__6(lean_object*, lean_object*, size_t, size_t); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_hasRecursiveType(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_array_fset(lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_isNextVar_match__1___rarg(lean_object*, lean_object*, lean_object*); @@ -420,6 +427,7 @@ lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandVarIntoC lean_object* l_Lean_Meta_Match_Pattern_toMessageData___closed__4; lean_object* l_List_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processArrayLit___spec__4(lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Util_Trace_0__Lean_addNode___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponed___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6738____closed__6; lean_object* l_Lean_Meta_MatcherApp_addArg_match__1(lean_object*); lean_object* l_List_mapM___at_Lean_Meta_Match_Problem_toMessageData___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_Match_Extension_State_map___default___closed__1; @@ -436,8 +444,10 @@ lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_checkNumPatter lean_object* lean_st_mk_ref(lean_object*, lean_object*); lean_object* l_Lean_Meta_Match_mkMatcher___lambda__2___closed__4; lean_object* l_Std_HashMapImp_find_x3f___at_Lean_Meta_Match_Extension_getMatcherInfo_x3f___spec__5(lean_object*, lean_object*); +lean_object* l_Lean_registerSimplePersistentEnvExtension___at_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6636____spec__4(lean_object*, lean_object*); extern lean_object* l_Lean_MessageData_nil___closed__1; lean_object* l_Lean_Meta_Match_Extension_extension; +lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6636____spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_Match_Unify_assign(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Std_PersistentHashMap_insert___at_Lean_Meta_Match_Extension_State_addEntry___spec__2(lean_object*, lean_object*, lean_object*); lean_object* l_List_foldr___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_inLocalDecls___spec__1___boxed(lean_object*, lean_object*, lean_object*); @@ -483,6 +493,7 @@ lean_object* l_Lean_Meta_matchMatcherApp_x3f_match__2___rarg(lean_object*, lean_ lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processNonVariable_match__2___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_List_foldl___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_collectValues___spec__1(lean_object*, lean_object*); lean_object* l_Array_mapIdxM_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processArrayLit___spec__9(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6636____spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_Match_Example_toMessageData_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_List_map___at_Lean_Meta_Match_Pattern_applyFVarSubst___spec__2(lean_object*, lean_object*); lean_object* l_Lean_Meta_Match_Alt_toMessageData___closed__2; @@ -518,6 +529,7 @@ lean_object* l_Lean_addMessageContextFull___at_Lean_Meta_Lean_Meta_Basic___insta lean_object* l_Lean_Meta_lambdaTelescope___at_Lean_Meta_MatcherApp_addArg___spec__3(lean_object*); lean_object* l_Std_HashSetImp_moveEntries___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processLeaf___spec__3(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_LocalDecl_toExpr(lean_object*); +lean_object* l_Lean_Meta_Match_instantiateAltLHSMVars(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_Match_Unify_unify___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_isExprDefEq___at_Lean_Meta_Match_Unify_unify___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_Match_Unify_unify___closed__1; @@ -565,6 +577,7 @@ lean_object* l_Lean_Meta_Match_Lean_Meta_Match_Match___instance__3; lean_object* l_Lean_PersistentEnvExtension_addEntry___rarg(lean_object*, lean_object*, lean_object*); size_t l_USize_land(size_t, size_t); lean_object* l_Lean_LocalDecl_fvarId(lean_object*); +lean_object* l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6738____closed__4; uint8_t l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_hasCtorPattern(lean_object*); lean_object* l_Lean_Meta_Match_Pattern_toMessageData___closed__1; lean_object* l_Lean_Meta_Match_Pattern_Lean_Meta_Match_Match___instance__1___closed__1; @@ -574,26 +587,26 @@ lean_object* l_Nat_foldRevM_loop___at_Lean_Meta_MatcherApp_addArg___spec__1(lean lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processConstructor___closed__3; lean_object* l_Lean_addMessageContextFull___at_Lean_Meta_Lean_Meta_Basic___instance__10___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_Match_Alt_checkAndReplaceFVarId_match__1(lean_object*); -lean_object* l_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6389____lambda__1(lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAltsAux___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processLeaf_match__1(lean_object*); lean_object* l_Lean_Meta_Match_isCurrVarInductive___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_Match_Alt_Lean_Meta_Match_Match___instance__2; -lean_object* l_Lean_mkStateFromImportedEntries___at_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6389____spec__1(lean_object*, lean_object*); lean_object* l_Std_HashMapImp_find_x3f___at_Lean_Meta_Match_Extension_getMatcherInfo_x3f___spec__5___boxed(lean_object*, lean_object*); extern lean_object* l___private_Lean_Meta_WHNF_0__Lean_Meta_whnfEasyCases___closed__1; lean_object* l_Lean_Meta_Match_Unify_assign___closed__2; lean_object* l_List_map___at_Lean_Meta_Match_counterExamplesToMessageData___spec__1(lean_object*); lean_object* l_Lean_LocalDecl_type(lean_object*); +lean_object* l_Lean_Meta_instantiateLocalDeclMVars___at_Lean_Meta_Match_instantiateAltLHSMVars___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_traceState___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_Match_Alt_toMessageData___closed__4; lean_object* l_Lean_Meta_Match_Extension_extension___elambda__4(lean_object*, lean_object*); +lean_object* l_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6636____closed__3; lean_object* l_List_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandNatValuePattern___spec__1___closed__1; lean_object* l_Lean_Meta_FVarSubst_get(lean_object*, lean_object*); lean_object* l_List_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processSkipInaccessible___spec__1___closed__3; -lean_object* l_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6389____closed__2; lean_object* l_List_map___at_Lean_Meta_Match_Alt_toMessageData___spec__1___closed__3; lean_object* l_Lean_Meta_Match_addMatcherInfo___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +uint8_t l_List_foldr___at_Lean_Meta_Match_Pattern_hasExprMVar___spec__2(uint8_t, lean_object*); lean_object* l_Std_PersistentHashMap_insertAux_traverse___at_Lean_Meta_Match_Extension_State_addEntry___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_Match_Lean_Meta_Match_Match___instance__3___closed__1; lean_object* l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___lambda__1___boxed(lean_object*, lean_object*); @@ -613,6 +626,7 @@ lean_object* l_Lean_Meta_Match_Pattern_toMessageData___closed__2; lean_object* l_Lean_Meta_Match_Unify_assign___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandVarIntoCtor_x3f___spec__1(size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_List_redLength___rarg(lean_object*); +lean_object* l_Lean_registerPersistentEnvExtensionUnsafe___at_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6636____spec__5(lean_object*, lean_object*); lean_object* l_Std_PersistentArray_push___rarg(lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_getInductiveVal_x3f_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_List_filterMapM_loop___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processConstructor___spec__8___closed__2; @@ -622,6 +636,7 @@ lean_object* l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__6; lean_object* l_Lean_Meta_assignExprMVar___at_Lean_Meta_Match_assignGoalOf___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_instantiateLambda___at___private_Lean_Meta_Match_Match_0__Lean_Meta_updateAlts___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Std_PersistentHashMap_find_x3f___at_Lean_Meta_Match_Extension_getMatcherInfo_x3f___spec__2___boxed(lean_object*, lean_object*); +lean_object* l_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6636____lambda__1(lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAltsAux___rarg___closed__3; lean_object* l_List_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandVarIntoCtor_x3f___spec__5(lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_isNatValueTransition___boxed(lean_object*); @@ -641,7 +656,6 @@ lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___privat lean_object* l_List_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandNatValuePattern___spec__1(lean_object*); extern lean_object* l_Array_foldlMUnsafe_fold___at_Lean_withNestedTraces___spec__5___closed__1; uint8_t l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_hasAsPattern(lean_object*); -lean_object* l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6491____closed__6; lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_hasVarPattern_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_List_foldr___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_hasCtorPattern___spec__1___boxed(lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandVarIntoCtor_x3f_match__2___rarg(lean_object*, lean_object*, lean_object*); @@ -702,6 +716,7 @@ lean_object* l_Lean_Meta_isExprDefEqGuarded___at_Lean_Meta_Match_Alt_checkAndRep lean_object* l_Lean_Meta_commitWhen___at_Lean_Meta_Match_mkMatcher___spec__6(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_hasNatValPattern___boxed(lean_object*); lean_object* l_List_filterMapM_loop___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processNonVariable___spec__1___closed__4; +lean_object* l_Array_anyMUnsafe_any___at_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6636____spec__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_Match_Extension_extension___elambda__1(lean_object*); lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_forallBoundedTelescopeImp___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_mkArrayLit___at___private_Lean_Meta_Match_CaseArraySizes_0__Lean_Meta_introArrayLit_loop___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -714,6 +729,7 @@ lean_object* l_List_replace___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Ma lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_process___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_List_reprAux___rarg___closed__1; lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_throwNonSupported___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_Match_instantiatePatternMVars_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_Match_mkMatcher___lambda__1___closed__11; lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processValue_match__3___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_assignExprMVar___at_Lean_Meta_Match_assignGoalOf___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -727,7 +743,7 @@ lean_object* l_List_foldr___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Matc lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_updateAlts___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_List_filterAux___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandVarIntoCtor_x3f___spec__2___boxed(lean_object*, lean_object*, lean_object*); lean_object* l_Std_HashMapImp_expand___at_Lean_Meta_Match_Extension_State_addEntry___spec__8(lean_object*, lean_object*); -lean_object* l_Lean_mkStateFromImportedEntries___at_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6389____spec__1___boxed(lean_object*, lean_object*); +uint8_t l_Lean_Meta_Match_Pattern_hasExprMVar(lean_object*); lean_object* l_Lean_Meta_commitWhen___at_Lean_Meta_Match_Unify_unify___spec__2(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_Match_Extension_extension___elambda__4___boxed(lean_object*, lean_object*); lean_object* l_List_filterAux___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processConstructor___spec__6(lean_object*, lean_object*, lean_object*); @@ -736,6 +752,7 @@ lean_object* l_Array_mapIdxM_map___at___private_Lean_Meta_Match_Match_0__Lean_Me lean_object* l_Std_PersistentHashMap_insertAux___at_Lean_Meta_Match_Extension_State_addEntry___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__8; lean_object* l_Array_indexOfAux___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_getUElimPos_x3f___spec__1(lean_object*, lean_object*, lean_object*); +lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6636____spec__3(lean_object*, size_t, size_t, lean_object*); lean_object* l_List_map___at_Lean_Meta_Match_Pattern_toMessageData___spec__2(lean_object*); lean_object* l_List_map___at_Lean_Meta_Match_Example_applyFVarSubst___spec__2(lean_object*, lean_object*); lean_object* l_Lean_Meta_mkLambdaFVars___at_Lean_Meta_CheckAssignment_assignToConstFun___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -765,11 +782,11 @@ lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_throwNonSuppor lean_object* l_List_filterAux___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandVarIntoCtor_x3f___spec__2(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_mkForall(lean_object*, uint8_t, lean_object*, lean_object*); uint8_t l_List_foldr___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_isNatValueTransition___spec__1(uint8_t, lean_object*); +lean_object* l_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6636____closed__4; lean_object* l_Lean_Meta_Match_Unify_assign___closed__5; lean_object* l_Lean_Meta_Match_withGoalOf(lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_isValueTransition_match__1(lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processArrayLit___closed__2; -lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6389____spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processAsPattern(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_MatcherApp_addArg___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_List_foldr___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_hasArrayLitPattern___spec__1___boxed(lean_object*, lean_object*); @@ -784,10 +801,8 @@ lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandVarIntoA lean_object* l_Lean_Meta_Match_Pattern_toMessageData___closed__6; lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processValue_match__2(lean_object*); lean_object* l_List_toArrayAux___rarg(lean_object*, lean_object*); -lean_object* l_Lean_Meta_instantiateLocalDeclMVars___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAltsAux___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processConstructor_match__1(lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_getUElimPos_x3f_match__1(lean_object*, lean_object*); -lean_object* l_Lean_registerSimplePersistentEnvExtension___at_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6389____spec__4(lean_object*, lean_object*); lean_object* l_Lean_Meta_withMVarContext___at_Lean_Meta_revert___spec__5___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_addTrace___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_traceStep___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_mkFreshExprMVarImpl(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -795,11 +810,11 @@ lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_isValueTransit lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_updateAlts___lambda__3___closed__1; lean_object* l_Lean_Meta_Match_withGoalOf___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__1; -lean_object* l_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6389____lambda__1___boxed(lean_object*); lean_object* l_List_map___at_Lean_Meta_Match_Alt_applyFVarSubst___spec__2(lean_object*, lean_object*); lean_object* l_List_mapM___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandVarIntoArrayLit_loop___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_List_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processConstructor___spec__5___boxed(lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_throwNonSupported___closed__1; +lean_object* l_List_foldr___at_Lean_Meta_Match_Pattern_hasExprMVar___spec__2___boxed(lean_object*, lean_object*); lean_object* l_List_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processConstructor___spec__2(lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandVarIntoArrayLit_loop___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_toList___rarg(lean_object*); @@ -826,7 +841,6 @@ lean_object* l_Lean_Meta_withLocalDecl___at_Lean_Meta_GeneralizeTelescope_genera lean_object* l_Lean_Meta_matchMatcherApp_x3f_match__1(lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_hasAsPattern_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandVarIntoArrayLit___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6389____spec__3(lean_object*, size_t, size_t, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_isConstructorTransition_match__1(lean_object*); lean_object* l_Std_PersistentHashMap_insertAux_traverse___at_Lean_Meta_Match_Extension_State_addEntry___spec__4(size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_throwNonSupported(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -846,6 +860,7 @@ lean_object* l_Lean_Meta_Match_mkMatcher_match__1___rarg(lean_object*, lean_obje lean_object* l_Lean_indentD(lean_object*); lean_object* l_Lean_Meta_Match_State_used___default___closed__1; lean_object* l_Lean_EnumAttributes_setValue___rarg(lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6636____closed__2; lean_object* l_Lean_Meta_Match_examplesToMessageData(lean_object*); lean_object* l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__9; lean_object* l_Lean_Expr_FindImpl_findM_x3f_visit(lean_object*, size_t, lean_object*, lean_object*); @@ -864,11 +879,11 @@ lean_object* l_List_mapM___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_inLocalDecls___boxed(lean_object*, lean_object*); extern lean_object* l_Lean_mkOptionalNode___closed__2; extern lean_object* l_Lean_Format_paren___closed__3; -lean_object* l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6491____closed__2; lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processVariable___closed__1; lean_object* l___private_Lean_Util_Trace_0__Lean_getResetTraces___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponed___spec__1___rarg(lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processValue(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_mkNatLit(lean_object*); +lean_object* l_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6636____closed__1; lean_object* l_Lean_Expr_getAppFn(lean_object*); lean_object* l_Lean_Meta_withExistingLocalDecls___at_Lean_Meta_Match_Alt_toMessageData___spec__2(lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_isNextVar_match__1(lean_object*); @@ -905,7 +920,6 @@ lean_object* l_Lean_Meta_Match_Extension_Lean_Meta_Match_Match___instance__4; uint8_t lean_level_eq(lean_object*, lean_object*); lean_object* l_Lean_Meta_Match_isCurrVarInductive___closed__1; lean_object* l_EStateM_pure___rarg(lean_object*, lean_object*); -lean_object* l_List_mapM___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAltsAux___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_Match_Alt_Lean_Meta_Match_Match___instance__2___closed__1; lean_object* l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__6; lean_object* l_Lean_Meta_Match_Extension_getMatcherInfo_x3f(lean_object*, lean_object*); @@ -930,29 +944,29 @@ lean_object* l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__2; lean_object* l_Lean_Meta_forallBoundedTelescope___at___private_Lean_Meta_FunInfo_0__Lean_Meta_getFunInfoAux___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_Match_counterExamplesToMessageData(lean_object*); lean_object* l_Nat_foldRevM_loop___at_Lean_Meta_MatcherApp_addArg___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +uint8_t l_Array_anyMUnsafe_any___at_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6636____spec__6(lean_object*, lean_object*, size_t, size_t); lean_object* l_Lean_Meta_caseArraySizes(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_Match_Example_toMessageData___closed__1; lean_object* l_Lean_Meta_MatcherApp_addArg___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_updateAlts___closed__2; +lean_object* l_List_foldr___at_Lean_Meta_Match_Pattern_hasExprMVar___spec__1___boxed(lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_getInductiveVal_x3f_match__2___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_List_filterMapM_loop___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processNonVariable___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__5; lean_object* l_Lean_Meta_Match_Alt_applyFVarSubst(lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processNonVariable_match__1(lean_object*); lean_object* l_Lean_Meta_Match_Extension_extension___closed__5; -lean_object* l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6491_(lean_object*); +lean_object* l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6738_(lean_object*); lean_object* l_Lean_Meta_commitWhen___at_Lean_Meta_Match_Unify_unify___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_throwInductiveTypeExpected___rarg___closed__2; extern lean_object* l_Array_foldlMUnsafe_fold___at_Lean_ppGoal___spec__7___closed__1; lean_object* l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__3; uint8_t l_List_foldr___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_isArrayLitTransition___spec__1(uint8_t, lean_object*); -lean_object* l_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6389____closed__1; extern lean_object* l_IO_Error_Init_System_IOError___instance__3___closed__1; extern lean_object* l_Lean_Meta_throwLetTypeMismatchMessage___rarg___closed__8; lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processConstructor_match__4___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_Match_Extension_extension___elambda__2(lean_object*); lean_object* l_Lean_Meta_Match_Unify_isAltVar(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6491____closed__5; lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_process___lambda__1___closed__4; lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_hasArrayLitPattern_match__1(lean_object*); lean_object* l_List_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processConstructor___spec__7___boxed(lean_object*, lean_object*); @@ -970,13 +984,13 @@ lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_process___lamb lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processValue_match__1(lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processVariable_match__2(lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_process___lambda__1___closed__2; -lean_object* l_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6389____closed__4; lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_isVariableTransition_match__1(lean_object*); lean_object* l_Lean_Meta_check(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Std_PersistentHashMap_findAtAux___at_Lean_Meta_Match_Extension_getMatcherInfo_x3f___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_Match_Alt_toMessageData___closed__3; lean_object* l_Lean_Meta_Match_mkMatcher___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_Match_Pattern_toExpr(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6738____closed__5; lean_object* l_Std_PersistentHashMap_mkCollisionNode___rarg(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_MatcherApp_addArg___lambda__2___closed__1; lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_throwNonSupported___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -993,6 +1007,7 @@ extern lean_object* l_Lean_Meta_mkArrow___rarg___closed__2; lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_isNatValueTransition_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_process___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__2; +uint8_t l_List_foldr___at_Lean_Meta_Match_Pattern_hasExprMVar___spec__1(uint8_t, lean_object*); uint8_t l_Lean_Meta_Match_generateMatcherCode(lean_object*); lean_object* l_Lean_Meta_Match_Example_toMessageData___closed__2; static lean_object* _init_l_Lean_Meta_Match_Pattern_Lean_Meta_Match_Match___instance__1___closed__1() { @@ -2524,6 +2539,2489 @@ lean_dec(x_5); return x_6; } } +lean_object* l_Lean_Meta_Match_Pattern_hasExprMVar_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +_start: +{ +switch (lean_obj_tag(x_1)) { +case 0: +{ +lean_object* x_8; lean_object* x_9; +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +x_8 = lean_ctor_get(x_1, 0); +lean_inc(x_8); +lean_dec(x_1); +x_9 = lean_apply_1(x_2, x_8); +return x_9; +} +case 1: +{ +lean_object* x_10; +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_10 = lean_apply_1(x_7, x_1); +return x_10; +} +case 2: +{ +lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_2); +x_11 = lean_ctor_get(x_1, 0); +lean_inc(x_11); +x_12 = lean_ctor_get(x_1, 1); +lean_inc(x_12); +x_13 = lean_ctor_get(x_1, 2); +lean_inc(x_13); +x_14 = lean_ctor_get(x_1, 3); +lean_inc(x_14); +lean_dec(x_1); +x_15 = lean_apply_4(x_3, x_11, x_12, x_13, x_14); +return x_15; +} +case 3: +{ +lean_object* x_16; lean_object* x_17; +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_3); +lean_dec(x_2); +x_16 = lean_ctor_get(x_1, 0); +lean_inc(x_16); +lean_dec(x_1); +x_17 = lean_apply_1(x_4, x_16); +return x_17; +} +case 4: +{ +lean_object* x_18; lean_object* x_19; lean_object* x_20; +lean_dec(x_7); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_18 = lean_ctor_get(x_1, 0); +lean_inc(x_18); +x_19 = lean_ctor_get(x_1, 1); +lean_inc(x_19); +lean_dec(x_1); +x_20 = lean_apply_2(x_6, x_18, x_19); +return x_20; +} +default: +{ +lean_object* x_21; lean_object* x_22; lean_object* x_23; +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_21 = lean_ctor_get(x_1, 0); +lean_inc(x_21); +x_22 = lean_ctor_get(x_1, 1); +lean_inc(x_22); +lean_dec(x_1); +x_23 = lean_apply_2(x_5, x_21, x_22); +return x_23; +} +} +} +} +lean_object* l_Lean_Meta_Match_Pattern_hasExprMVar_match__1(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Lean_Meta_Match_Pattern_hasExprMVar_match__1___rarg), 7, 0); +return x_2; +} +} +uint8_t l_List_foldr___at_Lean_Meta_Match_Pattern_hasExprMVar___spec__1(uint8_t x_1, lean_object* x_2) { +_start: +{ +if (lean_obj_tag(x_2) == 0) +{ +return x_1; +} +else +{ +lean_object* x_3; lean_object* x_4; uint8_t x_5; uint8_t x_6; +x_3 = lean_ctor_get(x_2, 0); +x_4 = lean_ctor_get(x_2, 1); +x_5 = l_List_foldr___at_Lean_Meta_Match_Pattern_hasExprMVar___spec__1(x_1, x_4); +x_6 = l_Lean_Expr_hasExprMVar(x_3); +if (x_6 == 0) +{ +return x_5; +} +else +{ +uint8_t x_7; +x_7 = 1; +return x_7; +} +} +} +} +uint8_t l_List_foldr___at_Lean_Meta_Match_Pattern_hasExprMVar___spec__2(uint8_t x_1, lean_object* x_2) { +_start: +{ +if (lean_obj_tag(x_2) == 0) +{ +return x_1; +} +else +{ +lean_object* x_3; lean_object* x_4; uint8_t x_5; uint8_t x_6; +x_3 = lean_ctor_get(x_2, 0); +x_4 = lean_ctor_get(x_2, 1); +x_5 = l_List_foldr___at_Lean_Meta_Match_Pattern_hasExprMVar___spec__2(x_1, x_4); +x_6 = l_Lean_Meta_Match_Pattern_hasExprMVar(x_3); +if (x_6 == 0) +{ +return x_5; +} +else +{ +uint8_t x_7; +x_7 = 1; +return x_7; +} +} +} +} +uint8_t l_Lean_Meta_Match_Pattern_hasExprMVar(lean_object* x_1) { +_start: +{ +switch (lean_obj_tag(x_1)) { +case 1: +{ +uint8_t x_2; +x_2 = 0; +return x_2; +} +case 2: +{ +lean_object* x_3; lean_object* x_4; uint8_t x_5; uint8_t x_6; +x_3 = lean_ctor_get(x_1, 2); +x_4 = lean_ctor_get(x_1, 3); +x_5 = 0; +x_6 = l_List_foldr___at_Lean_Meta_Match_Pattern_hasExprMVar___spec__1(x_5, x_3); +if (x_6 == 0) +{ +uint8_t x_7; +x_7 = l_List_foldr___at_Lean_Meta_Match_Pattern_hasExprMVar___spec__2(x_5, x_4); +return x_7; +} +else +{ +uint8_t x_8; +x_8 = 1; +return x_8; +} +} +case 4: +{ +lean_object* x_9; lean_object* x_10; uint8_t x_11; +x_9 = lean_ctor_get(x_1, 0); +x_10 = lean_ctor_get(x_1, 1); +x_11 = l_Lean_Expr_hasExprMVar(x_9); +if (x_11 == 0) +{ +uint8_t x_12; uint8_t x_13; +x_12 = 0; +x_13 = l_List_foldr___at_Lean_Meta_Match_Pattern_hasExprMVar___spec__2(x_12, x_10); +return x_13; +} +else +{ +uint8_t x_14; +x_14 = 1; +return x_14; +} +} +case 5: +{ +lean_object* x_15; +x_15 = lean_ctor_get(x_1, 1); +x_1 = x_15; +goto _start; +} +default: +{ +lean_object* x_17; uint8_t x_18; +x_17 = lean_ctor_get(x_1, 0); +x_18 = l_Lean_Expr_hasExprMVar(x_17); +return x_18; +} +} +} +} +lean_object* l_List_foldr___at_Lean_Meta_Match_Pattern_hasExprMVar___spec__1___boxed(lean_object* x_1, lean_object* x_2) { +_start: +{ +uint8_t x_3; uint8_t x_4; lean_object* x_5; +x_3 = lean_unbox(x_1); +lean_dec(x_1); +x_4 = l_List_foldr___at_Lean_Meta_Match_Pattern_hasExprMVar___spec__1(x_3, x_2); +lean_dec(x_2); +x_5 = lean_box(x_4); +return x_5; +} +} +lean_object* l_List_foldr___at_Lean_Meta_Match_Pattern_hasExprMVar___spec__2___boxed(lean_object* x_1, lean_object* x_2) { +_start: +{ +uint8_t x_3; uint8_t x_4; lean_object* x_5; +x_3 = lean_unbox(x_1); +lean_dec(x_1); +x_4 = l_List_foldr___at_Lean_Meta_Match_Pattern_hasExprMVar___spec__2(x_3, x_2); +lean_dec(x_2); +x_5 = lean_box(x_4); +return x_5; +} +} +lean_object* l_Lean_Meta_Match_Pattern_hasExprMVar___boxed(lean_object* x_1) { +_start: +{ +uint8_t x_2; lean_object* x_3; +x_2 = l_Lean_Meta_Match_Pattern_hasExprMVar(x_1); +lean_dec(x_1); +x_3 = lean_box(x_2); +return x_3; +} +} +lean_object* l_Lean_Meta_Match_instantiatePatternMVars_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +_start: +{ +switch (lean_obj_tag(x_1)) { +case 0: +{ +lean_object* x_8; lean_object* x_9; +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +x_8 = lean_ctor_get(x_1, 0); +lean_inc(x_8); +lean_dec(x_1); +x_9 = lean_apply_1(x_2, x_8); +return x_9; +} +case 1: +{ +lean_object* x_10; +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_10 = lean_apply_1(x_7, x_1); +return x_10; +} +case 2: +{ +lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_3); +lean_dec(x_2); +x_11 = lean_ctor_get(x_1, 0); +lean_inc(x_11); +x_12 = lean_ctor_get(x_1, 1); +lean_inc(x_12); +x_13 = lean_ctor_get(x_1, 2); +lean_inc(x_13); +x_14 = lean_ctor_get(x_1, 3); +lean_inc(x_14); +lean_dec(x_1); +x_15 = lean_apply_4(x_4, x_11, x_12, x_13, x_14); +return x_15; +} +case 3: +{ +lean_object* x_16; lean_object* x_17; +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_2); +x_16 = lean_ctor_get(x_1, 0); +lean_inc(x_16); +lean_dec(x_1); +x_17 = lean_apply_1(x_3, x_16); +return x_17; +} +case 4: +{ +lean_object* x_18; lean_object* x_19; lean_object* x_20; +lean_dec(x_7); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_18 = lean_ctor_get(x_1, 0); +lean_inc(x_18); +x_19 = lean_ctor_get(x_1, 1); +lean_inc(x_19); +lean_dec(x_1); +x_20 = lean_apply_2(x_6, x_18, x_19); +return x_20; +} +default: +{ +lean_object* x_21; lean_object* x_22; lean_object* x_23; +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_21 = lean_ctor_get(x_1, 0); +lean_inc(x_21); +x_22 = lean_ctor_get(x_1, 1); +lean_inc(x_22); +lean_dec(x_1); +x_23 = lean_apply_2(x_5, x_21, x_22); +return x_23; +} +} +} +} +lean_object* l_Lean_Meta_Match_instantiatePatternMVars_match__1(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Lean_Meta_Match_instantiatePatternMVars_match__1___rarg), 7, 0); +return x_2; +} +} +lean_object* l_List_mapM___at_Lean_Meta_Match_instantiatePatternMVars___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_1) == 0) +{ +lean_object* x_7; lean_object* x_8; +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_7 = lean_box(0); +x_8 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_8, 0, x_7); +lean_ctor_set(x_8, 1, x_6); +return x_8; +} +else +{ +uint8_t x_9; +x_9 = !lean_is_exclusive(x_1); +if (x_9 == 0) +{ +lean_object* x_10; lean_object* x_11; lean_object* x_12; +x_10 = lean_ctor_get(x_1, 0); +x_11 = lean_ctor_get(x_1, 1); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_2); +x_12 = l_Lean_Meta_instantiateMVarsImp(x_10, x_2, x_3, x_4, x_5, x_6); +if (lean_obj_tag(x_12) == 0) +{ +lean_object* x_13; lean_object* x_14; lean_object* x_15; +x_13 = lean_ctor_get(x_12, 0); +lean_inc(x_13); +x_14 = lean_ctor_get(x_12, 1); +lean_inc(x_14); +lean_dec(x_12); +x_15 = l_List_mapM___at_Lean_Meta_Match_instantiatePatternMVars___spec__1(x_11, x_2, x_3, x_4, x_5, x_14); +if (lean_obj_tag(x_15) == 0) +{ +uint8_t x_16; +x_16 = !lean_is_exclusive(x_15); +if (x_16 == 0) +{ +lean_object* x_17; +x_17 = lean_ctor_get(x_15, 0); +lean_ctor_set(x_1, 1, x_17); +lean_ctor_set(x_1, 0, x_13); +lean_ctor_set(x_15, 0, x_1); +return x_15; +} +else +{ +lean_object* x_18; lean_object* x_19; lean_object* x_20; +x_18 = lean_ctor_get(x_15, 0); +x_19 = lean_ctor_get(x_15, 1); +lean_inc(x_19); +lean_inc(x_18); +lean_dec(x_15); +lean_ctor_set(x_1, 1, x_18); +lean_ctor_set(x_1, 0, x_13); +x_20 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_20, 0, x_1); +lean_ctor_set(x_20, 1, x_19); +return x_20; +} +} +else +{ +uint8_t x_21; +lean_dec(x_13); +lean_free_object(x_1); +x_21 = !lean_is_exclusive(x_15); +if (x_21 == 0) +{ +return x_15; +} +else +{ +lean_object* x_22; lean_object* x_23; lean_object* x_24; +x_22 = lean_ctor_get(x_15, 0); +x_23 = lean_ctor_get(x_15, 1); +lean_inc(x_23); +lean_inc(x_22); +lean_dec(x_15); +x_24 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_24, 0, x_22); +lean_ctor_set(x_24, 1, x_23); +return x_24; +} +} +} +else +{ +uint8_t x_25; +lean_free_object(x_1); +lean_dec(x_11); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_25 = !lean_is_exclusive(x_12); +if (x_25 == 0) +{ +return x_12; +} +else +{ +lean_object* x_26; lean_object* x_27; lean_object* x_28; +x_26 = lean_ctor_get(x_12, 0); +x_27 = lean_ctor_get(x_12, 1); +lean_inc(x_27); +lean_inc(x_26); +lean_dec(x_12); +x_28 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_28, 0, x_26); +lean_ctor_set(x_28, 1, x_27); +return x_28; +} +} +} +else +{ +lean_object* x_29; lean_object* x_30; lean_object* x_31; +x_29 = lean_ctor_get(x_1, 0); +x_30 = lean_ctor_get(x_1, 1); +lean_inc(x_30); +lean_inc(x_29); +lean_dec(x_1); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_2); +x_31 = l_Lean_Meta_instantiateMVarsImp(x_29, x_2, x_3, x_4, x_5, x_6); +if (lean_obj_tag(x_31) == 0) +{ +lean_object* x_32; lean_object* x_33; lean_object* x_34; +x_32 = lean_ctor_get(x_31, 0); +lean_inc(x_32); +x_33 = lean_ctor_get(x_31, 1); +lean_inc(x_33); +lean_dec(x_31); +x_34 = l_List_mapM___at_Lean_Meta_Match_instantiatePatternMVars___spec__1(x_30, x_2, x_3, x_4, x_5, x_33); +if (lean_obj_tag(x_34) == 0) +{ +lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; +x_35 = lean_ctor_get(x_34, 0); +lean_inc(x_35); +x_36 = lean_ctor_get(x_34, 1); +lean_inc(x_36); +if (lean_is_exclusive(x_34)) { + lean_ctor_release(x_34, 0); + lean_ctor_release(x_34, 1); + x_37 = x_34; +} else { + lean_dec_ref(x_34); + x_37 = lean_box(0); +} +x_38 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_38, 0, x_32); +lean_ctor_set(x_38, 1, x_35); +if (lean_is_scalar(x_37)) { + x_39 = lean_alloc_ctor(0, 2, 0); +} else { + x_39 = x_37; +} +lean_ctor_set(x_39, 0, x_38); +lean_ctor_set(x_39, 1, x_36); +return x_39; +} +else +{ +lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; +lean_dec(x_32); +x_40 = lean_ctor_get(x_34, 0); +lean_inc(x_40); +x_41 = lean_ctor_get(x_34, 1); +lean_inc(x_41); +if (lean_is_exclusive(x_34)) { + lean_ctor_release(x_34, 0); + lean_ctor_release(x_34, 1); + x_42 = x_34; +} else { + lean_dec_ref(x_34); + x_42 = lean_box(0); +} +if (lean_is_scalar(x_42)) { + x_43 = lean_alloc_ctor(1, 2, 0); +} else { + x_43 = x_42; +} +lean_ctor_set(x_43, 0, x_40); +lean_ctor_set(x_43, 1, x_41); +return x_43; +} +} +else +{ +lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; +lean_dec(x_30); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_44 = lean_ctor_get(x_31, 0); +lean_inc(x_44); +x_45 = lean_ctor_get(x_31, 1); +lean_inc(x_45); +if (lean_is_exclusive(x_31)) { + lean_ctor_release(x_31, 0); + lean_ctor_release(x_31, 1); + x_46 = x_31; +} else { + lean_dec_ref(x_31); + x_46 = lean_box(0); +} +if (lean_is_scalar(x_46)) { + x_47 = lean_alloc_ctor(1, 2, 0); +} else { + x_47 = x_46; +} +lean_ctor_set(x_47, 0, x_44); +lean_ctor_set(x_47, 1, x_45); +return x_47; +} +} +} +} +} +lean_object* l_List_mapM___at_Lean_Meta_Match_instantiatePatternMVars___spec__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +_start: +{ +if (lean_obj_tag(x_1) == 0) +{ +lean_object* x_7; lean_object* x_8; +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_7 = lean_box(0); +x_8 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_8, 0, x_7); +lean_ctor_set(x_8, 1, x_6); +return x_8; +} +else +{ +uint8_t x_9; +x_9 = !lean_is_exclusive(x_1); +if (x_9 == 0) +{ +lean_object* x_10; lean_object* x_11; lean_object* x_12; +x_10 = lean_ctor_get(x_1, 0); +x_11 = lean_ctor_get(x_1, 1); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_2); +x_12 = l_Lean_Meta_Match_instantiatePatternMVars(x_10, x_2, x_3, x_4, x_5, x_6); +if (lean_obj_tag(x_12) == 0) +{ +lean_object* x_13; lean_object* x_14; lean_object* x_15; +x_13 = lean_ctor_get(x_12, 0); +lean_inc(x_13); +x_14 = lean_ctor_get(x_12, 1); +lean_inc(x_14); +lean_dec(x_12); +x_15 = l_List_mapM___at_Lean_Meta_Match_instantiatePatternMVars___spec__2(x_11, x_2, x_3, x_4, x_5, x_14); +if (lean_obj_tag(x_15) == 0) +{ +uint8_t x_16; +x_16 = !lean_is_exclusive(x_15); +if (x_16 == 0) +{ +lean_object* x_17; +x_17 = lean_ctor_get(x_15, 0); +lean_ctor_set(x_1, 1, x_17); +lean_ctor_set(x_1, 0, x_13); +lean_ctor_set(x_15, 0, x_1); +return x_15; +} +else +{ +lean_object* x_18; lean_object* x_19; lean_object* x_20; +x_18 = lean_ctor_get(x_15, 0); +x_19 = lean_ctor_get(x_15, 1); +lean_inc(x_19); +lean_inc(x_18); +lean_dec(x_15); +lean_ctor_set(x_1, 1, x_18); +lean_ctor_set(x_1, 0, x_13); +x_20 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_20, 0, x_1); +lean_ctor_set(x_20, 1, x_19); +return x_20; +} +} +else +{ +uint8_t x_21; +lean_dec(x_13); +lean_free_object(x_1); +x_21 = !lean_is_exclusive(x_15); +if (x_21 == 0) +{ +return x_15; +} +else +{ +lean_object* x_22; lean_object* x_23; lean_object* x_24; +x_22 = lean_ctor_get(x_15, 0); +x_23 = lean_ctor_get(x_15, 1); +lean_inc(x_23); +lean_inc(x_22); +lean_dec(x_15); +x_24 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_24, 0, x_22); +lean_ctor_set(x_24, 1, x_23); +return x_24; +} +} +} +else +{ +uint8_t x_25; +lean_free_object(x_1); +lean_dec(x_11); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_25 = !lean_is_exclusive(x_12); +if (x_25 == 0) +{ +return x_12; +} +else +{ +lean_object* x_26; lean_object* x_27; lean_object* x_28; +x_26 = lean_ctor_get(x_12, 0); +x_27 = lean_ctor_get(x_12, 1); +lean_inc(x_27); +lean_inc(x_26); +lean_dec(x_12); +x_28 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_28, 0, x_26); +lean_ctor_set(x_28, 1, x_27); +return x_28; +} +} +} +else +{ +lean_object* x_29; lean_object* x_30; lean_object* x_31; +x_29 = lean_ctor_get(x_1, 0); +x_30 = lean_ctor_get(x_1, 1); +lean_inc(x_30); +lean_inc(x_29); +lean_dec(x_1); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_2); +x_31 = l_Lean_Meta_Match_instantiatePatternMVars(x_29, x_2, x_3, x_4, x_5, x_6); +if (lean_obj_tag(x_31) == 0) +{ +lean_object* x_32; lean_object* x_33; lean_object* x_34; +x_32 = lean_ctor_get(x_31, 0); +lean_inc(x_32); +x_33 = lean_ctor_get(x_31, 1); +lean_inc(x_33); +lean_dec(x_31); +x_34 = l_List_mapM___at_Lean_Meta_Match_instantiatePatternMVars___spec__2(x_30, x_2, x_3, x_4, x_5, x_33); +if (lean_obj_tag(x_34) == 0) +{ +lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; +x_35 = lean_ctor_get(x_34, 0); +lean_inc(x_35); +x_36 = lean_ctor_get(x_34, 1); +lean_inc(x_36); +if (lean_is_exclusive(x_34)) { + lean_ctor_release(x_34, 0); + lean_ctor_release(x_34, 1); + x_37 = x_34; +} else { + lean_dec_ref(x_34); + x_37 = lean_box(0); +} +x_38 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_38, 0, x_32); +lean_ctor_set(x_38, 1, x_35); +if (lean_is_scalar(x_37)) { + x_39 = lean_alloc_ctor(0, 2, 0); +} else { + x_39 = x_37; +} +lean_ctor_set(x_39, 0, x_38); +lean_ctor_set(x_39, 1, x_36); +return x_39; +} +else +{ +lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; +lean_dec(x_32); +x_40 = lean_ctor_get(x_34, 0); +lean_inc(x_40); +x_41 = lean_ctor_get(x_34, 1); +lean_inc(x_41); +if (lean_is_exclusive(x_34)) { + lean_ctor_release(x_34, 0); + lean_ctor_release(x_34, 1); + x_42 = x_34; +} else { + lean_dec_ref(x_34); + x_42 = lean_box(0); +} +if (lean_is_scalar(x_42)) { + x_43 = lean_alloc_ctor(1, 2, 0); +} else { + x_43 = x_42; +} +lean_ctor_set(x_43, 0, x_40); +lean_ctor_set(x_43, 1, x_41); +return x_43; +} +} +else +{ +lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; +lean_dec(x_30); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_44 = lean_ctor_get(x_31, 0); +lean_inc(x_44); +x_45 = lean_ctor_get(x_31, 1); +lean_inc(x_45); +if (lean_is_exclusive(x_31)) { + lean_ctor_release(x_31, 0); + lean_ctor_release(x_31, 1); + x_46 = x_31; +} else { + lean_dec_ref(x_31); + x_46 = lean_box(0); +} +if (lean_is_scalar(x_46)) { + x_47 = lean_alloc_ctor(1, 2, 0); +} else { + x_47 = x_46; +} +lean_ctor_set(x_47, 0, x_44); +lean_ctor_set(x_47, 1, x_45); +return x_47; +} +} +} +} +} +lean_object* l_Lean_Meta_Match_instantiatePatternMVars(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: +{ +switch (lean_obj_tag(x_1)) { +case 0: +{ +uint8_t x_7; +x_7 = !lean_is_exclusive(x_1); +if (x_7 == 0) +{ +lean_object* x_8; lean_object* x_9; +x_8 = lean_ctor_get(x_1, 0); +x_9 = l_Lean_Meta_instantiateMVarsImp(x_8, x_2, x_3, x_4, x_5, x_6); +if (lean_obj_tag(x_9) == 0) +{ +uint8_t x_10; +x_10 = !lean_is_exclusive(x_9); +if (x_10 == 0) +{ +lean_object* x_11; +x_11 = lean_ctor_get(x_9, 0); +lean_ctor_set(x_1, 0, x_11); +lean_ctor_set(x_9, 0, x_1); +return x_9; +} +else +{ +lean_object* x_12; lean_object* x_13; lean_object* x_14; +x_12 = lean_ctor_get(x_9, 0); +x_13 = lean_ctor_get(x_9, 1); +lean_inc(x_13); +lean_inc(x_12); +lean_dec(x_9); +lean_ctor_set(x_1, 0, x_12); +x_14 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_14, 0, x_1); +lean_ctor_set(x_14, 1, x_13); +return x_14; +} +} +else +{ +uint8_t x_15; +lean_free_object(x_1); +x_15 = !lean_is_exclusive(x_9); +if (x_15 == 0) +{ +return x_9; +} +else +{ +lean_object* x_16; lean_object* x_17; lean_object* x_18; +x_16 = lean_ctor_get(x_9, 0); +x_17 = lean_ctor_get(x_9, 1); +lean_inc(x_17); +lean_inc(x_16); +lean_dec(x_9); +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; +} +} +} +else +{ +lean_object* x_19; lean_object* x_20; +x_19 = lean_ctor_get(x_1, 0); +lean_inc(x_19); +lean_dec(x_1); +x_20 = l_Lean_Meta_instantiateMVarsImp(x_19, x_2, x_3, x_4, x_5, x_6); +if (lean_obj_tag(x_20) == 0) +{ +lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; +x_21 = lean_ctor_get(x_20, 0); +lean_inc(x_21); +x_22 = lean_ctor_get(x_20, 1); +lean_inc(x_22); +if (lean_is_exclusive(x_20)) { + lean_ctor_release(x_20, 0); + lean_ctor_release(x_20, 1); + x_23 = x_20; +} else { + lean_dec_ref(x_20); + x_23 = lean_box(0); +} +x_24 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_24, 0, x_21); +if (lean_is_scalar(x_23)) { + x_25 = lean_alloc_ctor(0, 2, 0); +} else { + x_25 = x_23; +} +lean_ctor_set(x_25, 0, x_24); +lean_ctor_set(x_25, 1, x_22); +return x_25; +} +else +{ +lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; +x_26 = lean_ctor_get(x_20, 0); +lean_inc(x_26); +x_27 = lean_ctor_get(x_20, 1); +lean_inc(x_27); +if (lean_is_exclusive(x_20)) { + lean_ctor_release(x_20, 0); + lean_ctor_release(x_20, 1); + x_28 = x_20; +} else { + lean_dec_ref(x_20); + x_28 = lean_box(0); +} +if (lean_is_scalar(x_28)) { + x_29 = lean_alloc_ctor(1, 2, 0); +} else { + x_29 = x_28; +} +lean_ctor_set(x_29, 0, x_26); +lean_ctor_set(x_29, 1, x_27); +return x_29; +} +} +} +case 1: +{ +lean_object* x_30; +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_30 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_30, 0, x_1); +lean_ctor_set(x_30, 1, x_6); +return x_30; +} +case 2: +{ +uint8_t x_31; +x_31 = !lean_is_exclusive(x_1); +if (x_31 == 0) +{ +lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; +x_32 = lean_ctor_get(x_1, 0); +x_33 = lean_ctor_get(x_1, 1); +x_34 = lean_ctor_get(x_1, 2); +x_35 = lean_ctor_get(x_1, 3); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_2); +x_36 = l_List_mapM___at_Lean_Meta_Match_instantiatePatternMVars___spec__1(x_34, x_2, x_3, x_4, x_5, x_6); +if (lean_obj_tag(x_36) == 0) +{ +lean_object* x_37; lean_object* x_38; lean_object* x_39; +x_37 = lean_ctor_get(x_36, 0); +lean_inc(x_37); +x_38 = lean_ctor_get(x_36, 1); +lean_inc(x_38); +lean_dec(x_36); +x_39 = l_List_mapM___at_Lean_Meta_Match_instantiatePatternMVars___spec__2(x_35, x_2, x_3, x_4, x_5, x_38); +if (lean_obj_tag(x_39) == 0) +{ +uint8_t x_40; +x_40 = !lean_is_exclusive(x_39); +if (x_40 == 0) +{ +lean_object* x_41; +x_41 = lean_ctor_get(x_39, 0); +lean_ctor_set(x_1, 3, x_41); +lean_ctor_set(x_1, 2, x_37); +lean_ctor_set(x_39, 0, x_1); +return x_39; +} +else +{ +lean_object* x_42; lean_object* x_43; lean_object* x_44; +x_42 = lean_ctor_get(x_39, 0); +x_43 = lean_ctor_get(x_39, 1); +lean_inc(x_43); +lean_inc(x_42); +lean_dec(x_39); +lean_ctor_set(x_1, 3, x_42); +lean_ctor_set(x_1, 2, x_37); +x_44 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_44, 0, x_1); +lean_ctor_set(x_44, 1, x_43); +return x_44; +} +} +else +{ +uint8_t x_45; +lean_dec(x_37); +lean_free_object(x_1); +lean_dec(x_33); +lean_dec(x_32); +x_45 = !lean_is_exclusive(x_39); +if (x_45 == 0) +{ +return x_39; +} +else +{ +lean_object* x_46; lean_object* x_47; lean_object* x_48; +x_46 = lean_ctor_get(x_39, 0); +x_47 = lean_ctor_get(x_39, 1); +lean_inc(x_47); +lean_inc(x_46); +lean_dec(x_39); +x_48 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_48, 0, x_46); +lean_ctor_set(x_48, 1, x_47); +return x_48; +} +} +} +else +{ +uint8_t x_49; +lean_free_object(x_1); +lean_dec(x_35); +lean_dec(x_33); +lean_dec(x_32); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_49 = !lean_is_exclusive(x_36); +if (x_49 == 0) +{ +return x_36; +} +else +{ +lean_object* x_50; lean_object* x_51; lean_object* x_52; +x_50 = lean_ctor_get(x_36, 0); +x_51 = lean_ctor_get(x_36, 1); +lean_inc(x_51); +lean_inc(x_50); +lean_dec(x_36); +x_52 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_52, 0, x_50); +lean_ctor_set(x_52, 1, x_51); +return x_52; +} +} +} +else +{ +lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; +x_53 = lean_ctor_get(x_1, 0); +x_54 = lean_ctor_get(x_1, 1); +x_55 = lean_ctor_get(x_1, 2); +x_56 = lean_ctor_get(x_1, 3); +lean_inc(x_56); +lean_inc(x_55); +lean_inc(x_54); +lean_inc(x_53); +lean_dec(x_1); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_2); +x_57 = l_List_mapM___at_Lean_Meta_Match_instantiatePatternMVars___spec__1(x_55, x_2, x_3, x_4, x_5, x_6); +if (lean_obj_tag(x_57) == 0) +{ +lean_object* x_58; lean_object* x_59; lean_object* x_60; +x_58 = lean_ctor_get(x_57, 0); +lean_inc(x_58); +x_59 = lean_ctor_get(x_57, 1); +lean_inc(x_59); +lean_dec(x_57); +x_60 = l_List_mapM___at_Lean_Meta_Match_instantiatePatternMVars___spec__2(x_56, x_2, x_3, x_4, x_5, x_59); +if (lean_obj_tag(x_60) == 0) +{ +lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; +x_61 = lean_ctor_get(x_60, 0); +lean_inc(x_61); +x_62 = lean_ctor_get(x_60, 1); +lean_inc(x_62); +if (lean_is_exclusive(x_60)) { + lean_ctor_release(x_60, 0); + lean_ctor_release(x_60, 1); + x_63 = x_60; +} else { + lean_dec_ref(x_60); + x_63 = lean_box(0); +} +x_64 = lean_alloc_ctor(2, 4, 0); +lean_ctor_set(x_64, 0, x_53); +lean_ctor_set(x_64, 1, x_54); +lean_ctor_set(x_64, 2, x_58); +lean_ctor_set(x_64, 3, x_61); +if (lean_is_scalar(x_63)) { + x_65 = lean_alloc_ctor(0, 2, 0); +} else { + x_65 = x_63; +} +lean_ctor_set(x_65, 0, x_64); +lean_ctor_set(x_65, 1, x_62); +return x_65; +} +else +{ +lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; +lean_dec(x_58); +lean_dec(x_54); +lean_dec(x_53); +x_66 = lean_ctor_get(x_60, 0); +lean_inc(x_66); +x_67 = lean_ctor_get(x_60, 1); +lean_inc(x_67); +if (lean_is_exclusive(x_60)) { + lean_ctor_release(x_60, 0); + lean_ctor_release(x_60, 1); + x_68 = x_60; +} else { + lean_dec_ref(x_60); + x_68 = lean_box(0); +} +if (lean_is_scalar(x_68)) { + x_69 = lean_alloc_ctor(1, 2, 0); +} else { + x_69 = x_68; +} +lean_ctor_set(x_69, 0, x_66); +lean_ctor_set(x_69, 1, x_67); +return x_69; +} +} +else +{ +lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; +lean_dec(x_56); +lean_dec(x_54); +lean_dec(x_53); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_70 = lean_ctor_get(x_57, 0); +lean_inc(x_70); +x_71 = lean_ctor_get(x_57, 1); +lean_inc(x_71); +if (lean_is_exclusive(x_57)) { + lean_ctor_release(x_57, 0); + lean_ctor_release(x_57, 1); + x_72 = x_57; +} else { + lean_dec_ref(x_57); + x_72 = lean_box(0); +} +if (lean_is_scalar(x_72)) { + x_73 = lean_alloc_ctor(1, 2, 0); +} else { + x_73 = x_72; +} +lean_ctor_set(x_73, 0, x_70); +lean_ctor_set(x_73, 1, x_71); +return x_73; +} +} +} +case 3: +{ +uint8_t x_74; +x_74 = !lean_is_exclusive(x_1); +if (x_74 == 0) +{ +lean_object* x_75; lean_object* x_76; +x_75 = lean_ctor_get(x_1, 0); +x_76 = l_Lean_Meta_instantiateMVarsImp(x_75, x_2, x_3, x_4, x_5, x_6); +if (lean_obj_tag(x_76) == 0) +{ +uint8_t x_77; +x_77 = !lean_is_exclusive(x_76); +if (x_77 == 0) +{ +lean_object* x_78; +x_78 = lean_ctor_get(x_76, 0); +lean_ctor_set(x_1, 0, x_78); +lean_ctor_set(x_76, 0, x_1); +return x_76; +} +else +{ +lean_object* x_79; lean_object* x_80; lean_object* x_81; +x_79 = lean_ctor_get(x_76, 0); +x_80 = lean_ctor_get(x_76, 1); +lean_inc(x_80); +lean_inc(x_79); +lean_dec(x_76); +lean_ctor_set(x_1, 0, x_79); +x_81 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_81, 0, x_1); +lean_ctor_set(x_81, 1, x_80); +return x_81; +} +} +else +{ +uint8_t x_82; +lean_free_object(x_1); +x_82 = !lean_is_exclusive(x_76); +if (x_82 == 0) +{ +return x_76; +} +else +{ +lean_object* x_83; lean_object* x_84; lean_object* x_85; +x_83 = lean_ctor_get(x_76, 0); +x_84 = lean_ctor_get(x_76, 1); +lean_inc(x_84); +lean_inc(x_83); +lean_dec(x_76); +x_85 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_85, 0, x_83); +lean_ctor_set(x_85, 1, x_84); +return x_85; +} +} +} +else +{ +lean_object* x_86; lean_object* x_87; +x_86 = lean_ctor_get(x_1, 0); +lean_inc(x_86); +lean_dec(x_1); +x_87 = l_Lean_Meta_instantiateMVarsImp(x_86, x_2, x_3, x_4, x_5, x_6); +if (lean_obj_tag(x_87) == 0) +{ +lean_object* x_88; lean_object* x_89; lean_object* x_90; lean_object* x_91; lean_object* x_92; +x_88 = lean_ctor_get(x_87, 0); +lean_inc(x_88); +x_89 = lean_ctor_get(x_87, 1); +lean_inc(x_89); +if (lean_is_exclusive(x_87)) { + lean_ctor_release(x_87, 0); + lean_ctor_release(x_87, 1); + x_90 = x_87; +} else { + lean_dec_ref(x_87); + x_90 = lean_box(0); +} +x_91 = lean_alloc_ctor(3, 1, 0); +lean_ctor_set(x_91, 0, x_88); +if (lean_is_scalar(x_90)) { + x_92 = lean_alloc_ctor(0, 2, 0); +} else { + x_92 = x_90; +} +lean_ctor_set(x_92, 0, x_91); +lean_ctor_set(x_92, 1, x_89); +return x_92; +} +else +{ +lean_object* x_93; lean_object* x_94; lean_object* x_95; lean_object* x_96; +x_93 = lean_ctor_get(x_87, 0); +lean_inc(x_93); +x_94 = lean_ctor_get(x_87, 1); +lean_inc(x_94); +if (lean_is_exclusive(x_87)) { + lean_ctor_release(x_87, 0); + lean_ctor_release(x_87, 1); + x_95 = x_87; +} else { + lean_dec_ref(x_87); + x_95 = lean_box(0); +} +if (lean_is_scalar(x_95)) { + x_96 = lean_alloc_ctor(1, 2, 0); +} else { + x_96 = x_95; +} +lean_ctor_set(x_96, 0, x_93); +lean_ctor_set(x_96, 1, x_94); +return x_96; +} +} +} +case 4: +{ +uint8_t x_97; +x_97 = !lean_is_exclusive(x_1); +if (x_97 == 0) +{ +lean_object* x_98; lean_object* x_99; lean_object* x_100; +x_98 = lean_ctor_get(x_1, 0); +x_99 = lean_ctor_get(x_1, 1); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_2); +x_100 = l_Lean_Meta_instantiateMVarsImp(x_98, x_2, x_3, x_4, x_5, x_6); +if (lean_obj_tag(x_100) == 0) +{ +lean_object* x_101; lean_object* x_102; lean_object* x_103; +x_101 = lean_ctor_get(x_100, 0); +lean_inc(x_101); +x_102 = lean_ctor_get(x_100, 1); +lean_inc(x_102); +lean_dec(x_100); +x_103 = l_List_mapM___at_Lean_Meta_Match_instantiatePatternMVars___spec__2(x_99, x_2, x_3, x_4, x_5, x_102); +if (lean_obj_tag(x_103) == 0) +{ +uint8_t x_104; +x_104 = !lean_is_exclusive(x_103); +if (x_104 == 0) +{ +lean_object* x_105; +x_105 = lean_ctor_get(x_103, 0); +lean_ctor_set(x_1, 1, x_105); +lean_ctor_set(x_1, 0, x_101); +lean_ctor_set(x_103, 0, x_1); +return x_103; +} +else +{ +lean_object* x_106; lean_object* x_107; lean_object* x_108; +x_106 = lean_ctor_get(x_103, 0); +x_107 = lean_ctor_get(x_103, 1); +lean_inc(x_107); +lean_inc(x_106); +lean_dec(x_103); +lean_ctor_set(x_1, 1, x_106); +lean_ctor_set(x_1, 0, x_101); +x_108 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_108, 0, x_1); +lean_ctor_set(x_108, 1, x_107); +return x_108; +} +} +else +{ +uint8_t x_109; +lean_dec(x_101); +lean_free_object(x_1); +x_109 = !lean_is_exclusive(x_103); +if (x_109 == 0) +{ +return x_103; +} +else +{ +lean_object* x_110; lean_object* x_111; lean_object* x_112; +x_110 = lean_ctor_get(x_103, 0); +x_111 = lean_ctor_get(x_103, 1); +lean_inc(x_111); +lean_inc(x_110); +lean_dec(x_103); +x_112 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_112, 0, x_110); +lean_ctor_set(x_112, 1, x_111); +return x_112; +} +} +} +else +{ +uint8_t x_113; +lean_free_object(x_1); +lean_dec(x_99); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_113 = !lean_is_exclusive(x_100); +if (x_113 == 0) +{ +return x_100; +} +else +{ +lean_object* x_114; lean_object* x_115; lean_object* x_116; +x_114 = lean_ctor_get(x_100, 0); +x_115 = lean_ctor_get(x_100, 1); +lean_inc(x_115); +lean_inc(x_114); +lean_dec(x_100); +x_116 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_116, 0, x_114); +lean_ctor_set(x_116, 1, x_115); +return x_116; +} +} +} +else +{ +lean_object* x_117; lean_object* x_118; lean_object* x_119; +x_117 = lean_ctor_get(x_1, 0); +x_118 = lean_ctor_get(x_1, 1); +lean_inc(x_118); +lean_inc(x_117); +lean_dec(x_1); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_2); +x_119 = l_Lean_Meta_instantiateMVarsImp(x_117, x_2, x_3, x_4, x_5, x_6); +if (lean_obj_tag(x_119) == 0) +{ +lean_object* x_120; lean_object* x_121; lean_object* x_122; +x_120 = lean_ctor_get(x_119, 0); +lean_inc(x_120); +x_121 = lean_ctor_get(x_119, 1); +lean_inc(x_121); +lean_dec(x_119); +x_122 = l_List_mapM___at_Lean_Meta_Match_instantiatePatternMVars___spec__2(x_118, x_2, x_3, x_4, x_5, x_121); +if (lean_obj_tag(x_122) == 0) +{ +lean_object* x_123; lean_object* x_124; lean_object* x_125; lean_object* x_126; lean_object* x_127; +x_123 = lean_ctor_get(x_122, 0); +lean_inc(x_123); +x_124 = lean_ctor_get(x_122, 1); +lean_inc(x_124); +if (lean_is_exclusive(x_122)) { + lean_ctor_release(x_122, 0); + lean_ctor_release(x_122, 1); + x_125 = x_122; +} else { + lean_dec_ref(x_122); + x_125 = lean_box(0); +} +x_126 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_126, 0, x_120); +lean_ctor_set(x_126, 1, x_123); +if (lean_is_scalar(x_125)) { + x_127 = lean_alloc_ctor(0, 2, 0); +} else { + x_127 = x_125; +} +lean_ctor_set(x_127, 0, x_126); +lean_ctor_set(x_127, 1, x_124); +return x_127; +} +else +{ +lean_object* x_128; lean_object* x_129; lean_object* x_130; lean_object* x_131; +lean_dec(x_120); +x_128 = lean_ctor_get(x_122, 0); +lean_inc(x_128); +x_129 = lean_ctor_get(x_122, 1); +lean_inc(x_129); +if (lean_is_exclusive(x_122)) { + lean_ctor_release(x_122, 0); + lean_ctor_release(x_122, 1); + x_130 = x_122; +} else { + lean_dec_ref(x_122); + x_130 = lean_box(0); +} +if (lean_is_scalar(x_130)) { + x_131 = lean_alloc_ctor(1, 2, 0); +} else { + x_131 = x_130; +} +lean_ctor_set(x_131, 0, x_128); +lean_ctor_set(x_131, 1, x_129); +return x_131; +} +} +else +{ +lean_object* x_132; lean_object* x_133; lean_object* x_134; lean_object* x_135; +lean_dec(x_118); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_132 = lean_ctor_get(x_119, 0); +lean_inc(x_132); +x_133 = lean_ctor_get(x_119, 1); +lean_inc(x_133); +if (lean_is_exclusive(x_119)) { + lean_ctor_release(x_119, 0); + lean_ctor_release(x_119, 1); + x_134 = x_119; +} else { + lean_dec_ref(x_119); + x_134 = lean_box(0); +} +if (lean_is_scalar(x_134)) { + x_135 = lean_alloc_ctor(1, 2, 0); +} else { + x_135 = x_134; +} +lean_ctor_set(x_135, 0, x_132); +lean_ctor_set(x_135, 1, x_133); +return x_135; +} +} +} +default: +{ +uint8_t x_136; +x_136 = !lean_is_exclusive(x_1); +if (x_136 == 0) +{ +lean_object* x_137; lean_object* x_138; lean_object* x_139; +x_137 = lean_ctor_get(x_1, 0); +x_138 = lean_ctor_get(x_1, 1); +x_139 = l_Lean_Meta_Match_instantiatePatternMVars(x_138, x_2, x_3, x_4, x_5, x_6); +if (lean_obj_tag(x_139) == 0) +{ +uint8_t x_140; +x_140 = !lean_is_exclusive(x_139); +if (x_140 == 0) +{ +lean_object* x_141; +x_141 = lean_ctor_get(x_139, 0); +lean_ctor_set(x_1, 1, x_141); +lean_ctor_set(x_139, 0, x_1); +return x_139; +} +else +{ +lean_object* x_142; lean_object* x_143; lean_object* x_144; +x_142 = lean_ctor_get(x_139, 0); +x_143 = lean_ctor_get(x_139, 1); +lean_inc(x_143); +lean_inc(x_142); +lean_dec(x_139); +lean_ctor_set(x_1, 1, x_142); +x_144 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_144, 0, x_1); +lean_ctor_set(x_144, 1, x_143); +return x_144; +} +} +else +{ +uint8_t x_145; +lean_free_object(x_1); +lean_dec(x_137); +x_145 = !lean_is_exclusive(x_139); +if (x_145 == 0) +{ +return x_139; +} +else +{ +lean_object* x_146; lean_object* x_147; lean_object* x_148; +x_146 = lean_ctor_get(x_139, 0); +x_147 = lean_ctor_get(x_139, 1); +lean_inc(x_147); +lean_inc(x_146); +lean_dec(x_139); +x_148 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_148, 0, x_146); +lean_ctor_set(x_148, 1, x_147); +return x_148; +} +} +} +else +{ +lean_object* x_149; lean_object* x_150; lean_object* x_151; +x_149 = lean_ctor_get(x_1, 0); +x_150 = lean_ctor_get(x_1, 1); +lean_inc(x_150); +lean_inc(x_149); +lean_dec(x_1); +x_151 = l_Lean_Meta_Match_instantiatePatternMVars(x_150, x_2, x_3, x_4, x_5, x_6); +if (lean_obj_tag(x_151) == 0) +{ +lean_object* x_152; lean_object* x_153; lean_object* x_154; lean_object* x_155; lean_object* x_156; +x_152 = lean_ctor_get(x_151, 0); +lean_inc(x_152); +x_153 = lean_ctor_get(x_151, 1); +lean_inc(x_153); +if (lean_is_exclusive(x_151)) { + lean_ctor_release(x_151, 0); + lean_ctor_release(x_151, 1); + x_154 = x_151; +} else { + lean_dec_ref(x_151); + x_154 = lean_box(0); +} +x_155 = lean_alloc_ctor(5, 2, 0); +lean_ctor_set(x_155, 0, x_149); +lean_ctor_set(x_155, 1, x_152); +if (lean_is_scalar(x_154)) { + x_156 = lean_alloc_ctor(0, 2, 0); +} else { + x_156 = x_154; +} +lean_ctor_set(x_156, 0, x_155); +lean_ctor_set(x_156, 1, x_153); +return x_156; +} +else +{ +lean_object* x_157; lean_object* x_158; lean_object* x_159; lean_object* x_160; +lean_dec(x_149); +x_157 = lean_ctor_get(x_151, 0); +lean_inc(x_157); +x_158 = lean_ctor_get(x_151, 1); +lean_inc(x_158); +if (lean_is_exclusive(x_151)) { + lean_ctor_release(x_151, 0); + lean_ctor_release(x_151, 1); + x_159 = x_151; +} else { + lean_dec_ref(x_151); + x_159 = lean_box(0); +} +if (lean_is_scalar(x_159)) { + x_160 = lean_alloc_ctor(1, 2, 0); +} else { + x_160 = x_159; +} +lean_ctor_set(x_160, 0, x_157); +lean_ctor_set(x_160, 1, x_158); +return x_160; +} +} +} +} +} +} +lean_object* l_Lean_Meta_instantiateLocalDeclMVars___at_Lean_Meta_Match_instantiateAltLHSMVars___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_1) == 0) +{ +uint8_t x_7; +x_7 = !lean_is_exclusive(x_1); +if (x_7 == 0) +{ +lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; +x_8 = lean_ctor_get(x_1, 0); +x_9 = lean_ctor_get(x_1, 1); +x_10 = lean_ctor_get(x_1, 2); +x_11 = lean_ctor_get(x_1, 3); +x_12 = l_Lean_Meta_instantiateMVarsImp(x_11, x_2, x_3, x_4, x_5, x_6); +if (lean_obj_tag(x_12) == 0) +{ +uint8_t x_13; +x_13 = !lean_is_exclusive(x_12); +if (x_13 == 0) +{ +lean_object* x_14; +x_14 = lean_ctor_get(x_12, 0); +lean_ctor_set(x_1, 3, x_14); +lean_ctor_set(x_12, 0, x_1); +return x_12; +} +else +{ +lean_object* x_15; lean_object* x_16; lean_object* x_17; +x_15 = lean_ctor_get(x_12, 0); +x_16 = lean_ctor_get(x_12, 1); +lean_inc(x_16); +lean_inc(x_15); +lean_dec(x_12); +lean_ctor_set(x_1, 3, x_15); +x_17 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_17, 0, x_1); +lean_ctor_set(x_17, 1, x_16); +return x_17; +} +} +else +{ +uint8_t x_18; +lean_free_object(x_1); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +x_18 = !lean_is_exclusive(x_12); +if (x_18 == 0) +{ +return x_12; +} +else +{ +lean_object* x_19; lean_object* x_20; lean_object* x_21; +x_19 = lean_ctor_get(x_12, 0); +x_20 = lean_ctor_get(x_12, 1); +lean_inc(x_20); +lean_inc(x_19); +lean_dec(x_12); +x_21 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_21, 0, x_19); +lean_ctor_set(x_21, 1, x_20); +return x_21; +} +} +} +else +{ +lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; uint8_t x_26; lean_object* x_27; +x_22 = lean_ctor_get(x_1, 0); +x_23 = lean_ctor_get(x_1, 1); +x_24 = lean_ctor_get(x_1, 2); +x_25 = lean_ctor_get(x_1, 3); +x_26 = lean_ctor_get_uint8(x_1, sizeof(void*)*4); +lean_inc(x_25); +lean_inc(x_24); +lean_inc(x_23); +lean_inc(x_22); +lean_dec(x_1); +x_27 = l_Lean_Meta_instantiateMVarsImp(x_25, x_2, x_3, x_4, x_5, x_6); +if (lean_obj_tag(x_27) == 0) +{ +lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; +x_28 = lean_ctor_get(x_27, 0); +lean_inc(x_28); +x_29 = lean_ctor_get(x_27, 1); +lean_inc(x_29); +if (lean_is_exclusive(x_27)) { + lean_ctor_release(x_27, 0); + lean_ctor_release(x_27, 1); + x_30 = x_27; +} else { + lean_dec_ref(x_27); + x_30 = lean_box(0); +} +x_31 = lean_alloc_ctor(0, 4, 1); +lean_ctor_set(x_31, 0, x_22); +lean_ctor_set(x_31, 1, x_23); +lean_ctor_set(x_31, 2, x_24); +lean_ctor_set(x_31, 3, x_28); +lean_ctor_set_uint8(x_31, sizeof(void*)*4, x_26); +if (lean_is_scalar(x_30)) { + x_32 = lean_alloc_ctor(0, 2, 0); +} else { + x_32 = x_30; +} +lean_ctor_set(x_32, 0, x_31); +lean_ctor_set(x_32, 1, x_29); +return x_32; +} +else +{ +lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; +lean_dec(x_24); +lean_dec(x_23); +lean_dec(x_22); +x_33 = lean_ctor_get(x_27, 0); +lean_inc(x_33); +x_34 = lean_ctor_get(x_27, 1); +lean_inc(x_34); +if (lean_is_exclusive(x_27)) { + lean_ctor_release(x_27, 0); + lean_ctor_release(x_27, 1); + x_35 = x_27; +} else { + lean_dec_ref(x_27); + x_35 = lean_box(0); +} +if (lean_is_scalar(x_35)) { + x_36 = lean_alloc_ctor(1, 2, 0); +} else { + x_36 = x_35; +} +lean_ctor_set(x_36, 0, x_33); +lean_ctor_set(x_36, 1, x_34); +return x_36; +} +} +} +else +{ +uint8_t x_37; +x_37 = !lean_is_exclusive(x_1); +if (x_37 == 0) +{ +lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; +x_38 = lean_ctor_get(x_1, 0); +x_39 = lean_ctor_get(x_1, 1); +x_40 = lean_ctor_get(x_1, 2); +x_41 = lean_ctor_get(x_1, 3); +x_42 = lean_ctor_get(x_1, 4); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_2); +x_43 = l_Lean_Meta_instantiateMVarsImp(x_41, x_2, x_3, x_4, x_5, x_6); +if (lean_obj_tag(x_43) == 0) +{ +lean_object* x_44; lean_object* x_45; lean_object* x_46; +x_44 = lean_ctor_get(x_43, 0); +lean_inc(x_44); +x_45 = lean_ctor_get(x_43, 1); +lean_inc(x_45); +lean_dec(x_43); +x_46 = l_Lean_Meta_instantiateMVarsImp(x_42, x_2, x_3, x_4, x_5, x_45); +if (lean_obj_tag(x_46) == 0) +{ +uint8_t x_47; +x_47 = !lean_is_exclusive(x_46); +if (x_47 == 0) +{ +lean_object* x_48; +x_48 = lean_ctor_get(x_46, 0); +lean_ctor_set(x_1, 4, x_48); +lean_ctor_set(x_1, 3, x_44); +lean_ctor_set(x_46, 0, x_1); +return x_46; +} +else +{ +lean_object* x_49; lean_object* x_50; lean_object* x_51; +x_49 = lean_ctor_get(x_46, 0); +x_50 = lean_ctor_get(x_46, 1); +lean_inc(x_50); +lean_inc(x_49); +lean_dec(x_46); +lean_ctor_set(x_1, 4, x_49); +lean_ctor_set(x_1, 3, x_44); +x_51 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_51, 0, x_1); +lean_ctor_set(x_51, 1, x_50); +return x_51; +} +} +else +{ +uint8_t x_52; +lean_dec(x_44); +lean_free_object(x_1); +lean_dec(x_40); +lean_dec(x_39); +lean_dec(x_38); +x_52 = !lean_is_exclusive(x_46); +if (x_52 == 0) +{ +return x_46; +} +else +{ +lean_object* x_53; lean_object* x_54; lean_object* x_55; +x_53 = lean_ctor_get(x_46, 0); +x_54 = lean_ctor_get(x_46, 1); +lean_inc(x_54); +lean_inc(x_53); +lean_dec(x_46); +x_55 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_55, 0, x_53); +lean_ctor_set(x_55, 1, x_54); +return x_55; +} +} +} +else +{ +uint8_t x_56; +lean_free_object(x_1); +lean_dec(x_42); +lean_dec(x_40); +lean_dec(x_39); +lean_dec(x_38); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_56 = !lean_is_exclusive(x_43); +if (x_56 == 0) +{ +return x_43; +} +else +{ +lean_object* x_57; lean_object* x_58; lean_object* x_59; +x_57 = lean_ctor_get(x_43, 0); +x_58 = lean_ctor_get(x_43, 1); +lean_inc(x_58); +lean_inc(x_57); +lean_dec(x_43); +x_59 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_59, 0, x_57); +lean_ctor_set(x_59, 1, x_58); +return x_59; +} +} +} +else +{ +lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; uint8_t x_65; lean_object* x_66; +x_60 = lean_ctor_get(x_1, 0); +x_61 = lean_ctor_get(x_1, 1); +x_62 = lean_ctor_get(x_1, 2); +x_63 = lean_ctor_get(x_1, 3); +x_64 = lean_ctor_get(x_1, 4); +x_65 = lean_ctor_get_uint8(x_1, sizeof(void*)*5); +lean_inc(x_64); +lean_inc(x_63); +lean_inc(x_62); +lean_inc(x_61); +lean_inc(x_60); +lean_dec(x_1); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_2); +x_66 = l_Lean_Meta_instantiateMVarsImp(x_63, x_2, x_3, x_4, x_5, x_6); +if (lean_obj_tag(x_66) == 0) +{ +lean_object* x_67; lean_object* x_68; lean_object* x_69; +x_67 = lean_ctor_get(x_66, 0); +lean_inc(x_67); +x_68 = lean_ctor_get(x_66, 1); +lean_inc(x_68); +lean_dec(x_66); +x_69 = l_Lean_Meta_instantiateMVarsImp(x_64, x_2, x_3, x_4, x_5, x_68); +if (lean_obj_tag(x_69) == 0) +{ +lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; +x_70 = lean_ctor_get(x_69, 0); +lean_inc(x_70); +x_71 = lean_ctor_get(x_69, 1); +lean_inc(x_71); +if (lean_is_exclusive(x_69)) { + lean_ctor_release(x_69, 0); + lean_ctor_release(x_69, 1); + x_72 = x_69; +} else { + lean_dec_ref(x_69); + x_72 = lean_box(0); +} +x_73 = lean_alloc_ctor(1, 5, 1); +lean_ctor_set(x_73, 0, x_60); +lean_ctor_set(x_73, 1, x_61); +lean_ctor_set(x_73, 2, x_62); +lean_ctor_set(x_73, 3, x_67); +lean_ctor_set(x_73, 4, x_70); +lean_ctor_set_uint8(x_73, sizeof(void*)*5, x_65); +if (lean_is_scalar(x_72)) { + x_74 = lean_alloc_ctor(0, 2, 0); +} else { + x_74 = x_72; +} +lean_ctor_set(x_74, 0, x_73); +lean_ctor_set(x_74, 1, x_71); +return x_74; +} +else +{ +lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; +lean_dec(x_67); +lean_dec(x_62); +lean_dec(x_61); +lean_dec(x_60); +x_75 = lean_ctor_get(x_69, 0); +lean_inc(x_75); +x_76 = lean_ctor_get(x_69, 1); +lean_inc(x_76); +if (lean_is_exclusive(x_69)) { + lean_ctor_release(x_69, 0); + lean_ctor_release(x_69, 1); + x_77 = x_69; +} else { + lean_dec_ref(x_69); + x_77 = lean_box(0); +} +if (lean_is_scalar(x_77)) { + x_78 = lean_alloc_ctor(1, 2, 0); +} else { + x_78 = x_77; +} +lean_ctor_set(x_78, 0, x_75); +lean_ctor_set(x_78, 1, x_76); +return x_78; +} +} +else +{ +lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82; +lean_dec(x_64); +lean_dec(x_62); +lean_dec(x_61); +lean_dec(x_60); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_79 = lean_ctor_get(x_66, 0); +lean_inc(x_79); +x_80 = lean_ctor_get(x_66, 1); +lean_inc(x_80); +if (lean_is_exclusive(x_66)) { + lean_ctor_release(x_66, 0); + lean_ctor_release(x_66, 1); + x_81 = x_66; +} else { + lean_dec_ref(x_66); + x_81 = lean_box(0); +} +if (lean_is_scalar(x_81)) { + x_82 = lean_alloc_ctor(1, 2, 0); +} else { + x_82 = x_81; +} +lean_ctor_set(x_82, 0, x_79); +lean_ctor_set(x_82, 1, x_80); +return x_82; +} +} +} +} +} +lean_object* l_List_mapM___at_Lean_Meta_Match_instantiateAltLHSMVars___spec__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +_start: +{ +if (lean_obj_tag(x_1) == 0) +{ +lean_object* x_7; lean_object* x_8; +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_7 = lean_box(0); +x_8 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_8, 0, x_7); +lean_ctor_set(x_8, 1, x_6); +return x_8; +} +else +{ +uint8_t x_9; +x_9 = !lean_is_exclusive(x_1); +if (x_9 == 0) +{ +lean_object* x_10; lean_object* x_11; lean_object* x_12; +x_10 = lean_ctor_get(x_1, 0); +x_11 = lean_ctor_get(x_1, 1); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_2); +x_12 = l_Lean_Meta_instantiateLocalDeclMVars___at_Lean_Meta_Match_instantiateAltLHSMVars___spec__1(x_10, x_2, x_3, x_4, x_5, x_6); +if (lean_obj_tag(x_12) == 0) +{ +lean_object* x_13; lean_object* x_14; lean_object* x_15; +x_13 = lean_ctor_get(x_12, 0); +lean_inc(x_13); +x_14 = lean_ctor_get(x_12, 1); +lean_inc(x_14); +lean_dec(x_12); +x_15 = l_List_mapM___at_Lean_Meta_Match_instantiateAltLHSMVars___spec__2(x_11, x_2, x_3, x_4, x_5, x_14); +if (lean_obj_tag(x_15) == 0) +{ +uint8_t x_16; +x_16 = !lean_is_exclusive(x_15); +if (x_16 == 0) +{ +lean_object* x_17; +x_17 = lean_ctor_get(x_15, 0); +lean_ctor_set(x_1, 1, x_17); +lean_ctor_set(x_1, 0, x_13); +lean_ctor_set(x_15, 0, x_1); +return x_15; +} +else +{ +lean_object* x_18; lean_object* x_19; lean_object* x_20; +x_18 = lean_ctor_get(x_15, 0); +x_19 = lean_ctor_get(x_15, 1); +lean_inc(x_19); +lean_inc(x_18); +lean_dec(x_15); +lean_ctor_set(x_1, 1, x_18); +lean_ctor_set(x_1, 0, x_13); +x_20 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_20, 0, x_1); +lean_ctor_set(x_20, 1, x_19); +return x_20; +} +} +else +{ +uint8_t x_21; +lean_dec(x_13); +lean_free_object(x_1); +x_21 = !lean_is_exclusive(x_15); +if (x_21 == 0) +{ +return x_15; +} +else +{ +lean_object* x_22; lean_object* x_23; lean_object* x_24; +x_22 = lean_ctor_get(x_15, 0); +x_23 = lean_ctor_get(x_15, 1); +lean_inc(x_23); +lean_inc(x_22); +lean_dec(x_15); +x_24 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_24, 0, x_22); +lean_ctor_set(x_24, 1, x_23); +return x_24; +} +} +} +else +{ +uint8_t x_25; +lean_free_object(x_1); +lean_dec(x_11); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_25 = !lean_is_exclusive(x_12); +if (x_25 == 0) +{ +return x_12; +} +else +{ +lean_object* x_26; lean_object* x_27; lean_object* x_28; +x_26 = lean_ctor_get(x_12, 0); +x_27 = lean_ctor_get(x_12, 1); +lean_inc(x_27); +lean_inc(x_26); +lean_dec(x_12); +x_28 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_28, 0, x_26); +lean_ctor_set(x_28, 1, x_27); +return x_28; +} +} +} +else +{ +lean_object* x_29; lean_object* x_30; lean_object* x_31; +x_29 = lean_ctor_get(x_1, 0); +x_30 = lean_ctor_get(x_1, 1); +lean_inc(x_30); +lean_inc(x_29); +lean_dec(x_1); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_2); +x_31 = l_Lean_Meta_instantiateLocalDeclMVars___at_Lean_Meta_Match_instantiateAltLHSMVars___spec__1(x_29, x_2, x_3, x_4, x_5, x_6); +if (lean_obj_tag(x_31) == 0) +{ +lean_object* x_32; lean_object* x_33; lean_object* x_34; +x_32 = lean_ctor_get(x_31, 0); +lean_inc(x_32); +x_33 = lean_ctor_get(x_31, 1); +lean_inc(x_33); +lean_dec(x_31); +x_34 = l_List_mapM___at_Lean_Meta_Match_instantiateAltLHSMVars___spec__2(x_30, x_2, x_3, x_4, x_5, x_33); +if (lean_obj_tag(x_34) == 0) +{ +lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; +x_35 = lean_ctor_get(x_34, 0); +lean_inc(x_35); +x_36 = lean_ctor_get(x_34, 1); +lean_inc(x_36); +if (lean_is_exclusive(x_34)) { + lean_ctor_release(x_34, 0); + lean_ctor_release(x_34, 1); + x_37 = x_34; +} else { + lean_dec_ref(x_34); + x_37 = lean_box(0); +} +x_38 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_38, 0, x_32); +lean_ctor_set(x_38, 1, x_35); +if (lean_is_scalar(x_37)) { + x_39 = lean_alloc_ctor(0, 2, 0); +} else { + x_39 = x_37; +} +lean_ctor_set(x_39, 0, x_38); +lean_ctor_set(x_39, 1, x_36); +return x_39; +} +else +{ +lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; +lean_dec(x_32); +x_40 = lean_ctor_get(x_34, 0); +lean_inc(x_40); +x_41 = lean_ctor_get(x_34, 1); +lean_inc(x_41); +if (lean_is_exclusive(x_34)) { + lean_ctor_release(x_34, 0); + lean_ctor_release(x_34, 1); + x_42 = x_34; +} else { + lean_dec_ref(x_34); + x_42 = lean_box(0); +} +if (lean_is_scalar(x_42)) { + x_43 = lean_alloc_ctor(1, 2, 0); +} else { + x_43 = x_42; +} +lean_ctor_set(x_43, 0, x_40); +lean_ctor_set(x_43, 1, x_41); +return x_43; +} +} +else +{ +lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; +lean_dec(x_30); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_44 = lean_ctor_get(x_31, 0); +lean_inc(x_44); +x_45 = lean_ctor_get(x_31, 1); +lean_inc(x_45); +if (lean_is_exclusive(x_31)) { + lean_ctor_release(x_31, 0); + lean_ctor_release(x_31, 1); + x_46 = x_31; +} else { + lean_dec_ref(x_31); + x_46 = lean_box(0); +} +if (lean_is_scalar(x_46)) { + x_47 = lean_alloc_ctor(1, 2, 0); +} else { + x_47 = x_46; +} +lean_ctor_set(x_47, 0, x_44); +lean_ctor_set(x_47, 1, x_45); +return x_47; +} +} +} +} +} +lean_object* l_Lean_Meta_Match_instantiateAltLHSMVars(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +_start: +{ +uint8_t x_7; +x_7 = !lean_is_exclusive(x_1); +if (x_7 == 0) +{ +lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; +x_8 = lean_ctor_get(x_1, 0); +x_9 = lean_ctor_get(x_1, 1); +x_10 = lean_ctor_get(x_1, 2); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_2); +x_11 = l_List_mapM___at_Lean_Meta_Match_instantiateAltLHSMVars___spec__2(x_9, x_2, x_3, x_4, x_5, x_6); +if (lean_obj_tag(x_11) == 0) +{ +lean_object* x_12; lean_object* x_13; lean_object* x_14; +x_12 = lean_ctor_get(x_11, 0); +lean_inc(x_12); +x_13 = lean_ctor_get(x_11, 1); +lean_inc(x_13); +lean_dec(x_11); +x_14 = l_List_mapM___at_Lean_Meta_Match_instantiatePatternMVars___spec__2(x_10, x_2, x_3, x_4, x_5, x_13); +if (lean_obj_tag(x_14) == 0) +{ +uint8_t x_15; +x_15 = !lean_is_exclusive(x_14); +if (x_15 == 0) +{ +lean_object* x_16; +x_16 = lean_ctor_get(x_14, 0); +lean_ctor_set(x_1, 2, x_16); +lean_ctor_set(x_1, 1, x_12); +lean_ctor_set(x_14, 0, x_1); +return x_14; +} +else +{ +lean_object* x_17; lean_object* x_18; lean_object* x_19; +x_17 = lean_ctor_get(x_14, 0); +x_18 = lean_ctor_get(x_14, 1); +lean_inc(x_18); +lean_inc(x_17); +lean_dec(x_14); +lean_ctor_set(x_1, 2, x_17); +lean_ctor_set(x_1, 1, x_12); +x_19 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_19, 0, x_1); +lean_ctor_set(x_19, 1, x_18); +return x_19; +} +} +else +{ +uint8_t x_20; +lean_dec(x_12); +lean_free_object(x_1); +lean_dec(x_8); +x_20 = !lean_is_exclusive(x_14); +if (x_20 == 0) +{ +return x_14; +} +else +{ +lean_object* x_21; lean_object* x_22; lean_object* x_23; +x_21 = lean_ctor_get(x_14, 0); +x_22 = lean_ctor_get(x_14, 1); +lean_inc(x_22); +lean_inc(x_21); +lean_dec(x_14); +x_23 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_23, 0, x_21); +lean_ctor_set(x_23, 1, x_22); +return x_23; +} +} +} +else +{ +uint8_t x_24; +lean_free_object(x_1); +lean_dec(x_10); +lean_dec(x_8); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_24 = !lean_is_exclusive(x_11); +if (x_24 == 0) +{ +return x_11; +} +else +{ +lean_object* x_25; lean_object* x_26; lean_object* x_27; +x_25 = lean_ctor_get(x_11, 0); +x_26 = lean_ctor_get(x_11, 1); +lean_inc(x_26); +lean_inc(x_25); +lean_dec(x_11); +x_27 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_27, 0, x_25); +lean_ctor_set(x_27, 1, x_26); +return x_27; +} +} +} +else +{ +lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; +x_28 = lean_ctor_get(x_1, 0); +x_29 = lean_ctor_get(x_1, 1); +x_30 = lean_ctor_get(x_1, 2); +lean_inc(x_30); +lean_inc(x_29); +lean_inc(x_28); +lean_dec(x_1); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_2); +x_31 = l_List_mapM___at_Lean_Meta_Match_instantiateAltLHSMVars___spec__2(x_29, x_2, x_3, x_4, x_5, x_6); +if (lean_obj_tag(x_31) == 0) +{ +lean_object* x_32; lean_object* x_33; lean_object* x_34; +x_32 = lean_ctor_get(x_31, 0); +lean_inc(x_32); +x_33 = lean_ctor_get(x_31, 1); +lean_inc(x_33); +lean_dec(x_31); +x_34 = l_List_mapM___at_Lean_Meta_Match_instantiatePatternMVars___spec__2(x_30, x_2, x_3, x_4, x_5, x_33); +if (lean_obj_tag(x_34) == 0) +{ +lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; +x_35 = lean_ctor_get(x_34, 0); +lean_inc(x_35); +x_36 = lean_ctor_get(x_34, 1); +lean_inc(x_36); +if (lean_is_exclusive(x_34)) { + lean_ctor_release(x_34, 0); + lean_ctor_release(x_34, 1); + x_37 = x_34; +} else { + lean_dec_ref(x_34); + x_37 = lean_box(0); +} +x_38 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_38, 0, x_28); +lean_ctor_set(x_38, 1, x_32); +lean_ctor_set(x_38, 2, x_35); +if (lean_is_scalar(x_37)) { + x_39 = lean_alloc_ctor(0, 2, 0); +} else { + x_39 = x_37; +} +lean_ctor_set(x_39, 0, x_38); +lean_ctor_set(x_39, 1, x_36); +return x_39; +} +else +{ +lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; +lean_dec(x_32); +lean_dec(x_28); +x_40 = lean_ctor_get(x_34, 0); +lean_inc(x_40); +x_41 = lean_ctor_get(x_34, 1); +lean_inc(x_41); +if (lean_is_exclusive(x_34)) { + lean_ctor_release(x_34, 0); + lean_ctor_release(x_34, 1); + x_42 = x_34; +} else { + lean_dec_ref(x_34); + x_42 = lean_box(0); +} +if (lean_is_scalar(x_42)) { + x_43 = lean_alloc_ctor(1, 2, 0); +} else { + x_43 = x_42; +} +lean_ctor_set(x_43, 0, x_40); +lean_ctor_set(x_43, 1, x_41); +return x_43; +} +} +else +{ +lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; +lean_dec(x_30); +lean_dec(x_28); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_44 = lean_ctor_get(x_31, 0); +lean_inc(x_44); +x_45 = lean_ctor_get(x_31, 1); +lean_inc(x_45); +if (lean_is_exclusive(x_31)) { + lean_ctor_release(x_31, 0); + lean_ctor_release(x_31, 1); + x_46 = x_31; +} else { + lean_dec_ref(x_31); + x_46 = lean_box(0); +} +if (lean_is_scalar(x_46)) { + x_47 = lean_alloc_ctor(1, 2, 0); +} else { + x_47 = x_46; +} +lean_ctor_set(x_47, 0, x_44); +lean_ctor_set(x_47, 1, x_45); +return x_47; +} +} +} +} static lean_object* _init_l_Lean_Meta_Match_Alt_Lean_Meta_Match_Match___instance__2___closed__1() { _start: { @@ -5891,618 +8389,6 @@ return x_27; } } } -lean_object* l_Lean_Meta_instantiateLocalDeclMVars___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAltsAux___spec__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { -_start: -{ -if (lean_obj_tag(x_1) == 0) -{ -uint8_t x_7; -x_7 = !lean_is_exclusive(x_1); -if (x_7 == 0) -{ -lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; -x_8 = lean_ctor_get(x_1, 0); -x_9 = lean_ctor_get(x_1, 1); -x_10 = lean_ctor_get(x_1, 2); -x_11 = lean_ctor_get(x_1, 3); -x_12 = l_Lean_Meta_instantiateMVarsImp(x_11, x_2, x_3, x_4, x_5, x_6); -if (lean_obj_tag(x_12) == 0) -{ -uint8_t x_13; -x_13 = !lean_is_exclusive(x_12); -if (x_13 == 0) -{ -lean_object* x_14; -x_14 = lean_ctor_get(x_12, 0); -lean_ctor_set(x_1, 3, x_14); -lean_ctor_set(x_12, 0, x_1); -return x_12; -} -else -{ -lean_object* x_15; lean_object* x_16; lean_object* x_17; -x_15 = lean_ctor_get(x_12, 0); -x_16 = lean_ctor_get(x_12, 1); -lean_inc(x_16); -lean_inc(x_15); -lean_dec(x_12); -lean_ctor_set(x_1, 3, x_15); -x_17 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_17, 0, x_1); -lean_ctor_set(x_17, 1, x_16); -return x_17; -} -} -else -{ -uint8_t x_18; -lean_free_object(x_1); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -x_18 = !lean_is_exclusive(x_12); -if (x_18 == 0) -{ -return x_12; -} -else -{ -lean_object* x_19; lean_object* x_20; lean_object* x_21; -x_19 = lean_ctor_get(x_12, 0); -x_20 = lean_ctor_get(x_12, 1); -lean_inc(x_20); -lean_inc(x_19); -lean_dec(x_12); -x_21 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_21, 0, x_19); -lean_ctor_set(x_21, 1, x_20); -return x_21; -} -} -} -else -{ -lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; uint8_t x_26; lean_object* x_27; -x_22 = lean_ctor_get(x_1, 0); -x_23 = lean_ctor_get(x_1, 1); -x_24 = lean_ctor_get(x_1, 2); -x_25 = lean_ctor_get(x_1, 3); -x_26 = lean_ctor_get_uint8(x_1, sizeof(void*)*4); -lean_inc(x_25); -lean_inc(x_24); -lean_inc(x_23); -lean_inc(x_22); -lean_dec(x_1); -x_27 = l_Lean_Meta_instantiateMVarsImp(x_25, x_2, x_3, x_4, x_5, x_6); -if (lean_obj_tag(x_27) == 0) -{ -lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; -x_28 = lean_ctor_get(x_27, 0); -lean_inc(x_28); -x_29 = lean_ctor_get(x_27, 1); -lean_inc(x_29); -if (lean_is_exclusive(x_27)) { - lean_ctor_release(x_27, 0); - lean_ctor_release(x_27, 1); - x_30 = x_27; -} else { - lean_dec_ref(x_27); - x_30 = lean_box(0); -} -x_31 = lean_alloc_ctor(0, 4, 1); -lean_ctor_set(x_31, 0, x_22); -lean_ctor_set(x_31, 1, x_23); -lean_ctor_set(x_31, 2, x_24); -lean_ctor_set(x_31, 3, x_28); -lean_ctor_set_uint8(x_31, sizeof(void*)*4, x_26); -if (lean_is_scalar(x_30)) { - x_32 = lean_alloc_ctor(0, 2, 0); -} else { - x_32 = x_30; -} -lean_ctor_set(x_32, 0, x_31); -lean_ctor_set(x_32, 1, x_29); -return x_32; -} -else -{ -lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; -lean_dec(x_24); -lean_dec(x_23); -lean_dec(x_22); -x_33 = lean_ctor_get(x_27, 0); -lean_inc(x_33); -x_34 = lean_ctor_get(x_27, 1); -lean_inc(x_34); -if (lean_is_exclusive(x_27)) { - lean_ctor_release(x_27, 0); - lean_ctor_release(x_27, 1); - x_35 = x_27; -} else { - lean_dec_ref(x_27); - x_35 = lean_box(0); -} -if (lean_is_scalar(x_35)) { - x_36 = lean_alloc_ctor(1, 2, 0); -} else { - x_36 = x_35; -} -lean_ctor_set(x_36, 0, x_33); -lean_ctor_set(x_36, 1, x_34); -return x_36; -} -} -} -else -{ -uint8_t x_37; -x_37 = !lean_is_exclusive(x_1); -if (x_37 == 0) -{ -lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; -x_38 = lean_ctor_get(x_1, 0); -x_39 = lean_ctor_get(x_1, 1); -x_40 = lean_ctor_get(x_1, 2); -x_41 = lean_ctor_get(x_1, 3); -x_42 = lean_ctor_get(x_1, 4); -lean_inc(x_5); -lean_inc(x_4); -lean_inc(x_3); -lean_inc(x_2); -x_43 = l_Lean_Meta_instantiateMVarsImp(x_41, x_2, x_3, x_4, x_5, x_6); -if (lean_obj_tag(x_43) == 0) -{ -lean_object* x_44; lean_object* x_45; lean_object* x_46; -x_44 = lean_ctor_get(x_43, 0); -lean_inc(x_44); -x_45 = lean_ctor_get(x_43, 1); -lean_inc(x_45); -lean_dec(x_43); -x_46 = l_Lean_Meta_instantiateMVarsImp(x_42, x_2, x_3, x_4, x_5, x_45); -if (lean_obj_tag(x_46) == 0) -{ -uint8_t x_47; -x_47 = !lean_is_exclusive(x_46); -if (x_47 == 0) -{ -lean_object* x_48; -x_48 = lean_ctor_get(x_46, 0); -lean_ctor_set(x_1, 4, x_48); -lean_ctor_set(x_1, 3, x_44); -lean_ctor_set(x_46, 0, x_1); -return x_46; -} -else -{ -lean_object* x_49; lean_object* x_50; lean_object* x_51; -x_49 = lean_ctor_get(x_46, 0); -x_50 = lean_ctor_get(x_46, 1); -lean_inc(x_50); -lean_inc(x_49); -lean_dec(x_46); -lean_ctor_set(x_1, 4, x_49); -lean_ctor_set(x_1, 3, x_44); -x_51 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_51, 0, x_1); -lean_ctor_set(x_51, 1, x_50); -return x_51; -} -} -else -{ -uint8_t x_52; -lean_dec(x_44); -lean_free_object(x_1); -lean_dec(x_40); -lean_dec(x_39); -lean_dec(x_38); -x_52 = !lean_is_exclusive(x_46); -if (x_52 == 0) -{ -return x_46; -} -else -{ -lean_object* x_53; lean_object* x_54; lean_object* x_55; -x_53 = lean_ctor_get(x_46, 0); -x_54 = lean_ctor_get(x_46, 1); -lean_inc(x_54); -lean_inc(x_53); -lean_dec(x_46); -x_55 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_55, 0, x_53); -lean_ctor_set(x_55, 1, x_54); -return x_55; -} -} -} -else -{ -uint8_t x_56; -lean_free_object(x_1); -lean_dec(x_42); -lean_dec(x_40); -lean_dec(x_39); -lean_dec(x_38); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_56 = !lean_is_exclusive(x_43); -if (x_56 == 0) -{ -return x_43; -} -else -{ -lean_object* x_57; lean_object* x_58; lean_object* x_59; -x_57 = lean_ctor_get(x_43, 0); -x_58 = lean_ctor_get(x_43, 1); -lean_inc(x_58); -lean_inc(x_57); -lean_dec(x_43); -x_59 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_59, 0, x_57); -lean_ctor_set(x_59, 1, x_58); -return x_59; -} -} -} -else -{ -lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; uint8_t x_65; lean_object* x_66; -x_60 = lean_ctor_get(x_1, 0); -x_61 = lean_ctor_get(x_1, 1); -x_62 = lean_ctor_get(x_1, 2); -x_63 = lean_ctor_get(x_1, 3); -x_64 = lean_ctor_get(x_1, 4); -x_65 = lean_ctor_get_uint8(x_1, sizeof(void*)*5); -lean_inc(x_64); -lean_inc(x_63); -lean_inc(x_62); -lean_inc(x_61); -lean_inc(x_60); -lean_dec(x_1); -lean_inc(x_5); -lean_inc(x_4); -lean_inc(x_3); -lean_inc(x_2); -x_66 = l_Lean_Meta_instantiateMVarsImp(x_63, x_2, x_3, x_4, x_5, x_6); -if (lean_obj_tag(x_66) == 0) -{ -lean_object* x_67; lean_object* x_68; lean_object* x_69; -x_67 = lean_ctor_get(x_66, 0); -lean_inc(x_67); -x_68 = lean_ctor_get(x_66, 1); -lean_inc(x_68); -lean_dec(x_66); -x_69 = l_Lean_Meta_instantiateMVarsImp(x_64, x_2, x_3, x_4, x_5, x_68); -if (lean_obj_tag(x_69) == 0) -{ -lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; -x_70 = lean_ctor_get(x_69, 0); -lean_inc(x_70); -x_71 = lean_ctor_get(x_69, 1); -lean_inc(x_71); -if (lean_is_exclusive(x_69)) { - lean_ctor_release(x_69, 0); - lean_ctor_release(x_69, 1); - x_72 = x_69; -} else { - lean_dec_ref(x_69); - x_72 = lean_box(0); -} -x_73 = lean_alloc_ctor(1, 5, 1); -lean_ctor_set(x_73, 0, x_60); -lean_ctor_set(x_73, 1, x_61); -lean_ctor_set(x_73, 2, x_62); -lean_ctor_set(x_73, 3, x_67); -lean_ctor_set(x_73, 4, x_70); -lean_ctor_set_uint8(x_73, sizeof(void*)*5, x_65); -if (lean_is_scalar(x_72)) { - x_74 = lean_alloc_ctor(0, 2, 0); -} else { - x_74 = x_72; -} -lean_ctor_set(x_74, 0, x_73); -lean_ctor_set(x_74, 1, x_71); -return x_74; -} -else -{ -lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; -lean_dec(x_67); -lean_dec(x_62); -lean_dec(x_61); -lean_dec(x_60); -x_75 = lean_ctor_get(x_69, 0); -lean_inc(x_75); -x_76 = lean_ctor_get(x_69, 1); -lean_inc(x_76); -if (lean_is_exclusive(x_69)) { - lean_ctor_release(x_69, 0); - lean_ctor_release(x_69, 1); - x_77 = x_69; -} else { - lean_dec_ref(x_69); - x_77 = lean_box(0); -} -if (lean_is_scalar(x_77)) { - x_78 = lean_alloc_ctor(1, 2, 0); -} else { - x_78 = x_77; -} -lean_ctor_set(x_78, 0, x_75); -lean_ctor_set(x_78, 1, x_76); -return x_78; -} -} -else -{ -lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82; -lean_dec(x_64); -lean_dec(x_62); -lean_dec(x_61); -lean_dec(x_60); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_79 = lean_ctor_get(x_66, 0); -lean_inc(x_79); -x_80 = lean_ctor_get(x_66, 1); -lean_inc(x_80); -if (lean_is_exclusive(x_66)) { - lean_ctor_release(x_66, 0); - lean_ctor_release(x_66, 1); - x_81 = x_66; -} else { - lean_dec_ref(x_66); - x_81 = lean_box(0); -} -if (lean_is_scalar(x_81)) { - x_82 = lean_alloc_ctor(1, 2, 0); -} else { - x_82 = x_81; -} -lean_ctor_set(x_82, 0, x_79); -lean_ctor_set(x_82, 1, x_80); -return x_82; -} -} -} -} -} -lean_object* l_List_mapM___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAltsAux___spec__3(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { -_start: -{ -if (lean_obj_tag(x_1) == 0) -{ -lean_object* x_7; lean_object* x_8; -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_7 = lean_box(0); -x_8 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_8, 0, x_7); -lean_ctor_set(x_8, 1, x_6); -return x_8; -} -else -{ -uint8_t x_9; -x_9 = !lean_is_exclusive(x_1); -if (x_9 == 0) -{ -lean_object* x_10; lean_object* x_11; lean_object* x_12; -x_10 = lean_ctor_get(x_1, 0); -x_11 = lean_ctor_get(x_1, 1); -lean_inc(x_5); -lean_inc(x_4); -lean_inc(x_3); -lean_inc(x_2); -x_12 = l_Lean_Meta_instantiateLocalDeclMVars___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAltsAux___spec__2(x_10, x_2, x_3, x_4, x_5, x_6); -if (lean_obj_tag(x_12) == 0) -{ -lean_object* x_13; lean_object* x_14; lean_object* x_15; -x_13 = lean_ctor_get(x_12, 0); -lean_inc(x_13); -x_14 = lean_ctor_get(x_12, 1); -lean_inc(x_14); -lean_dec(x_12); -x_15 = l_List_mapM___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAltsAux___spec__3(x_11, x_2, x_3, x_4, x_5, x_14); -if (lean_obj_tag(x_15) == 0) -{ -uint8_t x_16; -x_16 = !lean_is_exclusive(x_15); -if (x_16 == 0) -{ -lean_object* x_17; -x_17 = lean_ctor_get(x_15, 0); -lean_ctor_set(x_1, 1, x_17); -lean_ctor_set(x_1, 0, x_13); -lean_ctor_set(x_15, 0, x_1); -return x_15; -} -else -{ -lean_object* x_18; lean_object* x_19; lean_object* x_20; -x_18 = lean_ctor_get(x_15, 0); -x_19 = lean_ctor_get(x_15, 1); -lean_inc(x_19); -lean_inc(x_18); -lean_dec(x_15); -lean_ctor_set(x_1, 1, x_18); -lean_ctor_set(x_1, 0, x_13); -x_20 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_20, 0, x_1); -lean_ctor_set(x_20, 1, x_19); -return x_20; -} -} -else -{ -uint8_t x_21; -lean_dec(x_13); -lean_free_object(x_1); -x_21 = !lean_is_exclusive(x_15); -if (x_21 == 0) -{ -return x_15; -} -else -{ -lean_object* x_22; lean_object* x_23; lean_object* x_24; -x_22 = lean_ctor_get(x_15, 0); -x_23 = lean_ctor_get(x_15, 1); -lean_inc(x_23); -lean_inc(x_22); -lean_dec(x_15); -x_24 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_24, 0, x_22); -lean_ctor_set(x_24, 1, x_23); -return x_24; -} -} -} -else -{ -uint8_t x_25; -lean_free_object(x_1); -lean_dec(x_11); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_25 = !lean_is_exclusive(x_12); -if (x_25 == 0) -{ -return x_12; -} -else -{ -lean_object* x_26; lean_object* x_27; lean_object* x_28; -x_26 = lean_ctor_get(x_12, 0); -x_27 = lean_ctor_get(x_12, 1); -lean_inc(x_27); -lean_inc(x_26); -lean_dec(x_12); -x_28 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_28, 0, x_26); -lean_ctor_set(x_28, 1, x_27); -return x_28; -} -} -} -else -{ -lean_object* x_29; lean_object* x_30; lean_object* x_31; -x_29 = lean_ctor_get(x_1, 0); -x_30 = lean_ctor_get(x_1, 1); -lean_inc(x_30); -lean_inc(x_29); -lean_dec(x_1); -lean_inc(x_5); -lean_inc(x_4); -lean_inc(x_3); -lean_inc(x_2); -x_31 = l_Lean_Meta_instantiateLocalDeclMVars___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAltsAux___spec__2(x_29, x_2, x_3, x_4, x_5, x_6); -if (lean_obj_tag(x_31) == 0) -{ -lean_object* x_32; lean_object* x_33; lean_object* x_34; -x_32 = lean_ctor_get(x_31, 0); -lean_inc(x_32); -x_33 = lean_ctor_get(x_31, 1); -lean_inc(x_33); -lean_dec(x_31); -x_34 = l_List_mapM___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAltsAux___spec__3(x_30, x_2, x_3, x_4, x_5, x_33); -if (lean_obj_tag(x_34) == 0) -{ -lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; -x_35 = lean_ctor_get(x_34, 0); -lean_inc(x_35); -x_36 = lean_ctor_get(x_34, 1); -lean_inc(x_36); -if (lean_is_exclusive(x_34)) { - lean_ctor_release(x_34, 0); - lean_ctor_release(x_34, 1); - x_37 = x_34; -} else { - lean_dec_ref(x_34); - x_37 = lean_box(0); -} -x_38 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_38, 0, x_32); -lean_ctor_set(x_38, 1, x_35); -if (lean_is_scalar(x_37)) { - x_39 = lean_alloc_ctor(0, 2, 0); -} else { - x_39 = x_37; -} -lean_ctor_set(x_39, 0, x_38); -lean_ctor_set(x_39, 1, x_36); -return x_39; -} -else -{ -lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; -lean_dec(x_32); -x_40 = lean_ctor_get(x_34, 0); -lean_inc(x_40); -x_41 = lean_ctor_get(x_34, 1); -lean_inc(x_41); -if (lean_is_exclusive(x_34)) { - lean_ctor_release(x_34, 0); - lean_ctor_release(x_34, 1); - x_42 = x_34; -} else { - lean_dec_ref(x_34); - x_42 = lean_box(0); -} -if (lean_is_scalar(x_42)) { - x_43 = lean_alloc_ctor(1, 2, 0); -} else { - x_43 = x_42; -} -lean_ctor_set(x_43, 0, x_40); -lean_ctor_set(x_43, 1, x_41); -return x_43; -} -} -else -{ -lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; -lean_dec(x_30); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_44 = lean_ctor_get(x_31, 0); -lean_inc(x_44); -x_45 = lean_ctor_get(x_31, 1); -lean_inc(x_45); -if (lean_is_exclusive(x_31)) { - lean_ctor_release(x_31, 0); - lean_ctor_release(x_31, 1); - x_46 = x_31; -} else { - lean_dec_ref(x_31); - x_46 = lean_box(0); -} -if (lean_is_scalar(x_46)) { - x_47 = lean_alloc_ctor(1, 2, 0); -} else { - x_47 = x_46; -} -lean_ctor_set(x_47, 0, x_44); -lean_ctor_set(x_47, 1, x_45); -return x_47; -} -} -} -} -} lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAltsAux___rarg___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { _start: { @@ -6525,7 +8411,7 @@ lean_inc(x_17); lean_inc(x_16); lean_inc(x_15); lean_inc(x_14); -x_21 = l_List_mapM___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAltsAux___spec__3(x_3, x_14, x_15, x_16, x_17, x_18); +x_21 = l_List_mapM___at_Lean_Meta_Match_instantiateAltLHSMVars___spec__2(x_3, x_14, x_15, x_16, x_17, x_18); if (x_4 == 0) { if (lean_obj_tag(x_21) == 0) @@ -8933,7 +10819,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_List_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processSkipInaccessible___spec__1___closed__1; x_2 = l_List_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processSkipInaccessible___spec__1___closed__2; -x_3 = lean_unsigned_to_nat(356u); +x_3 = lean_unsigned_to_nat(378u); x_4 = lean_unsigned_to_nat(19u); x_5 = l___private_Init_LeanInit_0__Lean_eraseMacroScopesAux___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -9277,7 +11163,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_List_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processSkipInaccessible___spec__1___closed__1; x_2 = l_List_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processSkipInaccessible___spec__1___closed__2; -x_3 = lean_unsigned_to_nat(352u); +x_3 = lean_unsigned_to_nat(374u); x_4 = lean_unsigned_to_nat(15u); x_5 = l___private_Init_LeanInit_0__Lean_eraseMacroScopesAux___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -10369,7 +12255,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_List_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processSkipInaccessible___spec__1___closed__1; x_2 = l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processAsPattern___closed__1; -x_3 = lean_unsigned_to_nat(371u); +x_3 = lean_unsigned_to_nat(393u); x_4 = lean_unsigned_to_nat(15u); x_5 = l___private_Init_LeanInit_0__Lean_eraseMacroScopesAux___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -10543,7 +12429,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_List_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processSkipInaccessible___spec__1___closed__1; x_2 = l_List_mapM___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processVariable___spec__1___closed__1; -x_3 = lean_unsigned_to_nat(385u); +x_3 = lean_unsigned_to_nat(407u); x_4 = lean_unsigned_to_nat(40u); x_5 = l___private_Init_LeanInit_0__Lean_eraseMacroScopesAux___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -10962,7 +12848,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_List_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processSkipInaccessible___spec__1___closed__1; x_2 = l_List_mapM___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processVariable___spec__1___closed__1; -x_3 = lean_unsigned_to_nat(380u); +x_3 = lean_unsigned_to_nat(402u); x_4 = lean_unsigned_to_nat(15u); x_5 = l___private_Init_LeanInit_0__Lean_eraseMacroScopesAux___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -17011,7 +18897,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_List_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processSkipInaccessible___spec__1___closed__1; x_2 = l_Lean_Meta_Match_processInaccessibleAsCtor___closed__1; -x_3 = lean_unsigned_to_nat(525u); +x_3 = lean_unsigned_to_nat(547u); x_4 = lean_unsigned_to_nat(9u); x_5 = l___private_Init_LeanInit_0__Lean_eraseMacroScopesAux___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -18317,7 +20203,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_List_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processSkipInaccessible___spec__1___closed__1; x_2 = l_List_filterMapM_loop___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processConstructor___spec__8___closed__1; -x_3 = lean_unsigned_to_nat(570u); +x_3 = lean_unsigned_to_nat(592u); x_4 = lean_unsigned_to_nat(48u); x_5 = l___private_Init_LeanInit_0__Lean_eraseMacroScopesAux___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -18882,7 +20768,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_List_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processSkipInaccessible___spec__1___closed__1; x_2 = l_List_filterMapM_loop___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processConstructor___spec__8___closed__1; -x_3 = lean_unsigned_to_nat(531u); +x_3 = lean_unsigned_to_nat(553u); x_4 = lean_unsigned_to_nat(15u); x_5 = l___private_Init_LeanInit_0__Lean_eraseMacroScopesAux___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -19389,7 +21275,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_List_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processSkipInaccessible___spec__1___closed__1; x_2 = l_List_filterMapM_loop___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processNonVariable___spec__1___closed__1; -x_3 = lean_unsigned_to_nat(589u); +x_3 = lean_unsigned_to_nat(611u); x_4 = lean_unsigned_to_nat(21u); x_5 = l___private_Init_LeanInit_0__Lean_eraseMacroScopesAux___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -19915,7 +21801,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_List_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processSkipInaccessible___spec__1___closed__1; x_2 = l_List_filterMapM_loop___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processNonVariable___spec__1___closed__1; -x_3 = lean_unsigned_to_nat(575u); +x_3 = lean_unsigned_to_nat(597u); x_4 = lean_unsigned_to_nat(15u); x_5 = l___private_Init_LeanInit_0__Lean_eraseMacroScopesAux___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -20734,7 +22620,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_List_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processSkipInaccessible___spec__1___closed__1; x_2 = l_List_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processValue___spec__6___closed__1; -x_3 = lean_unsigned_to_nat(629u); +x_3 = lean_unsigned_to_nat(651u); x_4 = lean_unsigned_to_nat(18u); x_5 = l___private_Init_LeanInit_0__Lean_eraseMacroScopesAux___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -21342,7 +23228,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_List_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processSkipInaccessible___spec__1___closed__1; x_2 = l_List_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processValue___spec__6___closed__1; -x_3 = lean_unsigned_to_nat(608u); +x_3 = lean_unsigned_to_nat(630u); x_4 = lean_unsigned_to_nat(15u); x_5 = l___private_Init_LeanInit_0__Lean_eraseMacroScopesAux___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -22931,7 +24817,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_List_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processSkipInaccessible___spec__1___closed__1; x_2 = l_List_mapM___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processArrayLit___spec__8___closed__1; -x_3 = lean_unsigned_to_nat(684u); +x_3 = lean_unsigned_to_nat(706u); x_4 = lean_unsigned_to_nat(18u); x_5 = l___private_Init_LeanInit_0__Lean_eraseMacroScopesAux___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -23628,7 +25514,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_List_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processSkipInaccessible___spec__1___closed__1; x_2 = l_List_mapM___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processArrayLit___spec__8___closed__1; -x_3 = lean_unsigned_to_nat(662u); +x_3 = lean_unsigned_to_nat(684u); x_4 = lean_unsigned_to_nat(15u); x_5 = l___private_Init_LeanInit_0__Lean_eraseMacroScopesAux___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -28520,7 +30406,7 @@ x_2 = l_Lean_SMap_switch___at_Lean_Meta_Match_Extension_State_switch___spec__1(x return x_2; } } -lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6389____spec__2(lean_object* x_1, size_t x_2, size_t x_3, lean_object* x_4) { +lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6636____spec__2(lean_object* x_1, size_t x_2, size_t x_3, lean_object* x_4) { _start: { uint8_t x_5; @@ -28542,7 +30428,7 @@ return x_4; } } } -lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6389____spec__3(lean_object* x_1, size_t x_2, size_t x_3, lean_object* x_4) { +lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6636____spec__3(lean_object* x_1, size_t x_2, size_t x_3, lean_object* x_4) { _start: { uint8_t x_5; @@ -28580,7 +30466,7 @@ size_t x_15; size_t x_16; lean_object* x_17; x_15 = 0; x_16 = lean_usize_of_nat(x_7); lean_dec(x_7); -x_17 = l_Array_foldlMUnsafe_fold___at_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6389____spec__2(x_6, x_15, x_16, x_4); +x_17 = l_Array_foldlMUnsafe_fold___at_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6636____spec__2(x_6, x_15, x_16, x_4); lean_dec(x_6); x_2 = x_11; x_4 = x_17; @@ -28594,7 +30480,7 @@ return x_4; } } } -lean_object* l_Lean_mkStateFromImportedEntries___at_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6389____spec__1(lean_object* x_1, lean_object* x_2) { +lean_object* l_Lean_mkStateFromImportedEntries___at_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6636____spec__1(lean_object* x_1, lean_object* x_2) { _start: { lean_object* x_3; lean_object* x_4; uint8_t x_5; @@ -28621,13 +30507,13 @@ size_t x_7; size_t x_8; lean_object* x_9; x_7 = 0; x_8 = lean_usize_of_nat(x_3); lean_dec(x_3); -x_9 = l_Array_foldlMUnsafe_fold___at_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6389____spec__3(x_2, x_7, x_8, x_1); +x_9 = l_Array_foldlMUnsafe_fold___at_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6636____spec__3(x_2, x_7, x_8, x_1); return x_9; } } } } -uint8_t l_Array_anyMUnsafe_any___at_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6389____spec__6(lean_object* x_1, lean_object* x_2, size_t x_3, size_t x_4) { +uint8_t l_Array_anyMUnsafe_any___at_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6636____spec__6(lean_object* x_1, lean_object* x_2, size_t x_3, size_t x_4) { _start: { uint8_t x_5; @@ -28665,7 +30551,7 @@ return x_14; } } } -lean_object* l_Lean_registerPersistentEnvExtensionUnsafe___at_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6389____spec__5(lean_object* x_1, lean_object* x_2) { +lean_object* l_Lean_registerPersistentEnvExtensionUnsafe___at_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6636____spec__5(lean_object* x_1, lean_object* x_2) { _start: { lean_object* x_3; lean_object* x_4; uint8_t x_5; @@ -28710,7 +30596,7 @@ size_t x_16; size_t x_17; uint8_t x_18; x_16 = 0; x_17 = lean_usize_of_nat(x_8); lean_dec(x_8); -x_18 = l_Array_anyMUnsafe_any___at_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6389____spec__6(x_1, x_6, x_16, x_17); +x_18 = l_Array_anyMUnsafe_any___at_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6636____spec__6(x_1, x_6, x_16, x_17); lean_dec(x_6); if (x_18 == 0) { @@ -28781,7 +30667,7 @@ size_t x_39; size_t x_40; uint8_t x_41; x_39 = 0; x_40 = lean_usize_of_nat(x_31); lean_dec(x_31); -x_41 = l_Array_anyMUnsafe_any___at_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6389____spec__6(x_1, x_29, x_39, x_40); +x_41 = l_Array_anyMUnsafe_any___at_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6636____spec__6(x_1, x_29, x_39, x_40); lean_dec(x_29); if (x_41 == 0) { @@ -28815,7 +30701,7 @@ return x_52; } } } -lean_object* l_Lean_registerSimplePersistentEnvExtension___at_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6389____spec__4(lean_object* x_1, lean_object* x_2) { +lean_object* l_Lean_registerSimplePersistentEnvExtension___at_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6636____spec__4(lean_object* x_1, lean_object* x_2) { _start: { lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; @@ -28848,21 +30734,21 @@ lean_ctor_set(x_14, 2, x_10); lean_ctor_set(x_14, 3, x_11); lean_ctor_set(x_14, 4, x_12); lean_ctor_set(x_14, 5, x_13); -x_15 = l_Lean_registerPersistentEnvExtensionUnsafe___at_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6389____spec__5(x_14, x_2); +x_15 = l_Lean_registerPersistentEnvExtensionUnsafe___at_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6636____spec__5(x_14, x_2); return x_15; } } -lean_object* l_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6389____lambda__1(lean_object* x_1) { +lean_object* l_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6636____lambda__1(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; lean_object* x_4; x_2 = l_Lean_mkEmptyEnvironment___lambda__1___closed__1; -x_3 = l_Lean_mkStateFromImportedEntries___at_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6389____spec__1(x_2, x_1); +x_3 = l_Lean_mkStateFromImportedEntries___at_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6636____spec__1(x_2, x_1); x_4 = l_Lean_SMap_switch___at_Lean_Meta_Match_Extension_State_switch___spec__1(x_3); return x_4; } } -static lean_object* _init_l_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6389____closed__1() { +static lean_object* _init_l_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6636____closed__1() { _start: { lean_object* x_1; @@ -28870,17 +30756,17 @@ x_1 = lean_mk_string("matcher"); return x_1; } } -static lean_object* _init_l_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6389____closed__2() { +static lean_object* _init_l_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6636____closed__2() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(0); -x_2 = l_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6389____closed__1; +x_2 = l_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6636____closed__1; x_3 = lean_name_mk_string(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6389____closed__3() { +static lean_object* _init_l_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6636____closed__3() { _start: { lean_object* x_1; @@ -28888,21 +30774,21 @@ x_1 = lean_alloc_closure((void*)(l_Lean_Meta_Match_Extension_State_addEntry), 2, return x_1; } } -static lean_object* _init_l_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6389____closed__4() { +static lean_object* _init_l_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6636____closed__4() { _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6389____lambda__1___boxed), 1, 0); +x_1 = lean_alloc_closure((void*)(l_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6636____lambda__1___boxed), 1, 0); return x_1; } } -static lean_object* _init_l_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6389____closed__5() { +static lean_object* _init_l_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6636____closed__5() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; -x_1 = l_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6389____closed__2; -x_2 = l_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6389____closed__3; -x_3 = l_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6389____closed__4; +x_1 = l_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6636____closed__2; +x_2 = l_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6636____closed__3; +x_3 = l_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6636____closed__4; x_4 = l_Lean_initFn____x40_Lean_Environment___hyg_2547____closed__4; x_5 = lean_alloc_ctor(0, 4, 0); lean_ctor_set(x_5, 0, x_1); @@ -28912,16 +30798,16 @@ lean_ctor_set(x_5, 3, x_4); return x_5; } } -lean_object* l_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6389_(lean_object* x_1) { +lean_object* l_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6636_(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; -x_2 = l_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6389____closed__5; -x_3 = l_Lean_registerSimplePersistentEnvExtension___at_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6389____spec__4(x_2, x_1); +x_2 = l_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6636____closed__5; +x_3 = l_Lean_registerSimplePersistentEnvExtension___at_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6636____spec__4(x_2, x_1); return x_3; } } -lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6389____spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6636____spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { _start: { size_t x_5; size_t x_6; lean_object* x_7; @@ -28929,12 +30815,12 @@ x_5 = lean_unbox_usize(x_2); lean_dec(x_2); x_6 = lean_unbox_usize(x_3); lean_dec(x_3); -x_7 = l_Array_foldlMUnsafe_fold___at_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6389____spec__2(x_1, x_5, x_6, x_4); +x_7 = l_Array_foldlMUnsafe_fold___at_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6636____spec__2(x_1, x_5, x_6, x_4); lean_dec(x_1); return x_7; } } -lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6389____spec__3___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6636____spec__3___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { _start: { size_t x_5; size_t x_6; lean_object* x_7; @@ -28942,21 +30828,21 @@ x_5 = lean_unbox_usize(x_2); lean_dec(x_2); x_6 = lean_unbox_usize(x_3); lean_dec(x_3); -x_7 = l_Array_foldlMUnsafe_fold___at_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6389____spec__3(x_1, x_5, x_6, x_4); +x_7 = l_Array_foldlMUnsafe_fold___at_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6636____spec__3(x_1, x_5, x_6, x_4); lean_dec(x_1); return x_7; } } -lean_object* l_Lean_mkStateFromImportedEntries___at_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6389____spec__1___boxed(lean_object* x_1, lean_object* x_2) { +lean_object* l_Lean_mkStateFromImportedEntries___at_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6636____spec__1___boxed(lean_object* x_1, lean_object* x_2) { _start: { lean_object* x_3; -x_3 = l_Lean_mkStateFromImportedEntries___at_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6389____spec__1(x_1, x_2); +x_3 = l_Lean_mkStateFromImportedEntries___at_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6636____spec__1(x_1, x_2); lean_dec(x_2); return x_3; } } -lean_object* l_Array_anyMUnsafe_any___at_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6389____spec__6___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +lean_object* l_Array_anyMUnsafe_any___at_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6636____spec__6___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { _start: { size_t x_5; size_t x_6; uint8_t x_7; lean_object* x_8; @@ -28964,18 +30850,18 @@ x_5 = lean_unbox_usize(x_3); lean_dec(x_3); x_6 = lean_unbox_usize(x_4); lean_dec(x_4); -x_7 = l_Array_anyMUnsafe_any___at_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6389____spec__6(x_1, x_2, x_5, x_6); +x_7 = l_Array_anyMUnsafe_any___at_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6636____spec__6(x_1, x_2, x_5, x_6); lean_dec(x_2); lean_dec(x_1); x_8 = lean_box(x_7); return x_8; } } -lean_object* l_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6389____lambda__1___boxed(lean_object* x_1) { +lean_object* l_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6636____lambda__1___boxed(lean_object* x_1) { _start: { lean_object* x_2; -x_2 = l_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6389____lambda__1(x_1); +x_2 = l_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6636____lambda__1(x_1); lean_dec(x_1); return x_2; } @@ -29723,7 +31609,7 @@ lean_dec(x_2); return x_8; } } -static lean_object* _init_l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6491____closed__1() { +static lean_object* _init_l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6738____closed__1() { _start: { lean_object* x_1; @@ -29731,17 +31617,17 @@ x_1 = lean_mk_string("bootstrap"); return x_1; } } -static lean_object* _init_l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6491____closed__2() { +static lean_object* _init_l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6738____closed__2() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(0); -x_2 = l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6491____closed__1; +x_2 = l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6738____closed__1; x_3 = lean_name_mk_string(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6491____closed__3() { +static lean_object* _init_l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6738____closed__3() { _start: { lean_object* x_1; @@ -29749,17 +31635,17 @@ x_1 = lean_mk_string("gen_matcher_code"); return x_1; } } -static lean_object* _init_l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6491____closed__4() { +static lean_object* _init_l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6738____closed__4() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6491____closed__2; -x_2 = l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6491____closed__3; +x_1 = l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6738____closed__2; +x_2 = l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6738____closed__3; x_3 = lean_name_mk_string(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6491____closed__5() { +static lean_object* _init_l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6738____closed__5() { _start: { lean_object* x_1; @@ -29767,13 +31653,13 @@ x_1 = lean_mk_string("disable code generation for auxiliary matcher function"); return x_1; } } -static lean_object* _init_l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6491____closed__6() { +static lean_object* _init_l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6738____closed__6() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; x_1 = l_Lean_initFn____x40_Lean_Data_Options___hyg_479____closed__3; -x_2 = l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6491____closed__1; -x_3 = l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6491____closed__5; +x_2 = l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6738____closed__1; +x_3 = l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6738____closed__5; x_4 = lean_alloc_ctor(0, 3, 0); lean_ctor_set(x_4, 0, x_1); lean_ctor_set(x_4, 1, x_2); @@ -29781,12 +31667,12 @@ lean_ctor_set(x_4, 2, x_3); return x_4; } } -lean_object* l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6491_(lean_object* x_1) { +lean_object* l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6738_(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_2 = l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6491____closed__4; -x_3 = l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6491____closed__6; +x_2 = l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6738____closed__4; +x_3 = l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6738____closed__6; x_4 = lean_register_option(x_2, x_3, x_1); return x_4; } @@ -29795,7 +31681,7 @@ uint8_t l_Lean_Meta_Match_generateMatcherCode(lean_object* x_1) { _start: { lean_object* x_2; uint8_t x_3; uint8_t x_4; -x_2 = l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6491____closed__4; +x_2 = l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6738____closed__4; x_3 = 1; x_4 = l_Lean_KVMap_getBool(x_1, x_2, x_3); return x_4; @@ -35468,7 +37354,7 @@ lean_dec(x_5); return x_11; } } -lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Match_Match___hyg_7681_(lean_object* x_1) { +lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Match_Match___hyg_7928_(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; @@ -35840,16 +37726,16 @@ l_Lean_Meta_Match_Extension_State_map___default = _init_l_Lean_Meta_Match_Extens lean_mark_persistent(l_Lean_Meta_Match_Extension_State_map___default); l_Lean_Meta_Match_Extension_Lean_Meta_Match_Match___instance__4 = _init_l_Lean_Meta_Match_Extension_Lean_Meta_Match_Match___instance__4(); lean_mark_persistent(l_Lean_Meta_Match_Extension_Lean_Meta_Match_Match___instance__4); -l_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6389____closed__1 = _init_l_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6389____closed__1(); -lean_mark_persistent(l_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6389____closed__1); -l_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6389____closed__2 = _init_l_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6389____closed__2(); -lean_mark_persistent(l_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6389____closed__2); -l_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6389____closed__3 = _init_l_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6389____closed__3(); -lean_mark_persistent(l_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6389____closed__3); -l_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6389____closed__4 = _init_l_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6389____closed__4(); -lean_mark_persistent(l_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6389____closed__4); -l_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6389____closed__5 = _init_l_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6389____closed__5(); -lean_mark_persistent(l_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6389____closed__5); +l_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6636____closed__1 = _init_l_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6636____closed__1(); +lean_mark_persistent(l_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6636____closed__1); +l_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6636____closed__2 = _init_l_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6636____closed__2(); +lean_mark_persistent(l_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6636____closed__2); +l_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6636____closed__3 = _init_l_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6636____closed__3(); +lean_mark_persistent(l_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6636____closed__3); +l_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6636____closed__4 = _init_l_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6636____closed__4(); +lean_mark_persistent(l_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6636____closed__4); +l_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6636____closed__5 = _init_l_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6636____closed__5(); +lean_mark_persistent(l_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6636____closed__5); l_Lean_Meta_Match_Extension_extension___closed__1 = _init_l_Lean_Meta_Match_Extension_extension___closed__1(); lean_mark_persistent(l_Lean_Meta_Match_Extension_extension___closed__1); l_Lean_Meta_Match_Extension_extension___closed__2 = _init_l_Lean_Meta_Match_Extension_extension___closed__2(); @@ -35860,7 +37746,7 @@ l_Lean_Meta_Match_Extension_extension___closed__4 = _init_l_Lean_Meta_Match_Exte lean_mark_persistent(l_Lean_Meta_Match_Extension_extension___closed__4); l_Lean_Meta_Match_Extension_extension___closed__5 = _init_l_Lean_Meta_Match_Extension_extension___closed__5(); lean_mark_persistent(l_Lean_Meta_Match_Extension_extension___closed__5); -res = l_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6389_(lean_io_mk_world()); +res = l_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_Match___hyg_6636_(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; l_Lean_Meta_Match_Extension_extension = lean_io_result_get_value(res); lean_mark_persistent(l_Lean_Meta_Match_Extension_extension); @@ -35871,19 +37757,19 @@ l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_getUElimPos_x3f___closed__2 lean_mark_persistent(l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_getUElimPos_x3f___closed__2); l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_getUElimPos_x3f___closed__3 = _init_l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_getUElimPos_x3f___closed__3(); lean_mark_persistent(l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_getUElimPos_x3f___closed__3); -l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6491____closed__1 = _init_l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6491____closed__1(); -lean_mark_persistent(l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6491____closed__1); -l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6491____closed__2 = _init_l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6491____closed__2(); -lean_mark_persistent(l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6491____closed__2); -l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6491____closed__3 = _init_l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6491____closed__3(); -lean_mark_persistent(l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6491____closed__3); -l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6491____closed__4 = _init_l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6491____closed__4(); -lean_mark_persistent(l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6491____closed__4); -l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6491____closed__5 = _init_l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6491____closed__5(); -lean_mark_persistent(l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6491____closed__5); -l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6491____closed__6 = _init_l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6491____closed__6(); -lean_mark_persistent(l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6491____closed__6); -res = l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6491_(lean_io_mk_world()); +l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6738____closed__1 = _init_l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6738____closed__1(); +lean_mark_persistent(l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6738____closed__1); +l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6738____closed__2 = _init_l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6738____closed__2(); +lean_mark_persistent(l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6738____closed__2); +l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6738____closed__3 = _init_l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6738____closed__3(); +lean_mark_persistent(l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6738____closed__3); +l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6738____closed__4 = _init_l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6738____closed__4(); +lean_mark_persistent(l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6738____closed__4); +l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6738____closed__5 = _init_l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6738____closed__5(); +lean_mark_persistent(l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6738____closed__5); +l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6738____closed__6 = _init_l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6738____closed__6(); +lean_mark_persistent(l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6738____closed__6); +res = l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6738_(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); l_Lean_Meta_Match_mkMatcher___lambda__1___closed__1 = _init_l_Lean_Meta_Match_mkMatcher___lambda__1___closed__1(); @@ -35958,7 +37844,7 @@ l_Lean_Meta_MatcherApp_addArg___lambda__4___closed__1 = _init_l_Lean_Meta_Matche lean_mark_persistent(l_Lean_Meta_MatcherApp_addArg___lambda__4___closed__1); l_Lean_Meta_MatcherApp_addArg___lambda__4___closed__2 = _init_l_Lean_Meta_MatcherApp_addArg___lambda__4___closed__2(); lean_mark_persistent(l_Lean_Meta_MatcherApp_addArg___lambda__4___closed__2); -res = l_Lean_Meta_initFn____x40_Lean_Meta_Match_Match___hyg_7681_(lean_io_mk_world()); +res = l_Lean_Meta_initFn____x40_Lean_Meta_Match_Match___hyg_7928_(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); return lean_io_result_mk_ok(lean_box(0)); diff --git a/stage0/stdlib/Lean/Meta/Tactic/Induction.c b/stage0/stdlib/Lean/Meta/Tactic/Induction.c index 6df871aa65..0b9b7d853b 100644 --- a/stage0/stdlib/Lean/Meta/Tactic/Induction.c +++ b/stage0/stdlib/Lean/Meta/Tactic/Induction.c @@ -5420,7 +5420,7 @@ static lean_object* _init_l_Array_mapMUnsafe_map___at_Lean_Meta_induction___spec _start: { lean_object* x_1; -x_1 = lean_mk_string(" is not variable"); +x_1 = lean_mk_string(" is not a variable"); return x_1; } } diff --git a/stage0/stdlib/Lean/Parser/Term.c b/stage0/stdlib/Lean/Parser/Term.c index c082fd4823..e01d0e9539 100644 --- a/stage0/stdlib/Lean/Parser/Term.c +++ b/stage0/stdlib/Lean/Parser/Term.c @@ -79,6 +79,7 @@ extern lean_object* l_Lean_mkRecName___closed__1; lean_object* l_Lean_Parser_Term_explicitUniv_parenthesizer___closed__2; lean_object* l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__1; lean_object* l_Lean_Parser_Tactic_tacticSeqBracketed_parenthesizer___closed__13; +lean_object* l_Lean_Parser_Term_simpleBinder_parenthesizer___closed__8; lean_object* l_Lean_Parser_Term_uminus___elambda__1___closed__11; lean_object* l___regBuiltin_Lean_Parser_Term_map_parenthesizer___closed__1; lean_object* l_Lean_Parser_Term_let_x2a_formatter___closed__2; @@ -412,6 +413,7 @@ lean_object* l_Lean_Parser_Term_app_formatter___closed__6; lean_object* l_Lean_Parser_Tactic_tacticSeq1Indented_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Term_typeOf___closed__4; lean_object* l_Lean_Parser_Term_mod_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Parser_Term_simpleBinder_parenthesizer___closed__4; lean_object* l_Lean_Parser_Term_show___elambda__1___closed__8; lean_object* l_Lean_Parser_Term_decide___elambda__1___closed__6; extern lean_object* l_Array_myMacro____x40_Init_Data_Array_Macros___hyg_474____closed__8; @@ -482,6 +484,7 @@ lean_object* l_Lean_Parser_Term_prop_formatter___closed__3; lean_object* l_Lean_Parser_Term_letIdDecl_parenthesizer___closed__3; lean_object* l_Lean_PrettyPrinter_Parenthesizer_orelse_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Level_quot_parenthesizer___closed__4; +lean_object* l_Lean_Parser_Term_funSimpleBinder___elambda__1___closed__1; lean_object* l_Lean_Parser_Tactic_quotSeq___elambda__1___closed__7; lean_object* l_Lean_Parser_Level_quot_formatter___closed__4; lean_object* l_Lean_Parser_Term_type___elambda__1___closed__7; @@ -531,6 +534,7 @@ lean_object* l___regBuiltin_Lean_Parser_Term_nativeRefl_parenthesizer___closed__ lean_object* l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__2; lean_object* l_Lean_Parser_Term_seqLeft___elambda__1___closed__1; lean_object* l_Lean_Parser_Term_le_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_PrettyPrinter_Formatter_checkInsideQuot_formatter___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Term_letrec___elambda__1___closed__2; lean_object* l___regBuiltin_Lean_Parser_Term_append_parenthesizer___closed__1; lean_object* l_Lean_Parser_Term_letDecl_formatter___closed__8; @@ -772,6 +776,7 @@ extern lean_object* l_myMacro____x40_Init_Tactics___hyg_502____closed__9; lean_object* l_Lean_Parser_Term_namedArgument___elambda__1___closed__1; lean_object* l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__13; lean_object* l_Lean_Parser_Term_paren_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Parser_Term_funSimpleBinder_parenthesizer___closed__5; lean_object* l_Lean_Parser_Tactic_seq1_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Term_listLit_parenthesizer___closed__6; lean_object* l_Lean_Parser_Term_nativeDecide_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -798,6 +803,7 @@ lean_object* l_Lean_Parser_Term_letPatDecl_parenthesizer___closed__5; lean_object* l_Lean_Parser_Term_optIdent___elambda__1___closed__1; lean_object* l_Lean_Parser_Term_matchAlts_parenthesizer___closed__6; lean_object* l_Lean_Parser_Term_nativeDecide___elambda__1___closed__2; +lean_object* l_Lean_Parser_Term_funSimpleBinder_formatter___closed__3; lean_object* l_Lean_Parser_Term_structInst___elambda__1___closed__12; lean_object* l_Lean_Parser_Term_match__syntax___closed__3; lean_object* l_Lean_Parser_Term_ensureExpectedType___closed__4; @@ -842,6 +848,7 @@ lean_object* l_Lean_Parser_Term_suffices_parenthesizer___closed__1; lean_object* l_Lean_Parser_Term_ensureTypeOf_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Term_arrayLit___elambda__1___closed__5; lean_object* l___regBuiltin_Lean_Parser_Term_let_x2a_parenthesizer(lean_object*); +lean_object* l_Lean_Parser_Term_funSimpleBinder_formatter___closed__5; lean_object* l___regBuiltinParser_Lean_Parser_Term_letrec(lean_object*); lean_object* l_Lean_Parser_Term_decide; lean_object* l___regBuiltin_Lean_Parser_Term_subst_formatter___closed__1; @@ -863,6 +870,7 @@ lean_object* l_Lean_Parser_Term_fun_formatter___closed__6; lean_object* l_Lean_Parser_Term_match___elambda__1___closed__11; lean_object* l_Lean_Parser_Term_dollar_formatter___closed__4; extern lean_object* l_Lean_Expr_ctorName___closed__4; +lean_object* l_Lean_Parser_Term_simpleBinder___closed__9; lean_object* l___regBuiltin_Lean_Parser_Term_dollarProj_formatter___closed__1; lean_object* l___regBuiltin_Lean_Parser_Term_prod_formatter___closed__1; lean_object* l___regBuiltinParser_Lean_Parser_Term_let_x21(lean_object*); @@ -922,6 +930,7 @@ lean_object* l_Lean_Parser_Term_let_x21___elambda__1___closed__9; lean_object* l_Lean_Parser_Term_structInst_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___regBuiltin_Lean_Parser_Term_nativeRefl_formatter(lean_object*); lean_object* l_Lean_Parser_Term_show___closed__6; +lean_object* l_Lean_PrettyPrinter_Parenthesizer_checkOutsideQuot_parenthesizer___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Term_prod_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Term_nomatch___elambda__1___closed__9; lean_object* l_Lean_Parser_Term_typeAscription_parenthesizer___closed__3; @@ -1089,6 +1098,7 @@ lean_object* l_Lean_Parser_Term_funImplicitBinder_formatter(lean_object*, lean_o lean_object* l_Lean_Parser_Term_eq___elambda__1(lean_object*, lean_object*); lean_object* l_Lean_Parser_Term_have___closed__7; lean_object* l_Lean_Parser_Term_typeAscription_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Parser_Term_funBinder_formatter___closed__5; lean_object* l_Lean_Parser_Term_prop_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Term_namedArgument_formatter___closed__1; lean_object* l_Lean_Parser_Term_match___elambda__1___closed__3; @@ -1129,6 +1139,7 @@ lean_object* l_Lean_Parser_Term_typeOf_formatter(lean_object*, lean_object*, lea lean_object* l_Lean_Parser_Term_match__syntax___elambda__1___closed__10; lean_object* l_Lean_Parser_Term_str_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__10; +lean_object* l_Lean_Parser_Term_funSimpleBinder; lean_object* l___regBuiltin_Lean_Parser_Tactic_quotSeq_formatter___closed__1; lean_object* l_Lean_Parser_Term_lt___elambda__1___closed__2; lean_object* l_Lean_Parser_Tactic_tacticSeq1Indented_parenthesizer___closed__1; @@ -1195,8 +1206,10 @@ lean_object* l_Lean_Parser_Term_letPatDecl___closed__6; lean_object* l_Lean_Parser_Term_bor___closed__1; lean_object* l_Lean_Parser_Term_type_parenthesizer___closed__3; lean_object* l_Lean_Parser_Term_match___elambda__1___closed__7; +lean_object* l_Lean_Parser_Term_funBinder___closed__5; lean_object* l_Lean_Parser_checkPrecFn(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Term_panic_parenthesizer___closed__2; +lean_object* l_Lean_Parser_Term_funBinder_parenthesizer___closed__5; lean_object* l_Lean_Parser_Term_parser_x21___elambda__1___closed__8; lean_object* l_Lean_Parser_Term_typeOf_parenthesizer___closed__2; lean_object* l_Lean_Parser_Term_let_x21___elambda__1___closed__10; @@ -1268,6 +1281,7 @@ lean_object* l_Lean_Parser_Term_str; lean_object* l_Lean_Parser_Term_parenSpecial_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Term_decide___closed__5; lean_object* l_Lean_Parser_Term_structInstLVal___closed__5; +lean_object* l_Lean_Parser_Term_funSimpleBinder_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Term_binderTactic___elambda__1___closed__2; lean_object* l_Lean_Parser_Term_eq___closed__4; lean_object* l_Lean_Parser_Term_structInstArrayRef_parenthesizer___closed__2; @@ -1296,6 +1310,7 @@ lean_object* l_Lean_Parser_Term_ge___closed__1; lean_object* l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__6; lean_object* l_Lean_Parser_Term_borrowed___elambda__1___closed__10; lean_object* l_Lean_Parser_Term_basicFun___closed__7; +lean_object* l_Lean_Parser_Term_funBinder_parenthesizer___closed__3; lean_object* l_Lean_Parser_Term_explicitUniv_formatter___closed__5; lean_object* l_Lean_Parser_Term_nativeRefl_formatter___closed__4; lean_object* l___regBuiltinParser_Lean_Parser_Tactic_quot(lean_object*); @@ -1366,6 +1381,7 @@ lean_object* l_Lean_Parser_Term_letrec_parenthesizer___closed__5; lean_object* l_Lean_Parser_Term_structInst_parenthesizer___closed__17; lean_object* l_Lean_Parser_Term_matchAlts___elambda__1___closed__2; lean_object* l_Lean_Parser_Term_byTactic___elambda__1___closed__1; +lean_object* l_Lean_Parser_Term_simpleBinder___elambda__1___closed__9; lean_object* l_Lean_Parser_Term_structInst___elambda__1___closed__15; extern lean_object* l_Lean_PrettyPrinter_parenthesizerAttribute; lean_object* l_Lean_Parser_Term_suffices___closed__4; @@ -1407,6 +1423,7 @@ lean_object* l_Lean_Parser_Term_binderDefault; lean_object* l_Lean_Parser_Term_assert___closed__5; lean_object* l___regBuiltin_Lean_Parser_Term_anonymousCtor_parenthesizer(lean_object*); lean_object* l_Lean_Parser_Term_namedPattern___elambda__1___closed__5; +extern lean_object* l_Lean_Parser_checkOutsideQuot___closed__1; lean_object* l_Lean_Parser_Term_fun___elambda__1___closed__9; lean_object* l_Lean_Parser_Term_letDecl___closed__6; extern lean_object* l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__4; @@ -1547,6 +1564,7 @@ lean_object* l_Lean_Parser_Term_structInstLVal_formatter___closed__8; lean_object* l_Lean_Parser_Term_show___closed__1; lean_object* l_Lean_Parser_Term_attributes___elambda__1___closed__10; lean_object* l_Lean_Parser_Term_subtype___elambda__1___closed__8; +lean_object* l_Lean_Parser_Term_simpleBinder___closed__8; lean_object* l_Lean_Parser_Term_not_formatter___closed__1; lean_object* l_Lean_Parser_Term_modN___elambda__1___closed__4; lean_object* l_Lean_Parser_Term_structInst___elambda__1___closed__16; @@ -1556,6 +1574,7 @@ lean_object* l_Lean_Parser_Term_prod; extern lean_object* l_Lean_Parser_mkAntiquot_parenthesizer___closed__11; lean_object* l_Lean_Parser_Term_sorry___elambda__1___closed__1; lean_object* l___regBuiltin_Lean_Parser_Term_equiv_formatter(lean_object*); +lean_object* l_Lean_Parser_Term_funBinder___elambda__1___closed__2; lean_object* l_Lean_Parser_Term_let___closed__8; lean_object* l___regBuiltin_Lean_Parser_Term_explicitUniv_formatter___closed__1; lean_object* l_Lean_Parser_Term_optType; @@ -1579,6 +1598,7 @@ lean_object* l_Lean_Parser_Term_funImplicitBinder___elambda__1___closed__1; lean_object* l_Lean_Parser_Term_assert___closed__1; lean_object* l___regBuiltin_Lean_Parser_Term_ge_parenthesizer___closed__1; lean_object* l_Lean_Parser_Term_forall___elambda__1___closed__11; +lean_object* l_Lean_Parser_Term_funSimpleBinder___elambda__1___closed__9; lean_object* l_Lean_Parser_Term_sufficesDecl___closed__3; lean_object* l_Lean_Parser_darrow_parenthesizer___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Term_band___elambda__1___closed__2; @@ -1632,6 +1652,7 @@ lean_object* l_Lean_Parser_Term_ge___elambda__1___closed__5; lean_object* l_Lean_Parser_Term_decide_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Tactic_tacticSeqBracketed_formatter___closed__13; lean_object* l___regBuiltin_Lean_Parser_Term_let_parenthesizer(lean_object*); +lean_object* l_Lean_Parser_Term_simpleBinder_formatter___closed__5; lean_object* l_Lean_Parser_Term_nativeDecide_parenthesizer___closed__3; lean_object* l_Lean_Parser_Term_attributes___closed__5; lean_object* l_Lean_Parser_Term_nativeRefl___elambda__1___closed__10; @@ -1662,6 +1683,7 @@ lean_object* l_Lean_Parser_Term_typeOf___elambda__1___closed__3; lean_object* l_Lean_Parser_Tactic_tacticSeq1Indented___closed__10; lean_object* l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__4; lean_object* l___regBuiltin_Lean_Parser_Term_mod_parenthesizer(lean_object*); +lean_object* l_Lean_Parser_Term_funSimpleBinder___elambda__1___closed__4; lean_object* l_Lean_Parser_Term_typeSpec___closed__2; lean_object* l_Lean_Parser_Term_attributes___elambda__1___closed__7; lean_object* l_Lean_Parser_Term_letIdDecl_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -1683,6 +1705,7 @@ lean_object* l_Lean_Parser_Term_ensureTypeOf___elambda__1___closed__4; lean_object* l_Lean_Parser_Term_letDecl; lean_object* l_Lean_Parser_Term_ensureTypeOf___elambda__1(lean_object*, lean_object*); lean_object* l_Lean_Parser_Term_type_parenthesizer___closed__8; +lean_object* l_Lean_Parser_Term_funSimpleBinder___elambda__1___closed__8; lean_object* l_Lean_Parser_Term_haveDecl_formatter___closed__2; lean_object* l_Lean_Parser_Term_type_formatter___closed__4; lean_object* l_Lean_Parser_Term_fun___elambda__1___closed__6; @@ -1770,6 +1793,7 @@ lean_object* l_Lean_Parser_Term_beq_parenthesizer___closed__1; lean_object* l_Lean_Parser_Tactic_quot___elambda__1___closed__5; lean_object* l_Lean_Parser_Term_funImplicitBinder___closed__2; lean_object* l___regBuiltinParser_Lean_Parser_Term_dollar(lean_object*); +lean_object* l_Lean_Parser_Term_funBinder___elambda__1___closed__3; lean_object* l_Lean_Parser_Term_funImplicitBinder___elambda__1___closed__4; lean_object* l_Lean_Parser_Term_match_parenthesizer___closed__8; lean_object* l_Lean_Parser_Term_explicitUniv___closed__5; @@ -1989,6 +2013,7 @@ lean_object* l_Lean_Parser_Term_fun_parenthesizer(lean_object*, lean_object*, le lean_object* l_Lean_Parser_Term_type_parenthesizer___closed__6; lean_object* l_Lean_Parser_Term_structInstField_formatter___closed__2; lean_object* l_Lean_Parser_Level_quot___elambda__1(lean_object*, lean_object*); +lean_object* l_Lean_Parser_Term_simpleBinder_parenthesizer___closed__3; lean_object* l_Lean_Parser_Term_fromTerm; lean_object* l_Lean_Parser_Term_anonymousCtor___closed__6; lean_object* l_Lean_Parser_Term_if___elambda__1___closed__14; @@ -2007,6 +2032,7 @@ lean_object* l_Lean_Parser_Term_explicitBinder___closed__5; lean_object* l_Lean_Parser_Term_implicitBinder___elambda__1(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Term_bnot___elambda__1___closed__3; lean_object* l_Lean_Parser_Term_structInstField_formatter___closed__1; +lean_object* l_Lean_Parser_Term_simpleBinder___elambda__1___closed__10; lean_object* l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__7; lean_object* l_Lean_Parser_Term_typeOf___closed__1; lean_object* l_Lean_Parser_Term_structInstLVal; @@ -2030,6 +2056,7 @@ lean_object* l_Lean_Parser_Term_letPatDecl_parenthesizer___closed__2; lean_object* l_Lean_Parser_Term_tupleTail___closed__7; lean_object* l_Lean_Parser_Term_fromTerm___elambda__1___closed__5; lean_object* l_Lean_Parser_Term_ensureExpectedType_formatter___closed__2; +lean_object* l_Lean_Parser_Term_funSimpleBinder___elambda__1___closed__2; lean_object* l_Lean_Parser_Tactic_quot___elambda__1___closed__3; lean_object* l_Lean_Parser_Term_structInst___closed__14; lean_object* l_Lean_Parser_Term_depArrow___closed__4; @@ -2077,6 +2104,7 @@ lean_object* l_Lean_Parser_Term_match__syntax_parenthesizer(lean_object*, lean_o lean_object* l_Lean_Parser_Term_inaccessible___elambda__1___closed__5; lean_object* l_Lean_Parser_Term_match___elambda__1___closed__12; lean_object* l_Lean_Parser_Term_binderDefault___elambda__1___closed__5; +lean_object* l_Lean_Parser_Term_simpleBinder___elambda__1___closed__8; lean_object* l_Lean_Parser_checkNoWsBeforeFn(lean_object*, lean_object*, lean_object*); lean_object* l___regBuiltin_Lean_Parser_Term_dbgTrace_formatter(lean_object*); lean_object* l_Lean_Parser_Term_seqLeft; @@ -2093,6 +2121,7 @@ lean_object* l_Lean_Parser_Term_parser_x21_parenthesizer(lean_object*, lean_obje lean_object* l_Lean_Parser_Term_fun___elambda__1(lean_object*, lean_object*); lean_object* l_Lean_Parser_Term_letrec_parenthesizer___closed__9; lean_object* l_Lean_Parser_Term_fromTerm___elambda__1___closed__8; +lean_object* l_Lean_Parser_Term_simpleBinder_parenthesizer___closed__7; lean_object* l_Lean_Parser_Term_stateRefT___elambda__1___closed__7; extern lean_object* l_Lean_Parser_mkAntiquot___closed__10; lean_object* l_Lean_Parser_Term_forall___elambda__1___closed__9; @@ -2122,6 +2151,7 @@ lean_object* l_Lean_Parser_Term_fcomp___elambda__1___closed__2; lean_object* l_Lean_Parser_Term_cons; lean_object* l_Lean_Parser_Term_explicitBinder_parenthesizer___closed__3; lean_object* l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__8; +lean_object* l_Lean_Parser_Term_simpleBinder_formatter___closed__3; lean_object* l_Lean_Parser_Term_type_formatter___closed__8; lean_object* l_Lean_Parser_Term_typeSpec_formatter___closed__1; lean_object* l_Lean_Parser_Term_dollarProj___elambda__1___closed__5; @@ -2163,6 +2193,7 @@ lean_object* l_Lean_Parser_Term_structInst___closed__3; lean_object* l_Lean_Parser_Term_attributes; lean_object* l_Lean_Parser_Term_inaccessible___elambda__1___closed__3; lean_object* l_Lean_Parser_Term_let_x21_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Parser_Term_funSimpleBinder_parenthesizer___closed__4; lean_object* l_Lean_Parser_Term_instBinder___elambda__1___closed__1; lean_object* lean_name_mk_string(lean_object*, lean_object*); lean_object* l_Lean_Parser_Term_letIdDecl_formatter___closed__1; @@ -2172,6 +2203,7 @@ lean_object* l_Lean_Parser_Term_borrowed_parenthesizer___closed__1; lean_object* l_Lean_Parser_Term_match_parenthesizer___closed__6; lean_object* l_Lean_Parser_Term_ensureTypeOf___closed__2; extern lean_object* l_List_repr___rarg___closed__2; +lean_object* l_Lean_Parser_Term_funSimpleBinder_parenthesizer___closed__1; lean_object* l_Lean_Parser_Term_unreachable___elambda__1(lean_object*, lean_object*); lean_object* l_Lean_Parser_Term_structInst_formatter___closed__6; lean_object* l_Lean_Parser_Term_letIdDecl_formatter___closed__4; @@ -2300,6 +2332,7 @@ lean_object* l_Lean_Parser_Term_haveDecl___closed__5; lean_object* l_Lean_Parser_Term_ge_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___regBuiltin_Lean_Parser_Term_orelse_formatter(lean_object*); lean_object* l_Lean_Parser_Term_match__syntax; +lean_object* l_Lean_Parser_Term_simpleBinder_formatter___closed__7; lean_object* l_Lean_Parser_Term_paren_formatter___closed__4; lean_object* l_Lean_Parser_Term_if___closed__1; lean_object* l_Lean_Parser_Term_suffices___elambda__1___closed__6; @@ -2466,6 +2499,7 @@ lean_object* l_Lean_Parser_Term_explicit___closed__7; lean_object* l_Lean_Parser_Term_uminus___elambda__1___closed__3; lean_object* l_Lean_Parser_Term_namedPattern___closed__5; lean_object* l_Lean_Parser_Term_mod___closed__1; +lean_object* l_Lean_Parser_Term_funSimpleBinder_formatter___closed__4; lean_object* l_Lean_Parser_Term_app_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Parser_mkAntiquot_parenthesizer___closed__8; lean_object* l_Lean_Parser_Term_explicitBinder(uint8_t); @@ -2546,6 +2580,7 @@ lean_object* l_Lean_Parser_Term_cdot___elambda__1___closed__5; lean_object* l_Lean_Parser_Term_letEqnsDecl; lean_object* l_Lean_Parser_Term_cons___closed__2; lean_object* l_Lean_Parser_Term_dbgTrace___elambda__1___closed__1; +lean_object* l_Lean_Parser_Term_funSimpleBinder_parenthesizer___closed__6; lean_object* l___regBuiltin_Lean_Parser_Term_iff_formatter___closed__1; lean_object* l_Lean_Parser_Term_dollarProj___closed__2; lean_object* l_Lean_Parser_Term_bnot___elambda__1___closed__9; @@ -2621,6 +2656,7 @@ lean_object* l___regBuiltin_Lean_Parser_Term_cons_parenthesizer___closed__1; lean_object* l_Lean_Parser_Term_cdot_parenthesizer___closed__1; lean_object* l___regBuiltinParser_Lean_Parser_Term_str(lean_object*); lean_object* l_Lean_Parser_Term_matchDiscr_formatter___closed__6; +lean_object* l_Lean_Parser_Term_simpleBinder_formatter___closed__8; lean_object* l_Lean_Parser_Term_haveDecl_parenthesizer___closed__3; lean_object* l_Lean_Parser_Tactic_quotSeq___elambda__1___closed__4; lean_object* l_Lean_Parser_Term_let_x2a___elambda__1___closed__3; @@ -2678,6 +2714,7 @@ lean_object* l___regBuiltin_Lean_Parser_Term_orelse_formatter___closed__1; lean_object* l_Lean_Parser_Term_haveAssign___elambda__1___closed__2; lean_object* l_Lean_Parser_Term_letEqnsDecl_formatter___closed__1; lean_object* l_Lean_Parser_Term_cdot___elambda__1___closed__2; +lean_object* l_Lean_Parser_Term_funSimpleBinder_formatter___closed__2; lean_object* l_Lean_Parser_Term_fun___closed__8; lean_object* l_Lean_Parser_Term_attrInstance; lean_object* l_Lean_Parser_Term_fcomp_formatter___closed__1; @@ -2685,6 +2722,7 @@ lean_object* l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__3; lean_object* l___regBuiltin_Lean_Parser_Term_show_formatter___closed__1; lean_object* l_Lean_Parser_Term_stateRefT___elambda__1___closed__11; lean_object* l_Lean_Parser_Term_explicitUniv___elambda__1___closed__9; +lean_object* l_Lean_Parser_Term_funSimpleBinder___elambda__1___closed__6; lean_object* l_Lean_Parser_Level_quot___closed__7; lean_object* l_Lean_Parser_Term_matchAlts_formatter___closed__13; lean_object* l___regBuiltinParser_Lean_Parser_Term_fun(lean_object*); @@ -2709,6 +2747,7 @@ lean_object* l_Lean_PrettyPrinter_Formatter_withPosition_formatter(lean_object*, lean_object* l___regBuiltinParser_Lean_Parser_Term_str___closed__1; lean_object* l___regBuiltin_Lean_Parser_Term_arrayLit_formatter(lean_object*); lean_object* l_Lean_Parser_Term_sort___closed__5; +lean_object* l_Lean_Parser_Term_funBinder_formatter___closed__4; lean_object* l_Lean_PrettyPrinter_Formatter_ppSpace_formatter___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Term_optType___elambda__1(lean_object*, lean_object*); lean_object* l_Lean_Parser_Term_matchDiscr_parenthesizer___closed__3; @@ -2720,6 +2759,7 @@ lean_object* l_Lean_Parser_Term_unreachable_parenthesizer___closed__3; lean_object* l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__12; lean_object* l_Lean_Parser_Term_let_x21_formatter___closed__1; lean_object* l_Lean_Parser_Tactic_tacticSeq___closed__1; +lean_object* l_Lean_Parser_Term_simpleBinder_formatter___closed__4; lean_object* l_Lean_Parser_Term_equiv_parenthesizer___closed__1; lean_object* l___regBuiltinParser_Lean_Parser_Term_beq(lean_object*); lean_object* l_Lean_Parser_Term_borrowed_parenthesizer___closed__4; @@ -2788,6 +2828,7 @@ lean_object* l_Lean_Parser_Term_tupleTail_formatter___closed__5; lean_object* l_Lean_Parser_Term_prop___elambda__1___closed__1; lean_object* l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__10; lean_object* l_Lean_Parser_Term_have_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +extern lean_object* l_Lean_Parser_checkInsideQuot___closed__1; lean_object* l_Lean_Parser_Term_letrec___elambda__1___closed__10; lean_object* l_Lean_Parser_Term_cdot_parenthesizer___closed__2; lean_object* l_Lean_Parser_Term_funBinder_quot_formatter___closed__1; @@ -2811,6 +2852,7 @@ lean_object* l_Lean_Parser_Term_typeAscription___closed__7; lean_object* l_Lean_Parser_Term_typeAscription_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Term_emptyC___closed__8; lean_object* l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__3; +lean_object* l_Lean_Parser_Term_funSimpleBinder_formatter___closed__1; lean_object* l_Lean_Parser_Term_binderIdent_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Term_nomatch___closed__1; lean_object* l_Lean_Parser_Term_not_parenthesizer___closed__4; @@ -2858,6 +2900,7 @@ lean_object* l_Lean_Parser_Term_structInst___elambda__1___closed__1; lean_object* l_Lean_Parser_Term_mapRev; lean_object* l_Lean_Parser_Term_let_formatter___closed__4; lean_object* l_Lean_Parser_Term_cons___closed__3; +lean_object* l_Lean_Parser_Term_funSimpleBinder___closed__3; extern lean_object* l_Std_Range_myMacro____x40_Init_Data_Range___hyg_315____closed__8; lean_object* l_Lean_Parser_Term_dollarProj___closed__3; lean_object* l_Lean_Parser_Term_depArrow_parenthesizer___closed__1; @@ -3038,6 +3081,7 @@ lean_object* l_Lean_Parser_Term_ne_parenthesizer(lean_object*, lean_object*, lea lean_object* l_Lean_Parser_Tactic_quotSeq_parenthesizer___closed__3; lean_object* l_Lean_Parser_Term_matchAlt___closed__4; lean_object* l_Lean_Parser_Term_pow___closed__2; +lean_object* l_Lean_Parser_Term_funSimpleBinder___elambda__1(lean_object*, lean_object*); lean_object* l_Lean_Parser_Term_app; lean_object* l_Lean_Parser_Term_depArrow_parenthesizer___closed__2; extern lean_object* l_myMacro____x40_Init_Tactics___hyg_338____closed__1; @@ -3338,6 +3382,7 @@ lean_object* l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__4; lean_object* l_Lean_Parser_Term_binderTactic_formatter___closed__1; lean_object* l_Lean_Parser_Term_app___elambda__1___closed__2; lean_object* l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__4; +lean_object* l_Lean_Parser_Term_funSimpleBinder___elambda__1___closed__5; lean_object* l_Lean_Parser_Term_emptyC___closed__3; lean_object* l_Lean_Parser_Term_append___closed__4; lean_object* l_Lean_PrettyPrinter_Formatter_ppDedent_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -3397,6 +3442,7 @@ lean_object* l_Lean_Parser_Term_macroDollarArg___elambda__1___closed__3; lean_object* l_Lean_Parser_Term_fun___closed__5; lean_object* l_Lean_Parser_Term_seqRight___elambda__1___closed__4; lean_object* l_Lean_Parser_sepBy1Fn(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Parser_Term_funSimpleBinder___elambda__1___closed__3; lean_object* l_Lean_Parser_orelseFnCore(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*); lean_object* l_Lean_Parser_Term_matchAlts_parenthesizer___closed__13; lean_object* l_Lean_Parser_Term_bor___closed__4; @@ -3471,6 +3517,7 @@ lean_object* l_Lean_Parser_Term_forall___closed__4; lean_object* l_Lean_Parser_Term_add___closed__1; lean_object* l_Lean_Parser_categoryParser___elambda__1(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Term_structInstLVal___closed__8; +lean_object* l_Lean_Parser_Term_simpleBinder_parenthesizer___closed__6; lean_object* l_Lean_Parser_Term_letIdDecl___closed__3; lean_object* l_Lean_Parser_Term_explicit_formatter___closed__2; lean_object* l_Lean_Parser_Term_le___closed__2; @@ -3485,12 +3532,14 @@ lean_object* l_Lean_Parser_Term_cons_formatter___closed__1; lean_object* l_Lean_Parser_Term_let_x2a; lean_object* l_Lean_Parser_Term_unicodeInfixL_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Term_pow___closed__1; +lean_object* l_Lean_Parser_Term_simpleBinder_formatter___closed__6; lean_object* l___regBuiltin_Lean_Parser_Term_seq_parenthesizer___closed__1; lean_object* l_Lean_Parser_Term_hole___elambda__1___closed__4; lean_object* l_Lean_Parser_Tactic_quot_formatter___closed__1; lean_object* l___regBuiltin_Lean_Parser_Term_quotedName_formatter(lean_object*); lean_object* l_Lean_Parser_Term_unreachable___elambda__1___closed__1; lean_object* l_Lean_Parser_Term_let_parenthesizer___closed__7; +lean_object* l_Lean_Parser_Term_funSimpleBinder_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Term_attrInstance_formatter___closed__8; lean_object* l_Lean_Parser_Term_macroDollarArg_formatter___closed__3; lean_object* l_Lean_Parser_Term_structInst_formatter___closed__18; @@ -3506,6 +3555,7 @@ lean_object* l_Lean_Parser_Term_matchAlts_formatter___closed__8; lean_object* l_Lean_Parser_Term_attributes_parenthesizer___closed__1; lean_object* l_Lean_Parser_Term_bne___closed__2; lean_object* l_Lean_Parser_Term_seqLeft_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Parser_Term_funSimpleBinder___closed__7; lean_object* l_Lean_Parser_Term_ensureExpectedType___elambda__1___closed__5; lean_object* l_Lean_Parser_Term_namedArgument_parenthesizer___closed__4; lean_object* l_Lean_Parser_Term_structInst_formatter___closed__15; @@ -3598,6 +3648,7 @@ lean_object* l_Lean_Parser_Term_haveAssign_formatter___closed__4; lean_object* l_Lean_Parser_Term_letIdLhs___closed__6; lean_object* l_Lean_Parser_Term_borrowed___elambda__1___closed__2; lean_object* l_Lean_Parser_Term_fun_parenthesizer___closed__3; +lean_object* l_Lean_PrettyPrinter_Formatter_checkOutsideQuot_formatter___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Term_stateRefT_parenthesizer___closed__2; lean_object* l___regBuiltin_Lean_Parser_Term_cdot_formatter(lean_object*); lean_object* l_Lean_Parser_Term_explicit_formatter___closed__3; @@ -3659,6 +3710,7 @@ lean_object* l_Lean_Parser_Term_hole; lean_object* l_Lean_Parser_Term_app___closed__1; lean_object* l_Lean_Parser_Term_emptyC___closed__5; lean_object* l___regBuiltin_Lean_Parser_Term_have_formatter(lean_object*); +lean_object* l_Lean_Parser_Term_funSimpleBinder___closed__1; lean_object* l_Lean_Parser_Term_unreachable_parenthesizer___closed__1; lean_object* l_Lean_Parser_Term_panic_formatter___closed__1; lean_object* l_Lean_Parser_Term_mod_formatter___closed__1; @@ -3691,6 +3743,7 @@ lean_object* l___regBuiltin_Lean_Parser_Term_nomatch_formatter(lean_object*); lean_object* l_Lean_Parser_Term_matchAlt___closed__2; lean_object* l_Lean_Parser_Term_parenSpecial___closed__2; lean_object* l_Lean_Parser_Term_paren___elambda__1___closed__6; +lean_object* l_Lean_Parser_Term_funSimpleBinder___closed__2; lean_object* l_Lean_Parser_Term_tupleTail_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Term_binderTactic___elambda__1___closed__10; lean_object* l_Lean_Parser_Term_arrayLit___elambda__1___closed__4; @@ -3741,6 +3794,7 @@ lean_object* l_Lean_Parser_Term_if___closed__9; lean_object* l_Lean_Parser_Tactic_quot___closed__3; lean_object* l_Lean_Parser_nodeFn(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___regBuiltinParser_Lean_Parser_Term_modN(lean_object*); +lean_object* l_Lean_Parser_Term_funBinder_formatter___closed__3; lean_object* l_Lean_Parser_Term_typeSpec___closed__1; extern lean_object* l_Lean_Level_LevelToFormat_toResult___closed__4; lean_object* l_Lean_Parser_Term_subtype_formatter___closed__5; @@ -3782,6 +3836,7 @@ lean_object* l_Lean_Parser_Term_basicFun_parenthesizer___closed__4; lean_object* l_Lean_Parser_Term_if_formatter___closed__9; lean_object* l_Lean_Parser_Term_macroDollarArg_parenthesizer___closed__1; lean_object* l_Lean_Parser_Term_nativeDecide_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Parser_Term_funSimpleBinder_formatter___closed__6; lean_object* l_Lean_Parser_nameLit_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Term_tparser_x21___closed__1; lean_object* l_Lean_Parser_Term_proj_parenthesizer___closed__2; @@ -3818,6 +3873,7 @@ lean_object* l_Lean_Parser_Term_unreachable___elambda__1___closed__9; lean_object* l_Lean_Parser_Term_matchAlt___closed__1; lean_object* l_Lean_Parser_Term_match_formatter___closed__7; lean_object* l___regBuiltin_Lean_Parser_Term_structInst_formatter___closed__1; +lean_object* l_Lean_Parser_Term_funSimpleBinder_parenthesizer___closed__3; lean_object* l___regBuiltin_Lean_Parser_Term_mul_formatter___closed__1; lean_object* l_Lean_Parser_Term_tupleTail_formatter___closed__2; lean_object* l_Lean_Parser_Term_app___elambda__1___closed__4; @@ -3854,6 +3910,7 @@ lean_object* l_Lean_Parser_Term_structInstField_parenthesizer___closed__4; lean_object* l_Lean_Parser_Term_fcomp___closed__3; lean_object* l_Lean_Parser_Term_sort_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Term_attrInstance_parenthesizer___closed__5; +lean_object* l_Lean_Parser_Term_funSimpleBinder___elambda__1___closed__7; lean_object* l_Lean_Parser_Term_basicFun_formatter___closed__2; lean_object* l_Lean_Parser_Term_anonymousCtor_parenthesizer___closed__2; extern lean_object* l_Lean_mkHole___closed__2; @@ -3910,6 +3967,7 @@ lean_object* l_Lean_Parser_Tactic_tacticSeqBracketed___closed__6; lean_object* l_Lean_Parser_Term_app_formatter___closed__7; lean_object* l_Lean_Parser_Term_pow; lean_object* l___regBuiltin_Lean_Parser_Term_uminus_parenthesizer___closed__1; +lean_object* l_Lean_Parser_Term_simpleBinder___elambda__1___closed__7; lean_object* l_Lean_Parser_Term_structInst___closed__16; lean_object* l_Lean_Parser_Term_structInstArrayRef___closed__6; lean_object* l_Lean_Parser_Term_letIdDecl___closed__4; @@ -4097,6 +4155,7 @@ lean_object* l_Lean_Parser_Term_iff___closed__2; lean_object* l_Lean_Parser_Term_orelse___closed__4; extern lean_object* l_Lean_Expr_ctorName___closed__11; lean_object* l_Lean_Parser_Term_stateRefT_parenthesizer___closed__4; +lean_object* l_Lean_Parser_Term_funSimpleBinder___closed__5; lean_object* l_Lean_Parser_Term_parenSpecial_parenthesizer___closed__1; lean_object* l_Lean_Parser_Term_paren_parenthesizer___closed__4; lean_object* l___regBuiltin_Lean_Parser_Term_fun_formatter___closed__1; @@ -4108,6 +4167,7 @@ lean_object* l_Lean_Parser_Term_haveAssign_parenthesizer___closed__3; lean_object* l_Lean_PrettyPrinter_Parenthesizer_notFollowedBy_parenthesizer___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Term_subst___closed__7; lean_object* l_Lean_Parser_Term_haveAssign_formatter___closed__3; +lean_object* l_Lean_Parser_Term_funBinder_parenthesizer___closed__4; lean_object* l_Lean_Parser_Term_binderTactic___elambda__1___closed__11; lean_object* l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__9; lean_object* l_Lean_Parser_Term_num_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -4115,6 +4175,7 @@ lean_object* l_Lean_Parser_Term_fcomp___closed__2; lean_object* l_Lean_Parser_Term_unreachable___elambda__1___closed__6; lean_object* l___regBuiltin_Lean_Parser_Term_fun_parenthesizer___closed__1; lean_object* l_Lean_Parser_Term_dbgTrace___elambda__1___closed__9; +lean_object* l_Lean_Parser_Term_funSimpleBinder_parenthesizer___closed__2; lean_object* l_Lean_Parser_Term_prop_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Term_map___elambda__1___closed__2; lean_object* l_Lean_Parser_Term_sort___elambda__1___closed__9; @@ -4232,10 +4293,12 @@ lean_object* l_Lean_Parser_Term_matchDiscr_formatter___closed__4; lean_object* l_Lean_Parser_Term_macroLastArg_parenthesizer___closed__1; lean_object* l_Lean_Parser_Term_letDecl_formatter___closed__2; lean_object* l_Lean_Parser_Term_let___elambda__1(lean_object*, lean_object*); +lean_object* l_Lean_Parser_Term_simpleBinder___closed__7; lean_object* l_Lean_Parser_Term_matchAlts_parenthesizer___closed__7; lean_object* l_Lean_Parser_Term_orM_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Term_uminus_parenthesizer___closed__5; extern lean_object* l_myMacro____x40_Init_Data_ToString_Macro___hyg_39____closed__8; +lean_object* l_Lean_Parser_Term_funSimpleBinder___elambda__1___closed__10; lean_object* l_Lean_Parser_ParserState_mkUnexpectedError(lean_object*, lean_object*); lean_object* l_Lean_Parser_Term_subtype___closed__4; lean_object* l_Lean_Parser_Term_inaccessible_formatter___closed__1; @@ -4265,6 +4328,7 @@ lean_object* l_Lean_Parser_Term_structInst_parenthesizer___closed__13; lean_object* l_Lean_Parser_Term_binderIdent___elambda__1(lean_object*, lean_object*); lean_object* l_Lean_Parser_Term_parser_x21_formatter___closed__5; extern lean_object* l_Std_Range_myMacro____x40_Init_Data_Range___hyg_315____closed__2; +lean_object* l_Lean_Parser_Term_simpleBinder___closed__6; lean_object* l_Lean_Parser_Term_ensureTypeOf___closed__6; lean_object* l_Lean_Parser_Term_borrowed___elambda__1___closed__6; lean_object* l___regBuiltinParser_Lean_Parser_Term_borrowed(lean_object*); @@ -4337,6 +4401,7 @@ lean_object* l_Lean_Parser_Term_bindOp___elambda__1___closed__2; lean_object* l_Lean_Parser_Tactic_quotSeq___closed__2; lean_object* l_Lean_Parser_Term_have_parenthesizer___closed__5; lean_object* l_Lean_PrettyPrinter_Formatter_notFollowedBy_formatter___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_PrettyPrinter_Parenthesizer_checkInsideQuot_parenthesizer___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Term_match__syntax_formatter___closed__2; lean_object* l_Lean_Parser_Term_byTactic___closed__2; lean_object* l___regBuiltin_Lean_Parser_Term_type_parenthesizer(lean_object*); @@ -4345,6 +4410,7 @@ extern lean_object* l_Lean_Parser_many1Indent___closed__1; lean_object* l_Lean_Parser_Term_subtype___elambda__1___closed__3; lean_object* l_Lean_Parser_Term_letrec_formatter___closed__1; lean_object* l_Lean_Parser_Term_if___closed__7; +lean_object* l_Lean_Parser_Term_simpleBinder_parenthesizer___closed__5; lean_object* l_Lean_Parser_Term_match___closed__10; lean_object* l_Lean_Parser_Term_match__syntax_formatter___closed__1; lean_object* l_Lean_Parser_Term_funBinder_quot___elambda__1___closed__4; @@ -4400,6 +4466,7 @@ lean_object* l_Lean_Parser_Term_modN___closed__4; lean_object* l_Lean_Parser_Term_arrayLit___elambda__1___closed__2; lean_object* l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__6; lean_object* l___regBuiltin_Lean_Parser_Term_not_parenthesizer___closed__1; +lean_object* l_Lean_Parser_Term_funBinder___closed__6; lean_object* l_Lean_Parser_Term_fromTerm___elambda__1(lean_object*, lean_object*); lean_object* l_Lean_Parser_Term_andM___elambda__1___closed__4; lean_object* l_Lean_Parser_Tactic_quotSeq___elambda__1(lean_object*, lean_object*); @@ -4418,6 +4485,7 @@ lean_object* l_Lean_Parser_Term_ensureExpectedType___closed__6; lean_object* l_Lean_Parser_Term_funBinder_quot___elambda__1___closed__9; lean_object* l_Lean_Parser_Term_str_formatter___closed__1; lean_object* l___regBuiltin_Lean_Parser_Term_letrec_parenthesizer___closed__1; +lean_object* l_Lean_Parser_Term_funSimpleBinder___closed__4; lean_object* l___regBuiltin_Lean_Parser_Term_add_parenthesizer___closed__1; lean_object* l_Lean_Parser_Term_emptyC___elambda__1___closed__7; lean_object* l_Lean_Parser_Term_binderDefault___closed__5; @@ -4580,6 +4648,7 @@ lean_object* l_Lean_PrettyPrinter_Parenthesizer_node_parenthesizer(lean_object*, lean_object* l_Lean_Parser_Term_explicitBinder_formatter___closed__5; lean_object* l_Lean_Parser_Term_namedArgument_formatter___closed__3; lean_object* l_Lean_Parser_Term_letrec_formatter___closed__8; +lean_object* l_Lean_Parser_Term_funSimpleBinder___closed__6; lean_object* l_Lean_Parser_Term_let_x21___closed__4; lean_object* l_Lean_Parser_Tactic_seq1___elambda__1___closed__2; lean_object* l_Lean_Parser_Term_match_formatter___closed__5; @@ -23413,9 +23482,9 @@ static lean_object* _init_l_Lean_Parser_Term_simpleBinder___elambda__1___closed_ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_simpleBinder___elambda__1___closed__2; -x_2 = l_Lean_Parser_Term_explicitBinder___closed__1; -x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2); +x_1 = l_Lean_Parser_Term_explicitBinder___closed__1; +x_2 = l_Lean_Parser_Term_optType___closed__2; +x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); return x_3; @@ -23425,7 +23494,7 @@ static lean_object* _init_l_Lean_Parser_Term_simpleBinder___elambda__1___closed_ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8; +x_1 = l_Lean_Parser_checkInsideQuot___closed__1; x_2 = l_Lean_Parser_Term_simpleBinder___elambda__1___closed__5; x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2); lean_closure_set(x_3, 0, x_1); @@ -23433,6 +23502,54 @@ lean_closure_set(x_3, 1, x_2); return x_3; } } +static lean_object* _init_l_Lean_Parser_Term_simpleBinder___elambda__1___closed__7() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_checkOutsideQuot___closed__1; +x_2 = l_Lean_Parser_Term_explicitBinder___closed__1; +x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Term_simpleBinder___elambda__1___closed__8() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_simpleBinder___elambda__1___closed__6; +x_2 = l_Lean_Parser_Term_simpleBinder___elambda__1___closed__7; +x_3 = lean_alloc_closure((void*)(l_Lean_Parser_orelseFn), 4, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Term_simpleBinder___elambda__1___closed__9() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_simpleBinder___elambda__1___closed__2; +x_2 = l_Lean_Parser_Term_simpleBinder___elambda__1___closed__8; +x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Term_simpleBinder___elambda__1___closed__10() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8; +x_2 = l_Lean_Parser_Term_simpleBinder___elambda__1___closed__9; +x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); +return x_3; +} +} lean_object* l_Lean_Parser_Term_simpleBinder___elambda__1(lean_object* x_1, lean_object* x_2) { _start: { @@ -23440,7 +23557,7 @@ lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_3 = l_Lean_Parser_Term_simpleBinder___elambda__1___closed__4; x_4 = lean_ctor_get(x_3, 1); lean_inc(x_4); -x_5 = l_Lean_Parser_Term_simpleBinder___elambda__1___closed__6; +x_5 = l_Lean_Parser_Term_simpleBinder___elambda__1___closed__10; x_6 = 1; x_7 = l_Lean_Parser_orelseFnCore(x_4, x_5, x_6, x_1, x_2); return x_7; @@ -23449,13 +23566,15 @@ return x_7; static lean_object* _init_l_Lean_Parser_Term_simpleBinder___closed__1() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; x_1 = l_Lean_Parser_Term_binderIdent; x_2 = lean_ctor_get(x_1, 0); lean_inc(x_2); -x_3 = l_Lean_Parser_Term_simpleBinder___elambda__1___closed__2; -x_4 = l_Lean_Parser_nodeInfo(x_3, x_2); -return x_4; +x_3 = l_Lean_Parser_Term_optType; +x_4 = lean_ctor_get(x_3, 0); +lean_inc(x_4); +x_5 = l_Lean_Parser_andthenInfo(x_2, x_4); +return x_5; } } static lean_object* _init_l_Lean_Parser_Term_simpleBinder___closed__2() { @@ -23472,28 +23591,70 @@ static lean_object* _init_l_Lean_Parser_Term_simpleBinder___closed__3() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Parser_Term_simpleBinder___elambda__1___closed__4; +x_1 = l_Lean_Parser_Term_binderIdent; x_2 = lean_ctor_get(x_1, 0); lean_inc(x_2); -x_3 = l_Lean_Parser_Term_simpleBinder___closed__2; -x_4 = l_Lean_Parser_orelseInfo(x_2, x_3); +x_3 = l_Lean_Parser_epsilonInfo; +x_4 = l_Lean_Parser_andthenInfo(x_3, x_2); return x_4; } } static lean_object* _init_l_Lean_Parser_Term_simpleBinder___closed__4() { _start: { +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_simpleBinder___closed__2; +x_2 = l_Lean_Parser_Term_simpleBinder___closed__3; +x_3 = l_Lean_Parser_orelseInfo(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Term_simpleBinder___closed__5() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_simpleBinder___elambda__1___closed__2; +x_2 = l_Lean_Parser_Term_simpleBinder___closed__4; +x_3 = l_Lean_Parser_nodeInfo(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Term_simpleBinder___closed__6() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_epsilonInfo; +x_2 = l_Lean_Parser_Term_simpleBinder___closed__5; +x_3 = l_Lean_Parser_andthenInfo(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Term_simpleBinder___closed__7() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; +x_1 = l_Lean_Parser_Term_simpleBinder___elambda__1___closed__4; +x_2 = lean_ctor_get(x_1, 0); +lean_inc(x_2); +x_3 = l_Lean_Parser_Term_simpleBinder___closed__6; +x_4 = l_Lean_Parser_orelseInfo(x_2, x_3); +return x_4; +} +} +static lean_object* _init_l_Lean_Parser_Term_simpleBinder___closed__8() { +_start: +{ lean_object* x_1; x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_simpleBinder___elambda__1), 2, 0); return x_1; } } -static lean_object* _init_l_Lean_Parser_Term_simpleBinder___closed__5() { +static lean_object* _init_l_Lean_Parser_Term_simpleBinder___closed__9() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_simpleBinder___closed__3; -x_2 = l_Lean_Parser_Term_simpleBinder___closed__4; +x_1 = l_Lean_Parser_Term_simpleBinder___closed__7; +x_2 = l_Lean_Parser_Term_simpleBinder___closed__8; x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); lean_ctor_set(x_3, 1, x_2); @@ -23504,7 +23665,7 @@ static lean_object* _init_l_Lean_Parser_Term_simpleBinder() { _start: { lean_object* x_1; -x_1 = l_Lean_Parser_Term_simpleBinder___closed__5; +x_1 = l_Lean_Parser_Term_simpleBinder___closed__9; return x_1; } } @@ -23601,7 +23762,7 @@ lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; x_1 = l_Lean_Parser_Term_forall___elambda__1___closed__9; x_2 = lean_ctor_get(x_1, 1); lean_inc(x_2); -x_3 = l_Lean_Parser_Term_simpleBinder___closed__4; +x_3 = l_Lean_Parser_Term_simpleBinder___closed__8; x_4 = lean_alloc_closure((void*)(l_Lean_Parser_orelseFn), 4, 2); lean_closure_set(x_4, 0, x_3); lean_closure_set(x_4, 1, x_2); @@ -23860,10 +24021,74 @@ return x_5; static lean_object* _init_l_Lean_Parser_Term_simpleBinder_formatter___closed__2() { _start: { +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_explicitBinder_formatter___closed__3; +x_2 = l_Lean_Parser_Term_subtype_formatter___closed__6; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Term_simpleBinder_formatter___closed__3() { +_start: +{ +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_checkInsideQuot_formatter___boxed), 4, 0); +return x_1; +} +} +static lean_object* _init_l_Lean_Parser_Term_simpleBinder_formatter___closed__4() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_simpleBinder_formatter___closed__3; +x_2 = l_Lean_Parser_Term_simpleBinder_formatter___closed__2; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Term_simpleBinder_formatter___closed__5() { +_start: +{ +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_checkOutsideQuot_formatter___boxed), 4, 0); +return x_1; +} +} +static lean_object* _init_l_Lean_Parser_Term_simpleBinder_formatter___closed__6() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_simpleBinder_formatter___closed__5; +x_2 = l_Lean_Parser_Term_explicitBinder_formatter___closed__3; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Term_simpleBinder_formatter___closed__7() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_simpleBinder_formatter___closed__4; +x_2 = l_Lean_Parser_Term_simpleBinder_formatter___closed__6; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_orelse_formatter), 7, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Term_simpleBinder_formatter___closed__8() { +_start: +{ lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; x_1 = l_Lean_Parser_Term_simpleBinder___elambda__1___closed__2; x_2 = lean_unsigned_to_nat(1024u); -x_3 = l_Lean_Parser_Term_explicitBinder_formatter___closed__3; +x_3 = l_Lean_Parser_Term_simpleBinder_formatter___closed__7; x_4 = lean_alloc_closure((void*)(l_Lean_Parser_leadingNode_formatter___boxed), 8, 3); lean_closure_set(x_4, 0, x_1); lean_closure_set(x_4, 1, x_2); @@ -23876,7 +24101,7 @@ _start: { lean_object* x_6; lean_object* x_7; lean_object* x_8; x_6 = l_Lean_Parser_Term_simpleBinder_formatter___closed__1; -x_7 = l_Lean_Parser_Term_simpleBinder_formatter___closed__2; +x_7 = l_Lean_Parser_Term_simpleBinder_formatter___closed__8; x_8 = l_Lean_PrettyPrinter_Formatter_orelse_formatter(x_6, x_7, x_1, x_2, x_3, x_4, x_5); return x_8; } @@ -24066,10 +24291,74 @@ return x_5; static lean_object* _init_l_Lean_Parser_Term_simpleBinder_parenthesizer___closed__2() { _start: { +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_explicitBinder_parenthesizer___closed__3; +x_2 = l_Lean_Parser_Term_subtype_parenthesizer___closed__6; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Term_simpleBinder_parenthesizer___closed__3() { +_start: +{ +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_checkInsideQuot_parenthesizer___boxed), 4, 0); +return x_1; +} +} +static lean_object* _init_l_Lean_Parser_Term_simpleBinder_parenthesizer___closed__4() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_simpleBinder_parenthesizer___closed__3; +x_2 = l_Lean_Parser_Term_simpleBinder_parenthesizer___closed__2; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Term_simpleBinder_parenthesizer___closed__5() { +_start: +{ +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_checkOutsideQuot_parenthesizer___boxed), 4, 0); +return x_1; +} +} +static lean_object* _init_l_Lean_Parser_Term_simpleBinder_parenthesizer___closed__6() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_simpleBinder_parenthesizer___closed__5; +x_2 = l_Lean_Parser_Term_explicitBinder_parenthesizer___closed__3; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Term_simpleBinder_parenthesizer___closed__7() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_simpleBinder_parenthesizer___closed__4; +x_2 = l_Lean_Parser_Term_simpleBinder_parenthesizer___closed__6; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_orelse_parenthesizer), 7, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Term_simpleBinder_parenthesizer___closed__8() { +_start: +{ lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; x_1 = l_Lean_Parser_Term_simpleBinder___elambda__1___closed__2; x_2 = lean_unsigned_to_nat(1024u); -x_3 = l_Lean_Parser_Term_explicitBinder_parenthesizer___closed__3; +x_3 = l_Lean_Parser_Term_simpleBinder_parenthesizer___closed__7; x_4 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_leadingNode_parenthesizer___boxed), 8, 3); lean_closure_set(x_4, 0, x_1); lean_closure_set(x_4, 1, x_2); @@ -24082,7 +24371,7 @@ _start: { lean_object* x_6; lean_object* x_7; lean_object* x_8; x_6 = l_Lean_Parser_Term_simpleBinder_parenthesizer___closed__1; -x_7 = l_Lean_Parser_Term_simpleBinder_parenthesizer___closed__2; +x_7 = l_Lean_Parser_Term_simpleBinder_parenthesizer___closed__8; x_8 = l_Lean_PrettyPrinter_Parenthesizer_orelse_parenthesizer(x_6, x_7, x_1, x_2, x_3, x_4, x_5); return x_8; } @@ -27010,11 +27299,225 @@ x_1 = l_Lean_Parser_Term_funImplicitBinder___closed__6; return x_1; } } +static lean_object* _init_l_Lean_Parser_Term_funSimpleBinder___elambda__1___closed__1() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string("funSimpleBinder"); +return x_1; +} +} +static lean_object* _init_l_Lean_Parser_Term_funSimpleBinder___elambda__1___closed__2() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_mkAppStx___closed__6; +x_2 = l_Lean_Parser_Term_funSimpleBinder___elambda__1___closed__1; +x_3 = lean_name_mk_string(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Term_funSimpleBinder___elambda__1___closed__3() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Term_funSimpleBinder___elambda__1___closed__2; +x_2 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_2, 0, x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Parser_Term_funSimpleBinder___elambda__1___closed__4() { +_start: +{ +lean_object* x_1; lean_object* x_2; uint8_t x_3; lean_object* x_4; +x_1 = l_Lean_Parser_Term_funSimpleBinder___elambda__1___closed__1; +x_2 = l_Lean_Parser_Term_funSimpleBinder___elambda__1___closed__3; +x_3 = 1; +x_4 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3); +return x_4; +} +} +static lean_object* _init_l_Lean_Parser_Term_funSimpleBinder___elambda__1___closed__5() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_explicitBinder___closed__1; +x_2 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__4; +x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Term_funSimpleBinder___elambda__1___closed__6() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Term_funSimpleBinder___elambda__1___closed__5; +x_2 = lean_alloc_closure((void*)(l_Lean_Parser_lookaheadFn), 3, 1); +lean_closure_set(x_2, 0, x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Parser_Term_funSimpleBinder___elambda__1___closed__7() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Term_funSimpleBinder___elambda__1___closed__6; +x_2 = lean_alloc_closure((void*)(l_Lean_Parser_tryFn), 3, 1); +lean_closure_set(x_2, 0, x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Parser_Term_funSimpleBinder___elambda__1___closed__8() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_funSimpleBinder___elambda__1___closed__7; +x_2 = l_Lean_Parser_Term_simpleBinder___elambda__1___closed__5; +x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Term_funSimpleBinder___elambda__1___closed__9() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_funSimpleBinder___elambda__1___closed__2; +x_2 = l_Lean_Parser_Term_funSimpleBinder___elambda__1___closed__8; +x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Term_funSimpleBinder___elambda__1___closed__10() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8; +x_2 = l_Lean_Parser_Term_funSimpleBinder___elambda__1___closed__9; +x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); +return x_3; +} +} +lean_object* l_Lean_Parser_Term_funSimpleBinder___elambda__1(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7; +x_3 = l_Lean_Parser_Term_funSimpleBinder___elambda__1___closed__4; +x_4 = lean_ctor_get(x_3, 1); +lean_inc(x_4); +x_5 = l_Lean_Parser_Term_funSimpleBinder___elambda__1___closed__10; +x_6 = 1; +x_7 = l_Lean_Parser_orelseFnCore(x_4, x_5, x_6, x_1, x_2); +return x_7; +} +} +static lean_object* _init_l_Lean_Parser_Term_funSimpleBinder___closed__1() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; +x_1 = l_Lean_Parser_Term_binderIdent; +x_2 = lean_ctor_get(x_1, 0); +lean_inc(x_2); +x_3 = l_Lean_Parser_Term_typeAscription___closed__1; +x_4 = l_Lean_Parser_andthenInfo(x_2, x_3); +return x_4; +} +} +static lean_object* _init_l_Lean_Parser_Term_funSimpleBinder___closed__2() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_funSimpleBinder___closed__1; +x_2 = l_Lean_Parser_Term_simpleBinder___closed__1; +x_3 = l_Lean_Parser_andthenInfo(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Term_funSimpleBinder___closed__3() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_funSimpleBinder___elambda__1___closed__2; +x_2 = l_Lean_Parser_Term_funSimpleBinder___closed__2; +x_3 = l_Lean_Parser_nodeInfo(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Term_funSimpleBinder___closed__4() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_epsilonInfo; +x_2 = l_Lean_Parser_Term_funSimpleBinder___closed__3; +x_3 = l_Lean_Parser_andthenInfo(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Term_funSimpleBinder___closed__5() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; +x_1 = l_Lean_Parser_Term_funSimpleBinder___elambda__1___closed__4; +x_2 = lean_ctor_get(x_1, 0); +lean_inc(x_2); +x_3 = l_Lean_Parser_Term_funSimpleBinder___closed__4; +x_4 = l_Lean_Parser_orelseInfo(x_2, x_3); +return x_4; +} +} +static lean_object* _init_l_Lean_Parser_Term_funSimpleBinder___closed__6() { +_start: +{ +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_funSimpleBinder___elambda__1), 2, 0); +return x_1; +} +} +static lean_object* _init_l_Lean_Parser_Term_funSimpleBinder___closed__7() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_funSimpleBinder___closed__5; +x_2 = l_Lean_Parser_Term_funSimpleBinder___closed__6; +x_3 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_3, 0, x_1); +lean_ctor_set(x_3, 1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Term_funSimpleBinder() { +_start: +{ +lean_object* x_1; +x_1 = l_Lean_Parser_Term_funSimpleBinder___closed__7; +return x_1; +} +} static lean_object* _init_l_Lean_Parser_Term_funBinder___elambda__1___closed__1() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_instBinder___closed__6; +x_1 = l_Lean_Parser_checkInsideQuot___closed__1; +x_2 = l_Lean_Parser_Term_funSimpleBinder___closed__6; +x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Term_funBinder___elambda__1___closed__2() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_funBinder___elambda__1___closed__1; x_2 = l_Lean_Parser_Term_explicit___elambda__1___closed__8; x_3 = lean_alloc_closure((void*)(l_Lean_Parser_orelseFn), 4, 2); lean_closure_set(x_3, 0, x_1); @@ -27022,12 +27525,24 @@ lean_closure_set(x_3, 1, x_2); return x_3; } } +static lean_object* _init_l_Lean_Parser_Term_funBinder___elambda__1___closed__3() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_instBinder___closed__6; +x_2 = l_Lean_Parser_Term_funBinder___elambda__1___closed__2; +x_3 = lean_alloc_closure((void*)(l_Lean_Parser_orelseFn), 4, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); +return x_3; +} +} lean_object* l_Lean_Parser_Term_funBinder___elambda__1(lean_object* x_1, lean_object* x_2) { _start: { lean_object* x_3; lean_object* x_4; uint8_t x_5; lean_object* x_6; x_3 = l_Lean_Parser_Term_funImplicitBinder___closed__5; -x_4 = l_Lean_Parser_Term_funBinder___elambda__1___closed__1; +x_4 = l_Lean_Parser_Term_funBinder___elambda__1___closed__3; x_5 = 1; x_6 = l_Lean_Parser_orelseFnCore(x_3, x_4, x_5, x_1, x_2); return x_6; @@ -27036,43 +27551,65 @@ return x_6; static lean_object* _init_l_Lean_Parser_Term_funBinder___closed__1() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; -x_1 = l_Lean_Parser_Term_instBinder; +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; +x_1 = l_Lean_Parser_Term_funSimpleBinder; x_2 = lean_ctor_get(x_1, 0); lean_inc(x_2); -x_3 = l_Lean_Parser_Term_explicit___closed__2; -x_4 = lean_ctor_get(x_3, 0); -lean_inc(x_4); -x_5 = l_Lean_Parser_orelseInfo(x_2, x_4); -return x_5; +x_3 = l_Lean_Parser_epsilonInfo; +x_4 = l_Lean_Parser_andthenInfo(x_3, x_2); +return x_4; } } static lean_object* _init_l_Lean_Parser_Term_funBinder___closed__2() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Parser_Term_funImplicitBinder; +x_1 = l_Lean_Parser_Term_explicit___closed__2; x_2 = lean_ctor_get(x_1, 0); lean_inc(x_2); x_3 = l_Lean_Parser_Term_funBinder___closed__1; -x_4 = l_Lean_Parser_orelseInfo(x_2, x_3); +x_4 = l_Lean_Parser_orelseInfo(x_3, x_2); return x_4; } } static lean_object* _init_l_Lean_Parser_Term_funBinder___closed__3() { _start: { +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; +x_1 = l_Lean_Parser_Term_instBinder; +x_2 = lean_ctor_get(x_1, 0); +lean_inc(x_2); +x_3 = l_Lean_Parser_Term_funBinder___closed__2; +x_4 = l_Lean_Parser_orelseInfo(x_2, x_3); +return x_4; +} +} +static lean_object* _init_l_Lean_Parser_Term_funBinder___closed__4() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; +x_1 = l_Lean_Parser_Term_funImplicitBinder; +x_2 = lean_ctor_get(x_1, 0); +lean_inc(x_2); +x_3 = l_Lean_Parser_Term_funBinder___closed__3; +x_4 = l_Lean_Parser_orelseInfo(x_2, x_3); +return x_4; +} +} +static lean_object* _init_l_Lean_Parser_Term_funBinder___closed__5() { +_start: +{ lean_object* x_1; x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_funBinder___elambda__1), 2, 0); return x_1; } } -static lean_object* _init_l_Lean_Parser_Term_funBinder___closed__4() { +static lean_object* _init_l_Lean_Parser_Term_funBinder___closed__6() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_funBinder___closed__2; -x_2 = l_Lean_Parser_Term_funBinder___closed__3; +x_1 = l_Lean_Parser_Term_funBinder___closed__4; +x_2 = l_Lean_Parser_Term_funBinder___closed__5; x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); lean_ctor_set(x_3, 1, x_2); @@ -27083,7 +27620,7 @@ static lean_object* _init_l_Lean_Parser_Term_funBinder() { _start: { lean_object* x_1; -x_1 = l_Lean_Parser_Term_funBinder___closed__4; +x_1 = l_Lean_Parser_Term_funBinder___closed__6; return x_1; } } @@ -27104,7 +27641,7 @@ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l_Lean_Parser_Lean_Parser_Basic___instance__8___closed__2; -x_2 = l_Lean_Parser_Term_funBinder___closed__3; +x_2 = l_Lean_Parser_Term_funBinder___closed__5; x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); @@ -27515,11 +28052,114 @@ x_8 = l_Lean_PrettyPrinter_Formatter_andthen_formatter(x_6, x_7, x_1, x_2, x_3, return x_8; } } -static lean_object* _init_l_Lean_Parser_Term_funBinder_formatter___closed__1() { +static lean_object* _init_l_Lean_Parser_Term_funSimpleBinder_formatter___closed__1() { +_start: +{ +lean_object* x_1; lean_object* x_2; uint8_t x_3; lean_object* x_4; lean_object* x_5; +x_1 = l_Lean_Parser_Term_funSimpleBinder___elambda__1___closed__1; +x_2 = l_Lean_Parser_Term_funSimpleBinder___elambda__1___closed__3; +x_3 = 1; +x_4 = lean_box(x_3); +x_5 = lean_alloc_closure((void*)(l_Lean_Parser_mkAntiquot_formatter___boxed), 8, 3); +lean_closure_set(x_5, 0, x_1); +lean_closure_set(x_5, 1, x_2); +lean_closure_set(x_5, 2, x_4); +return x_5; +} +} +static lean_object* _init_l_Lean_Parser_Term_funSimpleBinder_formatter___closed__2() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_bracketedBinder_formatter___closed__1; +x_1 = l_Lean_Parser_Term_explicitBinder_formatter___closed__3; +x_2 = l_Lean_Parser_Term_typeAscription_formatter___closed__2; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Term_funSimpleBinder_formatter___closed__3() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Term_funSimpleBinder_formatter___closed__2; +x_2 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_lookahead_formatter___boxed), 5, 1); +lean_closure_set(x_2, 0, x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Parser_Term_funSimpleBinder_formatter___closed__4() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Term_funSimpleBinder_formatter___closed__3; +x_2 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_try_formatter), 6, 1); +lean_closure_set(x_2, 0, x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Parser_Term_funSimpleBinder_formatter___closed__5() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_funSimpleBinder_formatter___closed__4; +x_2 = l_Lean_Parser_Term_simpleBinder_formatter___closed__2; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Term_funSimpleBinder_formatter___closed__6() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; +x_1 = l_Lean_Parser_Term_funSimpleBinder___elambda__1___closed__2; +x_2 = lean_unsigned_to_nat(1024u); +x_3 = l_Lean_Parser_Term_funSimpleBinder_formatter___closed__5; +x_4 = lean_alloc_closure((void*)(l_Lean_Parser_leadingNode_formatter___boxed), 8, 3); +lean_closure_set(x_4, 0, x_1); +lean_closure_set(x_4, 1, x_2); +lean_closure_set(x_4, 2, x_3); +return x_4; +} +} +lean_object* l_Lean_Parser_Term_funSimpleBinder_formatter(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +_start: +{ +lean_object* x_6; lean_object* x_7; lean_object* x_8; +x_6 = l_Lean_Parser_Term_funSimpleBinder_formatter___closed__1; +x_7 = l_Lean_Parser_Term_funSimpleBinder_formatter___closed__6; +x_8 = l_Lean_PrettyPrinter_Formatter_orelse_formatter(x_6, x_7, x_1, x_2, x_3, x_4, x_5); +return x_8; +} +} +static lean_object* _init_l_Lean_Parser_Term_funBinder_formatter___closed__1() { +_start: +{ +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_funSimpleBinder_formatter), 5, 0); +return x_1; +} +} +static lean_object* _init_l_Lean_Parser_Term_funBinder_formatter___closed__2() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_simpleBinder_formatter___closed__3; +x_2 = l_Lean_Parser_Term_funBinder_formatter___closed__1; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Term_funBinder_formatter___closed__3() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_funBinder_formatter___closed__2; x_2 = l_Lean_Parser_antiquotNestedExpr_formatter___closed__2; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_orelse_formatter), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -27527,7 +28167,19 @@ lean_closure_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_funBinder_formatter___closed__2() { +static lean_object* _init_l_Lean_Parser_Term_funBinder_formatter___closed__4() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_bracketedBinder_formatter___closed__1; +x_2 = l_Lean_Parser_Term_funBinder_formatter___closed__3; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_orelse_formatter), 7, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Term_funBinder_formatter___closed__5() { _start: { lean_object* x_1; @@ -27539,8 +28191,8 @@ lean_object* l_Lean_Parser_Term_funBinder_formatter(lean_object* x_1, lean_objec _start: { lean_object* x_6; lean_object* x_7; lean_object* x_8; -x_6 = l_Lean_Parser_Term_funBinder_formatter___closed__2; -x_7 = l_Lean_Parser_Term_funBinder_formatter___closed__1; +x_6 = l_Lean_Parser_Term_funBinder_formatter___closed__5; +x_7 = l_Lean_Parser_Term_funBinder_formatter___closed__4; x_8 = l_Lean_PrettyPrinter_Formatter_orelse_formatter(x_6, x_7, x_1, x_2, x_3, x_4, x_5); return x_8; } @@ -27788,11 +28440,114 @@ x_8 = l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer(x_6, x_7, x_1, x_ return x_8; } } -static lean_object* _init_l_Lean_Parser_Term_funBinder_parenthesizer___closed__1() { +static lean_object* _init_l_Lean_Parser_Term_funSimpleBinder_parenthesizer___closed__1() { +_start: +{ +lean_object* x_1; lean_object* x_2; uint8_t x_3; lean_object* x_4; lean_object* x_5; +x_1 = l_Lean_Parser_Term_funSimpleBinder___elambda__1___closed__1; +x_2 = l_Lean_Parser_Term_funSimpleBinder___elambda__1___closed__3; +x_3 = 1; +x_4 = lean_box(x_3); +x_5 = lean_alloc_closure((void*)(l_Lean_Parser_mkAntiquot_parenthesizer___boxed), 8, 3); +lean_closure_set(x_5, 0, x_1); +lean_closure_set(x_5, 1, x_2); +lean_closure_set(x_5, 2, x_4); +return x_5; +} +} +static lean_object* _init_l_Lean_Parser_Term_funSimpleBinder_parenthesizer___closed__2() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_bracketedBinder_parenthesizer___closed__1; +x_1 = l_Lean_Parser_Term_explicitBinder_parenthesizer___closed__3; +x_2 = l_Lean_Parser_Term_typeAscription_parenthesizer___closed__2; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Term_funSimpleBinder_parenthesizer___closed__3() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Term_funSimpleBinder_parenthesizer___closed__2; +x_2 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_lookahead_parenthesizer___boxed), 5, 1); +lean_closure_set(x_2, 0, x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Parser_Term_funSimpleBinder_parenthesizer___closed__4() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Term_funSimpleBinder_parenthesizer___closed__3; +x_2 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_try_parenthesizer), 6, 1); +lean_closure_set(x_2, 0, x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Parser_Term_funSimpleBinder_parenthesizer___closed__5() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_funSimpleBinder_parenthesizer___closed__4; +x_2 = l_Lean_Parser_Term_simpleBinder_parenthesizer___closed__2; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Term_funSimpleBinder_parenthesizer___closed__6() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; +x_1 = l_Lean_Parser_Term_funSimpleBinder___elambda__1___closed__2; +x_2 = lean_unsigned_to_nat(1024u); +x_3 = l_Lean_Parser_Term_funSimpleBinder_parenthesizer___closed__5; +x_4 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_leadingNode_parenthesizer___boxed), 8, 3); +lean_closure_set(x_4, 0, x_1); +lean_closure_set(x_4, 1, x_2); +lean_closure_set(x_4, 2, x_3); +return x_4; +} +} +lean_object* l_Lean_Parser_Term_funSimpleBinder_parenthesizer(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +_start: +{ +lean_object* x_6; lean_object* x_7; lean_object* x_8; +x_6 = l_Lean_Parser_Term_funSimpleBinder_parenthesizer___closed__1; +x_7 = l_Lean_Parser_Term_funSimpleBinder_parenthesizer___closed__6; +x_8 = l_Lean_PrettyPrinter_Parenthesizer_orelse_parenthesizer(x_6, x_7, x_1, x_2, x_3, x_4, x_5); +return x_8; +} +} +static lean_object* _init_l_Lean_Parser_Term_funBinder_parenthesizer___closed__1() { +_start: +{ +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_funSimpleBinder_parenthesizer), 5, 0); +return x_1; +} +} +static lean_object* _init_l_Lean_Parser_Term_funBinder_parenthesizer___closed__2() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_simpleBinder_parenthesizer___closed__3; +x_2 = l_Lean_Parser_Term_funBinder_parenthesizer___closed__1; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Term_funBinder_parenthesizer___closed__3() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_funBinder_parenthesizer___closed__2; x_2 = l_Lean_Parser_Term_explicit_parenthesizer___closed__3; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_orelse_parenthesizer), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -27800,7 +28555,19 @@ lean_closure_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_funBinder_parenthesizer___closed__2() { +static lean_object* _init_l_Lean_Parser_Term_funBinder_parenthesizer___closed__4() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_bracketedBinder_parenthesizer___closed__1; +x_2 = l_Lean_Parser_Term_funBinder_parenthesizer___closed__3; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_orelse_parenthesizer), 7, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Term_funBinder_parenthesizer___closed__5() { _start: { lean_object* x_1; @@ -27812,8 +28579,8 @@ lean_object* l_Lean_Parser_Term_funBinder_parenthesizer(lean_object* x_1, lean_o _start: { lean_object* x_6; lean_object* x_7; lean_object* x_8; -x_6 = l_Lean_Parser_Term_funBinder_parenthesizer___closed__2; -x_7 = l_Lean_Parser_Term_funBinder_parenthesizer___closed__1; +x_6 = l_Lean_Parser_Term_funBinder_parenthesizer___closed__5; +x_7 = l_Lean_Parser_Term_funBinder_parenthesizer___closed__4; x_8 = l_Lean_PrettyPrinter_Parenthesizer_orelse_parenthesizer(x_6, x_7, x_1, x_2, x_3, x_4, x_5); return x_8; } @@ -50035,7 +50802,7 @@ static lean_object* _init_l_Lean_Parser_Term_funBinder_quot___elambda__1___close _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_funBinder___closed__3; +x_1 = l_Lean_Parser_Term_funBinder___closed__5; x_2 = lean_alloc_closure((void*)(l_Lean_Parser_toggleInsideQuotFn), 3, 1); lean_closure_set(x_2, 0, x_1); return x_2; @@ -57484,6 +58251,14 @@ l_Lean_Parser_Term_simpleBinder___elambda__1___closed__5 = _init_l_Lean_Parser_T lean_mark_persistent(l_Lean_Parser_Term_simpleBinder___elambda__1___closed__5); l_Lean_Parser_Term_simpleBinder___elambda__1___closed__6 = _init_l_Lean_Parser_Term_simpleBinder___elambda__1___closed__6(); lean_mark_persistent(l_Lean_Parser_Term_simpleBinder___elambda__1___closed__6); +l_Lean_Parser_Term_simpleBinder___elambda__1___closed__7 = _init_l_Lean_Parser_Term_simpleBinder___elambda__1___closed__7(); +lean_mark_persistent(l_Lean_Parser_Term_simpleBinder___elambda__1___closed__7); +l_Lean_Parser_Term_simpleBinder___elambda__1___closed__8 = _init_l_Lean_Parser_Term_simpleBinder___elambda__1___closed__8(); +lean_mark_persistent(l_Lean_Parser_Term_simpleBinder___elambda__1___closed__8); +l_Lean_Parser_Term_simpleBinder___elambda__1___closed__9 = _init_l_Lean_Parser_Term_simpleBinder___elambda__1___closed__9(); +lean_mark_persistent(l_Lean_Parser_Term_simpleBinder___elambda__1___closed__9); +l_Lean_Parser_Term_simpleBinder___elambda__1___closed__10 = _init_l_Lean_Parser_Term_simpleBinder___elambda__1___closed__10(); +lean_mark_persistent(l_Lean_Parser_Term_simpleBinder___elambda__1___closed__10); l_Lean_Parser_Term_simpleBinder___closed__1 = _init_l_Lean_Parser_Term_simpleBinder___closed__1(); lean_mark_persistent(l_Lean_Parser_Term_simpleBinder___closed__1); l_Lean_Parser_Term_simpleBinder___closed__2 = _init_l_Lean_Parser_Term_simpleBinder___closed__2(); @@ -57494,6 +58269,14 @@ l_Lean_Parser_Term_simpleBinder___closed__4 = _init_l_Lean_Parser_Term_simpleBin lean_mark_persistent(l_Lean_Parser_Term_simpleBinder___closed__4); l_Lean_Parser_Term_simpleBinder___closed__5 = _init_l_Lean_Parser_Term_simpleBinder___closed__5(); lean_mark_persistent(l_Lean_Parser_Term_simpleBinder___closed__5); +l_Lean_Parser_Term_simpleBinder___closed__6 = _init_l_Lean_Parser_Term_simpleBinder___closed__6(); +lean_mark_persistent(l_Lean_Parser_Term_simpleBinder___closed__6); +l_Lean_Parser_Term_simpleBinder___closed__7 = _init_l_Lean_Parser_Term_simpleBinder___closed__7(); +lean_mark_persistent(l_Lean_Parser_Term_simpleBinder___closed__7); +l_Lean_Parser_Term_simpleBinder___closed__8 = _init_l_Lean_Parser_Term_simpleBinder___closed__8(); +lean_mark_persistent(l_Lean_Parser_Term_simpleBinder___closed__8); +l_Lean_Parser_Term_simpleBinder___closed__9 = _init_l_Lean_Parser_Term_simpleBinder___closed__9(); +lean_mark_persistent(l_Lean_Parser_Term_simpleBinder___closed__9); l_Lean_Parser_Term_simpleBinder = _init_l_Lean_Parser_Term_simpleBinder(); lean_mark_persistent(l_Lean_Parser_Term_simpleBinder); l_Lean_Parser_Term_forall___elambda__1___closed__1 = _init_l_Lean_Parser_Term_forall___elambda__1___closed__1(); @@ -57561,6 +58344,18 @@ l_Lean_Parser_Term_simpleBinder_formatter___closed__1 = _init_l_Lean_Parser_Term lean_mark_persistent(l_Lean_Parser_Term_simpleBinder_formatter___closed__1); l_Lean_Parser_Term_simpleBinder_formatter___closed__2 = _init_l_Lean_Parser_Term_simpleBinder_formatter___closed__2(); lean_mark_persistent(l_Lean_Parser_Term_simpleBinder_formatter___closed__2); +l_Lean_Parser_Term_simpleBinder_formatter___closed__3 = _init_l_Lean_Parser_Term_simpleBinder_formatter___closed__3(); +lean_mark_persistent(l_Lean_Parser_Term_simpleBinder_formatter___closed__3); +l_Lean_Parser_Term_simpleBinder_formatter___closed__4 = _init_l_Lean_Parser_Term_simpleBinder_formatter___closed__4(); +lean_mark_persistent(l_Lean_Parser_Term_simpleBinder_formatter___closed__4); +l_Lean_Parser_Term_simpleBinder_formatter___closed__5 = _init_l_Lean_Parser_Term_simpleBinder_formatter___closed__5(); +lean_mark_persistent(l_Lean_Parser_Term_simpleBinder_formatter___closed__5); +l_Lean_Parser_Term_simpleBinder_formatter___closed__6 = _init_l_Lean_Parser_Term_simpleBinder_formatter___closed__6(); +lean_mark_persistent(l_Lean_Parser_Term_simpleBinder_formatter___closed__6); +l_Lean_Parser_Term_simpleBinder_formatter___closed__7 = _init_l_Lean_Parser_Term_simpleBinder_formatter___closed__7(); +lean_mark_persistent(l_Lean_Parser_Term_simpleBinder_formatter___closed__7); +l_Lean_Parser_Term_simpleBinder_formatter___closed__8 = _init_l_Lean_Parser_Term_simpleBinder_formatter___closed__8(); +lean_mark_persistent(l_Lean_Parser_Term_simpleBinder_formatter___closed__8); l_Lean_Parser_Term_forall_formatter___closed__1 = _init_l_Lean_Parser_Term_forall_formatter___closed__1(); lean_mark_persistent(l_Lean_Parser_Term_forall_formatter___closed__1); l_Lean_Parser_Term_forall_formatter___closed__2 = _init_l_Lean_Parser_Term_forall_formatter___closed__2(); @@ -57594,6 +58389,18 @@ l_Lean_Parser_Term_simpleBinder_parenthesizer___closed__1 = _init_l_Lean_Parser_ lean_mark_persistent(l_Lean_Parser_Term_simpleBinder_parenthesizer___closed__1); l_Lean_Parser_Term_simpleBinder_parenthesizer___closed__2 = _init_l_Lean_Parser_Term_simpleBinder_parenthesizer___closed__2(); lean_mark_persistent(l_Lean_Parser_Term_simpleBinder_parenthesizer___closed__2); +l_Lean_Parser_Term_simpleBinder_parenthesizer___closed__3 = _init_l_Lean_Parser_Term_simpleBinder_parenthesizer___closed__3(); +lean_mark_persistent(l_Lean_Parser_Term_simpleBinder_parenthesizer___closed__3); +l_Lean_Parser_Term_simpleBinder_parenthesizer___closed__4 = _init_l_Lean_Parser_Term_simpleBinder_parenthesizer___closed__4(); +lean_mark_persistent(l_Lean_Parser_Term_simpleBinder_parenthesizer___closed__4); +l_Lean_Parser_Term_simpleBinder_parenthesizer___closed__5 = _init_l_Lean_Parser_Term_simpleBinder_parenthesizer___closed__5(); +lean_mark_persistent(l_Lean_Parser_Term_simpleBinder_parenthesizer___closed__5); +l_Lean_Parser_Term_simpleBinder_parenthesizer___closed__6 = _init_l_Lean_Parser_Term_simpleBinder_parenthesizer___closed__6(); +lean_mark_persistent(l_Lean_Parser_Term_simpleBinder_parenthesizer___closed__6); +l_Lean_Parser_Term_simpleBinder_parenthesizer___closed__7 = _init_l_Lean_Parser_Term_simpleBinder_parenthesizer___closed__7(); +lean_mark_persistent(l_Lean_Parser_Term_simpleBinder_parenthesizer___closed__7); +l_Lean_Parser_Term_simpleBinder_parenthesizer___closed__8 = _init_l_Lean_Parser_Term_simpleBinder_parenthesizer___closed__8(); +lean_mark_persistent(l_Lean_Parser_Term_simpleBinder_parenthesizer___closed__8); l_Lean_Parser_Term_forall_parenthesizer___closed__1 = _init_l_Lean_Parser_Term_forall_parenthesizer___closed__1(); lean_mark_persistent(l_Lean_Parser_Term_forall_parenthesizer___closed__1); l_Lean_Parser_Term_forall_parenthesizer___closed__2 = _init_l_Lean_Parser_Term_forall_parenthesizer___closed__2(); @@ -58037,8 +58844,48 @@ l_Lean_Parser_Term_funImplicitBinder___closed__6 = _init_l_Lean_Parser_Term_funI lean_mark_persistent(l_Lean_Parser_Term_funImplicitBinder___closed__6); l_Lean_Parser_Term_funImplicitBinder = _init_l_Lean_Parser_Term_funImplicitBinder(); lean_mark_persistent(l_Lean_Parser_Term_funImplicitBinder); +l_Lean_Parser_Term_funSimpleBinder___elambda__1___closed__1 = _init_l_Lean_Parser_Term_funSimpleBinder___elambda__1___closed__1(); +lean_mark_persistent(l_Lean_Parser_Term_funSimpleBinder___elambda__1___closed__1); +l_Lean_Parser_Term_funSimpleBinder___elambda__1___closed__2 = _init_l_Lean_Parser_Term_funSimpleBinder___elambda__1___closed__2(); +lean_mark_persistent(l_Lean_Parser_Term_funSimpleBinder___elambda__1___closed__2); +l_Lean_Parser_Term_funSimpleBinder___elambda__1___closed__3 = _init_l_Lean_Parser_Term_funSimpleBinder___elambda__1___closed__3(); +lean_mark_persistent(l_Lean_Parser_Term_funSimpleBinder___elambda__1___closed__3); +l_Lean_Parser_Term_funSimpleBinder___elambda__1___closed__4 = _init_l_Lean_Parser_Term_funSimpleBinder___elambda__1___closed__4(); +lean_mark_persistent(l_Lean_Parser_Term_funSimpleBinder___elambda__1___closed__4); +l_Lean_Parser_Term_funSimpleBinder___elambda__1___closed__5 = _init_l_Lean_Parser_Term_funSimpleBinder___elambda__1___closed__5(); +lean_mark_persistent(l_Lean_Parser_Term_funSimpleBinder___elambda__1___closed__5); +l_Lean_Parser_Term_funSimpleBinder___elambda__1___closed__6 = _init_l_Lean_Parser_Term_funSimpleBinder___elambda__1___closed__6(); +lean_mark_persistent(l_Lean_Parser_Term_funSimpleBinder___elambda__1___closed__6); +l_Lean_Parser_Term_funSimpleBinder___elambda__1___closed__7 = _init_l_Lean_Parser_Term_funSimpleBinder___elambda__1___closed__7(); +lean_mark_persistent(l_Lean_Parser_Term_funSimpleBinder___elambda__1___closed__7); +l_Lean_Parser_Term_funSimpleBinder___elambda__1___closed__8 = _init_l_Lean_Parser_Term_funSimpleBinder___elambda__1___closed__8(); +lean_mark_persistent(l_Lean_Parser_Term_funSimpleBinder___elambda__1___closed__8); +l_Lean_Parser_Term_funSimpleBinder___elambda__1___closed__9 = _init_l_Lean_Parser_Term_funSimpleBinder___elambda__1___closed__9(); +lean_mark_persistent(l_Lean_Parser_Term_funSimpleBinder___elambda__1___closed__9); +l_Lean_Parser_Term_funSimpleBinder___elambda__1___closed__10 = _init_l_Lean_Parser_Term_funSimpleBinder___elambda__1___closed__10(); +lean_mark_persistent(l_Lean_Parser_Term_funSimpleBinder___elambda__1___closed__10); +l_Lean_Parser_Term_funSimpleBinder___closed__1 = _init_l_Lean_Parser_Term_funSimpleBinder___closed__1(); +lean_mark_persistent(l_Lean_Parser_Term_funSimpleBinder___closed__1); +l_Lean_Parser_Term_funSimpleBinder___closed__2 = _init_l_Lean_Parser_Term_funSimpleBinder___closed__2(); +lean_mark_persistent(l_Lean_Parser_Term_funSimpleBinder___closed__2); +l_Lean_Parser_Term_funSimpleBinder___closed__3 = _init_l_Lean_Parser_Term_funSimpleBinder___closed__3(); +lean_mark_persistent(l_Lean_Parser_Term_funSimpleBinder___closed__3); +l_Lean_Parser_Term_funSimpleBinder___closed__4 = _init_l_Lean_Parser_Term_funSimpleBinder___closed__4(); +lean_mark_persistent(l_Lean_Parser_Term_funSimpleBinder___closed__4); +l_Lean_Parser_Term_funSimpleBinder___closed__5 = _init_l_Lean_Parser_Term_funSimpleBinder___closed__5(); +lean_mark_persistent(l_Lean_Parser_Term_funSimpleBinder___closed__5); +l_Lean_Parser_Term_funSimpleBinder___closed__6 = _init_l_Lean_Parser_Term_funSimpleBinder___closed__6(); +lean_mark_persistent(l_Lean_Parser_Term_funSimpleBinder___closed__6); +l_Lean_Parser_Term_funSimpleBinder___closed__7 = _init_l_Lean_Parser_Term_funSimpleBinder___closed__7(); +lean_mark_persistent(l_Lean_Parser_Term_funSimpleBinder___closed__7); +l_Lean_Parser_Term_funSimpleBinder = _init_l_Lean_Parser_Term_funSimpleBinder(); +lean_mark_persistent(l_Lean_Parser_Term_funSimpleBinder); l_Lean_Parser_Term_funBinder___elambda__1___closed__1 = _init_l_Lean_Parser_Term_funBinder___elambda__1___closed__1(); lean_mark_persistent(l_Lean_Parser_Term_funBinder___elambda__1___closed__1); +l_Lean_Parser_Term_funBinder___elambda__1___closed__2 = _init_l_Lean_Parser_Term_funBinder___elambda__1___closed__2(); +lean_mark_persistent(l_Lean_Parser_Term_funBinder___elambda__1___closed__2); +l_Lean_Parser_Term_funBinder___elambda__1___closed__3 = _init_l_Lean_Parser_Term_funBinder___elambda__1___closed__3(); +lean_mark_persistent(l_Lean_Parser_Term_funBinder___elambda__1___closed__3); l_Lean_Parser_Term_funBinder___closed__1 = _init_l_Lean_Parser_Term_funBinder___closed__1(); lean_mark_persistent(l_Lean_Parser_Term_funBinder___closed__1); l_Lean_Parser_Term_funBinder___closed__2 = _init_l_Lean_Parser_Term_funBinder___closed__2(); @@ -58047,6 +58894,10 @@ l_Lean_Parser_Term_funBinder___closed__3 = _init_l_Lean_Parser_Term_funBinder___ lean_mark_persistent(l_Lean_Parser_Term_funBinder___closed__3); l_Lean_Parser_Term_funBinder___closed__4 = _init_l_Lean_Parser_Term_funBinder___closed__4(); lean_mark_persistent(l_Lean_Parser_Term_funBinder___closed__4); +l_Lean_Parser_Term_funBinder___closed__5 = _init_l_Lean_Parser_Term_funBinder___closed__5(); +lean_mark_persistent(l_Lean_Parser_Term_funBinder___closed__5); +l_Lean_Parser_Term_funBinder___closed__6 = _init_l_Lean_Parser_Term_funBinder___closed__6(); +lean_mark_persistent(l_Lean_Parser_Term_funBinder___closed__6); l_Lean_Parser_Term_funBinder = _init_l_Lean_Parser_Term_funBinder(); lean_mark_persistent(l_Lean_Parser_Term_funBinder); l_Lean_Parser_Term_basicFun___closed__1 = _init_l_Lean_Parser_Term_basicFun___closed__1(); @@ -58124,10 +58975,28 @@ l_Lean_Parser_Term_funImplicitBinder_formatter___closed__5 = _init_l_Lean_Parser lean_mark_persistent(l_Lean_Parser_Term_funImplicitBinder_formatter___closed__5); l_Lean_Parser_Term_funImplicitBinder_formatter___closed__6 = _init_l_Lean_Parser_Term_funImplicitBinder_formatter___closed__6(); lean_mark_persistent(l_Lean_Parser_Term_funImplicitBinder_formatter___closed__6); +l_Lean_Parser_Term_funSimpleBinder_formatter___closed__1 = _init_l_Lean_Parser_Term_funSimpleBinder_formatter___closed__1(); +lean_mark_persistent(l_Lean_Parser_Term_funSimpleBinder_formatter___closed__1); +l_Lean_Parser_Term_funSimpleBinder_formatter___closed__2 = _init_l_Lean_Parser_Term_funSimpleBinder_formatter___closed__2(); +lean_mark_persistent(l_Lean_Parser_Term_funSimpleBinder_formatter___closed__2); +l_Lean_Parser_Term_funSimpleBinder_formatter___closed__3 = _init_l_Lean_Parser_Term_funSimpleBinder_formatter___closed__3(); +lean_mark_persistent(l_Lean_Parser_Term_funSimpleBinder_formatter___closed__3); +l_Lean_Parser_Term_funSimpleBinder_formatter___closed__4 = _init_l_Lean_Parser_Term_funSimpleBinder_formatter___closed__4(); +lean_mark_persistent(l_Lean_Parser_Term_funSimpleBinder_formatter___closed__4); +l_Lean_Parser_Term_funSimpleBinder_formatter___closed__5 = _init_l_Lean_Parser_Term_funSimpleBinder_formatter___closed__5(); +lean_mark_persistent(l_Lean_Parser_Term_funSimpleBinder_formatter___closed__5); +l_Lean_Parser_Term_funSimpleBinder_formatter___closed__6 = _init_l_Lean_Parser_Term_funSimpleBinder_formatter___closed__6(); +lean_mark_persistent(l_Lean_Parser_Term_funSimpleBinder_formatter___closed__6); l_Lean_Parser_Term_funBinder_formatter___closed__1 = _init_l_Lean_Parser_Term_funBinder_formatter___closed__1(); lean_mark_persistent(l_Lean_Parser_Term_funBinder_formatter___closed__1); l_Lean_Parser_Term_funBinder_formatter___closed__2 = _init_l_Lean_Parser_Term_funBinder_formatter___closed__2(); lean_mark_persistent(l_Lean_Parser_Term_funBinder_formatter___closed__2); +l_Lean_Parser_Term_funBinder_formatter___closed__3 = _init_l_Lean_Parser_Term_funBinder_formatter___closed__3(); +lean_mark_persistent(l_Lean_Parser_Term_funBinder_formatter___closed__3); +l_Lean_Parser_Term_funBinder_formatter___closed__4 = _init_l_Lean_Parser_Term_funBinder_formatter___closed__4(); +lean_mark_persistent(l_Lean_Parser_Term_funBinder_formatter___closed__4); +l_Lean_Parser_Term_funBinder_formatter___closed__5 = _init_l_Lean_Parser_Term_funBinder_formatter___closed__5(); +lean_mark_persistent(l_Lean_Parser_Term_funBinder_formatter___closed__5); l_Lean_Parser_Term_basicFun_formatter___closed__1 = _init_l_Lean_Parser_Term_basicFun_formatter___closed__1(); lean_mark_persistent(l_Lean_Parser_Term_basicFun_formatter___closed__1); l_Lean_Parser_Term_basicFun_formatter___closed__2 = _init_l_Lean_Parser_Term_basicFun_formatter___closed__2(); @@ -58167,10 +59036,28 @@ l_Lean_Parser_Term_funImplicitBinder_parenthesizer___closed__5 = _init_l_Lean_Pa lean_mark_persistent(l_Lean_Parser_Term_funImplicitBinder_parenthesizer___closed__5); l_Lean_Parser_Term_funImplicitBinder_parenthesizer___closed__6 = _init_l_Lean_Parser_Term_funImplicitBinder_parenthesizer___closed__6(); lean_mark_persistent(l_Lean_Parser_Term_funImplicitBinder_parenthesizer___closed__6); +l_Lean_Parser_Term_funSimpleBinder_parenthesizer___closed__1 = _init_l_Lean_Parser_Term_funSimpleBinder_parenthesizer___closed__1(); +lean_mark_persistent(l_Lean_Parser_Term_funSimpleBinder_parenthesizer___closed__1); +l_Lean_Parser_Term_funSimpleBinder_parenthesizer___closed__2 = _init_l_Lean_Parser_Term_funSimpleBinder_parenthesizer___closed__2(); +lean_mark_persistent(l_Lean_Parser_Term_funSimpleBinder_parenthesizer___closed__2); +l_Lean_Parser_Term_funSimpleBinder_parenthesizer___closed__3 = _init_l_Lean_Parser_Term_funSimpleBinder_parenthesizer___closed__3(); +lean_mark_persistent(l_Lean_Parser_Term_funSimpleBinder_parenthesizer___closed__3); +l_Lean_Parser_Term_funSimpleBinder_parenthesizer___closed__4 = _init_l_Lean_Parser_Term_funSimpleBinder_parenthesizer___closed__4(); +lean_mark_persistent(l_Lean_Parser_Term_funSimpleBinder_parenthesizer___closed__4); +l_Lean_Parser_Term_funSimpleBinder_parenthesizer___closed__5 = _init_l_Lean_Parser_Term_funSimpleBinder_parenthesizer___closed__5(); +lean_mark_persistent(l_Lean_Parser_Term_funSimpleBinder_parenthesizer___closed__5); +l_Lean_Parser_Term_funSimpleBinder_parenthesizer___closed__6 = _init_l_Lean_Parser_Term_funSimpleBinder_parenthesizer___closed__6(); +lean_mark_persistent(l_Lean_Parser_Term_funSimpleBinder_parenthesizer___closed__6); l_Lean_Parser_Term_funBinder_parenthesizer___closed__1 = _init_l_Lean_Parser_Term_funBinder_parenthesizer___closed__1(); lean_mark_persistent(l_Lean_Parser_Term_funBinder_parenthesizer___closed__1); l_Lean_Parser_Term_funBinder_parenthesizer___closed__2 = _init_l_Lean_Parser_Term_funBinder_parenthesizer___closed__2(); lean_mark_persistent(l_Lean_Parser_Term_funBinder_parenthesizer___closed__2); +l_Lean_Parser_Term_funBinder_parenthesizer___closed__3 = _init_l_Lean_Parser_Term_funBinder_parenthesizer___closed__3(); +lean_mark_persistent(l_Lean_Parser_Term_funBinder_parenthesizer___closed__3); +l_Lean_Parser_Term_funBinder_parenthesizer___closed__4 = _init_l_Lean_Parser_Term_funBinder_parenthesizer___closed__4(); +lean_mark_persistent(l_Lean_Parser_Term_funBinder_parenthesizer___closed__4); +l_Lean_Parser_Term_funBinder_parenthesizer___closed__5 = _init_l_Lean_Parser_Term_funBinder_parenthesizer___closed__5(); +lean_mark_persistent(l_Lean_Parser_Term_funBinder_parenthesizer___closed__5); l_Lean_Parser_Term_basicFun_parenthesizer___closed__1 = _init_l_Lean_Parser_Term_basicFun_parenthesizer___closed__1(); lean_mark_persistent(l_Lean_Parser_Term_basicFun_parenthesizer___closed__1); l_Lean_Parser_Term_basicFun_parenthesizer___closed__2 = _init_l_Lean_Parser_Term_basicFun_parenthesizer___closed__2(); diff --git a/stage0/stdlib/Lean/Syntax.c b/stage0/stdlib/Lean/Syntax.c index f535fa8a57..8b87150fb7 100644 --- a/stage0/stdlib/Lean/Syntax.c +++ b/stage0/stdlib/Lean/Syntax.c @@ -14,28 +14,22 @@ extern "C" { #endif uint8_t l_Lean_Syntax_isQuot(lean_object*); -lean_object* l___private_Lean_Syntax_0__Lean_Syntax_updateLast___rarg(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_isAntiquot_match__1(lean_object*); lean_object* l_Lean_Syntax_formatStxAux___boxed(lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Syntax_setHeadInfoAux_match__2(lean_object*); lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Syntax_reprint___spec__1(lean_object*, size_t, size_t, lean_object*); lean_object* l_List_map___at_Lean_Syntax_formatStxAux___spec__5(lean_object*, uint8_t, lean_object*, lean_object*); lean_object* l_Lean_Syntax_formatStxAux___closed__1; lean_object* lean_array_set(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_Lean_Syntax___instance__3; lean_object* l_Lean_Syntax_replaceM___rarg___lambda__2(lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Syntax_setInfo_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_getTailWithPos(lean_object*); size_t l_USize_add(size_t, size_t); -lean_object* l_Lean_Syntax_setTailInfoAux(lean_object*, lean_object*); lean_object* l_Lean_SyntaxNode_modifyArgs_match__1(lean_object*); lean_object* l_Lean_Syntax_isQuot_match__1___rarg___closed__1; -lean_object* l___private_Lean_Syntax_0__Lean_Syntax_updateFirst_match__1(lean_object*, lean_object*); lean_object* l_List_map___at_Lean_Syntax_formatStxAux___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_nullKind; lean_object* l_Lean_Syntax_reprint___closed__1; lean_object* l_Lean_Syntax_rewriteBottomUpM___rarg___lambda__1(lean_object*, lean_object*, lean_object*); -lean_object* l___private_Lean_Syntax_0__Lean_Syntax_updateLast(lean_object*); lean_object* l_Lean_Syntax_modifyArg(lean_object*, lean_object*, lean_object*); extern lean_object* l_Init_Core___instance__33; uint8_t l_USize_decEq(size_t, size_t); @@ -43,7 +37,6 @@ lean_object* l_Lean_Syntax_replaceM___rarg___lambda__3(lean_object*, lean_object lean_object* lean_array_uget(lean_object*, size_t); lean_object* l_Lean_Format_joinSep___at_Lean_Syntax_formatStxAux___spec__2(lean_object*, lean_object*); lean_object* l_Lean_Syntax_ifNodeKind___rarg(lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Array_findSomeRevM_x3f_find___at_Lean_Syntax_getTailInfo___spec__1(lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Init_LeanInit___instance__9; lean_object* l_Lean_Syntax_Traverser_up(lean_object*); lean_object* l_Lean_Syntax_MonadTraverser_goRight___rarg(lean_object*); @@ -66,7 +59,6 @@ lean_object* l_Lean_Syntax_MonadTraverser_goRight(lean_object*); lean_object* l_Lean_Syntax_Lean_Syntax___instance__2___closed__2; lean_object* l_Lean_Syntax_isAntiquot_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_SyntaxNode_withArgs(lean_object*); -lean_object* l_Lean_Syntax_setTailInfo_match__1(lean_object*); lean_object* l_Lean_Syntax_formatStxAux___closed__7; uint8_t lean_name_eq(lean_object*, lean_object*); lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Syntax_reprint___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*); @@ -82,26 +74,20 @@ lean_object* lean_array_get_size(lean_object*); lean_object* l_Lean_Syntax_Lean_Syntax___instance__2___closed__1; lean_object* l_Lean_Syntax_MonadTraverser_goRight___rarg___closed__1; lean_object* lean_string_append(lean_object*, lean_object*); -lean_object* l_Lean_Syntax_setTailInfoAux_match__2(lean_object*); -lean_object* l_Lean_Syntax_setInfo_match__1(lean_object*); lean_object* l_Lean_Syntax_setAtomVal(lean_object*, lean_object*); -lean_object* l_Lean_Syntax_setTailInfo(lean_object*, lean_object*); lean_object* lean_string_utf8_extract(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_SyntaxNode_getArg___boxed(lean_object*, lean_object*); lean_object* l_Lean_Syntax_setArg_match__1(lean_object*); lean_object* l_Lean_Syntax_replaceM_match__1(lean_object*); extern lean_object* l_Lean_mkAppStx___closed__4; extern lean_object* l_Init_Data_Repr___instance__9___rarg___closed__2; -lean_object* l_Lean_mkAtom(lean_object*); lean_object* l_Lean_Syntax_rewriteBottomUpM(lean_object*); lean_object* l_Lean_Syntax_formatStxAux___closed__2; -lean_object* l_Lean_Syntax_setHeadInfo(lean_object*, lean_object*); lean_object* l_Lean_Syntax_updateTrailing_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_getAtomVal_x21___closed__4; lean_object* l_Lean_Syntax_MonadTraverser_getCur___rarg___closed__1; uint8_t l_USize_decLt(size_t, size_t); lean_object* l_Lean_Syntax_MonadTraverser_goDown(lean_object*); -lean_object* l___private_Lean_Syntax_0__Lean_Syntax_updateFirst___at_Lean_Syntax_setHeadInfoAux___spec__1(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_Lean_Syntax___instance__1(lean_object*); lean_object* l_Lean_Syntax_modifyArgs_match__1(lean_object*); lean_object* l_List_map___at_Lean_Syntax_formatStxAux___spec__4(lean_object*, uint8_t, lean_object*, lean_object*); @@ -119,14 +105,12 @@ lean_object* l_Lean_Syntax_rewriteBottomUp(lean_object*, lean_object*); extern lean_object* l_Init_Data_Repr___instance__18___closed__2; lean_object* l_Lean_Syntax_ifNode(lean_object*); lean_object* l___private_Lean_Syntax_0__Lean_Syntax_formatInfo_match__2(lean_object*); -lean_object* l___private_Lean_Syntax_0__Lean_Syntax_updateFirst___rarg(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_formatStxAux___closed__3; lean_object* l_Lean_Syntax_rewriteBottomUpM_match__1(lean_object*); lean_object* l_Lean_Syntax_Traverser_setCur(lean_object*, lean_object*); lean_object* l_Lean_Syntax_MonadTraverser_getCur___rarg___lambda__1(lean_object*); lean_object* l_Lean_Syntax_getAtomVal_x21_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_SyntaxNode_getIdAt(lean_object*, lean_object*); -lean_object* l___private_Lean_Syntax_0__Lean_Syntax_updateLast___at_Lean_Syntax_setTailInfoAux___spec__1(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_MonadTraverser_getIdx___rarg___lambda__1___boxed(lean_object*, lean_object*); lean_object* l_Lean_Syntax_replaceM___rarg___lambda__1(lean_object*, lean_object*, lean_object*); lean_object* lean_array_fget(lean_object*, lean_object*); @@ -134,7 +118,6 @@ lean_object* l_Lean_SyntaxNode_getKind___boxed(lean_object*); lean_object* l_Lean_Syntax_Lean_Syntax___instance__3___closed__1; uint8_t lean_nat_dec_eq(lean_object*, lean_object*); lean_object* l_Array_isEqvAux___at_Lean_Syntax_structEq___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Syntax_setHeadInfoAux_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_List_map___at_Lean_Syntax_formatStxAux___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Init_Data_Repr___instance__7___rarg___closed__2; lean_object* l_Lean_Syntax_formatStxAux___closed__5; @@ -142,7 +125,6 @@ lean_object* l_Lean_Syntax_updateTrailing(lean_object*, lean_object*); extern lean_object* l_Lean_numLitKind; lean_object* lean_nat_sub(lean_object*, lean_object*); lean_object* l___private_Lean_Syntax_0__Lean_Syntax_formatInfo___closed__1; -lean_object* l_Lean_Syntax_setHeadInfoAux_match__1(lean_object*); uint8_t l_List_beq___at_Lean_Syntax_structEq___spec__3(lean_object*, lean_object*); lean_object* l_Lean_Syntax_replaceM_match__2(lean_object*); lean_object* l___private_Lean_Syntax_0__Lean_Syntax_formatInfo___boxed(lean_object*, lean_object*, lean_object*); @@ -150,9 +132,7 @@ lean_object* l_Lean_Syntax_MonadTraverser_getIdx(lean_object*); lean_object* l_Lean_Syntax_asNode_match__1(lean_object*); lean_object* l_Array_mapMUnsafe_map___at_Lean_Syntax_updateLeading___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_structEq___boxed(lean_object*, lean_object*); -lean_object* l_Lean_Syntax_setTailInfo_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_MonadTraverser_goLeft___rarg(lean_object*); -lean_object* l_Lean_Syntax_copyInfo(lean_object*, lean_object*); lean_object* l_Lean_Syntax_getHeadInfo(lean_object*); lean_object* l_Lean_Syntax_MonadTraverser_goDown___rarg(lean_object*, lean_object*); lean_object* l_Lean_SyntaxNode_getKind_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -162,13 +142,10 @@ lean_object* l_Lean_Syntax_getTailWithPos_match__1___rarg(lean_object*, lean_obj lean_object* l_Lean_unreachIsNodeMissing(lean_object*, lean_object*); lean_object* l_Lean_Syntax_replaceM(lean_object*); lean_object* l_Lean_Syntax_getIdAt___boxed(lean_object*, lean_object*); -lean_object* l_Lean_Syntax_setHeadInfo_match__1(lean_object*); lean_object* l_Lean_Syntax_formatStx___boxed(lean_object*, lean_object*, lean_object*); lean_object* lean_array_fset(lean_object*, lean_object*, lean_object*); -lean_object* l_Array_mapMUnsafe_map___at_Lean_Syntax_replaceInfo___spec__1(lean_object*, size_t, size_t, lean_object*); lean_object* l_Lean_Syntax_updateLeading(lean_object*); lean_object* l___private_Lean_Syntax_0__Lean_Syntax_formatInfo_match__1(lean_object*); -lean_object* l_Lean_Syntax_copyInfo___boxed(lean_object*, lean_object*); lean_object* l_Lean_Syntax_modifyArg_match__1(lean_object*); lean_object* l_Lean_Syntax_getPos___boxed(lean_object*); extern lean_object* l_Lean_Format_join___closed__1; @@ -177,7 +154,6 @@ lean_object* l_Lean_Syntax_setArgs(lean_object*, lean_object*); lean_object* l_Lean_Syntax_structEq_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l___private_Init_Util_0__mkPanicMessage___closed__2; lean_object* l_Nat_repr(lean_object*); -lean_object* l_Array_findSomeRevM_x3f_find___at_Lean_Syntax_getTailInfo___spec__1___boxed(lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Syntax_0__Lean_Syntax_reprintLeaf___boxed(lean_object*, lean_object*); lean_object* l_Lean_Syntax_formatStxAux_match__1(lean_object*); lean_object* l___private_Lean_Syntax_0__Lean_Syntax_formatInfo_match__3___rarg(lean_object*, lean_object*, lean_object*); @@ -192,14 +168,10 @@ lean_object* l_Lean_Syntax_MonadTraverser_setCur___rarg(lean_object*, lean_objec lean_object* l_Function_comp___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_getAtomVal_x21_match__1(lean_object*); lean_object* l_addParenHeuristic(lean_object*); -lean_object* l_Lean_Syntax_replaceInfo(lean_object*, lean_object*); -lean_object* l___private_Lean_Syntax_0__Lean_Syntax_updateFirst(lean_object*); lean_object* l_Lean_Syntax_isMissing___boxed(lean_object*); lean_object* l_Lean_Syntax_setAtomVal_match__1(lean_object*); -lean_object* l_Lean_Syntax_getTailInfo_match__1(lean_object*); lean_object* l___private_Lean_Syntax_0__Lean_Syntax_updateInfo_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_MonadTraverser_setCur(lean_object*); -lean_object* l_Lean_Syntax_setTailInfoAux_match__1(lean_object*); lean_object* l_Lean_Syntax_MonadTraverser_goLeft___rarg___closed__1; lean_object* l_Lean_SyntaxNode_modifyArgs(lean_object*, lean_object*); lean_object* l_Lean_SyntaxNode_getArgs___boxed(lean_object*); @@ -208,7 +180,6 @@ lean_object* l___private_Init_Util_0__mkPanicMessageWithDecl(lean_object*, lean_ lean_object* l_Lean_Syntax_isQuot_match__1(lean_object*); lean_object* l_Array_back___at_Lean_Syntax_Traverser_up___spec__1___boxed(lean_object*); lean_object* l_Lean_unreachIsNodeIdent___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l___private_Lean_Syntax_0__Lean_Syntax_updateFirst_match__1___rarg(lean_object*, lean_object*, lean_object*); uint8_t l_Substring_beq(lean_object*, lean_object*); lean_object* l_Lean_Syntax_modifyArg_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Syntax_reprint___spec__2(lean_object*, size_t, size_t, lean_object*); @@ -226,7 +197,6 @@ lean_object* l_Lean_Syntax_ifNode___rarg(lean_object*, lean_object*, lean_object lean_object* l_Array_back___at_Lean_Syntax_Traverser_up___spec__2___boxed(lean_object*); lean_object* l_Lean_SyntaxNode_getNumArgs___boxed(lean_object*); lean_object* l_Lean_Format_joinSep___at_Lean_Syntax_formatStxAux___spec__2___boxed(lean_object*, lean_object*); -lean_object* l_Lean_Syntax_unsetTrailing_match__1(lean_object*); extern lean_object* l_Lean_Format_sbracket___closed__3; lean_object* l_Lean_Syntax_replaceM___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Array_mapMUnsafe_map___rarg(lean_object*, lean_object*, size_t, size_t, lean_object*); @@ -235,13 +205,10 @@ lean_object* l_Lean_Syntax_Traverser_fromSyntax(lean_object*); lean_object* l_Lean_unreachIsNodeAtom(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_replaceM_match__2___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_isMissing_match__1___rarg(lean_object*, lean_object*, lean_object*); -lean_object* l___private_Lean_Syntax_0__Lean_Syntax_updateFirst___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Syntax_unsetTrailing(lean_object*); uint8_t l_Lean_Syntax_isMissing(lean_object*); lean_object* l_Lean_Syntax_setArg___boxed(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_replaceM___at_Lean_Syntax_updateLeading___spec__1(lean_object*, lean_object*); lean_object* l_Lean_SyntaxNode_getNumArgs(lean_object*); -lean_object* l_Lean_Syntax_setTailInfoAux_match__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Syntax_0__Lean_Syntax_formatInfo_match__2___rarg(lean_object*, lean_object*, lean_object*); extern lean_object* l_String_splitAux___closed__1; lean_object* l_Lean_Syntax_getNumArgs(lean_object*); @@ -261,15 +228,11 @@ lean_object* l_Lean_Syntax_formatStxAux___closed__9; lean_object* l_Lean_Syntax_Traverser_right(lean_object*); lean_object* l_Lean_SyntaxNode_withArgs___rarg(lean_object*, lean_object*); lean_object* lean_panic_fn(lean_object*, lean_object*); -lean_object* l___private_Lean_Syntax_0__Lean_Syntax_updateLast_match__1(lean_object*, lean_object*); -lean_object* l_Lean_Syntax_getTailInfo_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Init_LeanInit___instance__8___closed__1; lean_object* l_Lean_SyntaxNode_modifyArgs_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Syntax_setHeadInfo_match__1___rarg(lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Format_paren___closed__2; lean_object* l_Lean_Syntax_MonadTraverser_goUp___rarg___closed__1; lean_object* l_Lean_unreachIsNodeAtom___boxed(lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Syntax_replaceInfo_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Syntax_0__Lean_Syntax_updateLeadingAux_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_MonadTraverser_getIdx___rarg(lean_object*, lean_object*); lean_object* l_List_map___at_Lean_Syntax_formatStxAux___spec__1(lean_object*, uint8_t, lean_object*, lean_object*); @@ -278,39 +241,31 @@ lean_object* l_List_beq___at_Lean_Syntax_structEq___spec__2___boxed(lean_object* lean_object* l_Lean_mkStxStrLit(lean_object*, lean_object*); lean_object* l_Lean_Syntax_getPos(lean_object*); lean_object* lean_mk_syntax_atom(lean_object*); -lean_object* l_Lean_Syntax_copyInfo_match__1(lean_object*); lean_object* l___private_Lean_Syntax_0__Lean_Syntax_formatInfo_match__3(lean_object*); lean_object* lean_mk_syntax_num_lit(lean_object*); -lean_object* l_Lean_Syntax_setInfo(lean_object*, lean_object*); lean_object* l___private_Lean_Syntax_0__Lean_Syntax_formatInfo(uint8_t, lean_object*, lean_object*); lean_object* l_Lean_Syntax_MonadTraverser_goDown___rarg___lambda__1(lean_object*, lean_object*); lean_object* l_List_beq___at_Lean_Syntax_structEq___spec__3___boxed(lean_object*, lean_object*); extern lean_object* l_Lean_mkOptionalNode___closed__1; lean_object* l_Lean_Syntax_MonadTraverser_goUp___rarg___lambda__1(lean_object*); lean_object* l_Lean_SyntaxNode_getIdAt___boxed(lean_object*, lean_object*); -lean_object* l_Lean_Syntax_getTailInfo(lean_object*); lean_object* l_Lean_Syntax_setArgs_match__1(lean_object*); lean_object* l_Array_toList___rarg(lean_object*); lean_object* lean_array_pop(lean_object*); lean_object* l_Lean_Syntax_ifNode_match__1(lean_object*); -lean_object* l_Lean_Syntax_unsetTrailing_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Syntax_0__Lean_Syntax_updateLeadingAux(lean_object*, lean_object*); lean_object* lean_mk_syntax_list(lean_object*); lean_object* l_Array_back___at_Lean_Syntax_Traverser_up___spec__1(lean_object*); lean_object* l_Lean_Syntax_MonadTraverser_goUp___rarg(lean_object*); -lean_object* l_Lean_Syntax_getTailInfo___boxed(lean_object*); extern lean_object* l_Lean_Lean_Data_Format___instance__20___closed__1; -lean_object* l_Lean_Syntax_replaceInfo_match__1(lean_object*); lean_object* l_Array_findSomeRevM_x3f_find___at_Lean_Syntax_getTailWithPos___spec__1(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_MonadTraverser_setCur___rarg___lambda__1(lean_object*, lean_object*); uint8_t l_List_beq___at_Lean_Syntax_structEq___spec__2(lean_object*, lean_object*); -lean_object* l_Lean_Syntax_setTailInfoAux_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* lean_mk_syntax_str_lit(lean_object*); lean_object* l_Lean_mkStxLit(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_getArg(lean_object*, lean_object*); lean_object* l_Lean_Syntax_isAntiquot___boxed(lean_object*); extern lean_object* l_Lean_Format_paren___closed__3; -lean_object* l_Lean_Syntax_setHeadInfoAux_match__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_replaceM___at_Lean_Syntax_updateLeading___spec__1___boxed__const__1; lean_object* l_Lean_Syntax_formatStxAux___closed__4; lean_object* l_Lean_Syntax_asNode(lean_object*); @@ -326,13 +281,10 @@ lean_object* l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(lean_object*); lean_object* l_Lean_SyntaxNode_getKind_match__1(lean_object*); lean_object* l_Lean_Syntax_Traverser_left(lean_object*); extern lean_object* l_String_Init_Data_String_Basic___instance__3; -lean_object* l___private_Lean_Syntax_0__Lean_Syntax_updateLast_match__1___rarg(lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Syntax_copyInfo_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_setArg_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_isQuot___boxed(lean_object*); lean_object* l_Lean_Syntax_Lean_Syntax___instance__2___lambda__1(lean_object*); lean_object* l_Lean_Syntax_modifyArgs(lean_object*, lean_object*); -lean_object* l_Lean_mkNode(lean_object*, lean_object*); lean_object* l_Lean_Syntax_structEq_match__1(lean_object*); lean_object* l_Lean_Name_replacePrefix(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_SyntaxNode_getArg(lean_object*, lean_object*); @@ -340,13 +292,11 @@ lean_object* l_Array_mapMUnsafe_map___at_Lean_Syntax_rewriteBottomUp___spec__2(l lean_object* l_Array_mapMUnsafe_map___at_Lean_Syntax_rewriteBottomUp___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_formatStxAux(lean_object*, uint8_t, lean_object*, lean_object*); lean_object* l_Lean_Syntax_reprint(lean_object*); -lean_object* l_Lean_Syntax_setHeadInfoAux(lean_object*, lean_object*); lean_object* l_Lean_Syntax_MonadTraverser_getCur___rarg___lambda__1___boxed(lean_object*); lean_object* l_Lean_Syntax_ifNodeKind_match__1(lean_object*); uint8_t lean_string_dec_eq(lean_object*, lean_object*); uint8_t lean_nat_dec_lt(lean_object*, lean_object*); lean_object* l_Lean_Syntax_MonadTraverser_goLeft(lean_object*); -lean_object* l_Array_mapMUnsafe_map___at_Lean_Syntax_replaceInfo___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_reprint_match__1(lean_object*); lean_object* l_Lean_SourceInfo_updateTrailing(lean_object* x_1, lean_object* x_2) { _start: @@ -3665,1500 +3615,6 @@ lean_dec(x_1); return x_4; } } -lean_object* l_Lean_Syntax_getTailInfo_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { -_start: -{ -switch (lean_obj_tag(x_1)) { -case 0: -{ -lean_object* x_6; -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_6 = lean_apply_1(x_5, x_1); -return x_6; -} -case 1: -{ -lean_object* x_7; lean_object* x_8; lean_object* x_9; -lean_dec(x_5); -lean_dec(x_3); -lean_dec(x_2); -x_7 = lean_ctor_get(x_1, 0); -lean_inc(x_7); -x_8 = lean_ctor_get(x_1, 1); -lean_inc(x_8); -lean_dec(x_1); -x_9 = lean_apply_2(x_4, x_7, x_8); -return x_9; -} -case 2: -{ -lean_object* x_10; lean_object* x_11; lean_object* x_12; -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -x_10 = lean_ctor_get(x_1, 0); -lean_inc(x_10); -x_11 = lean_ctor_get(x_1, 1); -lean_inc(x_11); -lean_dec(x_1); -x_12 = lean_apply_2(x_2, x_10, x_11); -return x_12; -} -default: -{ -lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_2); -x_13 = lean_ctor_get(x_1, 0); -lean_inc(x_13); -x_14 = lean_ctor_get(x_1, 1); -lean_inc(x_14); -x_15 = lean_ctor_get(x_1, 2); -lean_inc(x_15); -x_16 = lean_ctor_get(x_1, 3); -lean_inc(x_16); -lean_dec(x_1); -x_17 = lean_apply_4(x_3, x_13, x_14, x_15, x_16); -return x_17; -} -} -} -} -lean_object* l_Lean_Syntax_getTailInfo_match__1(lean_object* x_1) { -_start: -{ -lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Lean_Syntax_getTailInfo_match__1___rarg), 5, 0); -return x_2; -} -} -lean_object* l_Array_findSomeRevM_x3f_find___at_Lean_Syntax_getTailInfo___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3) { -_start: -{ -lean_object* x_4; uint8_t x_5; -x_4 = lean_unsigned_to_nat(0u); -x_5 = lean_nat_dec_eq(x_2, x_4); -if (x_5 == 0) -{ -lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; -x_6 = lean_unsigned_to_nat(1u); -x_7 = lean_nat_sub(x_2, x_6); -lean_dec(x_2); -x_8 = lean_array_fget(x_1, x_7); -x_9 = l_Lean_Syntax_getTailInfo(x_8); -lean_dec(x_8); -if (lean_obj_tag(x_9) == 0) -{ -x_2 = x_7; -x_3 = lean_box(0); -goto _start; -} -else -{ -lean_dec(x_7); -return x_9; -} -} -else -{ -lean_object* x_11; -lean_dec(x_2); -x_11 = lean_box(0); -return x_11; -} -} -} -lean_object* l_Lean_Syntax_getTailInfo(lean_object* x_1) { -_start: -{ -switch (lean_obj_tag(x_1)) { -case 0: -{ -lean_object* x_2; -x_2 = lean_box(0); -return x_2; -} -case 1: -{ -lean_object* x_3; lean_object* x_4; lean_object* x_5; -x_3 = lean_ctor_get(x_1, 1); -x_4 = lean_array_get_size(x_3); -x_5 = l_Array_findSomeRevM_x3f_find___at_Lean_Syntax_getTailInfo___spec__1(x_3, x_4, lean_box(0)); -return x_5; -} -default: -{ -lean_object* x_6; lean_object* x_7; -x_6 = lean_ctor_get(x_1, 0); -lean_inc(x_6); -x_7 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_7, 0, x_6); -return x_7; -} -} -} -} -lean_object* l_Array_findSomeRevM_x3f_find___at_Lean_Syntax_getTailInfo___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { -_start: -{ -lean_object* x_4; -x_4 = l_Array_findSomeRevM_x3f_find___at_Lean_Syntax_getTailInfo___spec__1(x_1, x_2, x_3); -lean_dec(x_1); -return x_4; -} -} -lean_object* l_Lean_Syntax_getTailInfo___boxed(lean_object* x_1) { -_start: -{ -lean_object* x_2; -x_2 = l_Lean_Syntax_getTailInfo(x_1); -lean_dec(x_1); -return x_2; -} -} -lean_object* l___private_Lean_Syntax_0__Lean_Syntax_updateLast_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { -_start: -{ -if (lean_obj_tag(x_1) == 0) -{ -lean_object* x_4; lean_object* x_5; -lean_dec(x_2); -x_4 = lean_box(0); -x_5 = lean_apply_1(x_3, x_4); -return x_5; -} -else -{ -lean_object* x_6; lean_object* x_7; -lean_dec(x_3); -x_6 = lean_ctor_get(x_1, 0); -lean_inc(x_6); -lean_dec(x_1); -x_7 = lean_apply_1(x_2, x_6); -return x_7; -} -} -} -lean_object* l___private_Lean_Syntax_0__Lean_Syntax_updateLast_match__1(lean_object* x_1, lean_object* x_2) { -_start: -{ -lean_object* x_3; -x_3 = lean_alloc_closure((void*)(l___private_Lean_Syntax_0__Lean_Syntax_updateLast_match__1___rarg), 3, 0); -return x_3; -} -} -lean_object* l___private_Lean_Syntax_0__Lean_Syntax_updateLast___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { -_start: -{ -lean_object* x_5; uint8_t x_6; -x_5 = lean_unsigned_to_nat(0u); -x_6 = lean_nat_dec_eq(x_4, x_5); -if (x_6 == 0) -{ -lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; -x_7 = lean_unsigned_to_nat(1u); -x_8 = lean_nat_sub(x_4, x_7); -lean_dec(x_4); -lean_inc(x_1); -x_9 = lean_array_get(x_1, x_2, x_8); -lean_inc(x_3); -x_10 = lean_apply_1(x_3, x_9); -if (lean_obj_tag(x_10) == 0) -{ -x_4 = x_8; -goto _start; -} -else -{ -uint8_t x_12; -lean_dec(x_3); -lean_dec(x_1); -x_12 = !lean_is_exclusive(x_10); -if (x_12 == 0) -{ -lean_object* x_13; lean_object* x_14; -x_13 = lean_ctor_get(x_10, 0); -x_14 = lean_array_set(x_2, x_8, x_13); -lean_dec(x_8); -lean_ctor_set(x_10, 0, x_14); -return x_10; -} -else -{ -lean_object* x_15; lean_object* x_16; lean_object* x_17; -x_15 = lean_ctor_get(x_10, 0); -lean_inc(x_15); -lean_dec(x_10); -x_16 = lean_array_set(x_2, x_8, x_15); -lean_dec(x_8); -x_17 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_17, 0, x_16); -return x_17; -} -} -} -else -{ -lean_object* x_18; -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -x_18 = lean_box(0); -return x_18; -} -} -} -lean_object* l___private_Lean_Syntax_0__Lean_Syntax_updateLast(lean_object* x_1) { -_start: -{ -lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l___private_Lean_Syntax_0__Lean_Syntax_updateLast___rarg), 4, 0); -return x_2; -} -} -lean_object* l_Lean_Syntax_setTailInfoAux_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { -_start: -{ -if (lean_obj_tag(x_1) == 0) -{ -lean_object* x_4; lean_object* x_5; -lean_dec(x_2); -x_4 = lean_box(0); -x_5 = lean_apply_1(x_3, x_4); -return x_5; -} -else -{ -lean_object* x_6; lean_object* x_7; -lean_dec(x_3); -x_6 = lean_ctor_get(x_1, 0); -lean_inc(x_6); -lean_dec(x_1); -x_7 = lean_apply_1(x_2, x_6); -return x_7; -} -} -} -lean_object* l_Lean_Syntax_setTailInfoAux_match__1(lean_object* x_1) { -_start: -{ -lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Lean_Syntax_setTailInfoAux_match__1___rarg), 3, 0); -return x_2; -} -} -lean_object* l_Lean_Syntax_setTailInfoAux_match__2___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { -_start: -{ -switch (lean_obj_tag(x_1)) { -case 0: -{ -lean_object* x_6; -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_6 = lean_apply_1(x_5, x_1); -return x_6; -} -case 1: -{ -lean_object* x_7; lean_object* x_8; lean_object* x_9; -lean_dec(x_5); -lean_dec(x_3); -lean_dec(x_2); -x_7 = lean_ctor_get(x_1, 0); -lean_inc(x_7); -x_8 = lean_ctor_get(x_1, 1); -lean_inc(x_8); -lean_dec(x_1); -x_9 = lean_apply_2(x_4, x_7, x_8); -return x_9; -} -case 2: -{ -lean_object* x_10; lean_object* x_11; lean_object* x_12; -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -x_10 = lean_ctor_get(x_1, 0); -lean_inc(x_10); -x_11 = lean_ctor_get(x_1, 1); -lean_inc(x_11); -lean_dec(x_1); -x_12 = lean_apply_2(x_2, x_10, x_11); -return x_12; -} -default: -{ -lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_2); -x_13 = lean_ctor_get(x_1, 0); -lean_inc(x_13); -x_14 = lean_ctor_get(x_1, 1); -lean_inc(x_14); -x_15 = lean_ctor_get(x_1, 2); -lean_inc(x_15); -x_16 = lean_ctor_get(x_1, 3); -lean_inc(x_16); -lean_dec(x_1); -x_17 = lean_apply_4(x_3, x_13, x_14, x_15, x_16); -return x_17; -} -} -} -} -lean_object* l_Lean_Syntax_setTailInfoAux_match__2(lean_object* x_1) { -_start: -{ -lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Lean_Syntax_setTailInfoAux_match__2___rarg), 5, 0); -return x_2; -} -} -lean_object* l___private_Lean_Syntax_0__Lean_Syntax_updateLast___at_Lean_Syntax_setTailInfoAux___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3) { -_start: -{ -lean_object* x_4; uint8_t x_5; -x_4 = lean_unsigned_to_nat(0u); -x_5 = lean_nat_dec_eq(x_3, x_4); -if (x_5 == 0) -{ -lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; -x_6 = lean_unsigned_to_nat(1u); -x_7 = lean_nat_sub(x_3, x_6); -lean_dec(x_3); -x_8 = l_Lean_Init_LeanInit___instance__9; -x_9 = lean_array_get(x_8, x_2, x_7); -lean_inc(x_1); -x_10 = l_Lean_Syntax_setTailInfoAux(x_1, x_9); -if (lean_obj_tag(x_10) == 0) -{ -x_3 = x_7; -goto _start; -} -else -{ -uint8_t x_12; -lean_dec(x_1); -x_12 = !lean_is_exclusive(x_10); -if (x_12 == 0) -{ -lean_object* x_13; lean_object* x_14; -x_13 = lean_ctor_get(x_10, 0); -x_14 = lean_array_set(x_2, x_7, x_13); -lean_dec(x_7); -lean_ctor_set(x_10, 0, x_14); -return x_10; -} -else -{ -lean_object* x_15; lean_object* x_16; lean_object* x_17; -x_15 = lean_ctor_get(x_10, 0); -lean_inc(x_15); -lean_dec(x_10); -x_16 = lean_array_set(x_2, x_7, x_15); -lean_dec(x_7); -x_17 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_17, 0, x_16); -return x_17; -} -} -} -else -{ -lean_object* x_18; -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -x_18 = lean_box(0); -return x_18; -} -} -} -lean_object* l_Lean_Syntax_setTailInfoAux(lean_object* x_1, lean_object* x_2) { -_start: -{ -switch (lean_obj_tag(x_2)) { -case 0: -{ -lean_object* x_3; -lean_dec(x_1); -x_3 = lean_box(0); -return x_3; -} -case 1: -{ -uint8_t x_4; -x_4 = !lean_is_exclusive(x_2); -if (x_4 == 0) -{ -lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; -x_5 = lean_ctor_get(x_2, 0); -x_6 = lean_ctor_get(x_2, 1); -x_7 = lean_array_get_size(x_6); -x_8 = l___private_Lean_Syntax_0__Lean_Syntax_updateLast___at_Lean_Syntax_setTailInfoAux___spec__1(x_1, x_6, x_7); -if (lean_obj_tag(x_8) == 0) -{ -lean_object* x_9; -lean_free_object(x_2); -lean_dec(x_5); -x_9 = lean_box(0); -return x_9; -} -else -{ -uint8_t x_10; -x_10 = !lean_is_exclusive(x_8); -if (x_10 == 0) -{ -lean_object* x_11; -x_11 = lean_ctor_get(x_8, 0); -lean_ctor_set(x_2, 1, x_11); -lean_ctor_set(x_8, 0, x_2); -return x_8; -} -else -{ -lean_object* x_12; lean_object* x_13; -x_12 = lean_ctor_get(x_8, 0); -lean_inc(x_12); -lean_dec(x_8); -lean_ctor_set(x_2, 1, x_12); -x_13 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_13, 0, x_2); -return x_13; -} -} -} -else -{ -lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; -x_14 = lean_ctor_get(x_2, 0); -x_15 = lean_ctor_get(x_2, 1); -lean_inc(x_15); -lean_inc(x_14); -lean_dec(x_2); -x_16 = lean_array_get_size(x_15); -x_17 = l___private_Lean_Syntax_0__Lean_Syntax_updateLast___at_Lean_Syntax_setTailInfoAux___spec__1(x_1, x_15, x_16); -if (lean_obj_tag(x_17) == 0) -{ -lean_object* x_18; -lean_dec(x_14); -x_18 = lean_box(0); -return x_18; -} -else -{ -lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; -x_19 = lean_ctor_get(x_17, 0); -lean_inc(x_19); -if (lean_is_exclusive(x_17)) { - lean_ctor_release(x_17, 0); - x_20 = x_17; -} else { - lean_dec_ref(x_17); - x_20 = lean_box(0); -} -x_21 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_21, 0, x_14); -lean_ctor_set(x_21, 1, x_19); -if (lean_is_scalar(x_20)) { - x_22 = lean_alloc_ctor(1, 1, 0); -} else { - x_22 = x_20; -} -lean_ctor_set(x_22, 0, x_21); -return x_22; -} -} -} -case 2: -{ -uint8_t x_23; -x_23 = !lean_is_exclusive(x_2); -if (x_23 == 0) -{ -lean_object* x_24; lean_object* x_25; -x_24 = lean_ctor_get(x_2, 0); -lean_dec(x_24); -lean_ctor_set(x_2, 0, x_1); -x_25 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_25, 0, x_2); -return x_25; -} -else -{ -lean_object* x_26; lean_object* x_27; lean_object* x_28; -x_26 = lean_ctor_get(x_2, 1); -lean_inc(x_26); -lean_dec(x_2); -x_27 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_27, 0, x_1); -lean_ctor_set(x_27, 1, x_26); -x_28 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_28, 0, x_27); -return x_28; -} -} -default: -{ -uint8_t x_29; -x_29 = !lean_is_exclusive(x_2); -if (x_29 == 0) -{ -lean_object* x_30; lean_object* x_31; -x_30 = lean_ctor_get(x_2, 0); -lean_dec(x_30); -lean_ctor_set(x_2, 0, x_1); -x_31 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_31, 0, x_2); -return x_31; -} -else -{ -lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; -x_32 = lean_ctor_get(x_2, 1); -x_33 = lean_ctor_get(x_2, 2); -x_34 = lean_ctor_get(x_2, 3); -lean_inc(x_34); -lean_inc(x_33); -lean_inc(x_32); -lean_dec(x_2); -x_35 = lean_alloc_ctor(3, 4, 0); -lean_ctor_set(x_35, 0, x_1); -lean_ctor_set(x_35, 1, x_32); -lean_ctor_set(x_35, 2, x_33); -lean_ctor_set(x_35, 3, x_34); -x_36 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_36, 0, x_35); -return x_36; -} -} -} -} -} -lean_object* l_Lean_Syntax_setTailInfo_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { -_start: -{ -if (lean_obj_tag(x_1) == 0) -{ -lean_object* x_4; lean_object* x_5; -lean_dec(x_2); -x_4 = lean_box(0); -x_5 = lean_apply_1(x_3, x_4); -return x_5; -} -else -{ -lean_object* x_6; lean_object* x_7; -lean_dec(x_3); -x_6 = lean_ctor_get(x_1, 0); -lean_inc(x_6); -lean_dec(x_1); -x_7 = lean_apply_1(x_2, x_6); -return x_7; -} -} -} -lean_object* l_Lean_Syntax_setTailInfo_match__1(lean_object* x_1) { -_start: -{ -lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Lean_Syntax_setTailInfo_match__1___rarg), 3, 0); -return x_2; -} -} -lean_object* l_Lean_Syntax_setTailInfo(lean_object* x_1, lean_object* x_2) { -_start: -{ -lean_object* x_3; -lean_inc(x_1); -x_3 = l_Lean_Syntax_setTailInfoAux(x_2, x_1); -if (lean_obj_tag(x_3) == 0) -{ -return x_1; -} -else -{ -lean_object* x_4; -lean_dec(x_1); -x_4 = lean_ctor_get(x_3, 0); -lean_inc(x_4); -lean_dec(x_3); -return x_4; -} -} -} -lean_object* l_Lean_Syntax_unsetTrailing_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { -_start: -{ -if (lean_obj_tag(x_1) == 0) -{ -lean_object* x_4; lean_object* x_5; -lean_dec(x_3); -x_4 = lean_box(0); -x_5 = lean_apply_1(x_2, x_4); -return x_5; -} -else -{ -lean_object* x_6; lean_object* x_7; -lean_dec(x_2); -x_6 = lean_ctor_get(x_1, 0); -lean_inc(x_6); -lean_dec(x_1); -x_7 = lean_apply_1(x_3, x_6); -return x_7; -} -} -} -lean_object* l_Lean_Syntax_unsetTrailing_match__1(lean_object* x_1) { -_start: -{ -lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Lean_Syntax_unsetTrailing_match__1___rarg), 3, 0); -return x_2; -} -} -lean_object* l_Lean_Syntax_unsetTrailing(lean_object* x_1) { -_start: -{ -lean_object* x_2; -x_2 = l_Lean_Syntax_getTailInfo(x_1); -if (lean_obj_tag(x_2) == 0) -{ -return x_1; -} -else -{ -lean_object* x_3; uint8_t x_4; -x_3 = lean_ctor_get(x_2, 0); -lean_inc(x_3); -lean_dec(x_2); -x_4 = !lean_is_exclusive(x_3); -if (x_4 == 0) -{ -lean_object* x_5; lean_object* x_6; lean_object* x_7; -x_5 = lean_ctor_get(x_3, 2); -lean_dec(x_5); -x_6 = lean_box(0); -lean_ctor_set(x_3, 2, x_6); -x_7 = l_Lean_Syntax_setTailInfo(x_1, x_3); -return x_7; -} -else -{ -lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; -x_8 = lean_ctor_get(x_3, 0); -x_9 = lean_ctor_get(x_3, 1); -lean_inc(x_9); -lean_inc(x_8); -lean_dec(x_3); -x_10 = lean_box(0); -x_11 = lean_alloc_ctor(0, 3, 0); -lean_ctor_set(x_11, 0, x_8); -lean_ctor_set(x_11, 1, x_9); -lean_ctor_set(x_11, 2, x_10); -x_12 = l_Lean_Syntax_setTailInfo(x_1, x_11); -return x_12; -} -} -} -} -lean_object* l___private_Lean_Syntax_0__Lean_Syntax_updateFirst_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { -_start: -{ -if (lean_obj_tag(x_1) == 0) -{ -lean_object* x_4; lean_object* x_5; -lean_dec(x_2); -x_4 = lean_box(0); -x_5 = lean_apply_1(x_3, x_4); -return x_5; -} -else -{ -lean_object* x_6; lean_object* x_7; -lean_dec(x_3); -x_6 = lean_ctor_get(x_1, 0); -lean_inc(x_6); -lean_dec(x_1); -x_7 = lean_apply_1(x_2, x_6); -return x_7; -} -} -} -lean_object* l___private_Lean_Syntax_0__Lean_Syntax_updateFirst_match__1(lean_object* x_1, lean_object* x_2) { -_start: -{ -lean_object* x_3; -x_3 = lean_alloc_closure((void*)(l___private_Lean_Syntax_0__Lean_Syntax_updateFirst_match__1___rarg), 3, 0); -return x_3; -} -} -lean_object* l___private_Lean_Syntax_0__Lean_Syntax_updateFirst___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { -_start: -{ -lean_object* x_5; uint8_t x_6; -x_5 = lean_array_get_size(x_2); -x_6 = lean_nat_dec_lt(x_4, x_5); -lean_dec(x_5); -if (x_6 == 0) -{ -lean_object* x_7; -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_7 = lean_box(0); -return x_7; -} -else -{ -lean_object* x_8; lean_object* x_9; -x_8 = lean_array_fget(x_2, x_4); -lean_inc(x_3); -x_9 = lean_apply_1(x_3, x_8); -if (lean_obj_tag(x_9) == 0) -{ -lean_object* x_10; lean_object* x_11; -x_10 = lean_unsigned_to_nat(1u); -x_11 = lean_nat_add(x_4, x_10); -lean_dec(x_4); -x_4 = x_11; -goto _start; -} -else -{ -uint8_t x_13; -lean_dec(x_3); -x_13 = !lean_is_exclusive(x_9); -if (x_13 == 0) -{ -lean_object* x_14; lean_object* x_15; -x_14 = lean_ctor_get(x_9, 0); -x_15 = lean_array_fset(x_2, x_4, x_14); -lean_dec(x_4); -lean_ctor_set(x_9, 0, x_15); -return x_9; -} -else -{ -lean_object* x_16; lean_object* x_17; lean_object* x_18; -x_16 = lean_ctor_get(x_9, 0); -lean_inc(x_16); -lean_dec(x_9); -x_17 = lean_array_fset(x_2, x_4, x_16); -lean_dec(x_4); -x_18 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_18, 0, x_17); -return x_18; -} -} -} -} -} -lean_object* l___private_Lean_Syntax_0__Lean_Syntax_updateFirst(lean_object* x_1) { -_start: -{ -lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l___private_Lean_Syntax_0__Lean_Syntax_updateFirst___rarg___boxed), 4, 0); -return x_2; -} -} -lean_object* l___private_Lean_Syntax_0__Lean_Syntax_updateFirst___rarg___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_Syntax_0__Lean_Syntax_updateFirst___rarg(x_1, x_2, x_3, x_4); -lean_dec(x_1); -return x_5; -} -} -lean_object* l_Lean_Syntax_setHeadInfoAux_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { -_start: -{ -if (lean_obj_tag(x_1) == 0) -{ -lean_object* x_4; -lean_dec(x_2); -x_4 = lean_apply_1(x_3, x_1); -return x_4; -} -else -{ -lean_object* x_5; lean_object* x_6; -lean_dec(x_3); -x_5 = lean_ctor_get(x_1, 0); -lean_inc(x_5); -lean_dec(x_1); -x_6 = lean_apply_1(x_2, x_5); -return x_6; -} -} -} -lean_object* l_Lean_Syntax_setHeadInfoAux_match__1(lean_object* x_1) { -_start: -{ -lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Lean_Syntax_setHeadInfoAux_match__1___rarg), 3, 0); -return x_2; -} -} -lean_object* l_Lean_Syntax_setHeadInfoAux_match__2___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { -_start: -{ -switch (lean_obj_tag(x_1)) { -case 0: -{ -lean_object* x_6; -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_6 = lean_apply_1(x_5, x_1); -return x_6; -} -case 1: -{ -lean_object* x_7; lean_object* x_8; lean_object* x_9; -lean_dec(x_5); -lean_dec(x_3); -lean_dec(x_2); -x_7 = lean_ctor_get(x_1, 0); -lean_inc(x_7); -x_8 = lean_ctor_get(x_1, 1); -lean_inc(x_8); -lean_dec(x_1); -x_9 = lean_apply_2(x_4, x_7, x_8); -return x_9; -} -case 2: -{ -lean_object* x_10; lean_object* x_11; lean_object* x_12; -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -x_10 = lean_ctor_get(x_1, 0); -lean_inc(x_10); -x_11 = lean_ctor_get(x_1, 1); -lean_inc(x_11); -lean_dec(x_1); -x_12 = lean_apply_2(x_2, x_10, x_11); -return x_12; -} -default: -{ -lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_2); -x_13 = lean_ctor_get(x_1, 0); -lean_inc(x_13); -x_14 = lean_ctor_get(x_1, 1); -lean_inc(x_14); -x_15 = lean_ctor_get(x_1, 2); -lean_inc(x_15); -x_16 = lean_ctor_get(x_1, 3); -lean_inc(x_16); -lean_dec(x_1); -x_17 = lean_apply_4(x_3, x_13, x_14, x_15, x_16); -return x_17; -} -} -} -} -lean_object* l_Lean_Syntax_setHeadInfoAux_match__2(lean_object* x_1) { -_start: -{ -lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Lean_Syntax_setHeadInfoAux_match__2___rarg), 5, 0); -return x_2; -} -} -lean_object* l___private_Lean_Syntax_0__Lean_Syntax_updateFirst___at_Lean_Syntax_setHeadInfoAux___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3) { -_start: -{ -lean_object* x_4; uint8_t x_5; -x_4 = lean_array_get_size(x_2); -x_5 = lean_nat_dec_lt(x_3, x_4); -lean_dec(x_4); -if (x_5 == 0) -{ -lean_object* x_6; -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -x_6 = lean_box(0); -return x_6; -} -else -{ -lean_object* x_7; lean_object* x_8; -x_7 = lean_array_fget(x_2, x_3); -lean_inc(x_1); -x_8 = l_Lean_Syntax_setHeadInfoAux(x_1, x_7); -if (lean_obj_tag(x_8) == 0) -{ -lean_object* x_9; lean_object* x_10; -x_9 = lean_unsigned_to_nat(1u); -x_10 = lean_nat_add(x_3, x_9); -lean_dec(x_3); -x_3 = x_10; -goto _start; -} -else -{ -uint8_t x_12; -lean_dec(x_1); -x_12 = !lean_is_exclusive(x_8); -if (x_12 == 0) -{ -lean_object* x_13; lean_object* x_14; -x_13 = lean_ctor_get(x_8, 0); -x_14 = lean_array_fset(x_2, x_3, x_13); -lean_dec(x_3); -lean_ctor_set(x_8, 0, x_14); -return x_8; -} -else -{ -lean_object* x_15; lean_object* x_16; lean_object* x_17; -x_15 = lean_ctor_get(x_8, 0); -lean_inc(x_15); -lean_dec(x_8); -x_16 = lean_array_fset(x_2, x_3, x_15); -lean_dec(x_3); -x_17 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_17, 0, x_16); -return x_17; -} -} -} -} -} -lean_object* l_Lean_Syntax_setHeadInfoAux(lean_object* x_1, lean_object* x_2) { -_start: -{ -switch (lean_obj_tag(x_2)) { -case 0: -{ -lean_object* x_3; -lean_dec(x_1); -x_3 = lean_box(0); -return x_3; -} -case 1: -{ -uint8_t x_4; -x_4 = !lean_is_exclusive(x_2); -if (x_4 == 0) -{ -lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; -x_5 = lean_ctor_get(x_2, 0); -x_6 = lean_ctor_get(x_2, 1); -x_7 = lean_unsigned_to_nat(0u); -x_8 = l___private_Lean_Syntax_0__Lean_Syntax_updateFirst___at_Lean_Syntax_setHeadInfoAux___spec__1(x_1, x_6, x_7); -if (lean_obj_tag(x_8) == 0) -{ -lean_object* x_9; -lean_free_object(x_2); -lean_dec(x_5); -x_9 = lean_box(0); -return x_9; -} -else -{ -uint8_t x_10; -x_10 = !lean_is_exclusive(x_8); -if (x_10 == 0) -{ -lean_object* x_11; -x_11 = lean_ctor_get(x_8, 0); -lean_ctor_set(x_2, 1, x_11); -lean_ctor_set(x_8, 0, x_2); -return x_8; -} -else -{ -lean_object* x_12; lean_object* x_13; -x_12 = lean_ctor_get(x_8, 0); -lean_inc(x_12); -lean_dec(x_8); -lean_ctor_set(x_2, 1, x_12); -x_13 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_13, 0, x_2); -return x_13; -} -} -} -else -{ -lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; -x_14 = lean_ctor_get(x_2, 0); -x_15 = lean_ctor_get(x_2, 1); -lean_inc(x_15); -lean_inc(x_14); -lean_dec(x_2); -x_16 = lean_unsigned_to_nat(0u); -x_17 = l___private_Lean_Syntax_0__Lean_Syntax_updateFirst___at_Lean_Syntax_setHeadInfoAux___spec__1(x_1, x_15, x_16); -if (lean_obj_tag(x_17) == 0) -{ -lean_object* x_18; -lean_dec(x_14); -x_18 = lean_box(0); -return x_18; -} -else -{ -lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; -x_19 = lean_ctor_get(x_17, 0); -lean_inc(x_19); -if (lean_is_exclusive(x_17)) { - lean_ctor_release(x_17, 0); - x_20 = x_17; -} else { - lean_dec_ref(x_17); - x_20 = lean_box(0); -} -x_21 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_21, 0, x_14); -lean_ctor_set(x_21, 1, x_19); -if (lean_is_scalar(x_20)) { - x_22 = lean_alloc_ctor(1, 1, 0); -} else { - x_22 = x_20; -} -lean_ctor_set(x_22, 0, x_21); -return x_22; -} -} -} -case 2: -{ -uint8_t x_23; -x_23 = !lean_is_exclusive(x_2); -if (x_23 == 0) -{ -lean_object* x_24; lean_object* x_25; -x_24 = lean_ctor_get(x_2, 0); -lean_dec(x_24); -lean_ctor_set(x_2, 0, x_1); -x_25 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_25, 0, x_2); -return x_25; -} -else -{ -lean_object* x_26; lean_object* x_27; lean_object* x_28; -x_26 = lean_ctor_get(x_2, 1); -lean_inc(x_26); -lean_dec(x_2); -x_27 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_27, 0, x_1); -lean_ctor_set(x_27, 1, x_26); -x_28 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_28, 0, x_27); -return x_28; -} -} -default: -{ -uint8_t x_29; -x_29 = !lean_is_exclusive(x_2); -if (x_29 == 0) -{ -lean_object* x_30; lean_object* x_31; -x_30 = lean_ctor_get(x_2, 0); -lean_dec(x_30); -lean_ctor_set(x_2, 0, x_1); -x_31 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_31, 0, x_2); -return x_31; -} -else -{ -lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; -x_32 = lean_ctor_get(x_2, 1); -x_33 = lean_ctor_get(x_2, 2); -x_34 = lean_ctor_get(x_2, 3); -lean_inc(x_34); -lean_inc(x_33); -lean_inc(x_32); -lean_dec(x_2); -x_35 = lean_alloc_ctor(3, 4, 0); -lean_ctor_set(x_35, 0, x_1); -lean_ctor_set(x_35, 1, x_32); -lean_ctor_set(x_35, 2, x_33); -lean_ctor_set(x_35, 3, x_34); -x_36 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_36, 0, x_35); -return x_36; -} -} -} -} -} -lean_object* l_Lean_Syntax_setHeadInfo_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { -_start: -{ -if (lean_obj_tag(x_1) == 0) -{ -lean_object* x_4; lean_object* x_5; -lean_dec(x_2); -x_4 = lean_box(0); -x_5 = lean_apply_1(x_3, x_4); -return x_5; -} -else -{ -lean_object* x_6; lean_object* x_7; -lean_dec(x_3); -x_6 = lean_ctor_get(x_1, 0); -lean_inc(x_6); -lean_dec(x_1); -x_7 = lean_apply_1(x_2, x_6); -return x_7; -} -} -} -lean_object* l_Lean_Syntax_setHeadInfo_match__1(lean_object* x_1) { -_start: -{ -lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Lean_Syntax_setHeadInfo_match__1___rarg), 3, 0); -return x_2; -} -} -lean_object* l_Lean_Syntax_setHeadInfo(lean_object* x_1, lean_object* x_2) { -_start: -{ -lean_object* x_3; -lean_inc(x_1); -x_3 = l_Lean_Syntax_setHeadInfoAux(x_2, x_1); -if (lean_obj_tag(x_3) == 0) -{ -return x_1; -} -else -{ -lean_object* x_4; -lean_dec(x_1); -x_4 = lean_ctor_get(x_3, 0); -lean_inc(x_4); -lean_dec(x_3); -return x_4; -} -} -} -lean_object* l_Lean_Syntax_setInfo_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { -_start: -{ -switch (lean_obj_tag(x_1)) { -case 2: -{ -lean_object* x_5; lean_object* x_6; lean_object* x_7; -lean_dec(x_4); -lean_dec(x_3); -x_5 = lean_ctor_get(x_1, 0); -lean_inc(x_5); -x_6 = lean_ctor_get(x_1, 1); -lean_inc(x_6); -lean_dec(x_1); -x_7 = lean_apply_2(x_2, x_5, x_6); -return x_7; -} -case 3: -{ -lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; -lean_dec(x_4); -lean_dec(x_2); -x_8 = lean_ctor_get(x_1, 0); -lean_inc(x_8); -x_9 = lean_ctor_get(x_1, 1); -lean_inc(x_9); -x_10 = lean_ctor_get(x_1, 2); -lean_inc(x_10); -x_11 = lean_ctor_get(x_1, 3); -lean_inc(x_11); -lean_dec(x_1); -x_12 = lean_apply_4(x_3, x_8, x_9, x_10, x_11); -return x_12; -} -default: -{ -lean_object* x_13; -lean_dec(x_3); -lean_dec(x_2); -x_13 = lean_apply_1(x_4, x_1); -return x_13; -} -} -} -} -lean_object* l_Lean_Syntax_setInfo_match__1(lean_object* x_1) { -_start: -{ -lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Lean_Syntax_setInfo_match__1___rarg), 4, 0); -return x_2; -} -} -lean_object* l_Lean_Syntax_setInfo(lean_object* x_1, lean_object* x_2) { -_start: -{ -switch (lean_obj_tag(x_2)) { -case 2: -{ -uint8_t x_3; -x_3 = !lean_is_exclusive(x_2); -if (x_3 == 0) -{ -lean_object* x_4; -x_4 = lean_ctor_get(x_2, 0); -lean_dec(x_4); -lean_ctor_set(x_2, 0, x_1); -return x_2; -} -else -{ -lean_object* x_5; lean_object* x_6; -x_5 = lean_ctor_get(x_2, 1); -lean_inc(x_5); -lean_dec(x_2); -x_6 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_6, 0, x_1); -lean_ctor_set(x_6, 1, x_5); -return x_6; -} -} -case 3: -{ -uint8_t x_7; -x_7 = !lean_is_exclusive(x_2); -if (x_7 == 0) -{ -lean_object* x_8; -x_8 = lean_ctor_get(x_2, 0); -lean_dec(x_8); -lean_ctor_set(x_2, 0, x_1); -return x_2; -} -else -{ -lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; -x_9 = lean_ctor_get(x_2, 1); -x_10 = lean_ctor_get(x_2, 2); -x_11 = lean_ctor_get(x_2, 3); -lean_inc(x_11); -lean_inc(x_10); -lean_inc(x_9); -lean_dec(x_2); -x_12 = lean_alloc_ctor(3, 4, 0); -lean_ctor_set(x_12, 0, x_1); -lean_ctor_set(x_12, 1, x_9); -lean_ctor_set(x_12, 2, x_10); -lean_ctor_set(x_12, 3, x_11); -return x_12; -} -} -default: -{ -lean_dec(x_1); -return x_2; -} -} -} -} -lean_object* l_Lean_Syntax_replaceInfo_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { -_start: -{ -if (lean_obj_tag(x_1) == 1) -{ -lean_object* x_4; lean_object* x_5; lean_object* x_6; -lean_dec(x_3); -x_4 = lean_ctor_get(x_1, 0); -lean_inc(x_4); -x_5 = lean_ctor_get(x_1, 1); -lean_inc(x_5); -lean_dec(x_1); -x_6 = lean_apply_2(x_2, x_4, x_5); -return x_6; -} -else -{ -lean_object* x_7; -lean_dec(x_2); -x_7 = lean_apply_1(x_3, x_1); -return x_7; -} -} -} -lean_object* l_Lean_Syntax_replaceInfo_match__1(lean_object* x_1) { -_start: -{ -lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Lean_Syntax_replaceInfo_match__1___rarg), 3, 0); -return x_2; -} -} -lean_object* l_Array_mapMUnsafe_map___at_Lean_Syntax_replaceInfo___spec__1(lean_object* x_1, size_t x_2, size_t x_3, lean_object* x_4) { -_start: -{ -uint8_t x_5; -x_5 = x_3 < x_2; -if (x_5 == 0) -{ -lean_object* x_6; -lean_dec(x_1); -x_6 = x_4; -return x_6; -} -else -{ -lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; size_t x_12; size_t x_13; lean_object* x_14; lean_object* x_15; -x_7 = lean_array_uget(x_4, x_3); -x_8 = lean_unsigned_to_nat(0u); -x_9 = lean_array_uset(x_4, x_3, x_8); -x_10 = x_7; -lean_inc(x_1); -x_11 = l_Lean_Syntax_replaceInfo(x_1, x_10); -x_12 = 1; -x_13 = x_3 + x_12; -x_14 = x_11; -x_15 = lean_array_uset(x_9, x_3, x_14); -x_3 = x_13; -x_4 = x_15; -goto _start; -} -} -} -lean_object* l_Lean_Syntax_replaceInfo(lean_object* x_1, lean_object* x_2) { -_start: -{ -if (lean_obj_tag(x_2) == 1) -{ -uint8_t x_3; -x_3 = !lean_is_exclusive(x_2); -if (x_3 == 0) -{ -lean_object* x_4; lean_object* x_5; size_t x_6; size_t x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; -x_4 = lean_ctor_get(x_2, 1); -x_5 = lean_array_get_size(x_4); -x_6 = lean_usize_of_nat(x_5); -lean_dec(x_5); -x_7 = 0; -x_8 = x_4; -x_9 = l_Array_mapMUnsafe_map___at_Lean_Syntax_replaceInfo___spec__1(x_1, x_6, x_7, x_8); -x_10 = x_9; -lean_ctor_set(x_2, 1, x_10); -return x_2; -} -else -{ -lean_object* x_11; lean_object* x_12; lean_object* x_13; size_t x_14; size_t x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; -x_11 = lean_ctor_get(x_2, 0); -x_12 = lean_ctor_get(x_2, 1); -lean_inc(x_12); -lean_inc(x_11); -lean_dec(x_2); -x_13 = lean_array_get_size(x_12); -x_14 = lean_usize_of_nat(x_13); -lean_dec(x_13); -x_15 = 0; -x_16 = x_12; -x_17 = l_Array_mapMUnsafe_map___at_Lean_Syntax_replaceInfo___spec__1(x_1, x_14, x_15, x_16); -x_18 = x_17; -x_19 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_19, 0, x_11); -lean_ctor_set(x_19, 1, x_18); -return x_19; -} -} -else -{ -lean_object* x_20; -x_20 = l_Lean_Syntax_setInfo(x_1, x_2); -return x_20; -} -} -} -lean_object* l_Array_mapMUnsafe_map___at_Lean_Syntax_replaceInfo___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { -_start: -{ -size_t x_5; size_t x_6; lean_object* x_7; -x_5 = lean_unbox_usize(x_2); -lean_dec(x_2); -x_6 = lean_unbox_usize(x_3); -lean_dec(x_3); -x_7 = l_Array_mapMUnsafe_map___at_Lean_Syntax_replaceInfo___spec__1(x_1, x_5, x_6, x_4); -return x_7; -} -} -lean_object* l_Lean_Syntax_copyInfo_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { -_start: -{ -if (lean_obj_tag(x_1) == 0) -{ -lean_object* x_4; lean_object* x_5; -lean_dec(x_3); -x_4 = lean_box(0); -x_5 = lean_apply_1(x_2, x_4); -return x_5; -} -else -{ -lean_object* x_6; lean_object* x_7; -lean_dec(x_2); -x_6 = lean_ctor_get(x_1, 0); -lean_inc(x_6); -lean_dec(x_1); -x_7 = lean_apply_1(x_3, x_6); -return x_7; -} -} -} -lean_object* l_Lean_Syntax_copyInfo_match__1(lean_object* x_1) { -_start: -{ -lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Lean_Syntax_copyInfo_match__1___rarg), 3, 0); -return x_2; -} -} -lean_object* l_Lean_Syntax_copyInfo(lean_object* x_1, lean_object* x_2) { -_start: -{ -lean_object* x_3; -x_3 = l_Lean_Syntax_getHeadInfo(x_2); -if (lean_obj_tag(x_3) == 0) -{ -return x_1; -} -else -{ -lean_object* x_4; lean_object* x_5; -x_4 = lean_ctor_get(x_3, 0); -lean_inc(x_4); -lean_dec(x_3); -x_5 = l_Lean_Syntax_setHeadInfo(x_1, x_4); -return x_5; -} -} -} -lean_object* l_Lean_Syntax_copyInfo___boxed(lean_object* x_1, lean_object* x_2) { -_start: -{ -lean_object* x_3; -x_3 = l_Lean_Syntax_copyInfo(x_1, x_2); -lean_dec(x_2); -return x_3; -} -} lean_object* l___private_Lean_Syntax_0__Lean_Syntax_reprintLeaf(lean_object* x_1, lean_object* x_2) { _start: { @@ -7857,27 +6313,6 @@ lean_ctor_set(x_3, 1, x_1); return x_3; } } -lean_object* l_Lean_mkAtom(lean_object* x_1) { -_start: -{ -lean_object* x_2; lean_object* x_3; -x_2 = l_Lean_Init_LeanInit___instance__8___closed__1; -x_3 = lean_alloc_ctor(2, 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_mkNode(lean_object* x_1, lean_object* x_2) { -_start: -{ -lean_object* x_3; -x_3 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_3, 0, x_1); -lean_ctor_set(x_3, 1, x_2); -return x_3; -} -} lean_object* lean_mk_syntax_str_lit(lean_object* x_1) { _start: {