Documentation

Mathlib.ModelTheory.Quotients

Quotients of First-Order Structures #

This file defines prestructures and quotients of first-order structures.

Main Definitions #

class FirstOrder.Language.Prestructure (L : FirstOrder.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.

Instances
    theorem FirstOrder.Language.Prestructure.fun_equiv {L : FirstOrder.Language} {M : Type u_1} {s : Setoid M} [self : L.Prestructure s] {n : } {f : L.Functions n} (x : Fin nM) (y : Fin nM) :
    theorem FirstOrder.Language.Prestructure.rel_equiv {L : FirstOrder.Language} {M : Type u_1} {s : Setoid M} [self : L.Prestructure s] {n : } {r : L.Relations n} (x : Fin nM) (y : Fin nM) :
    instance FirstOrder.Language.quotientStructure {L : FirstOrder.Language} {M : Type u_1} {s : Setoid M} [ps : L.Prestructure s] :
    L.Structure (Quotient s)
    Equations
    • One or more equations did not get rendered due to their size.
    theorem FirstOrder.Language.funMap_quotient_mk' {L : FirstOrder.Language} {M : Type u_1} (s : Setoid M) [ps : L.Prestructure s] {n : } (f : L.Functions n) (x : Fin nM) :
    theorem FirstOrder.Language.relMap_quotient_mk' {L : FirstOrder.Language} {M : Type u_1} (s : Setoid M) [ps : L.Prestructure s] {n : } (r : L.Relations n) (x : Fin nM) :
    theorem FirstOrder.Language.Term.realize_quotient_mk' {L : FirstOrder.Language} {M : Type u_1} (s : Setoid M) [ps : L.Prestructure s] {β : Type u_2} (t : L.Term β) (x : βM) :