Documentation

Mathlib.Algebra.Order.Ring.WithTop

Structures involving * and 0 on WithTop and WithBot #

The main results of this section are WithTop.instOrderedCommSemiring and WithBot.instOrderedCommSemiring.

@[instance_reducible]
Equations
  • One or more equations did not get rendered due to their size.
@[instance_reducible]
Equations
  • One or more equations did not get rendered due to their size.
@[simp]
theorem WithTop.coe_mul {α : Type u_1} [DecidableEq α] [MulZeroClass α] (a b : α) :
↑(a * b) = a * b
@[simp]
theorem WithBot.coe_mul {α : Type u_1} [DecidableEq α] [MulZeroClass α] (a b : α) :
↑(a * b) = a * b
theorem WithTop.mul_top' {α : Type u_1} [DecidableEq α] [MulZeroClass α] (a : WithTop α) :
a * = if a = 0 then 0 else
theorem WithBot.mul_bot' {α : Type u_1} [DecidableEq α] [MulZeroClass α] (a : WithBot α) :
a * = if a = 0 then 0 else
@[simp]
theorem WithTop.mul_top {α : Type u_1} [DecidableEq α] [MulZeroClass α] {a : WithTop α} (h : a 0) :
@[simp]
theorem WithBot.mul_bot {α : Type u_1} [DecidableEq α] [MulZeroClass α] {a : WithBot α} (h : a 0) :
theorem WithTop.top_mul' {α : Type u_1} [DecidableEq α] [MulZeroClass α] (b : WithTop α) :
* b = if b = 0 then 0 else
theorem WithBot.bot_mul' {α : Type u_1} [DecidableEq α] [MulZeroClass α] (b : WithBot α) :
* b = if b = 0 then 0 else
@[simp]
theorem WithTop.top_mul {α : Type u_1} [DecidableEq α] [MulZeroClass α] {b : WithTop α} (hb : b 0) :
@[simp]
theorem WithBot.bot_mul {α : Type u_1} [DecidableEq α] [MulZeroClass α] {b : WithBot α} (hb : b 0) :
@[simp]
theorem WithTop.top_mul_top {α : Type u_1} [DecidableEq α] [MulZeroClass α] :
@[simp]
theorem WithBot.bot_mul_bot {α : Type u_1} [DecidableEq α] [MulZeroClass α] :
theorem WithTop.mul_def {α : Type u_1} [DecidableEq α] [MulZeroClass α] (a b : WithTop α) :
a * b = if a = 0 b = 0 then 0 else map₂ (fun (x1 x2 : α) => x1 * x2) a b
theorem WithBot.mul_def {α : Type u_1} [DecidableEq α] [MulZeroClass α] (a b : WithBot α) :
a * b = if a = 0 b = 0 then 0 else map₂ (fun (x1 x2 : α) => x1 * x2) a b
theorem WithTop.mul_eq_top_iff {α : Type u_1} [DecidableEq α] [MulZeroClass α] {a b : WithTop α} :
a * b = a 0 b = a = b 0
theorem WithBot.mul_eq_bot_iff {α : Type u_1} [DecidableEq α] [MulZeroClass α] {a b : WithBot α} :
a * b = a 0 b = a = b 0
theorem WithTop.mul_coe_eq_bind {α : Type u_1} [DecidableEq α] [MulZeroClass α] {b : α} (hb : b 0) (a : WithTop α) :
a * b = Option.bind a fun (a : α) => Option.some (a * b)
theorem WithBot.mul_coe_eq_bind {α : Type u_1} [DecidableEq α] [MulZeroClass α] {b : α} (hb : b 0) (a : WithBot α) :
a * b = Option.bind a fun (a : α) => Option.some (a * b)
theorem WithTop.coe_mul_eq_bind {α : Type u_1} [DecidableEq α] [MulZeroClass α] {a : α} (ha : a 0) (b : WithTop α) :
a * b = Option.bind b fun (b : α) => Option.some (a * b)
theorem WithBot.coe_mul_eq_bind {α : Type u_1} [DecidableEq α] [MulZeroClass α] {a : α} (ha : a 0) (b : WithBot α) :
a * b = Option.bind b fun (b : α) => Option.some (a * b)
@[simp]
theorem WithTop.untopD_zero_mul {α : Type u_1} [DecidableEq α] [MulZeroClass α] (a b : WithTop α) :
untopD 0 (a * b) = untopD 0 a * untopD 0 b
@[simp]
theorem WithBot.unbotD_zero_mul {α : Type u_1} [DecidableEq α] [MulZeroClass α] (a b : WithBot α) :
unbotD 0 (a * b) = unbotD 0 a * unbotD 0 b
theorem WithTop.mul_ne_top {α : Type u_1} [DecidableEq α] [MulZeroClass α] {a b : WithTop α} (ha : a ) (hb : b ) :
a * b
theorem WithBot.mul_ne_bot {α : Type u_1} [DecidableEq α] [MulZeroClass α] {a b : WithBot α} (ha : a ) (hb : b ) :
a * b
theorem WithTop.mul_lt_top {α : Type u_1} [DecidableEq α] [MulZeroClass α] [LT α] {a b : WithTop α} (ha : a < ) (hb : b < ) :
a * b <
theorem WithBot.bot_lt_mul {α : Type u_1} [DecidableEq α] [MulZeroClass α] [LT α] {a b : WithBot α} (ha : < a) (hb : < b) :
< a * b
theorem WithTop.mul_right_strictMono {α : Type u_1} [DecidableEq α] [MulZeroClass α] {a : WithTop α} [Preorder α] [PosMulStrictMono α] (h₀ : 0 < a) (hinf : a ) :
StrictMono fun (x : WithTop α) => a * x
theorem WithTop.mul_left_strictMono {α : Type u_1} [DecidableEq α] [MulZeroClass α] {a : WithTop α} [Preorder α] [MulPosStrictMono α] (h₀ : 0 < a) (hinf : a ) :
StrictMono fun (x : WithTop α) => x * a
@[instance_reducible]

