Documentation

Init.Data.Range.Polymorphic.PRange

structure Std.Rcc (α : Type u) :

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 : α
  • upper : α
Instances For
    structure Std.Rco (α : Type u) :

    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 : α
    • upper : α
    Instances For
      structure Std.Rci (α : Type u) :

      An upward-unbounded range of elements of α with a closed lower bound.

      a...* is the range of all values greater than or equal to a : α. This is notation for Rci.mk a.

      • lower : α
      Instances For
        structure Std.Roc (α : Type u) :

        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 : α
        • upper : α
        Instances For
          structure Std.Roo (α : Type u) :

          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 : α
          • upper : α
          Instances For
            structure Std.Roi (α : Type u) :

            An upward-unbounded range of elements of α with an open lower bound.

            a<...* is the range of all values greater than a : α. This is notation for Roi.mk a.

            • lower : α
            Instances For
              structure Std.Ric (α : Type u) :

              A downward-unbounded range of elements of α with a closed upper bound.

              *...=b is the range of all values less than or equal to b : α. This is notation for Ric.mk b.

              • upper : α
              Instances For
                structure Std.Rio (α : Type u) :

                A downward-unbounded range of elements of α with an open upper bound.

                *...b or *...<b is the range of all values less than b : α. This is notation for Rio.mk b.

                • upper : α
                Instances For
                  structure Std.Rii (α : Type u) :

                  A full range of all elements of α. Its only inhabitant is the range *...*, which is notation for Rii.mk.

                    Instances For

                      a...* is the range of elements greater than or equal to a. See also Std.Rci.

                      Equations
                      Instances For

                        *...* is the range that is unbounded in both directions. See also Std.Rii.

                        Equations
                        Instances For

                          a<...* is the range of elements greater than a. See also Std.Roi.

                          Equations
                          Instances For

                            a...<b is the range of elements greater than or equal to a and less than b. See also Std.Rco.

                            Equations
                            Instances For

                              a...b is the range of elements greater than or equal to a and less than b. See also Std.Rco.

                              Equations
                              Instances For

                                *...<b is the range of elements less than b. See also Std.Rio.

                                Equations
                                Instances For

                                  *...b is the range of elements less than b. See also Std.Rio.

                                  Equations
                                  Instances For

                                    a<...<b is the range of elements greater than a and less than b. See also Std.Roo.

                                    Equations
                                    Instances For

                                      a<...b is the range of elements greater than a and less than b. See also Std.Roo.

                                      Equations
                                      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
                                        Instances For

                                          *...=b is the range of elements less than or equal to b. See also Std.Ric.

                                          Equations
                                          Instances For

                                            a<...=b is the range of elements greater than a and less than or equal to b. See also Std.Roc.

                                            Equations
                                            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'.

                                              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'.

                                                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'.

                                                  Instances
                                                    instance Std.Rcc.instMembershipOfLE {α : Type u} [LE α] :
                                                    Membership α (Rcc α)
                                                    Equations
                                                    instance Std.Rco.instMembershipOfLEOfLT {α : Type u} [LE α] [LT α] :
                                                    Membership α (Rco α)
                                                    Equations
                                                    instance Std.Rci.instMembershipOfLE {α : Type u} [LE α] :
                                                    Membership α (Rci α)
                                                    Equations
                                                    instance Std.Roc.instMembershipOfLEOfLT {α : Type u} [LE α] [LT α] :
                                                    Membership α (Roc α)
                                                    Equations
                                                    instance Std.Roo.instMembershipOfLT {α : Type u} [LT α] :
                                                    Membership α (Roo α)
                                                    Equations
                                                    instance Std.Roi.instMembershipOfLT {α : Type u} [LT α] :
                                                    Membership α (Roi α)
                                                    Equations
                                                    instance Std.Ric.instMembershipOfLE {α : Type u} [LE α] :
                                                    Membership α (Ric α)
                                                    Equations
                                                    instance Std.Rio.instMembershipOfLT {α : Type u} [LT α] :
                                                    Membership α (Rio α)
                                                    Equations
                                                    instance Std.Rii.instMembership {α : Type u} :
                                                    Membership α (Rii α)
                                                    Equations

                                                    This type class allows taking the intersection of a closed range with a left-closed right-open range, resulting in another left-closed right-open range.

                                                    Instances

                                                      This type class ensures that the intersection according to Rcc.HasRcoIntersection of two ranges contains exactly those elements that are contained in both ranges.

                                                      Instances

                                                        This type class allows taking the intersection of two left-closed right-open ranges, resulting in another left-closed right-open range.

                                                        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.

                                                          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.

                                                            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.

                                                              Instances

                                                                This type class allows taking the intersection of a left-open right-closed range with a left-closed right-open range, resulting in another left-closed right-open range.

                                                                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.

                                                                  Instances

                                                                    This type class allows taking the intersection of an open range with a left-closed right-open range, resulting in another left-closed right-open range.

                                                                    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.

                                                                      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.

                                                                        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.

                                                                          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.

                                                                            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.

                                                                              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.

                                                                                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.

                                                                                  Instances