Documentation

Mathlib.Algebra.Order.Ring.IsNonarchimedean

Nonarchimedean functions #

A function f : α → R is nonarchimedean if it satisfies the strong triangle inequality f (a + b) ≤ max (f a) (f b) for all a b : α. This file proves basic properties of nonarchimedean functions.

theorem IsNonarchimedean.add_le {R : Type u_1} [LinearOrderedSemiring R] {α : Type u_2} [Add α] {f : αR} (hf : ∀ (x : α), 0 f x) (hna : IsNonarchimedean f) {a b : α} :
f (a + b) f a + f b

A nonnegative nonarchimedean function satisfies the triangle inequality.

theorem IsNonarchimedean.nsmul_le {R : Type u_1} [LinearOrderedSemiring R] {F : Type u_2} {α : Type u_3} [AddMonoid α] [FunLike F α R] [ZeroHomClass F α R] [NonnegHomClass F α R] {f : F} (hna : IsNonarchimedean f) {n : } {a : α} :
f (n a) f a

If f is a nonegative nonarchimedean function α → R such that f 0 = 0, then for every n : ℕ and a : α, we have f (n • a) ≤ (f a).

theorem IsNonarchimedean.nmul_le {R : Type u_1} [LinearOrderedSemiring R] {F : Type u_2} {α : Type u_3} [NonAssocSemiring α] [FunLike F α R] [ZeroHomClass F α R] [NonnegHomClass F α R] {f : F} (hna : IsNonarchimedean f) {n : } {a : α} :
f (n * a) f a

If f is a nonegative nonarchimedean function α → R such that f 0 = 0, then for every n : ℕ and a : α, we have f (n * a) ≤ (f a).

theorem IsNonarchimedean.apply_natCast_le_one_of_isNonarchimedean {R : Type u_1} [LinearOrderedSemiring R] {F : Type u_2} {α : Type u_3} [AddMonoidWithOne α] [FunLike F α R] [ZeroHomClass F α R] [NonnegHomClass F α R] [OneHomClass F α R] {f : F} (hna : IsNonarchimedean f) {n : } :
f n 1
theorem IsNonarchimedean.apply_intCast_le_one_of_isNonarchimedean {R : Type u_1} [LinearOrderedSemiring R] {F : Type u_2} {α : Type u_3} [AddGroupWithOne α] [FunLike F α R] [AddGroupSeminormClass F α R] [OneHomClass F α R] {f : F} (hna : IsNonarchimedean f) {n : } :
f n 1

If f is a nonarchimedean additive group seminorm on α with f 1 = 1, then for every n : ℤ we have f n ≤ 1.

theorem IsNonarchimedean.add_eq_right_of_lt {R : Type u_1} [LinearOrderedSemiring R] {F : Type u_2} {α : Type u_3} [AddGroup α] [FunLike F α R] [AddGroupSeminormClass F α R] {f : F} (hna : IsNonarchimedean f) {x y : α} (h_lt : f x < f y) :
f (x + y) = f y
theorem IsNonarchimedean.add_eq_left_of_lt {R : Type u_1} [LinearOrderedSemiring R] {F : Type u_2} {α : Type u_3} [AddGroup α] [FunLike F α R] [AddGroupSeminormClass F α R] {f : F} (hna : IsNonarchimedean f) {x y : α} (h_lt : f y < f x) :
f (x + y) = f x
theorem IsNonarchimedean.add_eq_max_of_ne {R : Type u_1} [LinearOrderedSemiring R] {F : Type u_2} {α : Type u_3} [AddGroup α] [FunLike F α R] [AddGroupSeminormClass F α R] {f : F} (hna : IsNonarchimedean f) {x y : α} (hne : f x f y) :
f (x + y) = f x f y

If f is a nonarchimedean additive group seminorm on α and x y : α are such that f x ≠ f y, then f (x + y) = max (f x) (f y).

theorem IsNonarchimedean.multiset_image_add_of_nonempty {R : Type u_1} [LinearOrderedSemiring R] {α : Type u_2} {β : Type u_3} [AddCommMonoid α] [Nonempty β] {f : αR} (hna : IsNonarchimedean f) (g : βα) {s : Multiset β} (hs : s 0) :
bs, f (Multiset.map g s).sum f (g b)

Given a nonarchimedean function α → R, a function g : β → α and a nonempty multiset s : Multiset β, we can always find b : β belonging to s such that f (t.sum g) ≤ f (g b) .

