A range of elements of α with closed lower and upper bounds.
a...=b is the range of all values greater than or equal to a : α and less than or
equal to b : α. This is notation for Rcc.mk a b.
- lower : α
The lower bound of the range.
loweris included in the range. - upper : α
The upper bound of the range.
upperis included in the range.
Instances For
A range of elements of α with a closed lower bound and an open upper bound.
a...b or a...<b is the range of all values greater than or equal to a : α and
less than b : α. This is notation for Rco.mk a b.
- lower : α
The lower bound of the range.
loweris included in the range. - upper : α
The upper bound of the range.
upperis not included in the range.
Instances For
A range of elements of α with an open lower bound and a closed upper bound.
a<...=b is the range of all values greater than a : α and less than or equal to
b : α. This is notation for Roc.mk a b.
- lower : α
The lower bound of the range.
loweris not included in the range. - upper : α
The upper bound of the range.
upperis included in the range.
Instances For
A range of elements of α with an open lower and upper bounds.
a<...b or a<...<b is the range of all values greater than a : α and less than
b : α. This is notation for Roo.mk a b.
- lower : α
The lower bound of the range.
loweris not included in the range. - upper : α
The upper bound of the range.
upperis not included in the range.
Instances For
a...* is the range of elements greater than or equal to a. See also Std.Rci.
Equations
- Std.«term_...*» = Lean.ParserDescr.trailingNode `Std.«term_...*» 1024 0 (Lean.ParserDescr.symbol "...*")
Instances For
*...* is the range that is unbounded in both directions. See also Std.Rii.
Equations
- Std.«term*...*» = Lean.ParserDescr.node `Std.«term*...*» 1024 (Lean.ParserDescr.symbol "*...*")
Instances For
a<...* is the range of elements greater than a. See also Std.Roi.
Equations
- Std.«term_<...*» = Lean.ParserDescr.trailingNode `Std.«term_<...*» 1024 0 (Lean.ParserDescr.symbol "<...*")
Instances For
a...<b is the range of elements greater than or equal to a and less than b.
See also Std.Rco.
Equations
- Std.«term_...<_» = Lean.ParserDescr.trailingNode `Std.«term_...<_» 1024 0 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol "...<") (Lean.ParserDescr.cat `term 0))
Instances For
a...b is the range of elements greater than or equal to a and less than b.
See also Std.Rco.
Equations
- Std.«term_..._» = Lean.ParserDescr.trailingNode `Std.«term_..._» 1024 0 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol "...") (Lean.ParserDescr.cat `term 0))
Instances For
*...<b is the range of elements less than b. See also Std.Rio.
Equations
- Std.«term*...<_» = Lean.ParserDescr.node `Std.«term*...<_» 1024 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol "*...<") (Lean.ParserDescr.cat `term 0))
Instances For
*...b is the range of elements less than b. See also Std.Rio.
Equations
- Std.«term*..._» = Lean.ParserDescr.node `Std.«term*..._» 1024 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol "*...") (Lean.ParserDescr.cat `term 0))
Instances For
a<...<b is the range of elements greater than a and less than b.
See also Std.Roo.
Equations
- Std.«term_<...<_» = Lean.ParserDescr.trailingNode `Std.«term_<...<_» 1024 0 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol "<...<") (Lean.ParserDescr.cat `term 0))
Instances For
a<...b is the range of elements greater than a and less than b.
See also Std.Roo.
Equations
- Std.«term_<..._» = Lean.ParserDescr.trailingNode `Std.«term_<..._» 1024 0 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol "<...") (Lean.ParserDescr.cat `term 0))
Instances For
a...=b is the range of elements greater than or equal to a and less than or equal to
b. See also Std.Rcc.
Equations
- Std.«term_...=_» = Lean.ParserDescr.trailingNode `Std.«term_...=_» 1024 0 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol "...=") (Lean.ParserDescr.cat `term 0))
Instances For
*...=b is the range of elements less than or equal to b. See also Std.Ric.
Equations
- Std.«term*...=_» = Lean.ParserDescr.node `Std.«term*...=_» 1024 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol "*...=") (Lean.ParserDescr.cat `term 0))
Instances For
a<...=b is the range of elements greater than a and less than or equal to b.
See also Std.Roc.
Equations
- Std.«term_<...=_» = Lean.ParserDescr.trailingNode `Std.«term_<...=_» 1024 0 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol "<...=") (Lean.ParserDescr.cat `term 0))
Instances For
This type class ensures that right-closed ranges (i.e., for bounds a and b,
a...=b, a<...=b and *...=b) are always finite.
This is a prerequisite for many functions and instances, such as
Rcc.toList or ForIn'.
For every pair of elements
initandhi, there exists a chain of successors that results in an element that either has no successors or is greater thanhi.
Instances
This type class ensures that right-open ranges (i.e., for bounds a and b,
a...b, a<...b and *...b) are always finite.
This is a prerequisite for many functions and instances, such as
Rco.toList or ForIn'.
For every pair of elements
initandhi, there exists a chain of successors that results in an element that either has no successors or is greater thanhi.
Instances
This type class ensures that right-unbounded ranges (i.e., for a bound a,
a...*, a<...* and *...*) are always finite.
This is a prerequisite for many functions and instances, such as
Rci.toList or ForIn'.
For every elements
init, there exists a chain of successors that results in an element that has no successors.
Instances
Equations
- Std.Rcc.instDecidableMemOfDecidableLE = inferInstanceAs (Decidable (r.lower ≤ a ∧ a ≤ r.upper))
Equations
Equations
Equations
Equations
- Std.Roo.instDecidableMemOfDecidableLT = inferInstanceAs (Decidable (r.lower < a ∧ a < r.upper))
Equations
Equations
Equations
Equations
This type class ensures that the intersection according to Rcc.HasRcoIntersection
of two ranges contains exactly those elements that are contained in both ranges.
- mem_intersection_iff {a : α} {r : Rcc α} {s : Rco α} : a ∈ HasRcoIntersection.intersection r s ↔ a ∈ r ∧ a ∈ s
Every element of the intersection is an element of both original ranges.
Instances
This type class ensures that the intersection according to Rco.HasRcoIntersection
of two ranges contains exactly those elements that are contained in both ranges.
- mem_intersection_iff {a : α} {r s : Rco α} : a ∈ HasRcoIntersection.intersection r s ↔ a ∈ r ∧ a ∈ s
Every element of the intersection is an element of both original ranges.
Instances
This type class allows taking the intersection of a left-closed right-unbounded range with a left-closed right-open range, resulting in another left-closed right-open range.
The intersection operator.
Instances
This type class ensures that the intersection according to Rci.HasRcoIntersection
of two ranges contains exactly those elements that are contained in both ranges.
- mem_intersection_iff {a : α} {r : Rci α} {s : Rco α} : a ∈ HasRcoIntersection.intersection r s ↔ a ∈ r ∧ a ∈ s
Every element of the intersection is an element of both original ranges.
Instances
This type class ensures that the intersection according to Roc.HasRcoIntersection
of two ranges contains exactly those elements that are contained in both ranges.
- mem_intersection_iff {a : α} {r : Roc α} {s : Rco α} : a ∈ HasRcoIntersection.intersection r s ↔ a ∈ r ∧ a ∈ s
Every element of the intersection is an element of both original ranges.
Instances
This type class ensures that the intersection according to Roo.HasRcoIntersection
of two ranges contains exactly those elements that are contained in both ranges.
- mem_intersection_iff {a : α} {r : Roo α} {s : Rco α} : a ∈ HasRcoIntersection.intersection r s ↔ a ∈ r ∧ a ∈ s
Every element of the intersection is an element of both original ranges.
Instances
This type class allows taking the intersection of a left-open right-unbounded range with a left-closed right-open range, resulting in another left-closed right-open range.
The intersection operator.
Instances
This type class ensures that the intersection according to Roi.HasRcoIntersection
of two ranges contains exactly those elements that are contained in both ranges.
- mem_intersection_iff {a : α} {r : Roi α} {s : Rco α} : a ∈ HasRcoIntersection.intersection r s ↔ a ∈ r ∧ a ∈ s
Every element of the intersection is an element of both original ranges.
Instances
This type class allows taking the intersection of a left-unbounded right-closed range with a left-closed right-open range, resulting in another left-closed right-open range.
The intersection operator.
Instances
This type class ensures that the intersection according to Ric.HasRcoIntersection
of two ranges contains exactly those elements that are contained in both ranges.
- mem_intersection_iff {a : α} {r : Ric α} {s : Rco α} : a ∈ HasRcoIntersection.intersection r s ↔ a ∈ r ∧ a ∈ s
Every element of the intersection is an element of both original ranges.
Instances
This type class allows taking the intersection of a left-unbounded right-open range with a left-closed right-open range, resulting in another left-closed right-open range.
The intersection operator.
Instances
This type class ensures that the intersection according to Rio.HasRcoIntersection
of two ranges contains exactly those elements that are contained in both ranges.
- mem_intersection_iff {a : α} {r : Rio α} {s : Rco α} : a ∈ HasRcoIntersection.intersection r s ↔ a ∈ r ∧ a ∈ s
Every element of the intersection is an element of both original ranges.