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 : XY) :
                        X.fvocY.fvoc
                        theorem fvoc_subset_of_mem_voc {L L' : Finset Formula} (h : fL, gL', f.vocg.voc) :
                        L.fvocL'.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) xL, n f x
                        theorem Vocab.fromListProgram_map_iff {vocabOfProgram : ProgramVocab} (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