• Top
    • Documentation
    • Books
    • Boolean-reasoning
    • Projects
    • Debugging
    • Community
    • Std
    • Proof-automation
    • Macro-libraries
    • ACL2
    • Interfacing-tools
    • Hardware-verification
    • Software-verification
      • Kestrel-books
        • Crypto-hdwallet
        • Apt
        • Error-checking
        • Fty-extensions
          • Defbyte
            • Defbytelist
              • Defbytelist-standard-instances
                • Ubyte8-list
                • Ubyte4-list
                • Ubyte32-list
                • Ubyte256-list
                • Ubyte128-list
                • Ubyte64-list
                • Ubyte3-list
                • Ubyte2-list
                • Ubyte16-list
                • Ubyte11-list
                • Ubyte1-list
                • Sbyte8-list
                • Sbyte64-list
                • Sbyte4-list
                  • Sbyte4-list-fix
                  • Sbyte4-list-equiv
                    • Sbyte4-listp
                  • Sbyte32-list
                  • Sbyte3-list
                  • Sbyte256-list
                  • Sbyte2-list
                  • Sbyte16-list
                  • Sbyte128-list
                  • Sbyte1-list
                  • Defubytelist
                  • Defsbytelist
                • Defbytelist-implementation
              • Defbyte-standard-instances
              • Defbyte-ihs-theorems
              • Defbyte-implementation
            • Defresult
            • Fold
            • Specific-types
            • Defsubtype
            • Defset
            • Defflatsum
            • Deflist-of-len
            • Pos-list
            • Defomap
            • Defbytelist
              • Defbytelist-standard-instances
                • Ubyte8-list
                • Ubyte4-list
                • Ubyte32-list
                • Ubyte256-list
                • Ubyte128-list
                • Ubyte64-list
                • Ubyte3-list
                • Ubyte2-list
                • Ubyte16-list
                • Ubyte11-list
                • Ubyte1-list
                • Sbyte8-list
                • Sbyte64-list
                • Sbyte4-list
                  • Sbyte4-list-fix
                  • Sbyte4-list-equiv
                    • Sbyte4-listp
                  • Sbyte32-list
                  • Sbyte3-list
                  • Sbyte256-list
                  • Sbyte2-list
                  • Sbyte16-list
                  • Sbyte128-list
                  • Sbyte1-list
                  • Defubytelist
                  • Defsbytelist
                • Defbytelist-implementation
              • Defbyte-standard-instances
              • Deffixtype-alias
              • Defbytelist-standard-instances
                • Ubyte8-list
                • Ubyte4-list
                • Ubyte32-list
                • Ubyte256-list
                • Ubyte128-list
                • Ubyte64-list
                • Ubyte3-list
                • Ubyte2-list
                • Ubyte16-list
                • Ubyte11-list
                • Ubyte1-list
                • Sbyte8-list
                • Sbyte64-list
                • Sbyte4-list
                  • Sbyte4-list-fix
                  • Sbyte4-list-equiv
                    • Sbyte4-listp
                  • Sbyte32-list
                  • Sbyte3-list
                  • Sbyte256-list
                  • Sbyte2-list
                  • Sbyte16-list
                  • Sbyte128-list
                  • Sbyte1-list
                  • Defubytelist
                  • Defsbytelist
                • Defunit
                • Byte-list
                • Database
                • Byte
                • String-option
                • Pos-option
                • Nibble
                • Nat-option
                • Ubyte32-option
                • Byte-list20
                • Byte-list32
                • Byte-list64
                • Pseudo-event-form
                • Natoption/natoptionlist
                • Nati
                • Character-list
                • Nat/natlist
                • Maybe-string
                • Nibble-list
                • Natoption/natoptionlist-result
                • Nat/natlist-result
                • Nat-option-list-result
                • Set
                • String-result
                • String-list-result
                • Nat-result
                • Nat-option-result
                • Nat-list-result
                • Maybe-string-result
                • Integer-result
                • Character-result
                • Character-list-result
                • Boolean-result
                • Map
                • Dependencies
                • Bag
                • Pos-set
                • Hex-digit-char-list
                • Dec-digit-char-list
                • Pseudo-event-form-list
                • Nat-option-list
                • Character-any-map
                • Any-nat-map
                • Symbol-set
                • String-set
                • Nat-set
                • Character-set
                • Oct-digit-char-list
                • Bin-digit-char-list
                • Bit-list
              • Isar
              • Kestrel-utilities
              • Set
              • C
              • Soft
              • Bv
              • Imp-language
              • Ethereum
              • Event-macros
              • Java
              • Riscv
              • Bitcoin
              • Zcash
              • Yul
              • ACL2-programming-language
              • Prime-fields
              • Json
              • Syntheto
              • File-io-light
              • Cryptography
              • Number-theory
              • Axe
              • Lists-light
              • Builtins
              • Solidity
              • Helpers
              • Htclient
              • Typed-lists-light
              • Arithmetic-light
            • X86isa
            • Axe
            • Execloader
          • Math
          • Testing-utilities
        • Sbyte4-list

        Sbyte4-list-equiv

        Basic equivalence relation for sbyte4-list structures.

        Definitions and Theorems

        Function: sbyte4-list-equiv$inline

        (defun sbyte4-list-equiv$inline (x y)
          (declare (xargs :guard (and (sbyte4-listp x)
                                      (sbyte4-listp y))))
          (equal (sbyte4-list-fix x)
                 (sbyte4-list-fix y)))

        Theorem: sbyte4-list-equiv-is-an-equivalence

        (defthm sbyte4-list-equiv-is-an-equivalence
          (and (booleanp (sbyte4-list-equiv x y))
               (sbyte4-list-equiv x x)
               (implies (sbyte4-list-equiv x y)
                        (sbyte4-list-equiv y x))
               (implies (and (sbyte4-list-equiv x y)
                             (sbyte4-list-equiv y z))
                        (sbyte4-list-equiv x z)))
          :rule-classes (:equivalence))

        Theorem: sbyte4-list-equiv-implies-equal-sbyte4-list-fix-1

        (defthm sbyte4-list-equiv-implies-equal-sbyte4-list-fix-1
          (implies (sbyte4-list-equiv x x-equiv)
                   (equal (sbyte4-list-fix x)
                          (sbyte4-list-fix x-equiv)))
          :rule-classes (:congruence))

        Theorem: sbyte4-list-fix-under-sbyte4-list-equiv

        (defthm sbyte4-list-fix-under-sbyte4-list-equiv
          (sbyte4-list-equiv (sbyte4-list-fix x)
                             x)
          :rule-classes (:rewrite :rewrite-quoted-constant))

        Theorem: equal-of-sbyte4-list-fix-1-forward-to-sbyte4-list-equiv

        (defthm equal-of-sbyte4-list-fix-1-forward-to-sbyte4-list-equiv
          (implies (equal (sbyte4-list-fix x) y)
                   (sbyte4-list-equiv x y))
          :rule-classes :forward-chaining)

        Theorem: equal-of-sbyte4-list-fix-2-forward-to-sbyte4-list-equiv

        (defthm equal-of-sbyte4-list-fix-2-forward-to-sbyte4-list-equiv
          (implies (equal x (sbyte4-list-fix y))
                   (sbyte4-list-equiv x y))
          :rule-classes :forward-chaining)

        Theorem: sbyte4-list-equiv-of-sbyte4-list-fix-1-forward

        (defthm sbyte4-list-equiv-of-sbyte4-list-fix-1-forward
          (implies (sbyte4-list-equiv (sbyte4-list-fix x)
                                      y)
                   (sbyte4-list-equiv x y))
          :rule-classes :forward-chaining)

        Theorem: sbyte4-list-equiv-of-sbyte4-list-fix-2-forward

        (defthm sbyte4-list-equiv-of-sbyte4-list-fix-2-forward
          (implies (sbyte4-list-equiv x (sbyte4-list-fix y))
                   (sbyte4-list-equiv x y))
          :rule-classes :forward-chaining)