Nontrivial α is needed here as otherwise we have 1 * ⊤ = ⊤ but also 0 * ⊤ = 0.

Equations
  • One or more equations did not get rendered due to their size.
@[instance_reducible]

Nontrivial α is needed here as otherwise we have 1 * ⊥ = ⊥ but also = 0 * ⊥ = 0.

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

A version of WithTop.map for MonoidWithZeroHoms.

Equations
Instances For

    A version of WithBot.map for MonoidWithZeroHoms.

    Equations
    Instances For
      @[instance_reducible]
      Equations
      @[instance_reducible]
      Equations
      @[instance_reducible]
      Equations
      • One or more equations did not get rendered due to their size.
      @[instance_reducible]
      Equations
      • One or more equations did not get rendered due to their size.
      @[simp]
      theorem WithTop.coe_pow {α : Type u_1} [DecidableEq α] [MonoidWithZero α] [NoZeroDivisors α] [Nontrivial α] (a : α) (n : ) :
      ↑(a ^ n) = a ^ n
      @[simp]
      theorem WithBot.coe_pow {α : Type u_1} [DecidableEq α] [MonoidWithZero α] [NoZeroDivisors α] [Nontrivial α] (a : α) (n : ) :
      ↑(a ^ n) = a ^ n
      @[simp]
      theorem WithTop.top_pow {α : Type u_1} [DecidableEq α] [MonoidWithZero α] [NoZeroDivisors α] [Nontrivial α] {n : } (hn : n 0) :
      @[simp]
      theorem WithBot.bot_pow {α : Type u_1} [DecidableEq α] [MonoidWithZero α] [NoZeroDivisors α] [Nontrivial α] {n : } (hn : n 0) :
      @[simp]
      theorem WithTop.pow_eq_top_iff {α : Type u_1} [DecidableEq α] [MonoidWithZero α] [NoZeroDivisors α] [Nontrivial α] {x : WithTop α} {n : } :
      x ^ n = x = n 0
      @[simp]
      theorem WithBot.pow_eq_bot_iff {α : Type u_1} [DecidableEq α] [MonoidWithZero α] [NoZeroDivisors α] [Nontrivial α] {x : WithBot α} {n : } :
      x ^ n = x = n 0
      theorem WithTop.pow_ne_top_iff {α : Type u_1} [DecidableEq α] [MonoidWithZero α] [NoZeroDivisors α] [Nontrivial α] {x : WithTop α} {n : } :
      x ^ n x n = 0
      theorem WithBot.pow_ne_bot_iff {α : Type u_1} [DecidableEq α] [MonoidWithZero α] [NoZeroDivisors α] [Nontrivial α] {x : WithBot α} {n : } :
      x ^ n x n = 0
      @[simp]
      theorem WithTop.pow_lt_top_iff {α : Type u_1} [DecidableEq α] [MonoidWithZero α] [NoZeroDivisors α] [Nontrivial α] {x : WithTop α} {n : } [Preorder α] :
      x ^ n < x < n = 0
      @[simp]
      theorem WithBot.bot_lt_pow_iff {α : Type u_1} [DecidableEq α] [MonoidWithZero α] [NoZeroDivisors α] [Nontrivial α] {x : WithBot α} {n : } [Preorder α] :
      < x ^ n < x n = 0
      theorem WithTop.eq_top_of_pow {α : Type u_1} [DecidableEq α] [MonoidWithZero α] [NoZeroDivisors α] [Nontrivial α] {x : WithTop α} (n : ) (hx : x ^ n = ) :
      x =
      theorem WithBot.eq_bot_of_pow {α : Type u_1} [DecidableEq α] [MonoidWithZero α] [NoZeroDivisors α] [Nontrivial α] {x : WithBot α} (n : ) (hx : x ^ n = ) :
      x =
      theorem WithTop.pow_ne_top {α : Type u_1} [DecidableEq α] [MonoidWithZero α] [NoZeroDivisors α] [Nontrivial α] {x : WithTop α} {n : } (hx : x ) :
      x ^ n
      theorem WithBot.pow_ne_bot {α : Type u_1} [DecidableEq α] [MonoidWithZero α] [NoZeroDivisors α] [Nontrivial α] {x : WithBot α} {n : } (hx : x ) :
      x ^ n
      theorem WithTop.pow_lt_top {α : Type u_1} [DecidableEq α] [MonoidWithZero α] [NoZeroDivisors α] [Nontrivial α] {x : WithTop α} {n : } [Preorder α] (hx : x < ) :
      x ^ n <
      theorem WithBot.bot_lt_pow {α : Type u_1} [DecidableEq α] [MonoidWithZero α] [NoZeroDivisors α] [Nontrivial α] {x : WithBot α} {n : } [Preorder α] (hx : < x) :
      < x ^ n
      @[instance_reducible]
      Equations
      @[instance_reducible]
      Equations
      @[instance_reducible]
      Equations
      • One or more equations did not get rendered due to their size.
      @[instance_reducible]
      Equations
      • One or more equations did not get rendered due to their size.
      @[instance_reducible]
      Equations
      • One or more equations did not get rendered due to their size.
      @[instance_reducible]
      Equations
      • One or more equations did not get rendered due to their size.
      @[instance_reducible]
      Equations
      @[instance_reducible]
      Equations
      @[instance_reducible]
      Equations
      • One or more equations did not get rendered due to their size.
      @[instance_reducible]
      Equations
      • One or more equations did not get rendered due to their size.
      @[instance_reducible]
      Equations
      @[instance_reducible]
      Equations

      A version of WithTop.map for RingHoms.

      Equations
      Instances For

        A version of WithTop.map for RingHoms.

        Equations
        Instances For
          theorem WithTop.mul_lt_mul {α : Type u_1} [DecidableEq α] [CommSemiring α] [PartialOrder α] [OrderBot α] [CanonicallyOrderedAdd α] [PosMulStrictMono α] {a₁ a₂ b₁ b₂ : WithTop α} (ha : a₁ < a₂) (hb : b₁ < b₂) :
          a₁ * b₁ < a₂ * b₂
          theorem WithTop.pow_lt_pow_left {α : Type u_1} [DecidableEq α] [CommSemiring α] [PartialOrder α] [OrderBot α] [CanonicallyOrderedAdd α] [PosMulStrictMono α] [NoZeroDivisors α] [Nontrivial α] {a b : WithTop α} (hab : a < b) {n : } (hn : n 0) :
          a ^ n < b ^ n