• Top
    • Documentation
    • Books
    • Boolean-reasoning
    • Projects
    • Debugging
    • Std
    • Proof-automation
    • Macro-libraries
      • B*
      • Defunc
      • Fty
      • Apt
      • Std/util
        • Defprojection
        • Deflist
        • Defaggregate
        • Define
        • Defmapping
        • Defenum
        • Add-io-pairs
          • Add-io-pairs-details
          • Show-io-pairs
          • Get-io-pairs
          • Merge-io-pairs
          • Remove-io-pairs
          • Add-io-pair
            • Deinstall-io-pairs
            • Install-io-pairs
          • Defalist
          • Defmapappend
          • Returns-specifiers
          • Defarbrec
          • Defines
          • Define-sk
          • Error-value-tuples
          • Defmax-nat
          • Defmin-int
          • Deftutorial
          • Extended-formals
          • Defrule
          • Defval
          • Defsurj
          • Defiso
          • Defconstrained-recognizer
          • Deffixer
          • Defmvtypes
          • Defconsts
          • Defthm-unsigned-byte-p
          • Support
          • Defthm-signed-byte-p
          • Defthm-natp
          • Defund-sk
          • Defmacro+
          • Defsum
          • Defthm-commutative
          • Definj
          • Defirrelevant
          • Defredundant
        • Defdata
        • Defrstobj
        • Seq
        • Match-tree
        • Defrstobj
        • With-supporters
        • Def-partial-measure
        • Template-subst
        • Soft
        • Defthm-domain
        • Event-macros
        • Def-universal-equiv
        • Def-saved-obligs
        • With-supporters-after
        • Definec
        • Sig
        • Outer-local
        • Data-structures
      • ACL2
      • Interfacing-tools
      • Hardware-verification
      • Software-verification
      • Math
      • Testing-utilities
    • Add-io-pairs

    Add-io-pair

    Speed up a function using a verified input-output pair

    Add-io-pair is just a convenient abbreviation for add-io-pairs in the case of a single input-output pair. See add-io-pairs.

    Examples:
    (add-io-pair (f 3) '(3 . 3))
    
    (add-io-pair (g 3 4) (mv 30 40))
    
    (add-io-pair
     (primep (primes::bn-254-group-prime)) t
     :test eql
     :hints (("Goal"
              :in-theory
              (enable primes::primep-of-bn-254-group-prime-constant))))
    
    General Form:
    (add-io-pair fn input output &key hints test debug verbose)

    where fn is a guard-verified function symbol whose arguments do not include state or any user-defined stobj. The arguments to the macro are not evaluated.

    Add-io-pair is merely a convenient way to invoke the utility add-io-pairs when there is a single input/output pair; see add-io-pairs for further documentation, including discussion of the keywords (which are optional).