Bundled First-Order Structures #
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4. This file bundles types together with their first-order structure.
Main Definitions #
first_order.language.Theory.Model
is the type of nonempty models of a particular theory.first_order.language.equiv_setoid
is the isomorphism equivalence relation on bundled structures.
TODO #
- Define category structures on bundled structures and models.
A type bundled with the structure induced by an equivalence.
Equations
- equiv.bundled_induced L g = {α := N, str := g.induced_Structure}
An equivalence of types as a first-order equivalence to the bundled structure on the codomain.
Equations
The equivalence relation on bundled L.Structure
s indicating that they are isomorphic.
- carrier : Type ?
- struc : L.Structure self.carrier
- is_model : self.carrier ⊨ T
- nonempty' : nonempty self.carrier
The type of nonempty models of a first-order theory.
Instances for first_order.language.Theory.Model
- first_order.language.Theory.Model.has_sizeof_inst
- first_order.language.Theory.Model.has_coe_to_sort
- first_order.language.Theory.Model.inhabited
The object in the category of R-algebras associated to a type equipped with the appropriate typeclasses.
Instances for ↥first_order.language.Theory.Model.of
Maps a bundled model along a bijection.
Shrinks a small model to a particular universe.
Equations
Lifts a model to a particular universe.
The reduct of any model of φ.on_Theory T
is a model of T
.
When φ
is injective, default_expansion
expands a model of T
to a model of φ.on_Theory T
arbitrarily.
Equations
Equations
A model of a theory is also a model of any subtheory.
Equations
Instances for ↥first_order.language.Theory.Model.subtheory_Model
Bundles M ⊨ T
as a T.Model
.
Equations
A structure that is elementarily equivalent to a model, bundled as a model.
An elementary substructure of a bundled model as a bundled model.