• Top
    • Documentation
    • Books
    • Boolean-reasoning
    • Projects
    • Debugging
    • Std
    • Proof-automation
    • Macro-libraries
    • ACL2
    • Interfacing-tools
    • Hardware-verification
    • Software-verification
      • Kestrel-books
        • Crypto-hdwallet
        • Apt
        • Error-checking
        • Fty-extensions
        • Isar
        • Kestrel-utilities
        • Set
        • Soft
        • C
        • Bv
        • Imp-language
        • Event-macros
        • Java
        • Bitcoin
        • Ethereum
        • Yul
        • Zcash
        • ACL2-programming-language
        • Prime-fields
        • Json
        • Syntheto
        • File-io-light
        • Cryptography
          • R1cs
          • Interfaces
          • Sha-2
          • Keccak
          • Kdf
          • Mimc
          • Padding
          • Hmac
          • Elliptic-curves
            • Secp256k1-attachment
            • Twisted-edwards
            • Montgomery
            • Short-weierstrass-curves
            • Birational-montgomery-twisted-edwards
            • Has-square-root?-satisfies-pfield-squarep
            • Secp256k1
            • Secp256k1-domain-parameters
            • Secp256k1-types
            • Pfield-squarep
            • Secp256k1-interface
            • Prime-field-extra-rules
            • Points
              • Pointp
                • Point-in-pxp-p
                • Points-fty
            • Attachments
            • Elliptic-curve-digital-signature-algorithm
          • Number-theory
          • Lists-light
          • Axe
          • Builtins
          • Solidity
          • Helpers
          • Htclient
          • Typed-lists-light
          • Arithmetic-light
        • X86isa
        • Axe
        • Execloader
      • Math
      • Testing-utilities
    • Points

    Pointp

    Recognize all possible points of all possible elliptic curves.

    Signature
    (pointp point) → *

    This models (at least) all possible points of all possible elliptic curves. A point, as modeled here, is either a pair of natural numbers or a special point at infinity.

    This type of points is perhaps more general then elliptic curves, and thus it might be factored out into some more general library.

    Definitions and Theorems

    Function: pointp

    (defun pointp (point)
      (declare (xargs :guard t))
      (let ((acl2::__function__ 'pointp))
        (declare (ignorable acl2::__function__))
        (or (and (consp point)
                 (natp (car point))
                 (natp (cdr point)))
            (eq point :infinity))))