• 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
          • Primitive-functions
          • Translated-terms
          • Values
          • Evaluation
          • Program-equivalence
          • Functions
          • Packages
            • Lift-package-list
            • Import-lookup
            • Package-option
            • Package-lookup
            • Package
            • Lift-package
            • Package-list
          • Programs
          • Interpreter
          • Evaluation-states
        • Prime-fields
        • Json
        • Syntheto
        • File-io-light
        • Cryptography
        • Number-theory
        • Lists-light
        • Axe
        • Builtins
        • Solidity
        • Helpers
        • Htclient
        • Typed-lists-light
        • Arithmetic-light
      • X86isa
      • Axe
      • Execloader
    • Math
    • Testing-utilities
  • ACL2-programming-language

Packages

A formalization of ACL2 packages.

Packages are defined via defpkg in ACL2. Its arguments are the name of the package, a term that evaluates to the import list of the package, and an optional documentation string.

In our formalization, we ignore the documentation string, and we consider the evaluated import list (as opposed to the term that evaluates to it). Thus, we introduce a notion of package as consisting of a package name and a list of symbol values.

Here we allow any string as package name, despite the restrictions given in defpkg. Those restrictions can be captured elsewhere.

Subtopics

Lift-package-list
Lift a list of packages (specified by name) from the current ACL2 environment to the meta level, in the same order.
Import-lookup
Find a symbol with a given name in a package import list.
Package-option
Fixtype of optional packages.
Package-lookup
Look up a package in a list, by name.
Package
Fixtype of packages.
Lift-package
Lift a package from the current ACL2 environment to the meta level.
Package-list
Fixtype of lists of packages.