Documentation

Pdl.FischerLadner

Fischer-Ladner Closure #

Here we define a closure on sets of formulas. Our main reference for this closure is Section 6.1 of [HKT2000] See also Definition 4.79 and Exercise 4.8.2 in [BRV2001]. An alternative version following the proof of Theorem 3.2 in [FL1979] but unfinished is in Unused/FischerLadnerViaPreForms.lean.

Definition #

The Fischer-Ladner closure of a formula. See Section 6.1 of [HKT2000]. Note that there only implication is given. For our Formula type we also need to cover conjunction and negation. The main work is done by FLb, which also ensures termination.

Equations
Instances For

    The Fischer-Ladner closure of a box formula, not recursing into the formula after the box.

    Equations
    Instances For

      Lemmas #

      @[simp]
      theorem FL_refl {φ : Formula} :
      φ FL φ
      @[simp]
      theorem FLb_refl {α : Program} {φ : Formula} :
      (αφ) FLb α φ
      theorem FL_trans {φ ψ : Formula} :
      ψ FL φFL ψ FL φ

      Lemma 6.1(i) from [HKT2000]

      theorem FLb_trans {α : Program} {φ ψ : Formula} :
      ψ FLb α φFL ψ FLb α φ ++ FL φ

      Lemma 6.1(ii) from [HKT2000]

      theorem FL_box_sub {φ : Formula} {α : Program} {ψ : Formula} :
      (αψ) FL φψ FL φ
      theorem FL_box_test {φ τ ψ : Formula} :
      (?'τψ) FL φτ FL φ
      theorem FL_box_cup {φ : Formula} {α β : Program} {ψ : Formula} :
      (αβψ) FL φ → (αψ) FL φ (βψ) FL φ
      theorem FL_box_seq {φ : Formula} {α β : Program} {ψ : Formula} :
      (α;'βψ) FL φ → (αβψ) FL φ (βψ) FL φ
      theorem FL_box_star {φ : Formula} {α : Program} {ψ : Formula} :
      (αψ) FL φ → (ααψ) FL φ
      Equations
      Instances For
        @[simp]
        theorem FLL_refl_sub {L : List Formula} :
        L FLL L
        theorem FLL_sub {L1 L2 : List Formula} :
        L1 L2FLL L1 FLL L2
        @[simp]
        theorem FLL_idem_ext {L : List Formula} {φ : Formula} :
        φ FLL (FLL L)φ FLL L
        theorem FLL_append_eq {L K : List Formula} :
        FLL (L ++ K) = FLL L ++ FLL K
        theorem FLL_ext {L1 L2 : List Formula} (h : ∀ (φ : Formula), φ L1 φ L2) (φ : Formula) :
        φ FLL L1 φ FLL L2

        Being a member of the FL closure of a list does not depend on the position.

        FL stays in the Vocabulary #

        theorem FL_stays_in_voc {φ ψ : Formula} (ψ_in_FL : ψ FL φ) :
        ψ.voc φ.voc
        theorem FLb_stays_in_voc {α : Program} {φ ψ : Formula} (ψ_in_FLb : ψ FLb α φ) :
        ψ.voc α.voc φ.voc