namespace latin:/algebraic ❚
fixmeta latin:/?SFOLEQ ❚
theory BiMagma =
include ?Set ❙
structure add : ?Magma =
universe = universe ❙
U = U ❙
op # 1 + 2 prec 40 ❙
❚
structure mult : ?Magma =
universe = universe ❙
U = U ❙
op # 1 ⋅ 2 prec 50 ❙
❚
❚
theory Ringoid =
include ?BiMagma ❙
left_distrib: ⊦ ∀[r]∀[x]∀[y] r⋅(x+y) ≐ r⋅x + r⋅y ❙
right_distrib: ⊦ ∀[r]∀[x]∀[y] (x+y)⋅r ≐ x⋅r + y⋅r ❙
❚
theory CommRingoid =
include ?Ringoid ❙
structure mult : ?CommSemigroup =
include ?BiMagma/mult ❙
❚
❚
theory MonoidalRingoid =
include ?Ringoid❙
structure add : ?Monoid =
include ?BiMagma?add❙
elem # zero❙
❚
❚
theory BiMonoid =
include ?MonoidalRingoid❙
structure mult : ?Monoid =
include ?BiMagma?mult❙
elem # one❙
❚
❚
theory NonZeroInvertible =
include ?BiMonoid❙
multinverse : ⊦ ∀[x] ¬x≐zero ⇒ ∃[y] mult/inverse x y❙
❚
theory NoZeroDividers =
include ?BiMonoid ❙
no_zero_div: ⊦ ∀[x]∀[y] (x⋅y ≐ zero) ⇒ ((x ≐ zero) ∨ (y ≐ zero)) ❙
❚
theory NonTrivial =
include ?BiMonoid❙
neq01: ⊦ ¬(zero ≐ one)❙
❚
theory Semiring =
include ?BiMonoid❙
structure add : ?CommMonoid =
include ?MonoidalRingoid/add ❙
❚
❚
theory CommSemiring =
include ?Semiring ❙
include ?CommRingoid ❙
❚
theory NearRing =
include ?BiMonoid❙
structure add : ?Group =
include ?MonoidalRingoid/add ❙
inv # - 1 prec 45❙
div # 1 - 2 prec 40❙
❚
❚
theory CommNearRing =
include ?NearRing ❙
include ?CommRingoid ❙
❚
theory Ring =
include ?NearRing❙
// realize ?Semiring❙
structure add : ?CommGroup =
include ?NearRing/add ❙
❚
❚
theory BooleanRing =
include ?Ring ❙
structure mult : ?IdempotentMonoid =
include ?BiMonoid/mult❙
❚
❚
theory CommRing =
include ?Ring ❙
include ?CommRingoid ❙
❚
theory IntegralDomain =
include ?CommRing ❙
include ?NoZeroDividers❙
❚
theory SkewField =
include ?Ring ❙
include ?NonZeroInvertible❙
include ?NonTrivial❙
❚
theory Field =
include ?SkewField ❙
include ?CommRingoid ❙
❚
theory BilinearRingoid =
include ?Ringoid ❙
f: U ⟶ U ⟶ U ❙
bilinear: ⊦ ∀[x]∀[y]∀[z] (f (x+y) z) ≐ (f x z) + (f y z) ∧ (f x (y+z)) ≐ (f x y) + (f y z) ❙
homogen: ⊦ ∀[r]∀[x]∀[y] f (r⋅x) y ≐ r⋅ (f x y) ∧ f x (r⋅y) ≐ r⋅(f x y) ❙
❚
theory LieRing =
include ?Ring❙
include ?BilinearRingoid ❙
bracket = f ❘# ⟨ 1 2 ⟩ prec 40 ❙
bracket_defn: ⊦ ∀[x]∀[y] ⟨x y⟩ ≐ x⋅y - y⋅x ❙
jacobi: ⊦ ∀[x]∀[y]∀[z] ⟨x ⟨y z⟩⟩ + ⟨y ⟨z x⟩⟩ + ⟨z ⟨x y⟩⟩ ≐ zero ❙
alternating: ⊦ ∀[x] ⟨x x⟩ ≐ zero ❙
❚