# Documentation

Mathlib.Algebra.Order.Hom.Basic

# Algebraic order homomorphism classes #

This file defines hom classes for common properties at the intersection of order theory and algebra.

## Typeclasses #

Basic typeclasses

• NonnegHomClass: Homs are nonnegative: ∀ f a, 0 ≤ f a
• SubadditiveHomClass: Homs are subadditive: ∀ f a b, f (a + b) ≤ f a + f b
• SubmultiplicativeHomClass: Homs are submultiplicative: ∀ f a b, f (a * b) ≤ f a * f b
• MulLEAddHomClass: ∀ f a b, f (a * b) ≤ f a + f b
• NonarchimedeanHomClass: ∀ a b, f (a + b) ≤ max (f a) (f b)

Group norms

• AddGroupSeminormClass: Homs are nonnegative, subadditive, even and preserve zero.
• GroupSeminormClass: Homs are nonnegative, respect f (a * b) ≤ f a + f b, f a⁻¹ = f a and preserve zero.
• AddGroupNormClass: Homs are seminorms such that f x = 0 → x = 0 for all x.
• GroupNormClass: Homs are seminorms such that f x = 0 → x = 1 for all x.

Ring norms

• RingSeminormClass: Homs are submultiplicative group norms.
• RingNormClass: Homs are ring seminorms that are also additive group norms.
• MulRingSeminormClass: Homs are ring seminorms that are multiplicative.
• MulRingNormClass: Homs are ring norms that are multiplicative.

Typeclasses for seminorms are defined here while types of seminorms are defined in Analysis.Normed.Group.Seminorm and Analysis.Normed.Ring.Seminorm because absolute values are multiplicative ring norms but outside of this use we only consider real-valued seminorms.

## TODO #

Finitary versions of the current lemmas.