some hif the discriminant is annotated withh:
Instances For
Equations
Equations
- Lean.Meta.Match.instInhabitedDiscrInfo.default = { hName? := default }
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- map : Std.HashMap Nat (Std.TreeSet Nat compare)
Instances For
Equations
Equations
Instances For
Equations
Equations
- Lean.Meta.Match.instReprOverlaps.repr x✝ prec✝ = Std.Format.bracket "{ " (Std.Format.nil ++ Std.Format.text "map" ++ Std.Format.text " := " ++ (Std.Format.nest 7 (repr x✝.map)).group) " }"
Instances For
Equations
Equations
Instances For
Equations
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
Equations
- One or more equations did not get rendered due to their size.
- Lean.Meta.Match.instBEqAltParamInfo.beq x✝¹ x✝ = false
Instances For
Information about the structure of a matcher declaration
- numParams : Nat
Number of parameters
- numDiscrs : Nat
Number of discriminants
- altInfos : Array AltParamInfo
Parameter structure information for each alternative
uElimPos?issome poswhen the matcher can eliminate in different universe levels, andposis the position of the universe level parameter that specifies the elimination universe. It isnoneif the matcher only eliminates intoProp.discrInfos[i] = { hName? := some h }if the i-th discriminant was annotated withh :.- overlaps : Overlaps
(Conservative approximation of) which alternatives may overlap another.
Instances For
Equations
Instances For
Equations
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
Instances For
Equations
- info.getFirstDiscrPos = info.numParams + 1
Instances For
Equations
- info.getDiscrRange = info.getFirstDiscrPos...info.getFirstDiscrPos + info.numDiscrs
Instances For
Instances For
Equations
- info.getAltRange = info.getFirstAltPos...info.getFirstAltPos + info.numAlts
Instances For
Equations
- info.getMotivePos = info.numParams
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Lean.Meta.Match.addMatcherInfo matcherName info = Lean.modifyEnv fun (env : Lean.Environment) => Lean.Meta.Match.Extension.addMatcherInfo env matcherName info
Instances For
Equations
- Lean.Meta.getMatcherInfoCore? env declName = Lean.Meta.Match.Extension.getMatcherInfo? env declName
Instances For
Equations
- Lean.Meta.getMatcherInfo? declName = do let __do_lift ← Lean.getEnv pure (Lean.Meta.getMatcherInfoCore? __do_lift declName)
Instances For
Equations
- Lean.Meta.isMatcherCore env declName = (Lean.Meta.getMatcherInfoCore? env declName).isSome
Instances For
Equations
- Lean.Meta.isMatcher declName = do let __do_lift ← Lean.getEnv pure (Lean.Meta.isMatcherCore __do_lift declName)
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Lean.Meta.isMatcherAppCore env e = (Lean.Meta.isMatcherAppCore? env e).isSome
Instances For
Equations
- Lean.Meta.isMatcherApp e = do let __do_lift ← Lean.getEnv pure (Lean.Meta.isMatcherAppCore __do_lift e)
Instances For
Tag extension for declarations that should be inlined like matchers during LCNF conversion,
but are not matchers themselves (e.g. the .het auxiliaries from mkCasesOnSameCtor).
Equations
- Lean.Meta.markMatcherLike env declName = Lean.Meta.matcherLikeExt.tag env declName
Instances For
Equations
- Lean.Meta.isMatcherLikeCore env declName = Lean.Meta.matcherLikeExt.isTagged env declName
Instances For
Equations
- Lean.Meta.isMatcherLike declName = do let __do_lift ← Lean.getEnv pure (Lean.Meta.isMatcherLikeCore __do_lift declName)