Documentation

Cvc.Typed.Theory.Nullable.Float

Floating point over nullables, typed #

Each lifted operator has its plain counterpart's signature with an Option around every argument and around the result, and nothing else changed. The lift is strict: none unless every argument is some.

A rounding-mode argument becomes nullable along with the rest: fpAdd? takes a Term (Option Float.RoundingMode), since nullable.lift makes every argument of the lifted operator nullable and none of them optional.

def Cvc.Typed.Term.fpIsNormal? [Ω] {e s : Nat} (fp : Term (Option (Float e s))) :

fpIsNormal lifted over nullables, strictly: none unless every argument is some.

Equations
Instances For
    def Cvc.Typed.Term.fpIsInf? [Ω] {e s : Nat} (fp : Term (Option (Float e s))) :

    fpIsInf lifted over nullables, strictly: none unless every argument is some.

    Equations
    Instances For
      def Cvc.Typed.Term.fpDiv? [Ω] {e s : Nat} (rm : Term (Option Float.RoundingMode)) (lft rgt : Term (Option (Float e s))) :
      Env (Term (Option (Float e s)))

      fpDiv lifted over nullables, strictly: none unless every argument is some.

      Equations
      Instances For
        def Cvc.Typed.Term.fpGe? [Ω] {e s : Nat} (lft rgt : Term (Option (Float e s))) :

        fpGe lifted over nullables, strictly: none unless every argument is some.

        Equations
        Instances For
          def Cvc.Typed.Term.fpRti? [Ω] {e s : Nat} (rm : Term (Option Float.RoundingMode)) (fp : Term (Option (Float e s))) :
          Env (Term (Option (Float e s)))

          fpRti lifted over nullables, strictly: none unless every argument is some.

          Equations
          Instances For
            def Cvc.Typed.Term.fpRem? [Ω] {e s : Nat} (lft rgt : Term (Option (Float e s))) :
            Env (Term (Option (Float e s)))

            fpRem lifted over nullables, strictly: none unless every argument is some.

            Equations
            Instances For
              def Cvc.Typed.Term.fpEq? [Ω] {e s : Nat} (lft rgt : Term (Option (Float e s))) :

              fpEq lifted over nullables, strictly: none unless every argument is some.

              Equations
              Instances For
                def Cvc.Typed.Term.fpSub? [Ω] {e s : Nat} (rm : Term (Option Float.RoundingMode)) (lft rgt : Term (Option (Float e s))) :
                Env (Term (Option (Float e s)))

                fpSub lifted over nullables, strictly: none unless every argument is some.

                Equations
                Instances For
                  def Cvc.Typed.Term.fpAdd? [Ω] {e s : Nat} (rm : Term (Option Float.RoundingMode)) (lft rgt : Term (Option (Float e s))) :
                  Env (Term (Option (Float e s)))

                  fpAdd lifted over nullables, strictly: none unless every argument is some.

                  Equations
                  Instances For
                    def Cvc.Typed.Term.fpToReal? [Ω] {e s : Nat} (fp : Term (Option (Float e s))) :

                    fpToReal lifted over nullables, strictly: none unless every argument is some.

                    Equations
                    Instances For
                      def Cvc.Typed.Term.fpSqrt? [Ω] {e s : Nat} (rm : Term (Option Float.RoundingMode)) (fp : Term (Option (Float e s))) :
                      Env (Term (Option (Float e s)))

                      fpSqrt lifted over nullables, strictly: none unless every argument is some.

                      Equations
                      Instances For
                        def Cvc.Typed.Term.fpIsNan? [Ω] {e s : Nat} (fp : Term (Option (Float e s))) :

                        fpIsNan lifted over nullables, strictly: none unless every argument is some.

                        Equations
                        Instances For
                          def Cvc.Typed.Term.fpNeg? [Ω] {e s : Nat} (fp : Term (Option (Float e s))) :
                          Env (Term (Option (Float e s)))

                          fpNeg lifted over nullables, strictly: none unless every argument is some.

                          Equations
                          Instances For

                            fpIsSubnormal lifted over nullables, strictly: none unless every argument is some.

                            Equations
                            Instances For
                              def Cvc.Typed.Term.fpIsPos? [Ω] {e s : Nat} (fp : Term (Option (Float e s))) :

                              fpIsPos lifted over nullables, strictly: none unless every argument is some.

                              Equations
                              Instances For
                                def Cvc.Typed.Term.fpIsZero? [Ω] {e s : Nat} (fp : Term (Option (Float e s))) :

                                fpIsZero lifted over nullables, strictly: none unless every argument is some.

                                Equations
                                Instances For
                                  def Cvc.Typed.Term.fpLe? [Ω] {e s : Nat} (lft rgt : Term (Option (Float e s))) :

                                  fpLe lifted over nullables, strictly: none unless every argument is some.

                                  Equations
                                  Instances For
                                    def Cvc.Typed.Term.fpMax? [Ω] {e s : Nat} (lft rgt : Term (Option (Float e s))) :
                                    Env (Term (Option (Float e s)))

                                    fpMax lifted over nullables, strictly: none unless every argument is some.

                                    Equations
                                    Instances For
                                      def Cvc.Typed.Term.fpMul? [Ω] {e s : Nat} (rm : Term (Option Float.RoundingMode)) (lft rgt : Term (Option (Float e s))) :
                                      Env (Term (Option (Float e s)))

                                      fpMul lifted over nullables, strictly: none unless every argument is some.

                                      Equations
                                      Instances For
                                        def Cvc.Typed.Term.fpGt? [Ω] {e s : Nat} (lft rgt : Term (Option (Float e s))) :

                                        fpGt lifted over nullables, strictly: none unless every argument is some.

                                        Equations
                                        Instances For
                                          def Cvc.Typed.Term.fpLt? [Ω] {e s : Nat} (lft rgt : Term (Option (Float e s))) :

                                          fpLt lifted over nullables, strictly: none unless every argument is some.

                                          Equations
                                          Instances For
                                            def Cvc.Typed.Term.fpOfBits? [Ω] {e s : Nat} (sign : Term (Option (BitVec 1))) (exponent : Term (Option (BitVec e))) (significand : Term (Option (BitVec s))) :
                                            Env (Term (Option (Float e (s + 1))))

                                            fpOfBits lifted over nullables, strictly: none unless every argument is some.

                                            Equations
                                            Instances For
                                              def Cvc.Typed.Term.fpMin? [Ω] {e s : Nat} (lft rgt : Term (Option (Float e s))) :
                                              Env (Term (Option (Float e s)))

                                              fpMin lifted over nullables, strictly: none unless every argument is some.

                                              Equations
                                              Instances For
                                                def Cvc.Typed.Term.fpAbs? [Ω] {e s : Nat} (fp : Term (Option (Float e s))) :
                                                Env (Term (Option (Float e s)))

                                                fpAbs lifted over nullables, strictly: none unless every argument is some.

                                                Equations
                                                Instances For
                                                  def Cvc.Typed.Term.fpFma? [Ω] {e s : Nat} (rm : Term (Option Float.RoundingMode)) (a b c : Term (Option (Float e s))) :
                                                  Env (Term (Option (Float e s)))

                                                  fpFma lifted over nullables, strictly: none unless every argument is some.

                                                  Equations
                                                  Instances For
                                                    def Cvc.Typed.Term.fpIsNeg? [Ω] {e s : Nat} (fp : Term (Option (Float e s))) :

                                                    fpIsNeg lifted over nullables, strictly: none unless every argument is some.

                                                    Equations
                                                    Instances For