• Top
    • Documentation
    • Books
    • Boolean-reasoning
    • Projects
    • Debugging
    • Community
    • Std
      • Std/lists
      • Omaps
      • Std/alists
      • Obags
      • Std/util
      • Std/strings
      • Std/osets
      • Std/io
      • Std/basic
      • Std/system
      • Std/typed-lists
      • Std/bitsets
        • Bitsets
        • Sbitsets
          • Sbitset-members
            • Sbitset-pair-members
            • In-of-sbitset-members
              • Sbitset-find
          • Sbitset-pairp
          • Sbitsetp
          • Sbitset-intersect
          • Sbitset-difference
          • Sbitset-union
          • Sbitset-singleton
          • Sbitset-fix
        • Reasoning
      • Std/testing
      • Std/typed-alists
      • Std/stobjs
    • Proof-automation
    • Macro-libraries
    • ACL2
    • Interfacing-tools
    • Hardware-verification
    • Software-verification
    • Math
    • Testing-utilities
  • Sbitset-members

In-of-sbitset-members

Low-level lemma to rewrite (in a (sbitset-members x)) into a more structural form.

This theorem is disabled by default and most users shouldn't enable it. It's only needed to prove properties about the basic sbitset constructors.

This is a little more complicated than in the basic bitset library, because we have to go to the proper pair.

Definitions and Theorems

Theorem: in-of-sbitset-members

(defthm in-of-sbitset-members
  (equal
       (in a (sbitset-members x))
       (and (sbitsetp x)
            (let ((pair (sbitset-find (floor a *sbitset-block-size*)
                                      x)))
              (and pair
                   (in a (sbitset-pair-members pair)))))))

Subtopics

Sbitset-find
Helper definition; shouldn't be needed by users.