Absolute values in ordered groups #
The absolute value of an element in a group which is also a lattice is its supremum with its
negation. This generalizes the usual absolute value on real numbers (|x| = max x (-x)
).
Notations #
|a|
: The absolute value of an elementa
of an additive lattice ordered group|a|ₘ
: The absolute value of an elementa
of a multiplicative lattice ordered group
mabs a
is the absolute value of a
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
abs a
is the absolute value of a
Equations
- One or more equations did not get rendered due to their size.
Instances For
Unexpander for the notation |a|ₘ
for mabs a
.
Tries to add discretionary parentheses in unparseable cases.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Unexpander for the notation |a|
for abs a
.
Tries to add discretionary parentheses in unparseable cases.
Equations
- One or more equations did not get rendered due to their size.
Instances For
theorem
abs_of_nonneg
{α : Type u_1}
[Lattice α]
[AddGroup α]
{a : α}
[CovariantClass α α (fun (x1 x2 : α) => x1 + x2) fun (x1 x2 : α) => x1 ≤ x2]
(h : 0 ≤ a)
:
|a| = a
theorem
abs_of_pos
{α : Type u_1}
[Lattice α]
[AddGroup α]
{a : α}
[CovariantClass α α (fun (x1 x2 : α) => x1 + x2) fun (x1 x2 : α) => x1 ≤ x2]
(h : 0 < a)
:
|a| = a
@[simp]
theorem
abs_nonneg
{α : Type u_1}
[Lattice α]
[AddGroup α]
[CovariantClass α α (fun (x1 x2 : α) => x1 + x2) fun (x1 x2 : α) => x1 ≤ x2]
[CovariantClass α α (Function.swap fun (x1 x2 : α) => x1 + x2) fun (x1 x2 : α) => x1 ≤ x2]
(a : α)
:
0 ≤ |a|
@[simp]
theorem
one_le_mabs
{α : Type u_1}
[Lattice α]
[Group α]
[CovariantClass α α (fun (x1 x2 : α) => x1 * x2) fun (x1 x2 : α) => x1 ≤ x2]
[CovariantClass α α (Function.swap fun (x1 x2 : α) => x1 * x2) fun (x1 x2 : α) => x1 ≤ x2]
(a : α)
:
@[simp]
theorem
abs_abs
{α : Type u_1}
[Lattice α]
[AddGroup α]
[CovariantClass α α (fun (x1 x2 : α) => x1 + x2) fun (x1 x2 : α) => x1 ≤ x2]
[CovariantClass α α (Function.swap fun (x1 x2 : α) => x1 + x2) fun (x1 x2 : α) => x1 ≤ x2]
(a : α)
:
|(|a|)| = |a|
theorem
abs_add_le
{α : Type u_1}
[Lattice α]
[AddCommGroup α]
[CovariantClass α α (fun (x1 x2 : α) => x1 + x2) fun (x1 x2 : α) => x1 ≤ x2]
(a : α)
(b : α)
:
The absolute value satisfies the triangle inequality.
theorem
abs_abs_sub_abs_le
{α : Type u_1}
[Lattice α]
[AddCommGroup α]
[CovariantClass α α (fun (x1 x2 : α) => x1 + x2) fun (x1 x2 : α) => x1 ≤ x2]
(a : α)
(b : α)
:
theorem
sup_sub_inf_eq_abs_sub
{α : Type u_1}
[Lattice α]
[AddCommGroup α]
[CovariantClass α α (fun (x1 x2 : α) => x1 + x2) fun (x1 x2 : α) => x1 ≤ x2]
(a : α)
(b : α)
:
theorem
two_nsmul_sup_eq_add_add_abs_sub
{α : Type u_1}
[Lattice α]
[AddCommGroup α]
[CovariantClass α α (fun (x1 x2 : α) => x1 + x2) fun (x1 x2 : α) => x1 ≤ x2]
(a : α)
(b : α)
:
theorem
two_nsmul_inf_eq_add_sub_abs_sub
{α : Type u_1}
[Lattice α]
[AddCommGroup α]
[CovariantClass α α (fun (x1 x2 : α) => x1 + x2) fun (x1 x2 : α) => x1 ≤ x2]
(a : α)
(b : α)
:
theorem
abs_sup_sub_sup_le_abs
{α : Type u_1}
[Lattice α]
[AddCommGroup α]
[CovariantClass α α (fun (x1 x2 : α) => x1 + x2) fun (x1 x2 : α) => x1 ≤ x2]
(a : α)
(b : α)
(c : α)
:
theorem
abs_inf_sub_inf_le_abs
{α : Type u_1}
[Lattice α]
[AddCommGroup α]
[CovariantClass α α (fun (x1 x2 : α) => x1 + x2) fun (x1 x2 : α) => x1 ≤ x2]
(a : α)
(b : α)
(c : α)
:
theorem
abs_by_cases
{α : Type u_1}
[AddGroup α]
[LinearOrder α]
{a : α}
(P : α → Prop)
(h1 : P a)
(h2 : P (-a))
:
P |a|
theorem
mabs_by_cases
{α : Type u_1}
[Group α]
[LinearOrder α]
{a : α}
(P : α → Prop)
(h1 : P a)
(h2 : P a⁻¹)
:
P (mabs a)
theorem
eq_or_eq_neg_of_abs_eq
{α : Type u_1}
[AddGroup α]
[LinearOrder α]
{a : α}
{b : α}
(h : |a| = b)
:
@[simp]
theorem
one_lt_mabs
{α : Type u_1}
[Group α]
[LinearOrder α]
[CovariantClass α α (fun (x1 x2 : α) => x1 * x2) fun (x1 x2 : α) => x1 ≤ x2]
{a : α}
:
theorem
abs_pos_of_pos
{α : Type u_1}
[AddGroup α]
[LinearOrder α]
[CovariantClass α α (fun (x1 x2 : α) => x1 + x2) fun (x1 x2 : α) => x1 ≤ x2]
{a : α}
(h : 0 < a)
:
0 < |a|
theorem
one_lt_mabs_pos_of_one_lt
{α : Type u_1}
[Group α]
[LinearOrder α]
[CovariantClass α α (fun (x1 x2 : α) => x1 * x2) fun (x1 x2 : α) => x1 ≤ x2]
{a : α}
(h : 1 < a)
:
theorem
abs_pos_of_neg
{α : Type u_1}
[AddGroup α]
[LinearOrder α]
[CovariantClass α α (fun (x1 x2 : α) => x1 + x2) fun (x1 x2 : α) => x1 ≤ x2]
{a : α}
(h : a < 0)
:
0 < |a|
theorem
one_lt_mabs_of_lt_one
{α : Type u_1}
[Group α]
[LinearOrder α]
[CovariantClass α α (fun (x1 x2 : α) => x1 * x2) fun (x1 x2 : α) => x1 ≤ x2]
{a : α}
(h : a < 1)
:
theorem
neg_abs_le
{α : Type u_1}
[AddGroup α]
[LinearOrder α]
[CovariantClass α α (fun (x1 x2 : α) => x1 + x2) fun (x1 x2 : α) => x1 ≤ x2]
(a : α)
:
theorem
inv_mabs_le
{α : Type u_1}
[Group α]
[LinearOrder α]
[CovariantClass α α (fun (x1 x2 : α) => x1 * x2) fun (x1 x2 : α) => x1 ≤ x2]
(a : α)
:
theorem
add_abs_nonneg
{α : Type u_1}
[AddGroup α]
[LinearOrder α]
[CovariantClass α α (fun (x1 x2 : α) => x1 + x2) fun (x1 x2 : α) => x1 ≤ x2]
(a : α)
:
theorem
one_le_mul_mabs
{α : Type u_1}
[Group α]
[LinearOrder α]
[CovariantClass α α (fun (x1 x2 : α) => x1 * x2) fun (x1 x2 : α) => x1 ≤ x2]
(a : α)
:
theorem
neg_abs_le_neg
{α : Type u_1}
[AddGroup α]
[LinearOrder α]
[CovariantClass α α (fun (x1 x2 : α) => x1 + x2) fun (x1 x2 : α) => x1 ≤ x2]
(a : α)
:
theorem
inv_mabs_le_inv
{α : Type u_1}
[Group α]
[LinearOrder α]
[CovariantClass α α (fun (x1 x2 : α) => x1 * x2) fun (x1 x2 : α) => x1 ≤ x2]
(a : α)
:
theorem
abs_ne_zero
{α : Type u_1}
[AddGroup α]
[LinearOrder α]
[CovariantClass α α (fun (x1 x2 : α) => x1 + x2) fun (x1 x2 : α) => x1 ≤ x2]
{a : α}
[CovariantClass α α (Function.swap fun (x1 x2 : α) => x1 + x2) fun (x1 x2 : α) => x1 ≤ x2]
:
theorem
mabs_ne_one
{α : Type u_1}
[Group α]
[LinearOrder α]
[CovariantClass α α (fun (x1 x2 : α) => x1 * x2) fun (x1 x2 : α) => x1 ≤ x2]
{a : α}
[CovariantClass α α (Function.swap fun (x1 x2 : α) => x1 * x2) fun (x1 x2 : α) => x1 ≤ x2]
:
@[simp]
theorem
abs_eq_zero
{α : Type u_1}
[AddGroup α]
[LinearOrder α]
[CovariantClass α α (fun (x1 x2 : α) => x1 + x2) fun (x1 x2 : α) => x1 ≤ x2]
{a : α}
[CovariantClass α α (Function.swap fun (x1 x2 : α) => x1 + x2) fun (x1 x2 : α) => x1 ≤ x2]
:
@[simp]
theorem
mabs_eq_one
{α : Type u_1}
[Group α]
[LinearOrder α]
[CovariantClass α α (fun (x1 x2 : α) => x1 * x2) fun (x1 x2 : α) => x1 ≤ x2]
{a : α}
[CovariantClass α α (Function.swap fun (x1 x2 : α) => x1 * x2) fun (x1 x2 : α) => x1 ≤ x2]
:
@[simp]
theorem
abs_nonpos_iff
{α : Type u_1}
[AddGroup α]
[LinearOrder α]
[CovariantClass α α (fun (x1 x2 : α) => x1 + x2) fun (x1 x2 : α) => x1 ≤ x2]
{a : α}
[CovariantClass α α (Function.swap fun (x1 x2 : α) => x1 + x2) fun (x1 x2 : α) => x1 ≤ x2]
:
@[simp]
theorem
mabs_le_one
{α : Type u_1}
[Group α]
[LinearOrder α]
[CovariantClass α α (fun (x1 x2 : α) => x1 * x2) fun (x1 x2 : α) => x1 ≤ x2]
{a : α}
[CovariantClass α α (Function.swap fun (x1 x2 : α) => x1 * x2) fun (x1 x2 : α) => x1 ≤ x2]
:
theorem
abs_le_abs_of_nonpos
{α : Type u_1}
[AddGroup α]
[LinearOrder α]
[CovariantClass α α (fun (x1 x2 : α) => x1 + x2) fun (x1 x2 : α) => x1 ≤ x2]
{a : α}
{b : α}
[CovariantClass α α (Function.swap fun (x1 x2 : α) => x1 + x2) fun (x1 x2 : α) => x1 ≤ x2]
(ha : a ≤ 0)
(hab : b ≤ a)
:
|a| ≤ |b|
theorem
mabs_le_mabs_of_le_one
{α : Type u_1}
[Group α]
[LinearOrder α]
[CovariantClass α α (fun (x1 x2 : α) => x1 * x2) fun (x1 x2 : α) => x1 ≤ x2]
{a : α}
{b : α}
[CovariantClass α α (Function.swap fun (x1 x2 : α) => x1 * x2) fun (x1 x2 : α) => x1 ≤ x2]
(ha : a ≤ 1)
(hab : b ≤ a)
:
theorem
abs_lt
{α : Type u_1}
[AddGroup α]
[LinearOrder α]
[CovariantClass α α (fun (x1 x2 : α) => x1 + x2) fun (x1 x2 : α) => x1 ≤ x2]
{a : α}
{b : α}
[CovariantClass α α (Function.swap fun (x1 x2 : α) => x1 + x2) fun (x1 x2 : α) => x1 ≤ x2]
:
theorem
mabs_lt
{α : Type u_1}
[Group α]
[LinearOrder α]
[CovariantClass α α (fun (x1 x2 : α) => x1 * x2) fun (x1 x2 : α) => x1 ≤ x2]
{a : α}
{b : α}
[CovariantClass α α (Function.swap fun (x1 x2 : α) => x1 * x2) fun (x1 x2 : α) => x1 ≤ x2]
:
theorem
neg_lt_of_abs_lt
{α : Type u_1}
[AddGroup α]
[LinearOrder α]
[CovariantClass α α (fun (x1 x2 : α) => x1 + x2) fun (x1 x2 : α) => x1 ≤ x2]
{a : α}
{b : α}
[CovariantClass α α (Function.swap fun (x1 x2 : α) => x1 + x2) fun (x1 x2 : α) => x1 ≤ x2]
(h : |a| < b)
:
theorem
inv_lt_of_mabs_lt
{α : Type u_1}
[Group α]
[LinearOrder α]
[CovariantClass α α (fun (x1 x2 : α) => x1 * x2) fun (x1 x2 : α) => x1 ≤ x2]
{a : α}
{b : α}
[CovariantClass α α (Function.swap fun (x1 x2 : α) => x1 * x2) fun (x1 x2 : α) => x1 ≤ x2]
(h : mabs a < b)
:
theorem
max_sub_min_eq_abs'
{α : Type u_1}
[AddGroup α]
[LinearOrder α]
[CovariantClass α α (fun (x1 x2 : α) => x1 + x2) fun (x1 x2 : α) => x1 ≤ x2]
[CovariantClass α α (Function.swap fun (x1 x2 : α) => x1 + x2) fun (x1 x2 : α) => x1 ≤ x2]
(a : α)
(b : α)
:
theorem
max_div_min_eq_mabs'
{α : Type u_1}
[Group α]
[LinearOrder α]
[CovariantClass α α (fun (x1 x2 : α) => x1 * x2) fun (x1 x2 : α) => x1 ≤ x2]
[CovariantClass α α (Function.swap fun (x1 x2 : α) => x1 * x2) fun (x1 x2 : α) => x1 ≤ x2]
(a : α)
(b : α)
:
theorem
max_sub_min_eq_abs
{α : Type u_1}
[AddGroup α]
[LinearOrder α]
[CovariantClass α α (fun (x1 x2 : α) => x1 + x2) fun (x1 x2 : α) => x1 ≤ x2]
[CovariantClass α α (Function.swap fun (x1 x2 : α) => x1 + x2) fun (x1 x2 : α) => x1 ≤ x2]
(a : α)
(b : α)
:
theorem
max_div_min_eq_mabs
{α : Type u_1}
[Group α]
[LinearOrder α]
[CovariantClass α α (fun (x1 x2 : α) => x1 * x2) fun (x1 x2 : α) => x1 ≤ x2]
[CovariantClass α α (Function.swap fun (x1 x2 : α) => x1 * x2) fun (x1 x2 : α) => x1 ≤ x2]
(a : α)
(b : α)
:
A set s
in a lattice ordered group is solid if for all x ∈ s
and all y ∈ α
such that
|y| ≤ |x|
, then y ∈ s
.
Equations
- LatticeOrderedAddCommGroup.IsSolid s = ∀ ⦃x : α⦄, x ∈ s → ∀ ⦃y : α⦄, |y| ≤ |x| → y ∈ s
Instances For
def
LatticeOrderedAddCommGroup.solidClosure
{α : Type u_1}
[Lattice α]
[AddCommGroup α]
(s : Set α)
:
Set α
The solid closure of a subset s
is the smallest superset of s
that is solid.
Equations
- LatticeOrderedAddCommGroup.solidClosure s = {y : α | ∃ (x : α), x ∈ s ∧ |y| ≤ |x|}
Instances For
theorem
LatticeOrderedAddCommGroup.isSolid_solidClosure
{α : Type u_1}
[Lattice α]
[AddCommGroup α]
(s : Set α)
:
theorem
LatticeOrderedAddCommGroup.solidClosure_min
{α : Type u_1}
[Lattice α]
[AddCommGroup α]
{s : Set α}
{t : Set α}
(hst : s ⊆ t)
(ht : LatticeOrderedAddCommGroup.IsSolid t)
:
@[deprecated neg_le_abs]
Alias of neg_le_abs
.
@[deprecated neg_abs_le]
theorem
neg_abs_le_self
{α : Type u_1}
[AddGroup α]
[LinearOrder α]
[CovariantClass α α (fun (x1 x2 : α) => x1 + x2) fun (x1 x2 : α) => x1 ≤ x2]
(a : α)
:
Alias of neg_abs_le
.