Documentation

Foundation.FirstOrder.Ultraproduct

structure LO.FirstOrder.Structure.Uprod {I : Type u} (A : I โ†’ Type u) (๐“ค : Ultrafilter I) :
  • val (i : I) : A i
Instances For
    instance LO.FirstOrder.Structure.UprodStruc {L : Language} {I : Type u} (A : I โ†’ Type u) [s : (i : I) โ†’ Structure L (A i)] (๐“ค : Ultrafilter I) :
    Structure L (Uprod A ๐“ค)
    Equations
    • One or more equations did not get rendered due to their size.
    instance LO.FirstOrder.Structure.instNonemptyUprod {I : Type u} (A : I โ†’ Type u) (๐“ค : Ultrafilter I) [Nonempty I] [โˆ€ (i : I), Nonempty (A i)] :
    Nonempty (Uprod A ๐“ค)
    @[simp]
    theorem LO.FirstOrder.Structure.func_Uprod {L : Language} {I : Type u} (A : I โ†’ Type u) [s : (i : I) โ†’ Structure L (A i)] (๐“ค : Ultrafilter I) {k : โ„•} (f : L.Func k) (v : Fin k โ†’ Uprod A ๐“ค) :
    func f v = { val := fun (i : I) => func f fun (x : Fin k) => (v x).val i }
    @[simp]
    theorem LO.FirstOrder.Structure.rel_Uprod {L : Language} {I : Type u} (A : I โ†’ Type u) [s : (i : I) โ†’ Structure L (A i)] (๐“ค : Ultrafilter I) {k : โ„•} (r : L.Rel k) (v : Fin k โ†’ Uprod A ๐“ค) :
    rel r v โ†” {i : I | rel r fun (x : Fin k) => (v x).val i} โˆˆ ๐“ค
    theorem LO.FirstOrder.Semiterm.val_Uprod {n : โ„•} {L : Language} {ฮผ : Type v} {I : Type u} (A : I โ†’ Type u) [s : (i : I) โ†’ Structure L (A i)] (๐“ค : Ultrafilter I) (e : Fin n โ†’ Structure.Uprod A ๐“ค) (ฮต : ฮผ โ†’ Structure.Uprod A ๐“ค) (t : Semiterm L ฮผ n) :
    valm (Structure.Uprod A ๐“ค) e ฮต t = { val := fun (i : I) => val (s i) (fun (x : Fin n) => (e x).val i) (fun (x : ฮผ) => (ฮต x).val i) t }
    theorem LO.FirstOrder.Semiformula.val_vecCons_val_eq {n : โ„•} {I : Type u} {A : I โ†’ Type u} {๐“ค : Ultrafilter I} {e : Fin n โ†’ Structure.Uprod A ๐“ค} {z : Structure.Uprod A ๐“ค} {i : I} :
    (z.val i :> fun (x : Fin n) => (e x).val i) = fun (x : Fin n.succ) => ((z :> e) x).val i
    theorem LO.FirstOrder.Semiformula.eval_Uprod {n : โ„•} {L : Language} {ฮผ : Type v} {I : Type u} {A : I โ†’ Type u} [s : (i : I) โ†’ Structure L (A i)] {๐“ค : Ultrafilter I} {e : Fin n โ†’ Structure.Uprod A ๐“ค} {ฮต : ฮผ โ†’ Structure.Uprod A ๐“ค} [โˆ€ (i : I), Nonempty (A i)] {ฯ† : Semiformula L ฮผ n} :
    (Evalm (Structure.Uprod A ๐“ค) e ฮต) ฯ† โ†” {i : I | (Eval (s i) (fun (x : Fin n) => (e x).val i) fun (x : ฮผ) => (ฮต x).val i) ฯ†} โˆˆ ๐“ค
    theorem LO.FirstOrder.Semiformula.val_Uprod {L : Language} {ฮผ : Type v} {I : Type u} {A : I โ†’ Type u} [s : (i : I) โ†’ Structure L (A i)] {๐“ค : Ultrafilter I} {ฮต : ฮผ โ†’ Structure.Uprod A ๐“ค} [โˆ€ (i : I), Nonempty (A i)] {ฯ† : Formula L ฮผ} :
    (Evalfm (Structure.Uprod A ๐“ค) ฮต) ฯ† โ†” {i : I | (Evalf (s i) fun (x : ฮผ) => (ฮต x).val i) ฯ†} โˆˆ ๐“ค
    theorem LO.FirstOrder.models_Uprod {L : Language} {I : Type u} {A : I โ†’ Type u} [s : (i : I) โ†’ Structure L (A i)] {๐“ค : Ultrafilter I} [Nonempty I] [โˆ€ (i : I), Nonempty (A i)] {ฯ† : SyntacticFormula L} :
    Structure.Uprod A ๐“ค โŠงโ‚˜ ฯ† โ†” {i : I | A i โŠงโ‚˜ ฯ†} โˆˆ ๐“ค
    def LO.FirstOrder.Semiformula.domain {L : Language} {I : Type u} (A : I โ†’ Type u) [s : (i : I) โ†’ Structure L (A i)] [โˆ€ (i : I), Nonempty (A i)] (ฯ† : SyntacticFormula L) :
    Set I
    Equations
    Instances For
      @[reducible, inline]
      Equations
      Instances For
        theorem LO.FirstOrder.ultrafilter_exists {L : Language} {T : Theory L} (A : FinSubtheory T โ†’ Type u) [s : (i : FinSubtheory T) โ†’ Structure L (A i)] [โˆ€ (t : FinSubtheory T), Nonempty (A t)] (H : โˆ€ (i : FinSubtheory T), A i โŠงโ‚˜* โ†‘โ†‘i) :
        โˆƒ (๐“ค : Ultrafilter (FinSubtheory T)), Semiformula.domain A '' T โŠ† (โ†‘๐“ค).sets
        theorem LO.FirstOrder.compactness_aux {L : Language} {T : Theory L} :
        Satisfiable T โ†” โˆ€ (i : FinSubtheory T), Satisfiable โ†‘โ†‘i
        theorem LO.FirstOrder.compact {L : Language} {T : Theory L} :
        Satisfiable T โ†” โˆ€ (u : Finset (SyntacticFormula L)), โ†‘u โŠ† T โ†’ Satisfiable โ†‘u