Documentation

LeanPool.PointwiseComposition.Foundation.Logic.Semantics

Supporting results for pointwise provable equality.

Basic definitions and properties of semantics-related notions #

This file defines the semantics of formulas based on Tarski's truth definitions. Also provides 𝓜 characterization of compactness.

Main Definitions #

Notation #

class PointwiseComposition.FFL.Semantics (M : Type u_1) (F : outParam (Type u_2)) :
Type (max u_1 u_2)

Semantics M F denotes semantics of formulae F for models M`

Instances

    The «term ⊧ » construction in FFL.Semantics.

    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      @[reducible, inline]
      abbrev PointwiseComposition.FFL.Semantics.NotModels {M : Type u_1} {F : Type u_2} [𝓢 : Semantics M F] (𝓜 : M) (φ : F) :

      The negation of 𝓜 ⊧ φ

      Equations
      Instances For

        The «term ⊭ » construction in FFL.Semantics.

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For

          Tarski's truth definitions #

          class PointwiseComposition.FFL.Semantics.Top (M : Type u_1) {F : Type u_2} [𝓢 : Semantics M F] [LogicalNeutral F] :

          Tarski's truth definition for ⊤.

          • models_verum (𝓜 : M) : 𝓜 ⊧ ⊤
          Instances
            class PointwiseComposition.FFL.Semantics.Bot (M : Type u_1) {F : Type u_2} [𝓢 : Semantics M F] [LogicalNeutral F] :

            Tarski's truth definition for ⊥.

            • models_falsum (𝓜 : M) : ¬𝓜 ⊧ ⊥
            Instances

              Tarski's truth definition for ⋏.

              Instances

                Tarski's truth definition for ⋎.

                Instances

                  Tarski's truth definition for ⇒ₗ.

                  • models_imply {𝓜 : M} {φ ψ : F} : 𝓜 ⊧ φ ⇒ₗ ψ ↔ 𝓜 ⊧ φ → 𝓜 ⊧ ψ
                  Instances

                    Tarski's truth definition for ∼.

                    Instances

                      Tarski's truth definitions.

                      Instances
                        @[simp]
                        theorem PointwiseComposition.FFL.Semantics.models_iff {M : Type u_1} {F : Type u_2} [𝓢 : Semantics M F] [LogicalConnective F] [LogicalNeutral F] [Tarski M] {𝓜 : M} {φ ψ : F} :
                        𝓜 ⊧ φ ⇔ₗ ψ ↔ (𝓜 ⊧ φ ↔ 𝓜 ⊧ ψ)
                        @[simp]
                        theorem PointwiseComposition.FFL.Semantics.models_list_conj {M : Type u_1} {F : Type u_2} [𝓢 : Semantics M F] [LogicalConnective F] [LogicalNeutral F] [Tarski M] {𝓜 : M} {l : List F} :
                        𝓜 ⊧ List.conj l ↔ ∀ φ ∈ l, 𝓜 ⊧ φ
                        @[simp]
                        theorem PointwiseComposition.FFL.Semantics.models_list_conj₂ {M : Type u_1} {F : Type u_2} [𝓢 : Semantics M F] [LogicalConnective F] [LogicalNeutral F] [Tarski M] {𝓜 : M} {l : List F} :
                        𝓜 ⊧ ⋀l ↔ ∀ φ ∈ l, 𝓜 ⊧ φ
                        @[simp]
                        theorem PointwiseComposition.FFL.Semantics.models_list_conj' {M : Type u_1} {F : Type u_2} [𝓢 : Semantics M F] [LogicalConnective F] [LogicalNeutral F] [Tarski M] {𝓜 : M} {α : Type u_3} {l : List α} {ι : α → F} :
                        𝓜 ⊧ (fun (x : α → F) => List.conj' x l) ι ↔ ∀ i ∈ l, 𝓜 ⊧ ι i
                        @[simp]
                        theorem PointwiseComposition.FFL.Semantics.models_finset_conj {M : Type u_1} {F : Type u_2} [𝓢 : Semantics M F] [LogicalConnective F] [LogicalNeutral F] [Tarski M] {𝓜 : M} {s : Finset F} :
                        𝓜 ⊧ Finset.conj s ↔ ∀ φ ∈ s, 𝓜 ⊧ φ
                        @[simp]
                        theorem PointwiseComposition.FFL.Semantics.models_finset_conj' {M : Type u_1} {F : Type u_2} [𝓢 : Semantics M F] [LogicalConnective F] [LogicalNeutral F] [Tarski M] {𝓜 : M} {α : Type u_3} {s : Finset α} {ι : α → F} :
                        𝓜 ⊧ Finset.conj' s ι ↔ ∀ i ∈ s, 𝓜 ⊧ ι i
                        @[simp]
                        theorem PointwiseComposition.FFL.Semantics.models_list_disj {M : Type u_1} {F : Type u_2} [𝓢 : Semantics M F] [LogicalConnective F] [LogicalNeutral F] [Tarski M] {𝓜 : M} {l : List F} :
                        𝓜 ⊧ List.disj l ↔ ∃ φ ∈ l, 𝓜 ⊧ φ
                        @[simp]
                        theorem PointwiseComposition.FFL.Semantics.models_list_disj₂ {M : Type u_1} {F : Type u_2} [𝓢 : Semantics M F] [LogicalConnective F] [LogicalNeutral F] [Tarski M] {𝓜 : M} {l : List F} :
                        𝓜 ⊧ ⋁l ↔ ∃ φ ∈ l, 𝓜 ⊧ φ
                        @[simp]
                        theorem PointwiseComposition.FFL.Semantics.models_list_disj' {M : Type u_1} {F : Type u_2} [𝓢 : Semantics M F] [LogicalConnective F] [LogicalNeutral F] [Tarski M] {𝓜 : M} {α : Type u_3} {l : List α} {ι : α → F} :
                        𝓜 ⊧ (fun (x : α → F) => List.disj' x l) ι ↔ ∃ i ∈ l, 𝓜 ⊧ ι i
                        @[simp]
                        theorem PointwiseComposition.FFL.Semantics.models_finset_disj {M : Type u_1} {F : Type u_2} [𝓢 : Semantics M F] [LogicalConnective F] [LogicalNeutral F] [Tarski M] {𝓜 : M} {s : Finset F} :
                        𝓜 ⊧ Finset.disj s ↔ ∃ φ ∈ s, 𝓜 ⊧ φ
                        @[simp]
                        theorem PointwiseComposition.FFL.Semantics.models_finset_disj' {M : Type u_1} {F : Type u_2} [𝓢 : Semantics M F] [LogicalConnective F] [LogicalNeutral F] [Tarski M] {𝓜 : M} {α : Type u_3} {s : Finset α} {ι : α → F} :
                        𝓜 ⊧ Finset.disj' s ι ↔ ∃ i ∈ s, 𝓜 ⊧ ι i

                        A semantics and satisfiability over a set of formulas #

                        class PointwiseComposition.FFL.Semantics.ModelsSet {M : Type u_1} {F : Type u_2} [𝓢 : Semantics M F] (𝓜 : M) (T : Set F) :

                        𝓜 ⊧* T denotes 𝓜 ⊧ φ for all φ in T.

                        • models_set ⦃φ : F⦄ : φ ∈ T → 𝓜 ⊧ φ
                        Instances

                          The «term ⊧* » construction in FFL.Semantics.

                          Equations
                          • One or more equations did not get rendered due to their size.
                          Instances For
                            def PointwiseComposition.FFL.Semantics.Valid (M : Type u_1) {F : Type u_2} [𝓢 : Semantics M F] (φ : F) :

                            The Valid construction in FFL.Semantics.

                            Equations
                            Instances For
                              def PointwiseComposition.FFL.Semantics.Satisfiable (M : Type u_1) {F : Type u_2} [𝓢 : Semantics M F] (T : Set F) :

                              The Satisfiable construction in FFL.Semantics.

                              Equations
                              Instances For
                                def PointwiseComposition.FFL.Semantics.models (M : Type u_1) {F : Type u_2} [𝓢 : Semantics M F] (T : Set F) :
                                Set M

                                A set of models satisfies set of formulae T.

                                Equations
                                Instances For
                                  def PointwiseComposition.FFL.Semantics.theory {M : Type u_1} {F : Type u_2} [𝓢 : Semantics M F] (𝓜 : M) :
                                  Set F

                                  A set of formulae satisfied by model 𝓜.

                                  Equations
                                  Instances For
                                    class PointwiseComposition.FFL.Semantics.Meaningful {M : Type u_1} {F : Type u_2} [𝓢 : Semantics M F] (𝓜 : M) :

                                    Data and laws for Meaningful in FFL.Semantics.

                                    • exists_unmodels : ∃ (φ : F), 𝓜 ⊭ φ
                                    Instances
                                      theorem PointwiseComposition.FFL.Semantics.meaningful_iff {M : Type u_1} {F : Type u_2} [𝓢 : Semantics M F] {𝓜 : M} :
                                      Meaningful 𝓜 ↔ ∃ (φ : F), 𝓜 ⊭ φ
                                      theorem PointwiseComposition.FFL.Semantics.not_meaningful_iff {M : Type u_1} {F : Type u_2} [𝓢 : Semantics M F] (𝓜 : M) :
                                      ¬Meaningful 𝓜 ↔ ∀ (φ : F), 𝓜 ⊧ φ
                                      theorem PointwiseComposition.FFL.Semantics.modelsSet_iff {M : Type u_1} {F : Type u_2} [𝓢 : Semantics M F] {𝓜 : M} {T : Set F} :
                                      𝓜 ⊧* T ↔ ∀ ⦃φ : F⦄, φ ∈ T → 𝓜 ⊧ φ
                                      @[simp]
                                      theorem PointwiseComposition.FFL.Semantics.modelsTheory_theory {M : Type u_1} {F : Type u_2} [𝓢 : Semantics M F] (𝓜 : M) :
                                      𝓜 ⊧* theory 𝓜
                                      @[simp]
                                      theorem PointwiseComposition.FFL.Semantics.theory_satisfiable {M : Type u_1} {F : Type u_2} [𝓢 : Semantics M F] (𝓜 : M) :
                                      theorem PointwiseComposition.FFL.Semantics.ModelsSet.models {M : Type u_1} {F : Type u_2} [𝓢 : Semantics M F] {φ : F} {T : Set F} (𝓜 : M) [𝓜 ⊧* T] (hf : φ ∈ T) :
                                      𝓜 ⊧ φ
                                      theorem PointwiseComposition.FFL.Semantics.ModelsSet.of_subset {M : Type u_1} {F : Type u_2} [𝓢 : Semantics M F] {T U : Set F} {𝓜 : M} (h : 𝓜 ⊧* U) (ss : T ⊆ U) :
                                      𝓜 ⊧* T
                                      theorem PointwiseComposition.FFL.Semantics.ModelsSet.of_subset' {M : Type u_1} {F : Type u_2} [𝓢 : Semantics M F] {T U : Set F} {𝓜 : M} [𝓜 ⊧* U] (ss : T ⊆ U) :
                                      𝓜 ⊧* T
                                      instance PointwiseComposition.FFL.Semantics.ModelsSet.empty' {M : Type u_1} {F : Type u_2} [𝓢 : Semantics M F] (𝓜 : M) :
                                      𝓜 ⊧* ∅
                                      @[simp]
                                      theorem PointwiseComposition.FFL.Semantics.ModelsSet.empty {M : Type u_1} {F : Type u_2} [𝓢 : Semantics M F] (𝓜 : M) :
                                      𝓜 ⊧* ∅
                                      @[simp]
                                      theorem PointwiseComposition.FFL.Semantics.ModelsSet.singleton_iff {M : Type u_1} {F : Type u_2} [𝓢 : Semantics M F] {φ : F} {𝓜 : M} :
                                      𝓜 ⊧* {φ} ↔ 𝓜 ⊧ φ
                                      @[simp]
                                      theorem PointwiseComposition.FFL.Semantics.ModelsSet.insert_iff {M : Type u_1} {F : Type u_2} [𝓢 : Semantics M F] {T : Set F} {φ : F} {𝓜 : M} :
                                      𝓜 ⊧* insert φ T ↔ 𝓜 ⊧ φ ∧ 𝓜 ⊧* T
                                      @[simp]
                                      theorem PointwiseComposition.FFL.Semantics.ModelsSet.union_iff {M : Type u_1} {F : Type u_2} [𝓢 : Semantics M F] {T U : Set F} {𝓜 : M} :
                                      𝓜 ⊧* T ∪ U ↔ 𝓜 ⊧* T ∧ 𝓜 ⊧* U
                                      @[simp]
                                      theorem PointwiseComposition.FFL.Semantics.ModelsSet.image_iff {M : Type u_1} {F : Type u_2} [𝓢 : Semantics M F] {ι : Type u_3} {φ : ι → F} {A : Set ι} {𝓜 : M} :
                                      𝓜 ⊧* φ '' A ↔ ∀ i ∈ A, 𝓜 ⊧ φ i
                                      @[simp]
                                      theorem PointwiseComposition.FFL.Semantics.ModelsSet.range_iff {M : Type u_1} {F : Type u_2} [𝓢 : Semantics M F] {ι : Sort u_3} {φ : ι → F} {𝓜 : M} :
                                      𝓜 ⊧* Set.range φ ↔ ∀ (i : ι), 𝓜 ⊧ φ i
                                      @[simp]
                                      theorem PointwiseComposition.FFL.Semantics.ModelsSet.setOf_iff {M : Type u_1} {F : Type u_2} [𝓢 : Semantics M F] {P : F → Prop} {𝓜 : M} :
                                      𝓜 ⊧* Set.ofPred P ↔ ∀ (φ : F), P φ → 𝓜 ⊧ φ
                                      theorem PointwiseComposition.FFL.Semantics.Satisfiable.of_subset {M : Type u_1} {F : Type u_2} [𝓢 : Semantics M F] {T U : Set F} (h : Satisfiable M U) (ss : T ⊆ U) :
                                      @[instance_reducible]
                                      instance PointwiseComposition.FFL.Semantics.instSet (M : Type u_1) {F : Type u_2} [𝓢 : Semantics M F] :
                                      Equations
                                      @[simp]
                                      theorem PointwiseComposition.FFL.Semantics.empty_models (M : Type u_1) {F : Type u_2} [𝓢 : Semantics M F] (φ : F) :
                                      ∅ ⊧ φ

                                      Logical consequence

                                      def PointwiseComposition.FFL.Semantics.Consequence (M : Type u_1) {F : Type u_2} [𝓢 : Semantics M F] (T : Set F) (φ : F) :

                                      The logical conseqence.

                                      Equations
                                      Instances For

                                        The «term ⊨[ ] » construction in FFL.Semantics.

                                        Equations
                                        • One or more equations did not get rendered due to their size.
                                        Instances For
                                          theorem PointwiseComposition.FFL.Semantics.set_models_iff {M : Type u_1} {F : Type u_2} [𝓢 : Semantics M F] {φ : F} {s : Set M} :
                                          s ⊧ φ ↔ ∀ 𝓜 ∈ s, 𝓜 ⊧ φ
                                          theorem PointwiseComposition.FFL.Semantics.set_meaningful_iff_nonempty {M : Type u_1} {F : Type u_2} [𝓢 : Semantics M F] [∀ (𝓜 : M), Meaningful 𝓜] {s : Set M} :
                                          theorem PointwiseComposition.FFL.Semantics.meaningful_iff_satisfiableSet {M : Type u_1} {F : Type u_2} [𝓢 : Semantics M F] {T : Set F} [∀ (𝓜 : M), Meaningful 𝓜] :
                                          theorem PointwiseComposition.FFL.Semantics.consequence_iff {M : Type u_1} {F : Type u_2} [𝓢 : Semantics M F] {T : Set F} {φ : F} :
                                          T ⊨[M] φ ↔ ∀ {𝓜 : M}, 𝓜 ⊧* T → 𝓜 ⊧ φ
                                          theorem PointwiseComposition.FFL.Semantics.consequence_iff' {M : Type u_1} {F : Type u_2} [𝓢 : Semantics M F] {T : Set F} {φ : F} :
                                          T ⊨[M] φ ↔ ∀ (𝓜 : M) [𝓜 ⊧* T], 𝓜 ⊧ φ
                                          theorem PointwiseComposition.FFL.Semantics.weakening {M : Type u_1} {F : Type u_2} [𝓢 : Semantics M F] {T U : Set F} {φ : F} (h : T ⊨[M] φ) (ss : T ⊆ U) :
                                          U ⊨[M] φ
                                          theorem PointwiseComposition.FFL.Semantics.of_mem {M : Type u_1} {F : Type u_2} [𝓢 : Semantics M F] {T : Set F} {φ : F} (h : φ ∈ T) :
                                          T ⊨[M] φ

                                          Compactness

                                          A cumulative sequence of sets.

                                          Equations
                                          Instances For
                                            theorem PointwiseComposition.FFL.Cumulative.subset_of_le {F : Type u_2} {T : ℕ → Set F} (H : Cumulative T) {s₁ s₂ : ℕ} (h : s₁ ≤ s₂) :
                                            T s₁ ⊆ T s₂
                                            theorem PointwiseComposition.FFL.Cumulative.finset_mem {F : Type u_2} {T : ℕ → Set F} (H : Cumulative T) {u : Finset F} (hu : ↑u ⊆ ⋃ (s : ℕ), T s) :
                                            ∃ (s : ℕ), ↑u ⊆ T s
                                            class PointwiseComposition.FFL.Compact (M : Type u_1) {F : Type u_2} [𝓢 : Semantics M F] :

                                            A Semantics M F is compact if, for any set of formulas, the satisfiability of the set is equivalent to the satisfiability of every finite subset of it.

                                            Instances
                                              theorem PointwiseComposition.FFL.Compact.conseq_compact {M : Type u_1} {F : Type u_2} [𝓢 : Semantics M F] [Compact M] {T : Set F} [LogicalConnective F] [LogicalNeutral F] [Semantics.Tarski M] {φ : F} :
                                              T ⊨[M] φ ↔ ∃ (u : Finset F), ↑u ⊆ T ∧ ↑u ⊨[M] φ
                                              theorem PointwiseComposition.FFL.Compact.compact_cumulative {M : Type u_1} {F : Type u_2} [𝓢 : Semantics M F] [Compact M] {T : ℕ → Set F} (hT : Cumulative T) :
                                              Semantics.Satisfiable M (⋃ (s : ℕ), T s) ↔ ∀ (s : ℕ), Semantics.Satisfiable M (T s)