Documentation

Flypitch.FOL.Bounded

Flypitch.FOL.Bounded packages terms and formulas together with proofs that their free variables stay below a prescribed bound. These bounded wrappers are used to represent closed syntax and to build Henkin witnesses later in the development.

Terms with free variables bounded by n.

Equations
Instances For
    @[reducible, inline]

    Closed terms with free variables bounded by n.

    Equations
    Instances For
      @[reducible, inline]

      Closed partially applied terms.

      Equations
      Instances For
        @[reducible, inline]

        Closed terms, i.e. terms with no free variables.

        Equations
        Instances For
          Equations
          Instances For
            theorem Flypitch.fol.bounded_preterm.eta {L : Language} {n l : } (t : bounded_preterm L n l) :
            t, = t

            Eta-expansion for bounded terms as subtypes.

            def Flypitch.fol.bounded_preterm.cast {L : Language} {n m l : } (h : n m) (t : bounded_preterm L n l) :

            Reinterpret a bounded term at a larger variable bound.

            Equations
            Instances For

              A bounded term remains bounded when the bound is increased by one.

              Equations
              Instances For
                theorem Flypitch.fol.bounded_preterm.cast_fst {L : Language} {n m l : } (h : n m) (t : bounded_preterm L n l) :
                (cast h t).fst = t.fst
                def Flypitch.fol.bd_var {L : Language} {n : } (k : Fin n) :

                The bounded variable corresponding to an element of Fin n.

                Equations
                Instances For
                  def Flypitch.fol.bd_func {L : Language} {n l : } (f : L.functions l) :

                  A function symbol viewed as a bounded partially applied term.

                  Equations
                  Instances For
                    def Flypitch.fol.bd_app {L : Language} {n l : } (t : bounded_preterm L n (l + 1)) (s : bounded_term L n) :

                    Application of bounded terms preserves boundedness.

                    Equations
                    Instances For

                      Constants are exactly bounded nullary function symbols.

                      Equations
                      Instances For

                        Fully apply a bounded partially applied term to bounded arguments.

                        Equations
                        Instances For

                          Formulas with free variables bounded by n.

                          Equations
                          Instances For
                            @[reducible, inline]

                            Closed formulas with free variables bounded by n.

                            Equations
                            Instances For
                              @[reducible, inline]

                              Closed partially applied formulas.

                              Equations
                              Instances For
                                Equations
                                Instances For
                                  theorem Flypitch.fol.bounded_preformula.eta {L : Language} {n l : } (f : bounded_preformula L n l) :
                                  f, = f

                                  Eta-expansion for bounded formulas as subtypes.

                                  Reinterpret a bounded formula at a larger free-variable bound.

                                  Equations
                                  Instances For

                                    A bounded formula remains bounded when the bound is increased by one.

                                    Equations
                                    Instances For
                                      theorem Flypitch.fol.bounded_preformula.cast_fst {L : Language} {n m l : } (h : n m) (f : bounded_preformula L n l) :
                                      (cast h f).fst = f.fst

                                      The bounded version of falsum.

                                      Equations
                                      Instances For
                                        def Flypitch.fol.bd_equal {L : Language} {n : } (t₁ t₂ : bounded_term L n) :

                                        Equality of bounded terms as a bounded formula.

                                        Equations
                                        Instances For
                                          def Flypitch.fol.bd_rel {L : Language} {n l : } (R : L.relations l) :

                                          A relation symbol viewed as a bounded partially applied formula.

                                          Equations
                                          Instances For
                                            def Flypitch.fol.bd_apprel {L : Language} {n l : } (f : bounded_preformula L n (l + 1)) (t : bounded_term L n) :

                                            Apply a bounded partially applied formula to a bounded term.

                                            Equations
                                            Instances For
                                              def Flypitch.fol.bd_imp {L : Language} {n : } (f₁ f₂ : bounded_formula L n) :

                                              Implication preserves boundedness.

                                              Equations
                                              Instances For

                                                Universal quantification lowers the free-variable bound by one.

                                                Equations
                                                Instances For

                                                  Negation on bounded formulas.

                                                  Equations
                                                  Instances For
                                                    def Flypitch.fol.bd_and {L : Language} {n : } (f₁ f₂ : bounded_formula L n) :

                                                    Conjunction on bounded formulas.

                                                    Equations
                                                    Instances For
                                                      def Flypitch.fol.bd_or {L : Language} {n : } (f₁ f₂ : bounded_formula L n) :

                                                      Disjunction on bounded formulas.

                                                      Equations
                                                      Instances For
                                                        def Flypitch.fol.bd_biimp {L : Language} {n : } (f₁ f₂ : bounded_formula L n) :

                                                        Biconditional on bounded formulas.

                                                        Equations
                                                        Instances For
                                                          def Flypitch.fol.bd_ex {L : Language} {n : } (f : bounded_formula L (n + 1)) :

                                                          Existential quantification on bounded formulas.

                                                          Equations
                                                          Instances For

                                                            Fully apply a bounded relation formula to bounded arguments.

                                                            Equations
                                                            Instances For
                                                              theorem Flypitch.fol.bd_app_fst {L : Language} {n l : } (t : bounded_preterm L n (l + 1)) (s : bounded_term L n) :