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 : LO.FirstOrder.Language} {I : Type u} (A : I โ†’ Type u) [s : (i : I) โ†’ LO.FirstOrder.Structure L (A i)] (๐“ค : Ultrafilter I) :
    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)] :
    Equations
    • โ‹ฏ = โ‹ฏ
    @[simp]
    theorem LO.FirstOrder.Structure.func_Uprod {L : LO.FirstOrder.Language} {I : Type u} (A : I โ†’ Type u) [s : (i : I) โ†’ LO.FirstOrder.Structure L (A i)] (๐“ค : Ultrafilter I) {k : โ„•} (f : L.Func k) (v : Fin k โ†’ LO.FirstOrder.Structure.Uprod A ๐“ค) :
    LO.FirstOrder.Structure.func f v = { val := fun (i : I) => LO.FirstOrder.Structure.func f fun (x : Fin k) => (v x).val i }
    @[simp]
    theorem LO.FirstOrder.Structure.rel_Uprod {L : LO.FirstOrder.Language} {I : Type u} (A : I โ†’ Type u) [s : (i : I) โ†’ LO.FirstOrder.Structure L (A i)] (๐“ค : Ultrafilter I) {k : โ„•} (r : L.Rel k) (v : Fin k โ†’ LO.FirstOrder.Structure.Uprod A ๐“ค) :
    LO.FirstOrder.Structure.rel r v โ†” {i : I | LO.FirstOrder.Structure.rel r fun (x : Fin k) => (v x).val i} โˆˆ ๐“ค
    theorem LO.FirstOrder.Semiterm.val_Uprod {n : โ„•} {L : LO.FirstOrder.Language} {ฮผ : Type v} {I : Type u} (A : I โ†’ Type u) [s : (i : I) โ†’ LO.FirstOrder.Structure L (A i)] (๐“ค : Ultrafilter I) (e : Fin n โ†’ LO.FirstOrder.Structure.Uprod A ๐“ค) (ฮต : ฮผ โ†’ LO.FirstOrder.Structure.Uprod A ๐“ค) (t : LO.FirstOrder.Semiterm L ฮผ n) :
    LO.FirstOrder.Semiterm.valm (LO.FirstOrder.Structure.Uprod A ๐“ค) e ฮต t = { val := fun (i : I) => LO.FirstOrder.Semiterm.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 โ†’ LO.FirstOrder.Structure.Uprod A ๐“ค} {z : LO.FirstOrder.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 : LO.FirstOrder.Language} {ฮผ : Type v} {I : Type u} {A : I โ†’ Type u} [โˆ€ (i : I), Nonempty (A i)] [s : (i : I) โ†’ LO.FirstOrder.Structure L (A i)] {๐“ค : Ultrafilter I} {e : Fin n โ†’ LO.FirstOrder.Structure.Uprod A ๐“ค} {ฮต : ฮผ โ†’ LO.FirstOrder.Structure.Uprod A ๐“ค} {p : LO.FirstOrder.Semiformula L ฮผ n} :
    (LO.FirstOrder.Semiformula.Evalm (LO.FirstOrder.Structure.Uprod A ๐“ค) e ฮต) p โ†” {i : I | (LO.FirstOrder.Semiformula.Eval (s i) (fun (x : Fin n) => (e x).val i) fun (x : ฮผ) => (ฮต x).val i) p} โˆˆ ๐“ค
    theorem LO.FirstOrder.Semiformula.val_Uprod {L : LO.FirstOrder.Language} {ฮผ : Type v} {I : Type u} {A : I โ†’ Type u} [โˆ€ (i : I), Nonempty (A i)] [s : (i : I) โ†’ LO.FirstOrder.Structure L (A i)] {๐“ค : Ultrafilter I} {ฮต : ฮผ โ†’ LO.FirstOrder.Structure.Uprod A ๐“ค} {p : LO.FirstOrder.Formula L ฮผ} :
    (LO.FirstOrder.Semiformula.Evalfm (LO.FirstOrder.Structure.Uprod A ๐“ค) ฮต) p โ†” {i : I | (LO.FirstOrder.Semiformula.Evalf (s i) fun (x : ฮผ) => (ฮต x).val i) p} โˆˆ ๐“ค
    theorem LO.FirstOrder.models_Uprod {L : LO.FirstOrder.Language} {I : Type u} {A : I โ†’ Type u} [s : (i : I) โ†’ LO.FirstOrder.Structure L (A i)] {๐“ค : Ultrafilter I} [Nonempty I] [โˆ€ (i : I), Nonempty (A i)] {p : LO.FirstOrder.SyntacticFormula L} :
    def LO.FirstOrder.Semiformula.domain {L : LO.FirstOrder.Language} {I : Type u} (A : I โ†’ Type u) [โˆ€ (i : I), Nonempty (A i)] [s : (i : I) โ†’ LO.FirstOrder.Structure L (A i)] (p : LO.FirstOrder.SyntacticFormula L) :
    Set I
    Equations
    Instances For
      @[reducible, inline]
      Equations
      Instances For
        theorem LO.FirstOrder.ultrafilter_exists {L : LO.FirstOrder.Language} {T : LO.FirstOrder.Theory L} (A : LO.FirstOrder.FinSubtheory T โ†’ Type u) [s : (i : LO.FirstOrder.FinSubtheory T) โ†’ LO.FirstOrder.Structure L (A i)] [โˆ€ (t : LO.FirstOrder.FinSubtheory T), Nonempty (A t)] (H : โˆ€ (i : LO.FirstOrder.FinSubtheory T), A i โŠงโ‚˜* โ†‘โ†‘i) :
        โˆƒ (๐“ค : Ultrafilter (LO.FirstOrder.FinSubtheory T)), LO.FirstOrder.Semiformula.domain A '' T โŠ† (โ†‘๐“ค).sets