Documentation

Mathlib.Data.Real.IsNonarchimedean

Nonarchimedean functions #

A function f : R → ℝ≥0 is nonarchimedean if it satisfies the strong triangle inequality f (r + s) ≤ max (f r) (f s) for all r s : R. This file proves basic properties of nonarchimedean functions.

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

A nonarchimedean function satisfies the triangle inequality.

theorem IsNonarchimedean.nsmul_le {F : Type u_1} {α : Type u_2} [AddGroup α] [FunLike F α ] [AddGroupSeminormClass F α ] {f : F} (hna : IsNonarchimedean f) {n : } {a : α} :
f (n a) f a

If f is a nonarchimedean additive group seminorm on α, then for every n : ℕ and a : α, we have f (n • a) ≤ (f a).

theorem IsNonarchimedean.nmul_le {F : Type u_1} {α : Type u_2} [Ring α] [FunLike F α ] [AddGroupSeminormClass F α ] {f : F} (hna : IsNonarchimedean f) {n : } {a : α} :
f (n * a) f a

If f is a nonarchimedean additive group seminorm on α, then for every n : ℕ and a : α, we have f (n * a) ≤ (f a).

theorem IsNonarchimedean.add_eq_max_of_ne {F : Type u_1} {α : Type u_2} [AddGroup α] [FunLike F α ] [AddGroupSeminormClass F α ] {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.finset_image_add {F : Type u_1} {α : Type u_2} {β : Type u_3} [AddCommGroup α] [FunLike F α ] [AddGroupSeminormClass F α ] [Nonempty β] {f : F} (hna : IsNonarchimedean f) (g : βα) (t : Finset β) :
∃ (b : β), (t.Nonemptyb t) f (t.sum g) f (g b)

Given a nonarchimedean additive group seminorm f on α, 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.finset_image_add_of_nonempty {F : Type u_1} {α : Type u_2} {β : Type u_3} [AddCommGroup α] [FunLike F α ] [AddGroupSeminormClass F α ] [Nonempty β] {f : F} (hna : IsNonarchimedean f) (g : βα) {t : Finset β} (ht : t.Nonempty) :
bt, f (t.sum g) f (g b)

Given a nonarchimedean additive group seminorm f on α, 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 {F : Type u_1} {α : Type u_2} {β : Type u_3} [AddCommGroup α] [FunLike F α ] [AddGroupSeminormClass F α ] [Nonempty β] {f : F} (hna : IsNonarchimedean f) (g : βα) (s : Multiset β) :
∃ (b : β), (s 0b s) f (Multiset.map g s).sum f (g b)

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

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

Given a nonarchimedean additive group seminorm f on α, 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.add_pow_le {F : Type u_1} {α : Type u_2} [CommRing α] [FunLike F α ] [RingSeminormClass F α ] {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))).