Documentation

Cvc.Typed.Theory.FiniteField

Finite fields, typed #

def Cvc.Typed.Term.ffBitsum [Ω] {k : Nat} (lft rgt : Term (FiniteField k)) :

Weighted sum lft + 2 * rgt; ffBitsumN weighs further terms by 4, 8, …

Equations
Instances For
    def Cvc.Typed.Term.ffMulN [Ω] {k : Nat} (terms : Terms (FiniteField k)) (atLeastTwoElements : 2 ≤ Array.size terms := by (try grind) <;> fail "failed to prove term array has at least two elements") :

    ffMul over two or more terms.

    Equations
    Instances For
      def Cvc.Typed.Term.ffAdd [Ω] {k : Nat} (lft rgt : Term (FiniteField k)) :

      Addition.

      Equations
      Instances For

        Negation.

        Equations
        Instances For
          def Cvc.Typed.Term.ffMul [Ω] {k : Nat} (lft rgt : Term (FiniteField k)) :

          Multiplication.

          Equations
          Instances For
            def Cvc.Typed.Term.ffAddN [Ω] {k : Nat} (terms : Terms (FiniteField k)) (atLeastTwoElements : 2 ≤ Array.size terms := by (try grind) <;> fail "failed to prove term array has at least two elements") :

            ffAdd over two or more terms.

            Equations
            Instances For
              def Cvc.Typed.Term.ffBitsumN [Ω] {k : Nat} (terms : Terms (FiniteField k)) (atLeastTwoElements : 2 ≤ Array.size terms := by (try grind) <;> fail "failed to prove term array has at least two elements") :

              ffBitsum over two or more terms.

              Equations
              Instances For

                Takes a term apart one level, at its sort, if FiniteField owns its operator and the term's sort fits it.

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

                  FiniteField's operators, taken apart one level, indexed by the sort each produces.

                  Instances For

                    FiniteField's operators with a result of sort FiniteField.

                    Instances For

                      Values #

                      Determine if this term is a finite field value.

                      Equations
                      Instances For

                        The integer representing a constant finite-field element, in cvc5's symmetric representation.

                        Equations
                        Instances For
                          def Cvc.Typed.Term.mkFiniteFieldValue [Ω] {size : Nat} (elem : FiniteField size) :

                          The term denoting an element of a finite field.

                          Equations
                          Instances For

                            The finite-field element a constant term denotes.

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