Documentation

Foundation.FirstOrder.Tarski.Skolemization

Skolem hull #

Skolem function of rank 1

Equations
Instances For
    @[reducible, inline]
    Equations
    Instances For
      @[instance_reducible]
      Equations
      • One or more equations did not get rendered due to their size.
      @[instance_reducible]
      noncomputable instance FFL.FirstOrder.Tarski.Structure.skolem (L : Language) (M : Type v) [Nonempty M] [𝓼 : Structure L M] :
      Equations
      • One or more equations did not get rendered due to their size.
      @[simp]
      theorem FFL.FirstOrder.Tarski.Structure.val_skolem_func {L : Language} {M : Type v} [Nonempty M] [𝓼 : Structure L M] {k : ℕ} {v : Fin k → M} (φ : Semisentence L (k + 1)) :
      func φ.skolem₁ v = Classical.epsilon fun (z : M) => (Semiformula.Evalb (z :> v)) φ
      def FFL.FirstOrder.Tarski.Structure.SkolemHull (L : Language) {M : Type v} [Nonempty M] [𝓼 : Structure L M] (s : Set M) :
      Set M

      The Skolem hull of subset of structure.

      Equations
      Instances For
        theorem FFL.FirstOrder.Tarski.Structure.SkolemHull.closed {L : Language} {M : Type v} [Nonempty M] [𝓼 : Structure L M] {s : Set M} {k : ℕ} {v : Fin k → M} (hv : ∀ (i : Fin k), v i ∈ SkolemHull L s) {φ : Semisentence L (k + 1)} (H : ∃ (z : M), (Semiformula.Evalb (z :> v)) φ) :
        ∃ z ∈ SkolemHull L s, (Semiformula.Evalb (z :> v)) φ
        theorem FFL.FirstOrder.Tarski.Structure.SkolemHull.closed_func {L : Language} {M : Type v} [Nonempty M] [𝓼 : Structure L M] {s : Set M} [L.Eq] [Structure.Eq L M] {k : ℕ} {v : Fin k → M} (hv : ∀ (i : Fin k), v i ∈ SkolemHull L s) {f : L.Func k} :
        @[instance_reducible, instance 50]
        instance FFL.FirstOrder.Tarski.Structure.SkolemHull.str {L : Language} {M : Type v} [Nonempty M] (𝓼 : Structure L M) (s : Set M) [L.Eq] [Structure.Eq L M] :
        Equations
        • One or more equations did not get rendered due to their size.
        @[simp]
        theorem FFL.FirstOrder.Tarski.Structure.SkolemHull.str_func_def {L : Language} {M : Type v} [Nonempty M] {𝓼 : Structure L M} {s : Set M} [L.Eq] [Structure.Eq L M] {k : ℕ} (f : L.Func k) (v : Fin k → ↑(SkolemHull L s)) :
        func f v = ⟨func f fun (i : Fin k) => ↑(v i), ⋯⟩
        @[simp]
        theorem FFL.FirstOrder.Tarski.Structure.SkolemHull.str_rel_def {L : Language} {M : Type v} [Nonempty M] {𝓼 : Structure L M} {s : Set M} [L.Eq] [Structure.Eq L M] {k : ℕ} (R : L.Rel k) (v : Fin k → ↑(SkolemHull L s)) :
        rel R v ↔ rel R fun (i : Fin k) => ↑(v i)
        @[simp]
        theorem FFL.FirstOrder.Tarski.Structure.SkolemHull.str_val {L : Language} {M : Type v} [Nonempty M] {𝓼 : Structure L M} {s : Set M} [L.Eq] [Structure.Eq L M] {ξ : Type u_1} {n : ℕ} (t : Semiterm L ξ n) (b : Fin n → ↑(SkolemHull L s)) (f : ξ → ↑(SkolemHull L s)) :
        ↑(Semiterm.val b f t) = Semiterm.val (fun (x : Fin n) => ↑(b x)) (fun (x : ξ) => ↑(f x)) t
        @[simp]
        theorem FFL.FirstOrder.Tarski.Structure.SkolemHull.str_eval {L : Language} {M : Type v} [Nonempty M] {𝓼 : Structure L M} {s : Set M} [L.Eq] [Structure.Eq L M] {n : ℕ} {b : Fin n → ↑(SkolemHull L s)} {φ : Semisentence L n} :
        (Semiformula.Evalb b) φ ↔ (Semiformula.Evalb fun (x : Fin n) => ↑(b x)) φ
        @[instance 50]

        Downward Löwenheim-Skolem theorem for countable language (1)

        @[instance 50]
        instance FFL.FirstOrder.Tarski.Structure.SkolemHull.eq {L : Language} {M : Type v} [Nonempty M] {𝓼 : Structure L M} {s : Set M} [L.Eq] [Structure.Eq L M] :
        @[instance_reducible, instance 50]
        Equations
        @[instance 50]

        Downward Löwenheim-Skolem theorem for countable language (2)