Documentation

Pdl.Vocab

Vocabulary and other Syntax functions (part of Section 2.1) #

Vocab #

@[reducible, inline]
abbrev Vocab :
Equations
Instances For
    Equations
    Instances For
      Equations
      Instances For
        Equations
        Instances For
          Equations
          Instances For
            Equations
            Instances For
              Equations
              Instances For
                @[reducible, inline]
                abbrev List.fvoc (L : List Formula) :
                Equations
                Instances For
                  @[reducible, inline]
                  abbrev List.pvoc (L : List Program) :
                  Equations
                  Instances For
                    @[reducible, inline]
                    Equations
                    Instances For
                      @[reducible, inline]
                      Equations
                      Instances For
                        @[simp]
                        theorem Finset.mem_fvoc {X : Finset Formula} {x : ℕ ⊕ ℕ} :
                        x ∈ X.fvoc ↔ ∃ φ ∈ X, x ∈ φ.voc
                        @[simp]
                        theorem Finset.fvoc_union {X Y : Finset Formula} :
                        (X ∪ Y).fvoc = X.fvoc ∪ Y.fvoc
                        theorem Finset.fvoc_mono {X Y : Finset Formula} (h : X ⊆ Y) :
                        X.fvoc ⊆ Y.fvoc
                        theorem fvoc_subset_of_mem_voc {L L' : Finset Formula} (h : ∀ f ∈ L, ∃ g ∈ L', f.voc ⊆ g.voc) :
                        L.fvoc ⊆ L'.fvoc

                        The vocabulary of a finset of formulas only grows when we add formulas with larger vocabularies.

                        theorem Vocab.fromList_map_iff {α : Type u_1} (n : ℕ ⊕ ℕ) (L : List α) (f : α → Vocab) :
                        n ∈ fromList (List.map f L) ↔ ∃ x ∈ L, n ∈ f x
                        theorem Vocab.fromListProgram_map_iff {vocabOfProgram : Program → Vocab} (n : ℕ ⊕ ℕ) (L : List Program) :
                        n ∈ fromList (List.map vocabOfProgram L) ↔ ∃ α ∈ L, n ∈ vocabOfProgram α
                        Equations
                        Instances For
                          Equations
                          Instances For

                            Tests in a program #

                            theorem testsOfProgram.voc (α : Program) {τ : Formula} (τ_in : τ ∈ testsOfProgram α) :
                            τ.voc ⊆ α.voc

                            Subprograms #

                            @[simp]
                            theorem subprograms.refl {α : Program} :
                            theorem subprograms_voc {α β : Program} :
                            β ∈ subprograms α → β.voc ⊆ α.voc

                            Fresh variables #

                            Get a fresh atomic proposition x not occuring in ψ.

                            Equations
                            Instances For

                              Get a fresh atomic proposition x not occuring in α.

                              Equations
                              Instances For