Quotients of First-Order Structures #
This file defines prestructures and quotients of first-order structures.
Main Definitions #
- If
sis a setoid (equivalence relation) onM, aFirstOrder.Language.Prestructure sis the data for a first-order structure onMthat will still be a structure when modded out bys. - The structure
FirstOrder.Language.quotientStructure sis the resulting structure onQuotient s.
class FirstOrder.Language.Prestructure (L : Language) {M : Type u_1} (s : Setoid M) :
Type (max (max u_1 u_2) u_3)
A prestructure is a first-order structure with a Setoid equivalence relation on it,
such that quotienting by that equivalence relation is still a structure.
- toStructure : L.Structure M
The underlying first-order structure
- fun_equiv {n : ℕ} {f : L.Functions n} (x y : Fin n → M) : x ≈ y → Structure.funMap f x ≈ Structure.funMap f y
- rel_equiv {n : ℕ} {r : L.Relations n} (x y : Fin n → M) : x ≈ y → Structure.RelMap r x = Structure.RelMap r y
Instances
@[instance_reducible]
instance FirstOrder.Language.quotientStructure {L : Language} {M : Type u_1} {s : Setoid M} [ps : L.Prestructure s] :
Equations
- One or more equations did not get rendered due to their size.
theorem FirstOrder.Language.funMap_quotient_mk' {L : Language} {M : Type u_1} (s : Setoid M) [ps : L.Prestructure s] {n : ℕ} (f : L.Functions n) (x : Fin n → M) :
theorem FirstOrder.Language.relMap_quotient_mk' {L : Language} {M : Type u_1} (s : Setoid M) [ps : L.Prestructure s] {n : ℕ} (r : L.Relations n) (x : Fin n → M) :