Documentation

Mathlib.Algebra.Order.IsBotOne

Typeclasses expressing IsBot 1 and IsBot 0 #

class IsBotZeroClass (α : Type u_1) [LE α] [Zero α] :

A typeclass expressing that the 0 of a type is a bottom element. In a partial OrderBot, this is equivalent to ⊥ = 0.

Instances
    class IsBotOneClass (α : Type u_1) [LE α] [One α] :

    A typeclass expressing that the 1 of a type is a bottom element. In a partial OrderBot, this is equivalent to ⊥ = 1.

    Instances
      theorem isBot_one {α : Type u_1} [LE α] [One α] [IsBotOneClass α] :
      theorem isBot_zero {α : Type u_1} [LE α] [Zero α] [IsBotZeroClass α] :
      @[simp]
      theorem one_le {α : Type u_1} [LE α] [One α] [IsBotOneClass α] {a : α} :
      1 a
      @[simp]
      theorem zero_le {α : Type u_1} [LE α] [Zero α] [IsBotZeroClass α] {a : α} :
      0 a
      theorem zero_le' {α : Type u_1} [LE α] [Zero α] [IsBotZeroClass α] {a : α} :
      0 a

      Alias of zero_le.

      @[implicit_reducible]
      def IsBotOneClass.toOrderBot (α : Type u_1) [LE α] [One α] [IsBotOneClass α] :

      Create an OrderBot instance, setting 1 as the bottom element.

      Equations
      Instances For
        @[implicit_reducible]
        def IsBotZeroClass.toOrderBot (α : Type u_1) [LE α] [Zero α] [IsBotZeroClass α] :

        Create an OrderBot instance, setting 0 as the bottom element.

        Equations
        Instances For
          @[instance 100]
          instance instZeroLEOneClassOfIsBotZeroClass {α : Type u_1} [LE α] [Zero α] [One α] [IsBotZeroClass α] :
          @[simp]
          theorem not_lt_one {α : Type u_1} {a : α} [Preorder α] [One α] [IsBotOneClass α] :
          ¬a < 1
          @[simp]
          theorem not_lt_zero {α : Type u_1} {a : α} [Preorder α] [Zero α] [IsBotZeroClass α] :
          ¬a < 0
          @[deprecated not_lt_zero (since := "2025-12-03")]
          theorem not_neg {α : Type u_1} {a : α} [Preorder α] [Zero α] [IsBotZeroClass α] :
          ¬a < 0

          Alias of not_lt_zero.

          theorem not_lt_zero' {α : Type u_1} {a : α} [Preorder α] [Zero α] [IsBotZeroClass α] :
          ¬a < 0

          Alias of not_lt_zero.

          theorem one_lt_of_gt {α : Type u_1} {a b : α} [Preorder α] [One α] [IsBotOneClass α] (h : a < b) :
          1 < b
          theorem pos_of_gt {α : Type u_1} {a b : α} [Preorder α] [Zero α] [IsBotZeroClass α] (h : a < b) :
          0 < b
          theorem LT.lt.one_lt {α : Type u_1} {a b : α} [Preorder α] [One α] [IsBotOneClass α] (h : a < b) :
          1 < b

          Alias of one_lt_of_gt.

          theorem LT.lt.pos {α : Type u_1} {a b : α} [Preorder α] [Zero α] [IsBotZeroClass α] (h : a < b) :
          0 < b
          theorem ne_one_of_lt {α : Type u_1} {a b : α} [Preorder α] [One α] [IsBotOneClass α] (h : a < b) :
          b 1
          theorem ne_zero_of_lt {α : Type u_1} {a b : α} [Preorder α] [Zero α] [IsBotZeroClass α] (h : a < b) :
          b 0
          theorem LT.lt.ne_one {α : Type u_1} {a b : α} [Preorder α] [One α] [IsBotOneClass α] (h : a < b) :
          b 1

          Alias of ne_one_of_lt.

          theorem LT.lt.ne_zero {α : Type u_1} {a b : α} [Preorder α] [Zero α] [IsBotZeroClass α] (h : a < b) :
          b 0
          theorem bot_eq_one {α : Type u_1} [PartialOrder α] [One α] [IsBotOneClass α] [OrderBot α] :
          = 1
          theorem bot_eq_zero {α : Type u_1} [PartialOrder α] [Zero α] [IsBotZeroClass α] [OrderBot α] :
          = 0
          theorem bot_eq_zero'' {α : Type u_1} [PartialOrder α] [Zero α] [IsBotZeroClass α] [OrderBot α] :
          = 0

          Alias of bot_eq_zero.

          @[simp]
          theorem le_one_iff_eq_one {α : Type u_1} {a : α} [PartialOrder α] [One α] [IsBotOneClass α] :
          a 1 a = 1
          @[simp]
          theorem nonpos_iff_eq_zero {α : Type u_1} {a : α} [PartialOrder α] [Zero α] [IsBotZeroClass α] :
          a 0 a = 0
          theorem le_zero_iff {α : Type u_1} {a : α} [PartialOrder α] [Zero α] [IsBotZeroClass α] :
          a 0 a = 0

          Alias of nonpos_iff_eq_zero.

          theorem eq_one_of_le_one {α : Type u_1} {a : α} [PartialOrder α] [One α] [IsBotOneClass α] :
          a 1a = 1

          Alias of the forward direction of le_one_iff_eq_one.

          theorem eq_zero_of_nonpos {α : Type u_1} {a : α} [PartialOrder α] [Zero α] [IsBotZeroClass α] :
          a 0a = 0
          theorem LE.le.eq_one {α : Type u_1} {a : α} [PartialOrder α] [One α] [IsBotOneClass α] :
          a 1a = 1

          Alias of the forward direction of le_one_iff_eq_one.


          Alias of the forward direction of le_one_iff_eq_one.

          theorem LE.le.eq_zero {α : Type u_1} {a : α} [PartialOrder α] [Zero α] [IsBotZeroClass α] :
          a 0a = 0
          theorem one_lt_iff_ne_one {α : Type u_1} {a : α} [PartialOrder α] [One α] [IsBotOneClass α] :
          1 < a a 1
          theorem pos_iff_ne_zero {α : Type u_1} {a : α} [PartialOrder α] [Zero α] [IsBotZeroClass α] :
          0 < a a 0
          theorem zero_lt_iff {α : Type u_1} {a : α} [PartialOrder α] [Zero α] [IsBotZeroClass α] :
          0 < a a 0

          Alias of pos_iff_ne_zero.

          theorem one_lt_of_ne_one {α : Type u_1} {a : α} [PartialOrder α] [One α] [IsBotOneClass α] :
          a 11 < a

          Alias of the reverse direction of one_lt_iff_ne_one.

          theorem pos_of_ne_zero {α : Type u_1} {a : α} [PartialOrder α] [Zero α] [IsBotZeroClass α] :
          a 00 < a
          theorem Ne.one_lt {α : Type u_1} {a : α} [PartialOrder α] [One α] [IsBotOneClass α] :
          a 11 < a

          Alias of the reverse direction of one_lt_iff_ne_one.


          Alias of the reverse direction of one_lt_iff_ne_one.

          theorem Ne.pos {α : Type u_1} {a : α} [PartialOrder α] [Zero α] [IsBotZeroClass α] :
          a 00 < a
          theorem eq_one_or_one_lt {α : Type u_1} [PartialOrder α] [One α] [IsBotOneClass α] (a : α) :
          a = 1 1 < a
          theorem eq_zero_or_pos {α : Type u_1} [PartialOrder α] [Zero α] [IsBotZeroClass α] (a : α) :
          a = 0 0 < a
          theorem one_notMem_iff {α : Type u_1} [PartialOrder α] [One α] [IsBotOneClass α] {s : Set α} :
          ¬1 s ∀ (x : α), x s1 < x
          theorem zero_notMem_iff {α : Type u_1} [PartialOrder α] [Zero α] [IsBotZeroClass α] {s : Set α} :
          ¬0 s ∀ (x : α), x s0 < x
          @[deprecated Ne.pos (since := "2026-02-17")]
          theorem NE.ne.pos {α : Type u_1} {a : α} [PartialOrder α] [Zero α] [IsBotZeroClass α] :
          a 00 < a

          Alias of Ne.pos.

          @[deprecated Ne.one_lt (since := "2026-02-17")]
          theorem NE.ne.one_lt {α : Type u_1} {a : α} [PartialOrder α] [One α] [IsBotOneClass α] :
          a 11 < a

          Alias of the reverse direction of one_lt_iff_ne_one.


          Alias of the reverse direction of one_lt_iff_ne_one.


          Alias of the reverse direction of one_lt_iff_ne_one.

          theorem one_min {α : Type u_1} [LinearOrder α] [One α] [IsBotOneClass α] (a : α) :
          min 1 a = 1
          theorem zero_min {α : Type u_1} [LinearOrder α] [Zero α] [IsBotZeroClass α] (a : α) :
          min 0 a = 0
          theorem min_one {α : Type u_1} [LinearOrder α] [One α] [IsBotOneClass α] (a : α) :
          min a 1 = 1
          theorem min_zero {α : Type u_1} [LinearOrder α] [Zero α] [IsBotZeroClass α] (a : α) :
          min a 0 = 0
          theorem NeZero.of_gt {α : Type u_1} {a b : α} [Zero α] [Preorder α] [IsBotZeroClass α] (h : a < b) :
          theorem NeZero.pos {α : Type u_1} [Zero α] [PartialOrder α] [IsBotZeroClass α] (a : α) [NeZero a] :
          0 < a
          @[instance 10]
          instance NeZero.of_gt' {α : Type u_1} {a : α} [Zero α] [Preorder α] [IsBotZeroClass α] [One α] [Fact (1 < a)] :
          theorem NeZero.of_ge {α : Type u_1} {a b : α} [Zero α] [PartialOrder α] [IsBotZeroClass α] [NeZero a] (h : a b) :