Documentation

LeanPool.FormalizationOfBoundedArithmetic.BasicSingleSorted

LeanPool.FormalizationOfBoundedArithmetic.BasicSingleSorted #

class BASICModel (num : Type u) extends FirstOrder.Language.peano.Structure num :
Type (max u u_1)

Single-sorted models of the BASIC arithmetic axioms.

Instances
    class BASICModelExt (num : Type u) extends BASICModel num :
    Type (max u u_1)

    BASIC models with the additional axiom (0 : num) + 1 = 1.

    Instances
      def natToM {M : Type u_1} [BASICModel M] :
      M

      Interpret natural-number literals in a BASIC model by iterating successor.

      Equations
      Instances For
        @[implicit_reducible]
        instance instOfNatLeanPool {M : Type u_1} [BASICModel M] (n : ) :
        OfNat M n
        Equations
        def pair {M : Type u_1} [BASICModel M] (x y : M) :
        M

        Pairing function used to encode two numbers as one number.

        Equations
        Instances For

          Pairing notation for two numbers.

          Equations
          • One or more equations did not get rendered due to their size.
          Instances For

            Pairing notation for three numbers.

            Equations
            • One or more equations did not get rendered due to their size.
            Instances For
              theorem BASICModel.le_refl {M : Type u} [iopen : BASICModel M] (a : M) :
              a a
              theorem BASICModel.zero_ne_add_one {M : Type u} [iopen : BASICModel M] (x : M) :
              x + 1 0