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
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