Documentation

ProvabilityLogic.Kripke.Tail

@[reducible, inline]
abbrev Model.toTail.World {κ : Type u_1} {α : Type u_2} [Nonempty κ] (M : Model κ α) :
Type u_1

Worlds of the tail model: the original worlds plus a chain indexed by ℕ∞.

Equations
Instances For
    @[reducible, inline]
    abbrev Model.toTail {κ : Type u_1} {α : Type u_2} [Nonempty κ] (M : Model κ α) (tail : M.World) :
    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      @[reducible, inline]
      abbrev Model.toTail.embed {κ : Type u_1} {α : Type u_2} [Nonempty κ] {M : Model κ α} {tail : M.World} (x : M.World) :
      (M.toTail tail).World
      Equations
      Instances For
        @[reducible, inline]
        abbrev Model.toTail.chainPoint {κ : Type u_1} {α : Type u_2} [Nonempty κ] {M : Model κ α} {tail : M.World} (i : ℕ∞) :
        (M.toTail tail).World

        The world in the chain attached above tail, indexed by i : ℕ∞; ⊤ is the root.

        Equations
        Instances For
          @[simp]
          theorem Model.toTail.root_eq {κ : Type u_1} {α : Type u_2} [Nonempty κ] {M : Model κ α} {tail : M.World} :
          @[simp]
          theorem Model.toTail.rel_embed_embed {κ : Type u_1} {α : Type u_2} [Nonempty κ] {M : Model κ α} {tail x y : M.World} :
          @[simp]
          theorem Model.toTail.not_rel_embed_chainPoint {κ : Type u_1} {α : Type u_2} [Nonempty κ] {M : Model κ α} {tail x : M.World} {i : ℕ∞} :
          @[simp]
          theorem Model.toTail.rel_chainPoint_embed {κ : Type u_1} {α : Type u_2} [Nonempty κ] {M : Model κ α} {tail : M.World} {i : ℕ∞} {x : M.World} :
          @[simp]
          theorem Model.toTail.rel_chainPoint_chainPoint {κ : Type u_1} {α : Type u_2} [Nonempty κ] {M : Model κ α} {tail : M.World} {i j : ℕ∞} :
          instance Model.toTail.instIsTransWorldWorldRel {κ : Type u_1} {α : Type u_2} [Nonempty κ] {M : Model κ α} {tail : M.World} [IsTrans M.World Rel] :
          instance Model.toTail.instIrreflWorldWorldRel {κ : Type u_1} {α : Type u_2} [Nonempty κ] {M : Model κ α} {tail : M.World} [Std.Irrefl Rel] :
          @[reducible, inline]
          abbrev Model.toTail.chain {κ : Type u_1} {α : Type u_2} [Nonempty κ] (M : Model κ α) (tail : M.World) :
          ℕ+ → (M.toTail tail).World
          Equations
          Instances For
            @[simp]
            theorem Model.toTail.chain_isChain {κ : Type u_1} {α : Type u_2} [Nonempty κ] {M : Model κ α} {tail : M.World} {i j : ℕ+} (h : i < j) :
            toTail.chain M tail j ≺ toTail.chain M tail i
            instance Model.toTail.instIsGLWorld {κ : Type u_1} {α : Type u_2} [Nonempty κ] {M : Model κ α} {tail : M.World} [M.IsGL] :
            (M.toTail tail).IsGL
            def Model.toTail.pMorphismOriginal {κ : Type u_1} {α : Type u_2} [Nonempty κ] (M : Model κ α) (tail : M.World) :
            M →ₚ (M.toTail tail).toModel
            Equations
            Instances For
              theorem Model.toTail.modal_equivalent_original {κ : Type u_1} {α : Type u_2} [Nonempty κ] {M : Model κ α} {tail x : M.World} :
              theorem Model.toTail.forces_inl {κ : Type u_1} {α : Type u_2} [Nonempty κ] {M : Model κ α} {A : Formula α} {tail x : M.World} :
              theorem Model.toTail.forces_nat_box_antitone {κ : Type u_1} {α : Type u_2} [Nonempty κ] {M : Model κ α} {A : Formula α} {tail : M.World} {m n : ℕ} (hmn : m ≤ n) (h : toTail.chainPoint ↑n ⊩[(M.toTail tail).toModel] □A) :
              theorem Model.toTail.forces_nat_eventually_stable {κ : Type u_2} {α : Type u_1} [Nonempty κ] {M : Model κ α} {tail : M.World} (A : Formula α) :
              ∃ (k : ℕ), ∀ (n : ℕ), k ≤ n → (toTail.chainPoint ↑n ⊩[(M.toTail tail).toModel] A ↔ toTail.chainPoint ↑k ⊩[(M.toTail tail).toModel] A)
              theorem Model.toTail.forces_nat_eventually_root {κ : Type u_2} {α : Type u_1} [Nonempty κ] {M : Model κ α} {tail : M.World} (A : Formula α) :
              ∃ (k : ℕ), ∀ (n : ℕ), k ≤ n → (toTail.chainPoint ↑n ⊩[(M.toTail tail).toModel] A ↔ toTail.chainPoint ⊤ ⊩[(M.toTail tail).toModel] A)
              theorem Model.toTail.tailLemma {κ : Type u_2} {α : Type u_1} [Nonempty κ] {M : Model κ α} {tail : M.World} (A : Formula α) :
              toTail.chainPoint ⊤ ⊩[(M.toTail tail).toModel] A ↔ ∃ (k : ℕ), ∀ (n : ℕ), k ≤ n → toTail.chainPoint ↑n ⊩[(M.toTail tail).toModel] A

              Tail Lemma.

              • [Vis84, Lemma 2.2]
              theorem Model.toTail.root_forces_iff_forces_nat {κ : Type u_2} {α : Type u_1} [Nonempty κ] [DecidableEq α] {M : RootedModel κ α} [IsTrans M.World Rel] {Γ : FormulaFinset α} (Γclosed : ∀ B ∈ Γ, B.subfmls ⊆ Γ) (hΓ : ∀ B ∈ Γ.prebox, ↑M.root ⊩[M.toModel] □B 🡒 B) (B : Formula α) :
              B ∈ Γ → ∀ (n : ℕ), ↑M.root ⊩[M.toModel] B ↔ toTail.chainPoint ↑n ⊩[(M.toTail ↑M.root).toModel] B
              theorem Model.forces_toTail_reindex_iff {κ : Type u_2} {α : Type u_3} [Nonempty κ] {M : Model κ α} {A : Formula α} {κ' : Type u_1} [Nonempty κ'] {tail : M.World} {e : κ ≃ κ'} {x : (M.toTail tail).World} :
              Sum.map (⇑e) id x ⊩[((M.reindex e).toTail (e tail)).toModel] A ↔ x ⊩[(M.toTail tail).toModel] A
              theorem Model.forces_toTail_reindex_chainPoint_iff {κ : Type u_3} {α : Type u_2} [Nonempty κ] {M : Model κ α} {A : Formula α} {κ' : Type u_1} [Nonempty κ'] {tail : M.World} {e : κ ≃ κ'} {i : ℕ∞} :
              theorem Model.forces_toTail_reindex_root_iff {κ : Type u_3} {α : Type u_2} [Nonempty κ] {M : Model κ α} {A : Formula α} {κ' : Type u_1} [Nonempty κ'] {tail : M.World} {e : κ ≃ κ'} :
              ↑((M.reindex e).toTail (e tail)).root ⊩[((M.reindex e).toTail (e tail)).toModel] A ↔ ↑(M.toTail tail).root ⊩[(M.toTail tail).toModel] A