Documentation

Mathlib.ModelTheory.Types

Type Spaces #

This file defines the space of complete types over a first-order theory. (Note that types in model theory are different from types in type theory.)

Main Definitions #

Main Results #

Implementation Notes #

TODO #

structure FirstOrder.Language.Theory.CompleteType {L : Language} (T : L.Theory) (α : Type w) :
Type (max (max u v) w)

A complete type over a given theory in a certain type of variables is a maximally consistent (with the theory) set of formulas in that type.

Instances For
    theorem FirstOrder.Language.Theory.CompleteType.iInter_setOf_subset {L : Language} {T : L.Theory} {α : Type w} {ι : Type u_1} (S : ι(L.withConstants α).Theory) :
    ⋂ (i : ι), {p : T.CompleteType α | S i p} = {p : T.CompleteType α | ⋃ (i : ι), S i p}
    theorem FirstOrder.Language.Theory.CompleteType.toList_foldr_inf_mem {L : Language} {T : L.Theory} {α : Type w} {p : T.CompleteType α} {t : Finset (L.withConstants α).Sentence} :
    List.foldr (fun (x1 x2 : (L.withConstants α).Sentence) => x1 x2) t.toList p t p
    def FirstOrder.Language.Theory.typeOf {L : Language} (T : L.Theory) {α : Type w} {M : Type w'} [L.Structure M] [Nonempty M] [M T] (v : αM) :

    The set of all formulas true at a tuple in a structure forms a complete type.

    Equations
    Instances For
      @[simp]
      theorem FirstOrder.Language.Theory.CompleteType.mem_typeOf {L : Language} {T : L.Theory} {α : Type w} {M : Type w'} [L.Structure M] [Nonempty M] [M T] {v : αM} {φ : (L.withConstants α).Sentence} :
      theorem FirstOrder.Language.Theory.CompleteType.formula_mem_typeOf {L : Language} {T : L.Theory} {α : Type w} {M : Type w'} [L.Structure M] [Nonempty M] [M T] {v : αM} {φ : L.Formula α} :
      def FirstOrder.Language.Theory.realizedTypes {L : Language} (T : L.Theory) (M : Type w') [L.Structure M] [Nonempty M] [M T] (α : Type w) :

      A complete type p is realized in a particular structure when there is some tuple v whose type is p.

      Equations
      Instances For