Documentation

Matroid.ForMathlib.Order.Misc

class ZeroNeTopClass (M : Type u_3) [Zero M] [Top M] :

A class for the property that 0 ≠ ⊤.

Instances
    class OneNeTopClass (M : Type u_3) [One M] [Top M] :

    A class for the property that 1 ≠ ⊤.

    Instances
      @[simp]
      theorem one_ne_top {M : Type u_1} [One M] [Top M] [OneNeTopClass M] :
      theorem zero_ne_top {M : Type u_1} [Zero M] [Top M] [ZeroNeTopClass M] :
      class AddEqTopClass (M : Type u_3) [Zero M] [Add M] [Top M] extends ZeroNeTopClass M :

      An AddEqTopClass is one where the top element is nonzero, and is not the sum of two non-top elements. Equivalently, the non-top elements are an additive submonoid.

      Instances
        class MulEqTopClass (M : Type u_3) [One M] [Mul M] [Top M] extends OneNeTopClass M :

        A MulEqTopClass is one where the top element is not 1, and is not the product of two non-top elements. Equivalently, the non-top elements are a submonoid.

        Instances
          theorem mul_ne_top {M : Type u_1} [One M] [Mul M] [Top M] [MulEqTopClass M] {a b : M} (ha : a ≠ ⊤) (hb : b ≠ ⊤) :
          a * b ≠ ⊤
          theorem add_ne_top {M : Type u_1} [Zero M] [Add M] [Top M] [AddEqTopClass M] {a b : M} (ha : a ≠ ⊤) (hb : b ≠ ⊤) :
          a + b ≠ ⊤
          theorem eq_or_eq_of_mul_eq_top {M : Type u_1} [One M] [Mul M] [Top M] [MulEqTopClass M] {a b : M} (h : a * b = ⊤) :
          a = ⊤ ∨ b = ⊤
          theorem eq_or_eq_of_add_eq_top {M : Type u_1} [Zero M] [Add M] [Top M] [AddEqTopClass M] {a b : M} (h : a + b = ⊤) :
          a = ⊤ ∨ b = ⊤
          theorem exists_of_prod_eq_top {M : Type u_1} {α : Type u_2} [CommMonoid M] [Top M] [MulEqTopClass M] {s : Finset α} {f : α → M} (h : ∏ x ∈ s, f x = ⊤) :
          ∃ (x : α), f x = ⊤
          theorem exists_of_sum_eq_top {M : Type u_1} {α : Type u_2} [AddCommMonoid M] [Top M] [AddEqTopClass M] {s : Finset α} {f : α → M} (h : ∑ x ∈ s, f x = ⊤) :
          ∃ (x : α), f x = ⊤
          def Submonoid.neTop (M : Type u_3) [Monoid M] [Top M] [MulEqTopClass M] :

          The set of non-top elements in a MulEqTopClass is a submonoid.

          Equations
          Instances For
            Equations
            Instances For
              @[simp]
              theorem Submonoid.coe_neTop (M : Type u_3) [Monoid M] [Top M] [MulEqTopClass M] :
              ↑(neTop M) = {x : M | x ≠ ⊤}
              class AddTopClass (M : Type u_3) [Add M] [Top M] :

              A mixin class for the property that ⊤ is additively absorbing.

              Instances
                class MulTopClass (M : Type u_3) [Mul M] [Top M] :

                A mixin class for the property that ⊤ is multiplicatively absorbing.

                Instances
                  class PosMulTopClass (M : Type u_3) [Zero M] [Top M] [Mul M] [LT M] :

                  A mixin class for the property that ⊤ multiplicatively absorbs positive elements.

                  • mul_top_of_pos {a : M} (ha : 0 < a) : a * ⊤ = ⊤
                  • top_mul_of_pos {a : M} (ha : 0 < a) : ⊤ * a = ⊤
                  Instances
                    theorem mul_top_of_pos {M : Type u_3} [Zero M] [Top M] [Mul M] [LT M] [PosMulTopClass M] {a : M} (ha : 0 < a) :
                    theorem top_mul_of_pos {M : Type u_3} [Zero M] [Top M] [Mul M] [LT M] [PosMulTopClass M] {a : M} (ha : 0 < a) :
                    @[simp]
                    theorem mul_top' {M : Type u_1} [Mul M] [Top M] [MulTopClass M] (a : M) :
                    theorem add_top' {M : Type u_1} [Add M] [Top M] [AddTopClass M] (a : M) :
                    @[simp]
                    theorem top_mul' {M : Type u_1} [Mul M] [Top M] [MulTopClass M] (a : M) :
                    theorem top_add' {M : Type u_1} [Add M] [Top M] [AddTopClass M] (a : M) :
                    @[simp]
                    theorem mul_eq_top_iff {M : Type u_1} [One M] [Mul M] [Top M] [MulTopClass M] [MulEqTopClass M] {a b : M} :
                    a * b = ⊤ ↔ a = ⊤ ∨ b = ⊤
                    theorem add_eq_top_iff {M : Type u_1} [Zero M] [Add M] [Top M] [AddTopClass M] [AddEqTopClass M] {a b : M} :
                    a + b = ⊤ ↔ a = ⊤ ∨ b = ⊤

                    The set of non-top elements in a ring with MulEqTopClass, AddEqTopClass is a subring.

                    Equations
                    Instances For
                      theorem mul_lt_mul_iff_right_of_ne_top' {M : Type u_3} [CommMonoid M] [PartialOrder M] [OrderTop M] [MulEqTopClass M] [MulTopClass M] {x y z : M} [IsOrderedCancelMonoid ↥(Submonoid.neTop M)] (hx : x ≠ ⊤) :
                      y * x < z * x ↔ y < z
                      theorem mul_lt_mul_iff_left_of_ne_top' {M : Type u_3} [CommMonoid M] [PartialOrder M] [OrderTop M] [MulEqTopClass M] [MulTopClass M] {x y z : M} [IsOrderedCancelMonoid ↥(Submonoid.neTop M)] (hx : x ≠ ⊤) :
                      x * y < x * z ↔ y < z
                      theorem mul_right_strictMono_of_pos_of_ne_top {M : Type u_4} [CommMonoidWithZero M] [PartialOrder M] [OrderTop M] [MulEqTopClass M] [ZeroNeTopClass M] [PosMulTopClass M] [PosMulStrictMono ↥(Submonoid.neTop M)] {a : M} (h₀ : 0 < a) (hinf : a ≠ ⊤) :
                      StrictMono fun (x : M) => a * x
                      theorem mul_left_strictMono_of_pos_of_ne_top {M : Type u_4} [CommMonoidWithZero M] [PartialOrder M] [OrderTop M] [MulEqTopClass M] [ZeroNeTopClass M] [PosMulTopClass M] [PosMulStrictMono ↥(Submonoid.neTop M)] {a : M} (h₀ : 0 < a) (hinf : a ≠ ⊤) :
                      StrictMono fun (x : M) => x * a
                      @[simp]
                      theorem mul_lt_mul_iff_left₀_of_ne_top {M : Type u_4} [CommMonoidWithZero M] [LinearOrder M] [OrderTop M] [MulEqTopClass M] [ZeroNeTopClass M] [PosMulTopClass M] [PosMulStrictMono ↥(Submonoid.neTop M)] {a b c : M} (a0 : 0 < a) (ha : a ≠ ⊤) :
                      b * a < c * a ↔ b < c
                      @[simp]
                      theorem mul_lt_mul_iff_right₀_of_ne_top {M : Type u_4} [CommMonoidWithZero M] [LinearOrder M] [OrderTop M] [MulEqTopClass M] [ZeroNeTopClass M] [PosMulTopClass M] [PosMulStrictMono ↥(Submonoid.neTop M)] {a b c : M} (a0 : 0 < a) (ha : a ≠ ⊤) :
                      a * b < a * c ↔ b < c

                      The submonoid of non-top elements in WithTop M is isomorphic to M.

                      Equations
                      • One or more equations did not get rendered due to their size.
                      Instances For

                        The subring of non-top elements in WithTop R is isomorphic to R.

                        Equations
                        • One or more equations did not get rendered due to their size.
                        Instances For