Direct Limits of First-Order Structures #
This file constructs the direct limit of a directed system of first-order embeddings.
Main Definitions #
FirstOrder.Language.DirectLimit G f
is the direct limit of the directed systemf
of first-order embeddings between the structures indexed byG
.
A copy of DirectedSystem.map_self
specialized to L
-embeddings, as otherwise the
λ i j h, f i j h
can confuse the simplifier.
A copy of DirectedSystem.map_map
specialized to L
-embeddings, as otherwise the
λ i j h, f i j h
can confuse the simplifier.
Given a chain of embeddings of structures indexed by ℕ
, defines a DirectedSystem
by
composing them.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Alias for Σ i, G i
.
Equations
- FirstOrder.Language.Structure.Sigma f = ((i : ι) × G i)
Instances For
Constructor for FirstOrder.Language.Structure.Sigma
alias.
Equations
- FirstOrder.Language.Structure.Sigma.mk f i x = { fst := i, snd := x }
Instances For
Raises a family of elements in the Σ
-type to the same level along the embeddings.
Equations
- FirstOrder.Language.DirectLimit.unify f x i h a = (f (x a).fst i (_ : (x a).fst ≤ i)) (x a).snd
Instances For
The directed limit glues together the structures along the embeddings.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The structure on the Σ
-type which becomes the structure on the direct limit after quotienting.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The direct limit of a directed system is the structures glued together along the embeddings.
Equations
Instances For
Equations
- FirstOrder.Language.instInhabitedDirectLimit G f = { default := ⟦{ fst := default, snd := default }⟧ }
The direct limit setoid
respects the structure sigmaStructure
, so quotienting by it
gives rise to a valid structure.
Equations
- One or more equations did not get rendered due to their size.
The L.Structure
on a direct limit of L.Structure
s.
Equations
- FirstOrder.Language.DirectLimit.instStructureDirectLimit G f = FirstOrder.Language.quotientStructure
The canonical map from a component to the direct limit.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Every element of the direct limit corresponds to some element in some component of the directed system.
The universal property of the direct limit: maps from the components to another module that respect the directed system structure (i.e. make some diagram commute) give rise to a unique map out of the direct limit.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The direct limit of countably many countably generated structures is countably generated.
Equations
- (_ : FirstOrder.Language.Structure.CG L (FirstOrder.Language.DirectLimit G f)) = (_ : FirstOrder.Language.Structure.CG L (FirstOrder.Language.DirectLimit (fun (i : ι) => G i) f))