theorem IsNonarchimedean.finset_image_add_of_nonempty {R : Type u_1} [LinearOrderedSemiring R] {α : Type u_2} {β : Type u_3} [AddCommMonoid α] [Nonempty β] {f : αR} (hna : IsNonarchimedean f) (g : βα) {t : Finset β} (ht : t.Nonempty) :
bt, f (t.sum g) f (g b)

Given a nonarchimedean function α → R, a function g : β → α and a nonempty finset t : Finset β, we can always find b : β belonging to t such that f (t.sum g) ≤ f (g b) .

theorem IsNonarchimedean.multiset_image_add {R : Type u_1} [LinearOrderedSemiring R] {F : Type u_2} {α : Type u_3} {β : Type u_4} [AddCommMonoid α] [FunLike F α R] [ZeroHomClass F α R] [NonnegHomClass F α R] [Nonempty β] {f : F} (hna : IsNonarchimedean f) (g : βα) (s : Multiset β) :
∃ (b : β), (s 0b s) f (Multiset.map g s).sum f (g b)

Given a nonegative nonarchimedean function α → R such that f 0 = 0, a function g : β → α and a multiset s : Multiset β, we can always find b : β, belonging to s if s is nonempty, such that f (s.sum g) ≤ f (g b) .

theorem IsNonarchimedean.finset_image_add {R : Type u_1} [LinearOrderedSemiring R] {F : Type u_2} {α : Type u_3} {β : Type u_4} [AddCommMonoid α] [FunLike F α R] [ZeroHomClass F α R] [NonnegHomClass F α R] [Nonempty β] {f : F} (hna : IsNonarchimedean f) (g : βα) (t : Finset β) :
∃ (b : β), (t.Nonemptyb t) f (t.sum g) f (g b)

Given a nonegative nonarchimedean function α → R such that f 0 = 0, a function g : β → α and a finset t : Finset β, we can always find b : β, belonging to t if t is nonempty, such that f (t.sum g) ≤ f (g b) .

theorem IsNonarchimedean.multiset_powerset_image_add {R : Type u_1} [LinearOrderedSemiring R] {F : Type u_2} {α : Type u_3} [CommRing α] [FunLike F α R] [AddGroupSeminormClass F α R] {f : F} (hf_na : IsNonarchimedean f) (s : Multiset α) (m : ) :
∃ (t : Multiset α), t.card = s.card - m (∀ xt, x s) f (Multiset.map Multiset.prod (Multiset.powersetCard (s.card - m) s)).sum f t.prod
theorem IsNonarchimedean.finset_powerset_image_add {R : Type u_1} [LinearOrderedSemiring R] {F : Type u_2} {α : Type u_3} {β : Type u_4} [CommRing α] [FunLike F α R] [AddGroupSeminormClass F α R] {f : F} (hf_na : IsNonarchimedean f) (s : Finset β) (b : βα) (m : ) :
∃ (u : { x : Finset β // x Finset.powersetCard (s.card - m) s }), f (∑ tFinset.powersetCard (s.card - m) s, it, -b i) f (∏ iu, -b i)
theorem IsNonarchimedean.apply_sum_le_sup_of_isNonarchimedean {R : Type u_1} [LinearOrderedSemiring R] {α : Type u_2} {β : Type u_3} [AddCommMonoid α] {f : αR} (nonarch : IsNonarchimedean f) {s : Finset β} (hnonempty : s.Nonempty) {l : βα} :
f (∑ is, l i) s.sup' hnonempty fun (i : β) => f (l i)

Ultrametric inequality with Finset.Sum.

theorem IsNonarchimedean.add_pow_le {R : Type u_1} [LinearOrderedSemiring R] {F : Type u_2} {α : Type u_3} [CommRing α] [FunLike F α R] [ZeroHomClass F α R] [NonnegHomClass F α R] [SubmultiplicativeHomClass F α R] {f : F} (hna : IsNonarchimedean f) (n : ) (a b : α) :
m < n + 1, f ((a + b) ^ n) f (a ^ m) * f (b ^ (n - m))

If f is a nonarchimedean additive group seminorm on a commutative ring α, n : ℕ, and a b : α, then we can find m : ℕ such that m ≤ n and f ((a + b) ^ n) ≤ (f (a ^ m)) * (f (b ^ (n - m))).