Documentation

GL.Logic.Syntax

Syntax of Basic Modal Logic #

Here we supply basic definitions, abbreviations, and lemmas about the syntax of BML.

inductive Formula :

Type of BML Formulas.

Instances For
    Equations
    Instances For
      def instDecidableEqFormula.decEq (x✝ x✝¹ : Formula) :
      Decidable (x✝ = x✝¹)
      Equations
      Instances For
        @[reducible, inline]
        abbrev Sequent :
        Equations
        Instances For

          Negation of a BML Formula.

          Equations
          Instances For

            Basic operations and simp lemmas for Formulas #

            Equations
            Instances For
              Equations
              Instances For
                Equations
                Instances For
                  @[simp]
                  theorem Formula.opUnDi_eq {φ ψ : Formula} :
                  φ.opUnDi = some ψ φ = ψ
                  Equations
                  Instances For
                    Equations
                    Instances For
                      @[simp]
                      theorem Formula.neg_eq {φ ψ : Formula} :
                      (~φ) = (~ψ) → φ = ψ

                      Negation is injective.

                      @[simp]
                      theorem Formula.neg_neg_eq (φ : Formula) :
                      (~~φ) = φ

                      Negation is involutive.

                      Length of a BML Formula.

                      Equations
                      Instances For

                        Vocab of a BML Formula. Expressed as underlying natural numbers

                        Equations
                        Instances For

                          φtoms of a BML Formula. Expressed as underlying natural numbers

                          Equations
                          Instances For

                            Literals of a BML Formula. Expressed as underlying natural numbers

                            Equations
                            Instances For

                              Get a fresh variable not occuring in a BML Formula.

                              Equations
                              Instances For

                                Fischer-Ladner closure of a BML Formula.

                                Equations
                                Instances For

                                  Lemmas about FL Closure of BML Formulas #

                                  theorem Formula.FL_refl {φ : Formula} :
                                  φ φ.FL

                                  Fischer-Ladner closure is reflexive.

                                  theorem Formula.FL_mon {φ ψ : Formula} (ψ_sub_φ : ψ φ.FL) :
                                  ψ.FL φ.FL

                                  Fischer-Ladner closure is monotone.

                                  Basic operations and simp lemmas for Sequents #

                                  Length of a sequent.

                                  Equations
                                  Instances For
                                    Equations
                                    Instances For
                                      Equations
                                      Instances For

                                        Fischer-Ladner closure of a sequent.

                                        Equations
                                        Instances For

                                          Lemmas about FL Closure of Sequents #

                                          theorem Sequent.FL_refl {Δ : Sequent} :
                                          Δ Δ.FL
                                          theorem Sequent.FL_mon {Δ Γ : Sequent} (Δ_sub_Γ : Δ Γ) :
                                          Δ.FL Γ.FL
                                          theorem Sequent.FL_idem {Δ : Sequent} :
                                          Δ.FL.FL = Δ.FL
                                          @[reducible, inline]
                                          Equations
                                          Instances For
                                            @[reducible, inline]
                                            Equations
                                            Instances For

                                              Basic operations and simp lemmas for Split Sequents #

                                              Lemmas about FL Closure of Split Formulas #

                                              theorem SplitFormula.FL_refl {φ : SplitFormula} :
                                              φ φ.FL

                                              Fischer-Ladner Closure is reflexive.

                                              theorem SplitFormula.FL_mon {φ ψ : SplitFormula} (ψ_sub_φ : ψ φ.FL) :
                                              ψ.FL φ.FL

                                              Fischer-Ladner Closure is monotone.

                                              Lemmas about FL Closure of Split Sequents #

                                              theorem SplitSequent.FL_refl {Δ : SplitSequent} :
                                              Δ Δ.FL

                                              Fischer-Ladner Closure is reflexive.

                                              theorem SplitSequent.FL_mon {Δ Γ : SplitSequent} (Δ_sub_Γ : Δ Γ) :
                                              Δ.FL Γ.FL

                                              Fischer-Ladner Closure is monotone.

                                              theorem SplitSequent.FL_idem {Δ : SplitSequent} :
                                              Δ.FL.FL = Δ.FL

                                              Fischer-Ladner Closure is idempotent.

                                              □₄⁻¹ operator for Split Sequents

                                              Equations
                                              Instances For

                                                Basic operations and simp lemmas for Split Sequents #

                                                Find underlying Sequent of a Split Sequent.

                                                Equations
                                                Instances For

                                                  Length of a Split Sequent.

                                                  Equations
                                                  Instances For
                                                    Equations
                                                    Instances For
                                                      Equations
                                                      Instances For

                                                        Properties of Substitutions #

                                                        def single (n : ) (ψ : Formula) :

                                                        Substiting p with ψ in φ (φ[ψ/p]). -

                                                        Equations
                                                        Instances For
                                                          theorem single_neg (n : ) (φ ψ : Formula) :
                                                          single n ψ (~φ) = (~single n ψ φ)
                                                          theorem single_imp (n : ) (C D E : Formula) :
                                                          single n C (~D v E) = (~single n C D v single n C E)
                                                          theorem single_iff (n : ) (C D E : Formula) :
                                                          single n C ((~D v E)&~E v D) = ((~single n C D v single n C E)&~single n C E v single n C D)
                                                          @[simp]
                                                          theorem single_identity (n : ) (φ : Formula) :
                                                          single n (at n) φ = φ
                                                          def partial_ {c : Prop} [DecidablePred c] (σ : Subtype cFormula) :

                                                          Simultaneous substitution for p meeting criteria c. -

                                                          Equations
                                                          Instances For
                                                            @[irreducible]
                                                            def full (σ : Formula) (A : Formula) :

                                                            Full substitution of all p.

                                                            Equations
                                                            Instances For

                                                              Properties of Vocab #

                                                              @[simp]
                                                              theorem in_neg_voc_iff {n : } {φ : Formula} :
                                                              n (~φ).vocab n φ.vocab
                                                              theorem in_single_voc (m n : ) (φ ψ : Formula) :
                                                              mφ.vocab(m nmψ.vocab)nφ.vocabm(single n φ ψ).vocab
                                                              theorem not_in_single_voc (n : ) (φ ψ : Formula) :
                                                              nφ.vocabsingle n ψ φ = φ
                                                              theorem not_in_single_top_voc (n : ) (φ : Formula) :
                                                              n(single n φ).vocab
                                                              theorem not_in_single_bot_voc (n : ) (φ : Formula) :
                                                              n(single n φ).vocab
                                                              theorem in_single_voc' {m n : } {φ ψ : Formula} :
                                                              m (single n φ ψ).vocabm φ.vocab n ψ.vocab m ψ.vocab m n

                                                              Some very specific lemmas about Finset.sum #

                                                              Ideally grind or aesop or some other tactic could sort out these simple helper lemmas, but I could not figure out how.

                                                              theorem sub_add_left {n m l : } :
                                                              n + m = ln = l - m
                                                              theorem lt_and_le_imp_add_lt {a b c : } :
                                                              b ac < ba - b + c < a
                                                              theorem Finset.sum_diff_singleton_lt {α : Type} [DecidableEq α] {A C : Finset α} {b : α} {f : α} :
                                                              b AC.sum f < f b(A \ {b} C).sum f < A.sum f