• Top
    • Documentation
    • Books
    • Boolean-reasoning
    • Projects
    • Debugging
    • Std
    • Proof-automation
    • Macro-libraries
    • ACL2
    • Interfacing-tools
    • Hardware-verification
    • Software-verification
    • Math
      • 100-theorems
      • Arithmetic
      • Bit-vectors
        • Sparseint
        • Bitops
          • Bitops/merge
            • Merge-64-u8s
              • Merge-64-bits
              • Merge-32-u8s
              • Merge-32-u4s
              • Merge-32-u2s
              • Merge-32-u16s
              • Merge-32-bits
              • Merge-16-bits
              • Merge-16-u32s
              • Merge-16-u16s
              • Merge-16-u8s
              • Merge-16-u4s
              • Merge-16-u2s
              • Merge-8-bits
              • Merge-8-u2s
              • Merge-8-u64s
              • Merge-8-u4s
              • Merge-8-u32s
              • Merge-8-u16s
              • Merge-8-u8s
              • Merge-4-bits
              • Merge-4-u8s
              • Merge-4-u4s
              • Merge-4-u16s
              • Merge-4-u2s
              • Merge-4-u64s
              • Merge-4-u32s
              • Merge-4-u128s
              • Merge-2-u64s
              • Merge-2-u256s
              • Merge-2-u16s
              • Merge-2-u128s
              • Merge-2-bits
              • Merge-2-u8s
              • Merge-2-u4s
              • Merge-2-u32s
              • Merge-2-u2s
              • Merge-unsigneds
              • Merge-unsigneds-aux
              • Indexed-subst-templates
            • Bitops-compatibility
            • Bitops-books
            • Logbitp-reasoning
            • Bitops/signed-byte-p
            • Fast-part-select
            • Bitops/integer-length
            • Bitops/extra-defs
            • Install-bit
            • Trailing-0-count
            • Bitops/defaults
            • Logbitp-mismatch
            • Trailing-1-count
            • Bitops/rotate
            • Bitops/equal-by-logbitp
            • Bitops/ash-bounds
            • Bitops/fast-logrev
            • Limited-shifts
            • Bitops/part-select
            • Bitops/parity
            • Bitops/saturate
            • Bitops/part-install
            • Bitops/logbitp-bounds
            • Bitops/ihsext-basics
            • Bitops/fast-rotate
            • Bitops/fast-logext
            • Bitops/ihs-extensions
          • Bv
          • Ihs
          • Rtl
        • Algebra
      • Testing-utilities
    • Bitops/merge

    Merge-64-u8s

    Concatenate 64 bytes together to form an 512-bit result.

    Signature
    (merge-64-u8s a63 a62 
                  a61 a60 a59 a58 a57 a56 a55 a54 a53 a52 
                  a51 a50 a49 a48 a47 a46 a45 a44 a43 a42 
                  a41 a40 a39 a38 a37 a36 a35 a34 a33 a32 
                  a31 a30 a29 a28 a27 a26 a25 a24 a23 a22 
                  a21 a20 a19 a18 a17 a16 a15 a14 a13 a12 
                  a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0) 
     
      → 
    result
    Returns
    result — Type (natp result).

    Definitions and Theorems

    Function: merge-64-u8s

    (defun merge-64-u8s (a63 a62
                             a61 a60 a59 a58 a57 a56 a55 a54 a53 a52
                             a51 a50 a49 a48 a47 a46 a45 a44 a43 a42
                             a41 a40 a39 a38 a37 a36 a35 a34 a33 a32
                             a31 a30 a29 a28 a27 a26 a25 a24 a23 a22
                             a21 a20 a19 a18 a17 a16 a15 a14 a13 a12
                             a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)
     (declare (type (unsigned-byte 8)
                    a63 a62
                    a61 a60 a59 a58 a57 a56 a55 a54 a53 a52
                    a51 a50 a49 a48 a47 a46 a45 a44 a43 a42
                    a41 a40 a39 a38 a37 a36 a35 a34 a33 a32
                    a31 a30 a29 a28 a27 a26 a25 a24 a23 a22
                    a21 a20 a19 a18 a17 a16 a15 a14 a13 a12
                    a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0))
     (declare (xargs :guard t))
     (let ((__function__ 'merge-64-u8s))
      (declare (ignorable __function__))
      (mbe
         :logic (logapp* 8 (nfix a0)
                         (nfix a1)
                         (nfix a2)
                         (nfix a3)
                         (nfix a4)
                         (nfix a5)
                         (nfix a6)
                         (nfix a7)
                         (nfix a8)
                         (nfix a9)
                         (nfix a10)
                         (nfix a11)
                         (nfix a12)
                         (nfix a13)
                         (nfix a14)
                         (nfix a15)
                         (nfix a16)
                         (nfix a17)
                         (nfix a18)
                         (nfix a19)
                         (nfix a20)
                         (nfix a21)
                         (nfix a22)
                         (nfix a23)
                         (nfix a24)
                         (nfix a25)
                         (nfix a26)
                         (nfix a27)
                         (nfix a28)
                         (nfix a29)
                         (nfix a30)
                         (nfix a31)
                         (nfix a32)
                         (nfix a33)
                         (nfix a34)
                         (nfix a35)
                         (nfix a36)
                         (nfix a37)
                         (nfix a38)
                         (nfix a39)
                         (nfix a40)
                         (nfix a41)
                         (nfix a42)
                         (nfix a43)
                         (nfix a44)
                         (nfix a45)
                         (nfix a46)
                         (nfix a47)
                         (nfix a48)
                         (nfix a49)
                         (nfix a50)
                         (nfix a51)
                         (nfix a52)
                         (nfix a53)
                         (nfix a54)
                         (nfix a55)
                         (nfix a56)
                         (nfix a57)
                         (nfix a58)
                         (nfix a59)
                         (nfix a60)
                         (nfix a61)
                         (nfix a62)
                         (nfix a63)
                         0)
         :exec
         (merge-2-u256s
              (the (unsigned-byte 256)
                   (merge-32-u8s a63 a62 a61
                                 a60 a59 a58 a57 a56 a55 a54 a53 a52 a51
                                 a50 a49 a48 a47 a46 a45 a44 a43 a42 a41
                                 a40 a39 a38 a37 a36 a35 a34 a33 a32))
              (the (unsigned-byte 256)
                   (merge-32-u8s a31
                                 a30 a29 a28 a27 a26 a25 a24 a23 a22 a21
                                 a20 a19 a18 a17 a16 a15 a14 a13 a12 a11
                                 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0))))))

    Theorem: natp-of-merge-64-u8s

    (defthm acl2::natp-of-merge-64-u8s
     (b* ((result (merge-64-u8s a63 a62
                                a61 a60 a59 a58 a57 a56 a55 a54 a53 a52
                                a51 a50 a49 a48 a47 a46 a45 a44 a43 a42
                                a41 a40 a39 a38 a37 a36 a35 a34 a33 a32
                                a31 a30 a29 a28 a27 a26 a25 a24 a23 a22
                                a21 a20 a19 a18 a17 a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)))
       (natp result))
     :rule-classes :type-prescription)

    Theorem: unsigned-byte-p-512-of-merge-64-u8s

    (defthm unsigned-byte-p-512-of-merge-64-u8s
     (unsigned-byte-p
          512
          (merge-64-u8s a63 a62
                        a61 a60 a59 a58 a57 a56 a55 a54 a53 a52
                        a51 a50 a49 a48 a47 a46 a45 a44 a43 a42
                        a41 a40 a39 a38 a37 a36 a35 a34 a33 a32
                        a31 a30 a29 a28 a27 a26 a25 a24 a23 a22
                        a21 a20 a19 a18 a17 a16 a15 a14 a13 a12
                        a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0))
     :rule-classes
     ((:rewrite
        :corollary
        (implies
             (>= (nfix n) 512)
             (unsigned-byte-p
                  n
                  (merge-64-u8s a63 a62
                                a61 a60 a59 a58 a57 a56 a55 a54 a53 a52
                                a51 a50 a49 a48 a47 a46 a45 a44 a43 a42
                                a41 a40 a39 a38 a37 a36 a35 a34 a33 a32
                                a31 a30 a29 a28 a27 a26 a25 a24 a23 a22
                                a21 a20 a19 a18 a17 a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)))
        :hints (("Goal" :in-theory (disable unsigned-byte-p))))))

    Theorem: merge-64-u8s-is-merge-unsigneds

    (defthm merge-64-u8s-is-merge-unsigneds
      (equal (merge-64-u8s a63 a62
                           a61 a60 a59 a58 a57 a56 a55 a54 a53 a52
                           a51 a50 a49 a48 a47 a46 a45 a44 a43 a42
                           a41 a40 a39 a38 a37 a36 a35 a34 a33 a32
                           a31 a30 a29 a28 a27 a26 a25 a24 a23 a22
                           a21 a20 a19 a18 a17 a16 a15 a14 a13 a12
                           a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)
             (merge-unsigneds 8
                              (list (nfix a63)
                                    (nfix a62)
                                    (nfix a61)
                                    (nfix a60)
                                    (nfix a59)
                                    (nfix a58)
                                    (nfix a57)
                                    (nfix a56)
                                    (nfix a55)
                                    (nfix a54)
                                    (nfix a53)
                                    (nfix a52)
                                    (nfix a51)
                                    (nfix a50)
                                    (nfix a49)
                                    (nfix a48)
                                    (nfix a47)
                                    (nfix a46)
                                    (nfix a45)
                                    (nfix a44)
                                    (nfix a43)
                                    (nfix a42)
                                    (nfix a41)
                                    (nfix a40)
                                    (nfix a39)
                                    (nfix a38)
                                    (nfix a37)
                                    (nfix a36)
                                    (nfix a35)
                                    (nfix a34)
                                    (nfix a33)
                                    (nfix a32)
                                    (nfix a31)
                                    (nfix a30)
                                    (nfix a29)
                                    (nfix a28)
                                    (nfix a27)
                                    (nfix a26)
                                    (nfix a25)
                                    (nfix a24)
                                    (nfix a23)
                                    (nfix a22)
                                    (nfix a21)
                                    (nfix a20)
                                    (nfix a19)
                                    (nfix a18)
                                    (nfix a17)
                                    (nfix a16)
                                    (nfix a15)
                                    (nfix a14)
                                    (nfix a13)
                                    (nfix a12)
                                    (nfix a11)
                                    (nfix a10)
                                    (nfix a9)
                                    (nfix a8)
                                    (nfix a7)
                                    (nfix a6)
                                    (nfix a5)
                                    (nfix a4)
                                    (nfix a3)
                                    (nfix a2)
                                    (nfix a1)
                                    (nfix a0)))))
    Basic nat-equiv congruences.

    Theorem: nat-equiv-implies-equal-merge-64-u8s-64

    (defthm nat-equiv-implies-equal-merge-64-u8s-64
      (implies
           (nat-equiv a0 a0-equiv)
           (equal (merge-64-u8s a63 a62
                                a61 a60 a59 a58 a57 a56 a55 a54 a53 a52
                                a51 a50 a49 a48 a47 a46 a45 a44 a43 a42
                                a41 a40 a39 a38 a37 a36 a35 a34 a33 a32
                                a31 a30 a29 a28 a27 a26 a25 a24 a23 a22
                                a21 a20 a19 a18 a17 a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)
                  (merge-64-u8s a63 a62 a61 a60
                                a59 a58 a57 a56 a55 a54 a53 a52 a51 a50
                                a49 a48 a47 a46 a45 a44 a43 a42 a41 a40
                                a39 a38 a37 a36 a35 a34 a33 a32 a31 a30
                                a29 a28 a27 a26 a25 a24 a23 a22 a21 a20
                                a19 a18 a17 a16 a15 a14 a13 a12 a11 a10
                                a9 a8 a7 a6 a5 a4 a3 a2 a1 a0-equiv)))
      :rule-classes (:congruence))

    Theorem: nat-equiv-implies-equal-merge-64-u8s-63

    (defthm nat-equiv-implies-equal-merge-64-u8s-63
      (implies
           (nat-equiv a1 a1-equiv)
           (equal (merge-64-u8s a63 a62
                                a61 a60 a59 a58 a57 a56 a55 a54 a53 a52
                                a51 a50 a49 a48 a47 a46 a45 a44 a43 a42
                                a41 a40 a39 a38 a37 a36 a35 a34 a33 a32
                                a31 a30 a29 a28 a27 a26 a25 a24 a23 a22
                                a21 a20 a19 a18 a17 a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)
                  (merge-64-u8s a63 a62 a61 a60
                                a59 a58 a57 a56 a55 a54 a53 a52 a51 a50
                                a49 a48 a47 a46 a45 a44 a43 a42 a41 a40
                                a39 a38 a37 a36 a35 a34 a33 a32 a31 a30
                                a29 a28 a27 a26 a25 a24 a23 a22 a21 a20
                                a19 a18 a17 a16 a15 a14 a13 a12 a11 a10
                                a9 a8 a7 a6 a5 a4 a3 a2 a1-equiv a0)))
      :rule-classes (:congruence))

    Theorem: nat-equiv-implies-equal-merge-64-u8s-62

    (defthm nat-equiv-implies-equal-merge-64-u8s-62
      (implies
           (nat-equiv a2 a2-equiv)
           (equal (merge-64-u8s a63 a62
                                a61 a60 a59 a58 a57 a56 a55 a54 a53 a52
                                a51 a50 a49 a48 a47 a46 a45 a44 a43 a42
                                a41 a40 a39 a38 a37 a36 a35 a34 a33 a32
                                a31 a30 a29 a28 a27 a26 a25 a24 a23 a22
                                a21 a20 a19 a18 a17 a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)
                  (merge-64-u8s a63 a62 a61 a60
                                a59 a58 a57 a56 a55 a54 a53 a52 a51 a50
                                a49 a48 a47 a46 a45 a44 a43 a42 a41 a40
                                a39 a38 a37 a36 a35 a34 a33 a32 a31 a30
                                a29 a28 a27 a26 a25 a24 a23 a22 a21 a20
                                a19 a18 a17 a16 a15 a14 a13 a12 a11 a10
                                a9 a8 a7 a6 a5 a4 a3 a2-equiv a1 a0)))
      :rule-classes (:congruence))

    Theorem: nat-equiv-implies-equal-merge-64-u8s-61

    (defthm nat-equiv-implies-equal-merge-64-u8s-61
      (implies
           (nat-equiv a3 a3-equiv)
           (equal (merge-64-u8s a63 a62
                                a61 a60 a59 a58 a57 a56 a55 a54 a53 a52
                                a51 a50 a49 a48 a47 a46 a45 a44 a43 a42
                                a41 a40 a39 a38 a37 a36 a35 a34 a33 a32
                                a31 a30 a29 a28 a27 a26 a25 a24 a23 a22
                                a21 a20 a19 a18 a17 a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)
                  (merge-64-u8s a63 a62 a61 a60
                                a59 a58 a57 a56 a55 a54 a53 a52 a51 a50
                                a49 a48 a47 a46 a45 a44 a43 a42 a41 a40
                                a39 a38 a37 a36 a35 a34 a33 a32 a31 a30
                                a29 a28 a27 a26 a25 a24 a23 a22 a21 a20
                                a19 a18 a17 a16 a15 a14 a13 a12 a11 a10
                                a9 a8 a7 a6 a5 a4 a3-equiv a2 a1 a0)))
      :rule-classes (:congruence))

    Theorem: nat-equiv-implies-equal-merge-64-u8s-60

    (defthm nat-equiv-implies-equal-merge-64-u8s-60
      (implies
           (nat-equiv a4 a4-equiv)
           (equal (merge-64-u8s a63 a62
                                a61 a60 a59 a58 a57 a56 a55 a54 a53 a52
                                a51 a50 a49 a48 a47 a46 a45 a44 a43 a42
                                a41 a40 a39 a38 a37 a36 a35 a34 a33 a32
                                a31 a30 a29 a28 a27 a26 a25 a24 a23 a22
                                a21 a20 a19 a18 a17 a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)
                  (merge-64-u8s a63 a62 a61 a60
                                a59 a58 a57 a56 a55 a54 a53 a52 a51 a50
                                a49 a48 a47 a46 a45 a44 a43 a42 a41 a40
                                a39 a38 a37 a36 a35 a34 a33 a32 a31 a30
                                a29 a28 a27 a26 a25 a24 a23 a22 a21 a20
                                a19 a18 a17 a16 a15 a14 a13 a12 a11 a10
                                a9 a8 a7 a6 a5 a4-equiv a3 a2 a1 a0)))
      :rule-classes (:congruence))

    Theorem: nat-equiv-implies-equal-merge-64-u8s-59

    (defthm nat-equiv-implies-equal-merge-64-u8s-59
      (implies
           (nat-equiv a5 a5-equiv)
           (equal (merge-64-u8s a63 a62
                                a61 a60 a59 a58 a57 a56 a55 a54 a53 a52
                                a51 a50 a49 a48 a47 a46 a45 a44 a43 a42
                                a41 a40 a39 a38 a37 a36 a35 a34 a33 a32
                                a31 a30 a29 a28 a27 a26 a25 a24 a23 a22
                                a21 a20 a19 a18 a17 a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)
                  (merge-64-u8s a63 a62 a61 a60
                                a59 a58 a57 a56 a55 a54 a53 a52 a51 a50
                                a49 a48 a47 a46 a45 a44 a43 a42 a41 a40
                                a39 a38 a37 a36 a35 a34 a33 a32 a31 a30
                                a29 a28 a27 a26 a25 a24 a23 a22 a21 a20
                                a19 a18 a17 a16 a15 a14 a13 a12 a11 a10
                                a9 a8 a7 a6 a5-equiv a4 a3 a2 a1 a0)))
      :rule-classes (:congruence))

    Theorem: nat-equiv-implies-equal-merge-64-u8s-58

    (defthm nat-equiv-implies-equal-merge-64-u8s-58
      (implies
           (nat-equiv a6 a6-equiv)
           (equal (merge-64-u8s a63 a62
                                a61 a60 a59 a58 a57 a56 a55 a54 a53 a52
                                a51 a50 a49 a48 a47 a46 a45 a44 a43 a42
                                a41 a40 a39 a38 a37 a36 a35 a34 a33 a32
                                a31 a30 a29 a28 a27 a26 a25 a24 a23 a22
                                a21 a20 a19 a18 a17 a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)
                  (merge-64-u8s a63 a62 a61 a60
                                a59 a58 a57 a56 a55 a54 a53 a52 a51 a50
                                a49 a48 a47 a46 a45 a44 a43 a42 a41 a40
                                a39 a38 a37 a36 a35 a34 a33 a32 a31 a30
                                a29 a28 a27 a26 a25 a24 a23 a22 a21 a20
                                a19 a18 a17 a16 a15 a14 a13 a12 a11 a10
                                a9 a8 a7 a6-equiv a5 a4 a3 a2 a1 a0)))
      :rule-classes (:congruence))

    Theorem: nat-equiv-implies-equal-merge-64-u8s-57

    (defthm nat-equiv-implies-equal-merge-64-u8s-57
      (implies
           (nat-equiv a7 a7-equiv)
           (equal (merge-64-u8s a63 a62
                                a61 a60 a59 a58 a57 a56 a55 a54 a53 a52
                                a51 a50 a49 a48 a47 a46 a45 a44 a43 a42
                                a41 a40 a39 a38 a37 a36 a35 a34 a33 a32
                                a31 a30 a29 a28 a27 a26 a25 a24 a23 a22
                                a21 a20 a19 a18 a17 a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)
                  (merge-64-u8s a63 a62 a61 a60
                                a59 a58 a57 a56 a55 a54 a53 a52 a51 a50
                                a49 a48 a47 a46 a45 a44 a43 a42 a41 a40
                                a39 a38 a37 a36 a35 a34 a33 a32 a31 a30
                                a29 a28 a27 a26 a25 a24 a23 a22 a21 a20
                                a19 a18 a17 a16 a15 a14 a13 a12 a11 a10
                                a9 a8 a7-equiv a6 a5 a4 a3 a2 a1 a0)))
      :rule-classes (:congruence))

    Theorem: nat-equiv-implies-equal-merge-64-u8s-56

    (defthm nat-equiv-implies-equal-merge-64-u8s-56
      (implies
           (nat-equiv a8 a8-equiv)
           (equal (merge-64-u8s a63 a62
                                a61 a60 a59 a58 a57 a56 a55 a54 a53 a52
                                a51 a50 a49 a48 a47 a46 a45 a44 a43 a42
                                a41 a40 a39 a38 a37 a36 a35 a34 a33 a32
                                a31 a30 a29 a28 a27 a26 a25 a24 a23 a22
                                a21 a20 a19 a18 a17 a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)
                  (merge-64-u8s a63 a62 a61 a60
                                a59 a58 a57 a56 a55 a54 a53 a52 a51 a50
                                a49 a48 a47 a46 a45 a44 a43 a42 a41 a40
                                a39 a38 a37 a36 a35 a34 a33 a32 a31 a30
                                a29 a28 a27 a26 a25 a24 a23 a22 a21 a20
                                a19 a18 a17 a16 a15 a14 a13 a12 a11 a10
                                a9 a8-equiv a7 a6 a5 a4 a3 a2 a1 a0)))
      :rule-classes (:congruence))

    Theorem: nat-equiv-implies-equal-merge-64-u8s-55

    (defthm nat-equiv-implies-equal-merge-64-u8s-55
      (implies
           (nat-equiv a9 a9-equiv)
           (equal (merge-64-u8s a63 a62
                                a61 a60 a59 a58 a57 a56 a55 a54 a53 a52
                                a51 a50 a49 a48 a47 a46 a45 a44 a43 a42
                                a41 a40 a39 a38 a37 a36 a35 a34 a33 a32
                                a31 a30 a29 a28 a27 a26 a25 a24 a23 a22
                                a21 a20 a19 a18 a17 a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)
                  (merge-64-u8s a63 a62 a61 a60
                                a59 a58 a57 a56 a55 a54 a53 a52 a51 a50
                                a49 a48 a47 a46 a45 a44 a43 a42 a41 a40
                                a39 a38 a37 a36 a35 a34 a33 a32 a31 a30
                                a29 a28 a27 a26 a25 a24 a23 a22 a21 a20
                                a19 a18 a17 a16 a15 a14 a13 a12 a11 a10
                                a9-equiv a8 a7 a6 a5 a4 a3 a2 a1 a0)))
      :rule-classes (:congruence))

    Theorem: nat-equiv-implies-equal-merge-64-u8s-54

    (defthm nat-equiv-implies-equal-merge-64-u8s-54
      (implies
           (nat-equiv a10 a10-equiv)
           (equal (merge-64-u8s a63 a62
                                a61 a60 a59 a58 a57 a56 a55 a54 a53 a52
                                a51 a50 a49 a48 a47 a46 a45 a44 a43 a42
                                a41 a40 a39 a38 a37 a36 a35 a34 a33 a32
                                a31 a30 a29 a28 a27 a26 a25 a24 a23 a22
                                a21 a20 a19 a18 a17 a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)
                  (merge-64-u8s a63 a62 a61 a60 a59 a58
                                a57 a56 a55 a54 a53 a52 a51 a50 a49 a48
                                a47 a46 a45 a44 a43 a42 a41 a40 a39 a38
                                a37 a36 a35 a34 a33 a32 a31 a30 a29 a28
                                a27 a26 a25 a24 a23 a22 a21 a20 a19 a18
                                a17 a16 a15 a14 a13 a12 a11 a10-equiv
                                a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)))
      :rule-classes (:congruence))

    Theorem: nat-equiv-implies-equal-merge-64-u8s-53

    (defthm nat-equiv-implies-equal-merge-64-u8s-53
      (implies
           (nat-equiv a11 a11-equiv)
           (equal (merge-64-u8s a63 a62
                                a61 a60 a59 a58 a57 a56 a55 a54 a53 a52
                                a51 a50 a49 a48 a47 a46 a45 a44 a43 a42
                                a41 a40 a39 a38 a37 a36 a35 a34 a33 a32
                                a31 a30 a29 a28 a27 a26 a25 a24 a23 a22
                                a21 a20 a19 a18 a17 a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)
                  (merge-64-u8s a63 a62 a61 a60 a59
                                a58 a57 a56 a55 a54 a53 a52 a51 a50 a49
                                a48 a47 a46 a45 a44 a43 a42 a41 a40 a39
                                a38 a37 a36 a35 a34 a33 a32 a31 a30 a29
                                a28 a27 a26 a25 a24 a23 a22 a21 a20 a19
                                a18 a17 a16 a15 a14 a13 a12 a11-equiv
                                a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)))
      :rule-classes (:congruence))

    Theorem: nat-equiv-implies-equal-merge-64-u8s-52

    (defthm nat-equiv-implies-equal-merge-64-u8s-52
      (implies
           (nat-equiv a12 a12-equiv)
           (equal (merge-64-u8s a63 a62
                                a61 a60 a59 a58 a57 a56 a55 a54 a53 a52
                                a51 a50 a49 a48 a47 a46 a45 a44 a43 a42
                                a41 a40 a39 a38 a37 a36 a35 a34 a33 a32
                                a31 a30 a29 a28 a27 a26 a25 a24 a23 a22
                                a21 a20 a19 a18 a17 a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)
                  (merge-64-u8s a63 a62 a61 a60
                                a59 a58 a57 a56 a55 a54 a53 a52 a51 a50
                                a49 a48 a47 a46 a45 a44 a43 a42 a41 a40
                                a39 a38 a37 a36 a35 a34 a33 a32 a31 a30
                                a29 a28 a27 a26 a25 a24 a23 a22 a21 a20
                                a19 a18 a17 a16 a15 a14 a13 a12-equiv
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)))
      :rule-classes (:congruence))

    Theorem: nat-equiv-implies-equal-merge-64-u8s-51

    (defthm nat-equiv-implies-equal-merge-64-u8s-51
      (implies
           (nat-equiv a13 a13-equiv)
           (equal (merge-64-u8s a63 a62
                                a61 a60 a59 a58 a57 a56 a55 a54 a53 a52
                                a51 a50 a49 a48 a47 a46 a45 a44 a43 a42
                                a41 a40 a39 a38 a37 a36 a35 a34 a33 a32
                                a31 a30 a29 a28 a27 a26 a25 a24 a23 a22
                                a21 a20 a19 a18 a17 a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)
                  (merge-64-u8s a63 a62 a61 a60
                                a59 a58 a57 a56 a55 a54 a53 a52 a51 a50
                                a49 a48 a47 a46 a45 a44 a43 a42 a41 a40
                                a39 a38 a37 a36 a35 a34 a33 a32 a31 a30
                                a29 a28 a27 a26 a25 a24 a23 a22 a21 a20
                                a19 a18 a17 a16 a15 a14 a13-equiv a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)))
      :rule-classes (:congruence))

    Theorem: nat-equiv-implies-equal-merge-64-u8s-50

    (defthm nat-equiv-implies-equal-merge-64-u8s-50
      (implies
           (nat-equiv a14 a14-equiv)
           (equal (merge-64-u8s a63 a62
                                a61 a60 a59 a58 a57 a56 a55 a54 a53 a52
                                a51 a50 a49 a48 a47 a46 a45 a44 a43 a42
                                a41 a40 a39 a38 a37 a36 a35 a34 a33 a32
                                a31 a30 a29 a28 a27 a26 a25 a24 a23 a22
                                a21 a20 a19 a18 a17 a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)
                  (merge-64-u8s a63 a62 a61 a60
                                a59 a58 a57 a56 a55 a54 a53 a52 a51 a50
                                a49 a48 a47 a46 a45 a44 a43 a42 a41 a40
                                a39 a38 a37 a36 a35 a34 a33 a32 a31 a30
                                a29 a28 a27 a26 a25 a24 a23 a22 a21 a20
                                a19 a18 a17 a16 a15 a14-equiv a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)))
      :rule-classes (:congruence))

    Theorem: nat-equiv-implies-equal-merge-64-u8s-49

    (defthm nat-equiv-implies-equal-merge-64-u8s-49
      (implies
           (nat-equiv a15 a15-equiv)
           (equal (merge-64-u8s a63 a62
                                a61 a60 a59 a58 a57 a56 a55 a54 a53 a52
                                a51 a50 a49 a48 a47 a46 a45 a44 a43 a42
                                a41 a40 a39 a38 a37 a36 a35 a34 a33 a32
                                a31 a30 a29 a28 a27 a26 a25 a24 a23 a22
                                a21 a20 a19 a18 a17 a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)
                  (merge-64-u8s a63 a62 a61 a60
                                a59 a58 a57 a56 a55 a54 a53 a52 a51 a50
                                a49 a48 a47 a46 a45 a44 a43 a42 a41 a40
                                a39 a38 a37 a36 a35 a34 a33 a32 a31 a30
                                a29 a28 a27 a26 a25 a24 a23 a22 a21 a20
                                a19 a18 a17 a16 a15-equiv a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)))
      :rule-classes (:congruence))

    Theorem: nat-equiv-implies-equal-merge-64-u8s-48

    (defthm nat-equiv-implies-equal-merge-64-u8s-48
      (implies
           (nat-equiv a16 a16-equiv)
           (equal (merge-64-u8s a63 a62
                                a61 a60 a59 a58 a57 a56 a55 a54 a53 a52
                                a51 a50 a49 a48 a47 a46 a45 a44 a43 a42
                                a41 a40 a39 a38 a37 a36 a35 a34 a33 a32
                                a31 a30 a29 a28 a27 a26 a25 a24 a23 a22
                                a21 a20 a19 a18 a17 a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)
                  (merge-64-u8s a63 a62 a61 a60
                                a59 a58 a57 a56 a55 a54 a53 a52 a51 a50
                                a49 a48 a47 a46 a45 a44 a43 a42 a41 a40
                                a39 a38 a37 a36 a35 a34 a33 a32 a31 a30
                                a29 a28 a27 a26 a25 a24 a23 a22 a21 a20
                                a19 a18 a17 a16-equiv a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)))
      :rule-classes (:congruence))

    Theorem: nat-equiv-implies-equal-merge-64-u8s-47

    (defthm nat-equiv-implies-equal-merge-64-u8s-47
      (implies
           (nat-equiv a17 a17-equiv)
           (equal (merge-64-u8s a63 a62
                                a61 a60 a59 a58 a57 a56 a55 a54 a53 a52
                                a51 a50 a49 a48 a47 a46 a45 a44 a43 a42
                                a41 a40 a39 a38 a37 a36 a35 a34 a33 a32
                                a31 a30 a29 a28 a27 a26 a25 a24 a23 a22
                                a21 a20 a19 a18 a17 a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)
                  (merge-64-u8s a63 a62 a61 a60
                                a59 a58 a57 a56 a55 a54 a53 a52 a51 a50
                                a49 a48 a47 a46 a45 a44 a43 a42 a41 a40
                                a39 a38 a37 a36 a35 a34 a33 a32 a31 a30
                                a29 a28 a27 a26 a25 a24 a23 a22 a21 a20
                                a19 a18 a17-equiv a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)))
      :rule-classes (:congruence))

    Theorem: nat-equiv-implies-equal-merge-64-u8s-46

    (defthm nat-equiv-implies-equal-merge-64-u8s-46
      (implies
           (nat-equiv a18 a18-equiv)
           (equal (merge-64-u8s a63 a62
                                a61 a60 a59 a58 a57 a56 a55 a54 a53 a52
                                a51 a50 a49 a48 a47 a46 a45 a44 a43 a42
                                a41 a40 a39 a38 a37 a36 a35 a34 a33 a32
                                a31 a30 a29 a28 a27 a26 a25 a24 a23 a22
                                a21 a20 a19 a18 a17 a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)
                  (merge-64-u8s a63 a62 a61 a60
                                a59 a58 a57 a56 a55 a54 a53 a52 a51 a50
                                a49 a48 a47 a46 a45 a44 a43 a42 a41 a40
                                a39 a38 a37 a36 a35 a34 a33 a32 a31 a30
                                a29 a28 a27 a26 a25 a24 a23 a22 a21 a20
                                a19 a18-equiv a17 a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)))
      :rule-classes (:congruence))

    Theorem: nat-equiv-implies-equal-merge-64-u8s-45

    (defthm nat-equiv-implies-equal-merge-64-u8s-45
      (implies
           (nat-equiv a19 a19-equiv)
           (equal (merge-64-u8s a63 a62
                                a61 a60 a59 a58 a57 a56 a55 a54 a53 a52
                                a51 a50 a49 a48 a47 a46 a45 a44 a43 a42
                                a41 a40 a39 a38 a37 a36 a35 a34 a33 a32
                                a31 a30 a29 a28 a27 a26 a25 a24 a23 a22
                                a21 a20 a19 a18 a17 a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)
                  (merge-64-u8s a63 a62 a61 a60
                                a59 a58 a57 a56 a55 a54 a53 a52 a51 a50
                                a49 a48 a47 a46 a45 a44 a43 a42 a41 a40
                                a39 a38 a37 a36 a35 a34 a33 a32 a31 a30
                                a29 a28 a27 a26 a25 a24 a23 a22 a21 a20
                                a19-equiv a18 a17 a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)))
      :rule-classes (:congruence))

    Theorem: nat-equiv-implies-equal-merge-64-u8s-44

    (defthm nat-equiv-implies-equal-merge-64-u8s-44
      (implies
           (nat-equiv a20 a20-equiv)
           (equal (merge-64-u8s a63 a62
                                a61 a60 a59 a58 a57 a56 a55 a54 a53 a52
                                a51 a50 a49 a48 a47 a46 a45 a44 a43 a42
                                a41 a40 a39 a38 a37 a36 a35 a34 a33 a32
                                a31 a30 a29 a28 a27 a26 a25 a24 a23 a22
                                a21 a20 a19 a18 a17 a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)
                  (merge-64-u8s a63 a62 a61 a60 a59 a58
                                a57 a56 a55 a54 a53 a52 a51 a50 a49 a48
                                a47 a46 a45 a44 a43 a42 a41 a40 a39 a38
                                a37 a36 a35 a34 a33 a32 a31 a30 a29 a28
                                a27 a26 a25 a24 a23 a22 a21 a20-equiv
                                a19 a18 a17 a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)))
      :rule-classes (:congruence))

    Theorem: nat-equiv-implies-equal-merge-64-u8s-43

    (defthm nat-equiv-implies-equal-merge-64-u8s-43
      (implies
           (nat-equiv a21 a21-equiv)
           (equal (merge-64-u8s a63 a62
                                a61 a60 a59 a58 a57 a56 a55 a54 a53 a52
                                a51 a50 a49 a48 a47 a46 a45 a44 a43 a42
                                a41 a40 a39 a38 a37 a36 a35 a34 a33 a32
                                a31 a30 a29 a28 a27 a26 a25 a24 a23 a22
                                a21 a20 a19 a18 a17 a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)
                  (merge-64-u8s a63 a62 a61 a60 a59
                                a58 a57 a56 a55 a54 a53 a52 a51 a50 a49
                                a48 a47 a46 a45 a44 a43 a42 a41 a40 a39
                                a38 a37 a36 a35 a34 a33 a32 a31 a30 a29
                                a28 a27 a26 a25 a24 a23 a22 a21-equiv
                                a20 a19 a18 a17 a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)))
      :rule-classes (:congruence))

    Theorem: nat-equiv-implies-equal-merge-64-u8s-42

    (defthm nat-equiv-implies-equal-merge-64-u8s-42
      (implies
           (nat-equiv a22 a22-equiv)
           (equal (merge-64-u8s a63 a62
                                a61 a60 a59 a58 a57 a56 a55 a54 a53 a52
                                a51 a50 a49 a48 a47 a46 a45 a44 a43 a42
                                a41 a40 a39 a38 a37 a36 a35 a34 a33 a32
                                a31 a30 a29 a28 a27 a26 a25 a24 a23 a22
                                a21 a20 a19 a18 a17 a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)
                  (merge-64-u8s a63 a62 a61 a60
                                a59 a58 a57 a56 a55 a54 a53 a52 a51 a50
                                a49 a48 a47 a46 a45 a44 a43 a42 a41 a40
                                a39 a38 a37 a36 a35 a34 a33 a32 a31 a30
                                a29 a28 a27 a26 a25 a24 a23 a22-equiv
                                a21 a20 a19 a18 a17 a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)))
      :rule-classes (:congruence))

    Theorem: nat-equiv-implies-equal-merge-64-u8s-41

    (defthm nat-equiv-implies-equal-merge-64-u8s-41
      (implies
           (nat-equiv a23 a23-equiv)
           (equal (merge-64-u8s a63 a62
                                a61 a60 a59 a58 a57 a56 a55 a54 a53 a52
                                a51 a50 a49 a48 a47 a46 a45 a44 a43 a42
                                a41 a40 a39 a38 a37 a36 a35 a34 a33 a32
                                a31 a30 a29 a28 a27 a26 a25 a24 a23 a22
                                a21 a20 a19 a18 a17 a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)
                  (merge-64-u8s a63 a62 a61 a60
                                a59 a58 a57 a56 a55 a54 a53 a52 a51 a50
                                a49 a48 a47 a46 a45 a44 a43 a42 a41 a40
                                a39 a38 a37 a36 a35 a34 a33 a32 a31 a30
                                a29 a28 a27 a26 a25 a24 a23-equiv a22
                                a21 a20 a19 a18 a17 a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)))
      :rule-classes (:congruence))

    Theorem: nat-equiv-implies-equal-merge-64-u8s-40

    (defthm nat-equiv-implies-equal-merge-64-u8s-40
      (implies
           (nat-equiv a24 a24-equiv)
           (equal (merge-64-u8s a63 a62
                                a61 a60 a59 a58 a57 a56 a55 a54 a53 a52
                                a51 a50 a49 a48 a47 a46 a45 a44 a43 a42
                                a41 a40 a39 a38 a37 a36 a35 a34 a33 a32
                                a31 a30 a29 a28 a27 a26 a25 a24 a23 a22
                                a21 a20 a19 a18 a17 a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)
                  (merge-64-u8s a63 a62 a61 a60
                                a59 a58 a57 a56 a55 a54 a53 a52 a51 a50
                                a49 a48 a47 a46 a45 a44 a43 a42 a41 a40
                                a39 a38 a37 a36 a35 a34 a33 a32 a31 a30
                                a29 a28 a27 a26 a25 a24-equiv a23 a22
                                a21 a20 a19 a18 a17 a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)))
      :rule-classes (:congruence))

    Theorem: nat-equiv-implies-equal-merge-64-u8s-39

    (defthm nat-equiv-implies-equal-merge-64-u8s-39
      (implies
           (nat-equiv a25 a25-equiv)
           (equal (merge-64-u8s a63 a62
                                a61 a60 a59 a58 a57 a56 a55 a54 a53 a52
                                a51 a50 a49 a48 a47 a46 a45 a44 a43 a42
                                a41 a40 a39 a38 a37 a36 a35 a34 a33 a32
                                a31 a30 a29 a28 a27 a26 a25 a24 a23 a22
                                a21 a20 a19 a18 a17 a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)
                  (merge-64-u8s a63 a62 a61 a60
                                a59 a58 a57 a56 a55 a54 a53 a52 a51 a50
                                a49 a48 a47 a46 a45 a44 a43 a42 a41 a40
                                a39 a38 a37 a36 a35 a34 a33 a32 a31 a30
                                a29 a28 a27 a26 a25-equiv a24 a23 a22
                                a21 a20 a19 a18 a17 a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)))
      :rule-classes (:congruence))

    Theorem: nat-equiv-implies-equal-merge-64-u8s-38

    (defthm nat-equiv-implies-equal-merge-64-u8s-38
      (implies
           (nat-equiv a26 a26-equiv)
           (equal (merge-64-u8s a63 a62
                                a61 a60 a59 a58 a57 a56 a55 a54 a53 a52
                                a51 a50 a49 a48 a47 a46 a45 a44 a43 a42
                                a41 a40 a39 a38 a37 a36 a35 a34 a33 a32
                                a31 a30 a29 a28 a27 a26 a25 a24 a23 a22
                                a21 a20 a19 a18 a17 a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)
                  (merge-64-u8s a63 a62 a61 a60
                                a59 a58 a57 a56 a55 a54 a53 a52 a51 a50
                                a49 a48 a47 a46 a45 a44 a43 a42 a41 a40
                                a39 a38 a37 a36 a35 a34 a33 a32 a31 a30
                                a29 a28 a27 a26-equiv a25 a24 a23 a22
                                a21 a20 a19 a18 a17 a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)))
      :rule-classes (:congruence))

    Theorem: nat-equiv-implies-equal-merge-64-u8s-37

    (defthm nat-equiv-implies-equal-merge-64-u8s-37
      (implies
           (nat-equiv a27 a27-equiv)
           (equal (merge-64-u8s a63 a62
                                a61 a60 a59 a58 a57 a56 a55 a54 a53 a52
                                a51 a50 a49 a48 a47 a46 a45 a44 a43 a42
                                a41 a40 a39 a38 a37 a36 a35 a34 a33 a32
                                a31 a30 a29 a28 a27 a26 a25 a24 a23 a22
                                a21 a20 a19 a18 a17 a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)
                  (merge-64-u8s a63 a62 a61 a60
                                a59 a58 a57 a56 a55 a54 a53 a52 a51 a50
                                a49 a48 a47 a46 a45 a44 a43 a42 a41 a40
                                a39 a38 a37 a36 a35 a34 a33 a32 a31 a30
                                a29 a28 a27-equiv a26 a25 a24 a23 a22
                                a21 a20 a19 a18 a17 a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)))
      :rule-classes (:congruence))

    Theorem: nat-equiv-implies-equal-merge-64-u8s-36

    (defthm nat-equiv-implies-equal-merge-64-u8s-36
      (implies
           (nat-equiv a28 a28-equiv)
           (equal (merge-64-u8s a63 a62
                                a61 a60 a59 a58 a57 a56 a55 a54 a53 a52
                                a51 a50 a49 a48 a47 a46 a45 a44 a43 a42
                                a41 a40 a39 a38 a37 a36 a35 a34 a33 a32
                                a31 a30 a29 a28 a27 a26 a25 a24 a23 a22
                                a21 a20 a19 a18 a17 a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)
                  (merge-64-u8s a63 a62 a61 a60
                                a59 a58 a57 a56 a55 a54 a53 a52 a51 a50
                                a49 a48 a47 a46 a45 a44 a43 a42 a41 a40
                                a39 a38 a37 a36 a35 a34 a33 a32 a31 a30
                                a29 a28-equiv a27 a26 a25 a24 a23 a22
                                a21 a20 a19 a18 a17 a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)))
      :rule-classes (:congruence))

    Theorem: nat-equiv-implies-equal-merge-64-u8s-35

    (defthm nat-equiv-implies-equal-merge-64-u8s-35
      (implies
           (nat-equiv a29 a29-equiv)
           (equal (merge-64-u8s a63 a62
                                a61 a60 a59 a58 a57 a56 a55 a54 a53 a52
                                a51 a50 a49 a48 a47 a46 a45 a44 a43 a42
                                a41 a40 a39 a38 a37 a36 a35 a34 a33 a32
                                a31 a30 a29 a28 a27 a26 a25 a24 a23 a22
                                a21 a20 a19 a18 a17 a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)
                  (merge-64-u8s a63 a62 a61 a60
                                a59 a58 a57 a56 a55 a54 a53 a52 a51 a50
                                a49 a48 a47 a46 a45 a44 a43 a42 a41 a40
                                a39 a38 a37 a36 a35 a34 a33 a32 a31 a30
                                a29-equiv a28 a27 a26 a25 a24 a23 a22
                                a21 a20 a19 a18 a17 a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)))
      :rule-classes (:congruence))

    Theorem: nat-equiv-implies-equal-merge-64-u8s-34

    (defthm nat-equiv-implies-equal-merge-64-u8s-34
      (implies
           (nat-equiv a30 a30-equiv)
           (equal (merge-64-u8s a63 a62
                                a61 a60 a59 a58 a57 a56 a55 a54 a53 a52
                                a51 a50 a49 a48 a47 a46 a45 a44 a43 a42
                                a41 a40 a39 a38 a37 a36 a35 a34 a33 a32
                                a31 a30 a29 a28 a27 a26 a25 a24 a23 a22
                                a21 a20 a19 a18 a17 a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)
                  (merge-64-u8s a63 a62 a61 a60 a59 a58
                                a57 a56 a55 a54 a53 a52 a51 a50 a49 a48
                                a47 a46 a45 a44 a43 a42 a41 a40 a39 a38
                                a37 a36 a35 a34 a33 a32 a31 a30-equiv
                                a29 a28 a27 a26 a25 a24 a23 a22
                                a21 a20 a19 a18 a17 a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)))
      :rule-classes (:congruence))

    Theorem: nat-equiv-implies-equal-merge-64-u8s-33

    (defthm nat-equiv-implies-equal-merge-64-u8s-33
      (implies
           (nat-equiv a31 a31-equiv)
           (equal (merge-64-u8s a63 a62
                                a61 a60 a59 a58 a57 a56 a55 a54 a53 a52
                                a51 a50 a49 a48 a47 a46 a45 a44 a43 a42
                                a41 a40 a39 a38 a37 a36 a35 a34 a33 a32
                                a31 a30 a29 a28 a27 a26 a25 a24 a23 a22
                                a21 a20 a19 a18 a17 a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)
                  (merge-64-u8s a63 a62 a61 a60 a59
                                a58 a57 a56 a55 a54 a53 a52 a51 a50 a49
                                a48 a47 a46 a45 a44 a43 a42 a41 a40 a39
                                a38 a37 a36 a35 a34 a33 a32 a31-equiv
                                a30 a29 a28 a27 a26 a25 a24 a23 a22
                                a21 a20 a19 a18 a17 a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)))
      :rule-classes (:congruence))

    Theorem: nat-equiv-implies-equal-merge-64-u8s-32

    (defthm nat-equiv-implies-equal-merge-64-u8s-32
      (implies
           (nat-equiv a32 a32-equiv)
           (equal (merge-64-u8s a63 a62
                                a61 a60 a59 a58 a57 a56 a55 a54 a53 a52
                                a51 a50 a49 a48 a47 a46 a45 a44 a43 a42
                                a41 a40 a39 a38 a37 a36 a35 a34 a33 a32
                                a31 a30 a29 a28 a27 a26 a25 a24 a23 a22
                                a21 a20 a19 a18 a17 a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)
                  (merge-64-u8s a63 a62 a61 a60
                                a59 a58 a57 a56 a55 a54 a53 a52 a51 a50
                                a49 a48 a47 a46 a45 a44 a43 a42 a41 a40
                                a39 a38 a37 a36 a35 a34 a33 a32-equiv
                                a31 a30 a29 a28 a27 a26 a25 a24 a23 a22
                                a21 a20 a19 a18 a17 a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)))
      :rule-classes (:congruence))

    Theorem: nat-equiv-implies-equal-merge-64-u8s-31

    (defthm nat-equiv-implies-equal-merge-64-u8s-31
      (implies
           (nat-equiv a33 a33-equiv)
           (equal (merge-64-u8s a63 a62
                                a61 a60 a59 a58 a57 a56 a55 a54 a53 a52
                                a51 a50 a49 a48 a47 a46 a45 a44 a43 a42
                                a41 a40 a39 a38 a37 a36 a35 a34 a33 a32
                                a31 a30 a29 a28 a27 a26 a25 a24 a23 a22
                                a21 a20 a19 a18 a17 a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)
                  (merge-64-u8s a63 a62 a61 a60
                                a59 a58 a57 a56 a55 a54 a53 a52 a51 a50
                                a49 a48 a47 a46 a45 a44 a43 a42 a41 a40
                                a39 a38 a37 a36 a35 a34 a33-equiv a32
                                a31 a30 a29 a28 a27 a26 a25 a24 a23 a22
                                a21 a20 a19 a18 a17 a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)))
      :rule-classes (:congruence))

    Theorem: nat-equiv-implies-equal-merge-64-u8s-30

    (defthm nat-equiv-implies-equal-merge-64-u8s-30
      (implies
           (nat-equiv a34 a34-equiv)
           (equal (merge-64-u8s a63 a62
                                a61 a60 a59 a58 a57 a56 a55 a54 a53 a52
                                a51 a50 a49 a48 a47 a46 a45 a44 a43 a42
                                a41 a40 a39 a38 a37 a36 a35 a34 a33 a32
                                a31 a30 a29 a28 a27 a26 a25 a24 a23 a22
                                a21 a20 a19 a18 a17 a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)
                  (merge-64-u8s a63 a62 a61 a60
                                a59 a58 a57 a56 a55 a54 a53 a52 a51 a50
                                a49 a48 a47 a46 a45 a44 a43 a42 a41 a40
                                a39 a38 a37 a36 a35 a34-equiv a33 a32
                                a31 a30 a29 a28 a27 a26 a25 a24 a23 a22
                                a21 a20 a19 a18 a17 a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)))
      :rule-classes (:congruence))

    Theorem: nat-equiv-implies-equal-merge-64-u8s-29

    (defthm nat-equiv-implies-equal-merge-64-u8s-29
      (implies
           (nat-equiv a35 a35-equiv)
           (equal (merge-64-u8s a63 a62
                                a61 a60 a59 a58 a57 a56 a55 a54 a53 a52
                                a51 a50 a49 a48 a47 a46 a45 a44 a43 a42
                                a41 a40 a39 a38 a37 a36 a35 a34 a33 a32
                                a31 a30 a29 a28 a27 a26 a25 a24 a23 a22
                                a21 a20 a19 a18 a17 a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)
                  (merge-64-u8s a63 a62 a61 a60
                                a59 a58 a57 a56 a55 a54 a53 a52 a51 a50
                                a49 a48 a47 a46 a45 a44 a43 a42 a41 a40
                                a39 a38 a37 a36 a35-equiv a34 a33 a32
                                a31 a30 a29 a28 a27 a26 a25 a24 a23 a22
                                a21 a20 a19 a18 a17 a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)))
      :rule-classes (:congruence))

    Theorem: nat-equiv-implies-equal-merge-64-u8s-28

    (defthm nat-equiv-implies-equal-merge-64-u8s-28
      (implies
           (nat-equiv a36 a36-equiv)
           (equal (merge-64-u8s a63 a62
                                a61 a60 a59 a58 a57 a56 a55 a54 a53 a52
                                a51 a50 a49 a48 a47 a46 a45 a44 a43 a42
                                a41 a40 a39 a38 a37 a36 a35 a34 a33 a32
                                a31 a30 a29 a28 a27 a26 a25 a24 a23 a22
                                a21 a20 a19 a18 a17 a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)
                  (merge-64-u8s a63 a62 a61 a60
                                a59 a58 a57 a56 a55 a54 a53 a52 a51 a50
                                a49 a48 a47 a46 a45 a44 a43 a42 a41 a40
                                a39 a38 a37 a36-equiv a35 a34 a33 a32
                                a31 a30 a29 a28 a27 a26 a25 a24 a23 a22
                                a21 a20 a19 a18 a17 a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)))
      :rule-classes (:congruence))

    Theorem: nat-equiv-implies-equal-merge-64-u8s-27

    (defthm nat-equiv-implies-equal-merge-64-u8s-27
      (implies
           (nat-equiv a37 a37-equiv)
           (equal (merge-64-u8s a63 a62
                                a61 a60 a59 a58 a57 a56 a55 a54 a53 a52
                                a51 a50 a49 a48 a47 a46 a45 a44 a43 a42
                                a41 a40 a39 a38 a37 a36 a35 a34 a33 a32
                                a31 a30 a29 a28 a27 a26 a25 a24 a23 a22
                                a21 a20 a19 a18 a17 a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)
                  (merge-64-u8s a63 a62 a61 a60
                                a59 a58 a57 a56 a55 a54 a53 a52 a51 a50
                                a49 a48 a47 a46 a45 a44 a43 a42 a41 a40
                                a39 a38 a37-equiv a36 a35 a34 a33 a32
                                a31 a30 a29 a28 a27 a26 a25 a24 a23 a22
                                a21 a20 a19 a18 a17 a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)))
      :rule-classes (:congruence))

    Theorem: nat-equiv-implies-equal-merge-64-u8s-26

    (defthm nat-equiv-implies-equal-merge-64-u8s-26
      (implies
           (nat-equiv a38 a38-equiv)
           (equal (merge-64-u8s a63 a62
                                a61 a60 a59 a58 a57 a56 a55 a54 a53 a52
                                a51 a50 a49 a48 a47 a46 a45 a44 a43 a42
                                a41 a40 a39 a38 a37 a36 a35 a34 a33 a32
                                a31 a30 a29 a28 a27 a26 a25 a24 a23 a22
                                a21 a20 a19 a18 a17 a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)
                  (merge-64-u8s a63 a62 a61 a60
                                a59 a58 a57 a56 a55 a54 a53 a52 a51 a50
                                a49 a48 a47 a46 a45 a44 a43 a42 a41 a40
                                a39 a38-equiv a37 a36 a35 a34 a33 a32
                                a31 a30 a29 a28 a27 a26 a25 a24 a23 a22
                                a21 a20 a19 a18 a17 a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)))
      :rule-classes (:congruence))

    Theorem: nat-equiv-implies-equal-merge-64-u8s-25

    (defthm nat-equiv-implies-equal-merge-64-u8s-25
      (implies
           (nat-equiv a39 a39-equiv)
           (equal (merge-64-u8s a63 a62
                                a61 a60 a59 a58 a57 a56 a55 a54 a53 a52
                                a51 a50 a49 a48 a47 a46 a45 a44 a43 a42
                                a41 a40 a39 a38 a37 a36 a35 a34 a33 a32
                                a31 a30 a29 a28 a27 a26 a25 a24 a23 a22
                                a21 a20 a19 a18 a17 a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)
                  (merge-64-u8s a63 a62 a61 a60
                                a59 a58 a57 a56 a55 a54 a53 a52 a51 a50
                                a49 a48 a47 a46 a45 a44 a43 a42 a41 a40
                                a39-equiv a38 a37 a36 a35 a34 a33 a32
                                a31 a30 a29 a28 a27 a26 a25 a24 a23 a22
                                a21 a20 a19 a18 a17 a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)))
      :rule-classes (:congruence))

    Theorem: nat-equiv-implies-equal-merge-64-u8s-24

    (defthm nat-equiv-implies-equal-merge-64-u8s-24
      (implies
           (nat-equiv a40 a40-equiv)
           (equal (merge-64-u8s a63 a62
                                a61 a60 a59 a58 a57 a56 a55 a54 a53 a52
                                a51 a50 a49 a48 a47 a46 a45 a44 a43 a42
                                a41 a40 a39 a38 a37 a36 a35 a34 a33 a32
                                a31 a30 a29 a28 a27 a26 a25 a24 a23 a22
                                a21 a20 a19 a18 a17 a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)
                  (merge-64-u8s a63 a62 a61 a60 a59 a58
                                a57 a56 a55 a54 a53 a52 a51 a50 a49 a48
                                a47 a46 a45 a44 a43 a42 a41 a40-equiv
                                a39 a38 a37 a36 a35 a34 a33 a32
                                a31 a30 a29 a28 a27 a26 a25 a24 a23 a22
                                a21 a20 a19 a18 a17 a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)))
      :rule-classes (:congruence))

    Theorem: nat-equiv-implies-equal-merge-64-u8s-23

    (defthm nat-equiv-implies-equal-merge-64-u8s-23
      (implies
           (nat-equiv a41 a41-equiv)
           (equal (merge-64-u8s a63 a62
                                a61 a60 a59 a58 a57 a56 a55 a54 a53 a52
                                a51 a50 a49 a48 a47 a46 a45 a44 a43 a42
                                a41 a40 a39 a38 a37 a36 a35 a34 a33 a32
                                a31 a30 a29 a28 a27 a26 a25 a24 a23 a22
                                a21 a20 a19 a18 a17 a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)
                  (merge-64-u8s a63 a62 a61 a60 a59
                                a58 a57 a56 a55 a54 a53 a52 a51 a50 a49
                                a48 a47 a46 a45 a44 a43 a42 a41-equiv
                                a40 a39 a38 a37 a36 a35 a34 a33 a32
                                a31 a30 a29 a28 a27 a26 a25 a24 a23 a22
                                a21 a20 a19 a18 a17 a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)))
      :rule-classes (:congruence))

    Theorem: nat-equiv-implies-equal-merge-64-u8s-22

    (defthm nat-equiv-implies-equal-merge-64-u8s-22
      (implies
           (nat-equiv a42 a42-equiv)
           (equal (merge-64-u8s a63 a62
                                a61 a60 a59 a58 a57 a56 a55 a54 a53 a52
                                a51 a50 a49 a48 a47 a46 a45 a44 a43 a42
                                a41 a40 a39 a38 a37 a36 a35 a34 a33 a32
                                a31 a30 a29 a28 a27 a26 a25 a24 a23 a22
                                a21 a20 a19 a18 a17 a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)
                  (merge-64-u8s a63 a62 a61 a60
                                a59 a58 a57 a56 a55 a54 a53 a52 a51 a50
                                a49 a48 a47 a46 a45 a44 a43 a42-equiv
                                a41 a40 a39 a38 a37 a36 a35 a34 a33 a32
                                a31 a30 a29 a28 a27 a26 a25 a24 a23 a22
                                a21 a20 a19 a18 a17 a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)))
      :rule-classes (:congruence))

    Theorem: nat-equiv-implies-equal-merge-64-u8s-21

    (defthm nat-equiv-implies-equal-merge-64-u8s-21
      (implies
           (nat-equiv a43 a43-equiv)
           (equal (merge-64-u8s a63 a62
                                a61 a60 a59 a58 a57 a56 a55 a54 a53 a52
                                a51 a50 a49 a48 a47 a46 a45 a44 a43 a42
                                a41 a40 a39 a38 a37 a36 a35 a34 a33 a32
                                a31 a30 a29 a28 a27 a26 a25 a24 a23 a22
                                a21 a20 a19 a18 a17 a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)
                  (merge-64-u8s a63 a62 a61 a60
                                a59 a58 a57 a56 a55 a54 a53 a52 a51 a50
                                a49 a48 a47 a46 a45 a44 a43-equiv a42
                                a41 a40 a39 a38 a37 a36 a35 a34 a33 a32
                                a31 a30 a29 a28 a27 a26 a25 a24 a23 a22
                                a21 a20 a19 a18 a17 a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)))
      :rule-classes (:congruence))

    Theorem: nat-equiv-implies-equal-merge-64-u8s-20

    (defthm nat-equiv-implies-equal-merge-64-u8s-20
      (implies
           (nat-equiv a44 a44-equiv)
           (equal (merge-64-u8s a63 a62
                                a61 a60 a59 a58 a57 a56 a55 a54 a53 a52
                                a51 a50 a49 a48 a47 a46 a45 a44 a43 a42
                                a41 a40 a39 a38 a37 a36 a35 a34 a33 a32
                                a31 a30 a29 a28 a27 a26 a25 a24 a23 a22
                                a21 a20 a19 a18 a17 a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)
                  (merge-64-u8s a63 a62 a61 a60
                                a59 a58 a57 a56 a55 a54 a53 a52 a51 a50
                                a49 a48 a47 a46 a45 a44-equiv a43 a42
                                a41 a40 a39 a38 a37 a36 a35 a34 a33 a32
                                a31 a30 a29 a28 a27 a26 a25 a24 a23 a22
                                a21 a20 a19 a18 a17 a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)))
      :rule-classes (:congruence))

    Theorem: nat-equiv-implies-equal-merge-64-u8s-19

    (defthm nat-equiv-implies-equal-merge-64-u8s-19
      (implies
           (nat-equiv a45 a45-equiv)
           (equal (merge-64-u8s a63 a62
                                a61 a60 a59 a58 a57 a56 a55 a54 a53 a52
                                a51 a50 a49 a48 a47 a46 a45 a44 a43 a42
                                a41 a40 a39 a38 a37 a36 a35 a34 a33 a32
                                a31 a30 a29 a28 a27 a26 a25 a24 a23 a22
                                a21 a20 a19 a18 a17 a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)
                  (merge-64-u8s a63 a62 a61 a60
                                a59 a58 a57 a56 a55 a54 a53 a52 a51 a50
                                a49 a48 a47 a46 a45-equiv a44 a43 a42
                                a41 a40 a39 a38 a37 a36 a35 a34 a33 a32
                                a31 a30 a29 a28 a27 a26 a25 a24 a23 a22
                                a21 a20 a19 a18 a17 a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)))
      :rule-classes (:congruence))

    Theorem: nat-equiv-implies-equal-merge-64-u8s-18

    (defthm nat-equiv-implies-equal-merge-64-u8s-18
      (implies
           (nat-equiv a46 a46-equiv)
           (equal (merge-64-u8s a63 a62
                                a61 a60 a59 a58 a57 a56 a55 a54 a53 a52
                                a51 a50 a49 a48 a47 a46 a45 a44 a43 a42
                                a41 a40 a39 a38 a37 a36 a35 a34 a33 a32
                                a31 a30 a29 a28 a27 a26 a25 a24 a23 a22
                                a21 a20 a19 a18 a17 a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)
                  (merge-64-u8s a63 a62 a61 a60
                                a59 a58 a57 a56 a55 a54 a53 a52 a51 a50
                                a49 a48 a47 a46-equiv a45 a44 a43 a42
                                a41 a40 a39 a38 a37 a36 a35 a34 a33 a32
                                a31 a30 a29 a28 a27 a26 a25 a24 a23 a22
                                a21 a20 a19 a18 a17 a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)))
      :rule-classes (:congruence))

    Theorem: nat-equiv-implies-equal-merge-64-u8s-17

    (defthm nat-equiv-implies-equal-merge-64-u8s-17
      (implies
           (nat-equiv a47 a47-equiv)
           (equal (merge-64-u8s a63 a62
                                a61 a60 a59 a58 a57 a56 a55 a54 a53 a52
                                a51 a50 a49 a48 a47 a46 a45 a44 a43 a42
                                a41 a40 a39 a38 a37 a36 a35 a34 a33 a32
                                a31 a30 a29 a28 a27 a26 a25 a24 a23 a22
                                a21 a20 a19 a18 a17 a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)
                  (merge-64-u8s a63 a62 a61 a60
                                a59 a58 a57 a56 a55 a54 a53 a52 a51 a50
                                a49 a48 a47-equiv a46 a45 a44 a43 a42
                                a41 a40 a39 a38 a37 a36 a35 a34 a33 a32
                                a31 a30 a29 a28 a27 a26 a25 a24 a23 a22
                                a21 a20 a19 a18 a17 a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)))
      :rule-classes (:congruence))

    Theorem: nat-equiv-implies-equal-merge-64-u8s-16

    (defthm nat-equiv-implies-equal-merge-64-u8s-16
      (implies
           (nat-equiv a48 a48-equiv)
           (equal (merge-64-u8s a63 a62
                                a61 a60 a59 a58 a57 a56 a55 a54 a53 a52
                                a51 a50 a49 a48 a47 a46 a45 a44 a43 a42
                                a41 a40 a39 a38 a37 a36 a35 a34 a33 a32
                                a31 a30 a29 a28 a27 a26 a25 a24 a23 a22
                                a21 a20 a19 a18 a17 a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)
                  (merge-64-u8s a63 a62 a61 a60
                                a59 a58 a57 a56 a55 a54 a53 a52 a51 a50
                                a49 a48-equiv a47 a46 a45 a44 a43 a42
                                a41 a40 a39 a38 a37 a36 a35 a34 a33 a32
                                a31 a30 a29 a28 a27 a26 a25 a24 a23 a22
                                a21 a20 a19 a18 a17 a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)))
      :rule-classes (:congruence))

    Theorem: nat-equiv-implies-equal-merge-64-u8s-15

    (defthm nat-equiv-implies-equal-merge-64-u8s-15
      (implies
           (nat-equiv a49 a49-equiv)
           (equal (merge-64-u8s a63 a62
                                a61 a60 a59 a58 a57 a56 a55 a54 a53 a52
                                a51 a50 a49 a48 a47 a46 a45 a44 a43 a42
                                a41 a40 a39 a38 a37 a36 a35 a34 a33 a32
                                a31 a30 a29 a28 a27 a26 a25 a24 a23 a22
                                a21 a20 a19 a18 a17 a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)
                  (merge-64-u8s a63 a62 a61 a60
                                a59 a58 a57 a56 a55 a54 a53 a52 a51 a50
                                a49-equiv a48 a47 a46 a45 a44 a43 a42
                                a41 a40 a39 a38 a37 a36 a35 a34 a33 a32
                                a31 a30 a29 a28 a27 a26 a25 a24 a23 a22
                                a21 a20 a19 a18 a17 a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)))
      :rule-classes (:congruence))

    Theorem: nat-equiv-implies-equal-merge-64-u8s-14

    (defthm nat-equiv-implies-equal-merge-64-u8s-14
      (implies
           (nat-equiv a50 a50-equiv)
           (equal (merge-64-u8s a63 a62
                                a61 a60 a59 a58 a57 a56 a55 a54 a53 a52
                                a51 a50 a49 a48 a47 a46 a45 a44 a43 a42
                                a41 a40 a39 a38 a37 a36 a35 a34 a33 a32
                                a31 a30 a29 a28 a27 a26 a25 a24 a23 a22
                                a21 a20 a19 a18 a17 a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)
                  (merge-64-u8s a63 a62 a61 a60 a59 a58
                                a57 a56 a55 a54 a53 a52 a51 a50-equiv
                                a49 a48 a47 a46 a45 a44 a43 a42
                                a41 a40 a39 a38 a37 a36 a35 a34 a33 a32
                                a31 a30 a29 a28 a27 a26 a25 a24 a23 a22
                                a21 a20 a19 a18 a17 a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)))
      :rule-classes (:congruence))

    Theorem: nat-equiv-implies-equal-merge-64-u8s-13

    (defthm nat-equiv-implies-equal-merge-64-u8s-13
      (implies
           (nat-equiv a51 a51-equiv)
           (equal (merge-64-u8s a63 a62
                                a61 a60 a59 a58 a57 a56 a55 a54 a53 a52
                                a51 a50 a49 a48 a47 a46 a45 a44 a43 a42
                                a41 a40 a39 a38 a37 a36 a35 a34 a33 a32
                                a31 a30 a29 a28 a27 a26 a25 a24 a23 a22
                                a21 a20 a19 a18 a17 a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)
                  (merge-64-u8s a63 a62 a61 a60 a59
                                a58 a57 a56 a55 a54 a53 a52 a51-equiv
                                a50 a49 a48 a47 a46 a45 a44 a43 a42
                                a41 a40 a39 a38 a37 a36 a35 a34 a33 a32
                                a31 a30 a29 a28 a27 a26 a25 a24 a23 a22
                                a21 a20 a19 a18 a17 a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)))
      :rule-classes (:congruence))

    Theorem: nat-equiv-implies-equal-merge-64-u8s-12

    (defthm nat-equiv-implies-equal-merge-64-u8s-12
      (implies
           (nat-equiv a52 a52-equiv)
           (equal (merge-64-u8s a63 a62
                                a61 a60 a59 a58 a57 a56 a55 a54 a53 a52
                                a51 a50 a49 a48 a47 a46 a45 a44 a43 a42
                                a41 a40 a39 a38 a37 a36 a35 a34 a33 a32
                                a31 a30 a29 a28 a27 a26 a25 a24 a23 a22
                                a21 a20 a19 a18 a17 a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)
                  (merge-64-u8s a63 a62 a61 a60
                                a59 a58 a57 a56 a55 a54 a53 a52-equiv
                                a51 a50 a49 a48 a47 a46 a45 a44 a43 a42
                                a41 a40 a39 a38 a37 a36 a35 a34 a33 a32
                                a31 a30 a29 a28 a27 a26 a25 a24 a23 a22
                                a21 a20 a19 a18 a17 a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)))
      :rule-classes (:congruence))

    Theorem: nat-equiv-implies-equal-merge-64-u8s-11

    (defthm nat-equiv-implies-equal-merge-64-u8s-11
      (implies
           (nat-equiv a53 a53-equiv)
           (equal (merge-64-u8s a63 a62
                                a61 a60 a59 a58 a57 a56 a55 a54 a53 a52
                                a51 a50 a49 a48 a47 a46 a45 a44 a43 a42
                                a41 a40 a39 a38 a37 a36 a35 a34 a33 a32
                                a31 a30 a29 a28 a27 a26 a25 a24 a23 a22
                                a21 a20 a19 a18 a17 a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)
                  (merge-64-u8s a63 a62 a61 a60
                                a59 a58 a57 a56 a55 a54 a53-equiv a52
                                a51 a50 a49 a48 a47 a46 a45 a44 a43 a42
                                a41 a40 a39 a38 a37 a36 a35 a34 a33 a32
                                a31 a30 a29 a28 a27 a26 a25 a24 a23 a22
                                a21 a20 a19 a18 a17 a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)))
      :rule-classes (:congruence))

    Theorem: nat-equiv-implies-equal-merge-64-u8s-10

    (defthm nat-equiv-implies-equal-merge-64-u8s-10
      (implies
           (nat-equiv a54 a54-equiv)
           (equal (merge-64-u8s a63 a62
                                a61 a60 a59 a58 a57 a56 a55 a54 a53 a52
                                a51 a50 a49 a48 a47 a46 a45 a44 a43 a42
                                a41 a40 a39 a38 a37 a36 a35 a34 a33 a32
                                a31 a30 a29 a28 a27 a26 a25 a24 a23 a22
                                a21 a20 a19 a18 a17 a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)
                  (merge-64-u8s a63 a62 a61 a60
                                a59 a58 a57 a56 a55 a54-equiv a53 a52
                                a51 a50 a49 a48 a47 a46 a45 a44 a43 a42
                                a41 a40 a39 a38 a37 a36 a35 a34 a33 a32
                                a31 a30 a29 a28 a27 a26 a25 a24 a23 a22
                                a21 a20 a19 a18 a17 a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)))
      :rule-classes (:congruence))

    Theorem: nat-equiv-implies-equal-merge-64-u8s-9

    (defthm nat-equiv-implies-equal-merge-64-u8s-9
      (implies
           (nat-equiv a55 a55-equiv)
           (equal (merge-64-u8s a63 a62
                                a61 a60 a59 a58 a57 a56 a55 a54 a53 a52
                                a51 a50 a49 a48 a47 a46 a45 a44 a43 a42
                                a41 a40 a39 a38 a37 a36 a35 a34 a33 a32
                                a31 a30 a29 a28 a27 a26 a25 a24 a23 a22
                                a21 a20 a19 a18 a17 a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)
                  (merge-64-u8s a63 a62 a61 a60
                                a59 a58 a57 a56 a55-equiv a54 a53 a52
                                a51 a50 a49 a48 a47 a46 a45 a44 a43 a42
                                a41 a40 a39 a38 a37 a36 a35 a34 a33 a32
                                a31 a30 a29 a28 a27 a26 a25 a24 a23 a22
                                a21 a20 a19 a18 a17 a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)))
      :rule-classes (:congruence))

    Theorem: nat-equiv-implies-equal-merge-64-u8s-8

    (defthm nat-equiv-implies-equal-merge-64-u8s-8
      (implies
           (nat-equiv a56 a56-equiv)
           (equal (merge-64-u8s a63 a62
                                a61 a60 a59 a58 a57 a56 a55 a54 a53 a52
                                a51 a50 a49 a48 a47 a46 a45 a44 a43 a42
                                a41 a40 a39 a38 a37 a36 a35 a34 a33 a32
                                a31 a30 a29 a28 a27 a26 a25 a24 a23 a22
                                a21 a20 a19 a18 a17 a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)
                  (merge-64-u8s a63 a62 a61 a60
                                a59 a58 a57 a56-equiv a55 a54 a53 a52
                                a51 a50 a49 a48 a47 a46 a45 a44 a43 a42
                                a41 a40 a39 a38 a37 a36 a35 a34 a33 a32
                                a31 a30 a29 a28 a27 a26 a25 a24 a23 a22
                                a21 a20 a19 a18 a17 a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)))
      :rule-classes (:congruence))

    Theorem: nat-equiv-implies-equal-merge-64-u8s-7

    (defthm nat-equiv-implies-equal-merge-64-u8s-7
      (implies
           (nat-equiv a57 a57-equiv)
           (equal (merge-64-u8s a63 a62
                                a61 a60 a59 a58 a57 a56 a55 a54 a53 a52
                                a51 a50 a49 a48 a47 a46 a45 a44 a43 a42
                                a41 a40 a39 a38 a37 a36 a35 a34 a33 a32
                                a31 a30 a29 a28 a27 a26 a25 a24 a23 a22
                                a21 a20 a19 a18 a17 a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)
                  (merge-64-u8s a63 a62 a61 a60
                                a59 a58 a57-equiv a56 a55 a54 a53 a52
                                a51 a50 a49 a48 a47 a46 a45 a44 a43 a42
                                a41 a40 a39 a38 a37 a36 a35 a34 a33 a32
                                a31 a30 a29 a28 a27 a26 a25 a24 a23 a22
                                a21 a20 a19 a18 a17 a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)))
      :rule-classes (:congruence))

    Theorem: nat-equiv-implies-equal-merge-64-u8s-6

    (defthm nat-equiv-implies-equal-merge-64-u8s-6
      (implies
           (nat-equiv a58 a58-equiv)
           (equal (merge-64-u8s a63 a62
                                a61 a60 a59 a58 a57 a56 a55 a54 a53 a52
                                a51 a50 a49 a48 a47 a46 a45 a44 a43 a42
                                a41 a40 a39 a38 a37 a36 a35 a34 a33 a32
                                a31 a30 a29 a28 a27 a26 a25 a24 a23 a22
                                a21 a20 a19 a18 a17 a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)
                  (merge-64-u8s a63 a62 a61 a60
                                a59 a58-equiv a57 a56 a55 a54 a53 a52
                                a51 a50 a49 a48 a47 a46 a45 a44 a43 a42
                                a41 a40 a39 a38 a37 a36 a35 a34 a33 a32
                                a31 a30 a29 a28 a27 a26 a25 a24 a23 a22
                                a21 a20 a19 a18 a17 a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)))
      :rule-classes (:congruence))

    Theorem: nat-equiv-implies-equal-merge-64-u8s-5

    (defthm nat-equiv-implies-equal-merge-64-u8s-5
      (implies
           (nat-equiv a59 a59-equiv)
           (equal (merge-64-u8s a63 a62
                                a61 a60 a59 a58 a57 a56 a55 a54 a53 a52
                                a51 a50 a49 a48 a47 a46 a45 a44 a43 a42
                                a41 a40 a39 a38 a37 a36 a35 a34 a33 a32
                                a31 a30 a29 a28 a27 a26 a25 a24 a23 a22
                                a21 a20 a19 a18 a17 a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)
                  (merge-64-u8s a63 a62 a61 a60
                                a59-equiv a58 a57 a56 a55 a54 a53 a52
                                a51 a50 a49 a48 a47 a46 a45 a44 a43 a42
                                a41 a40 a39 a38 a37 a36 a35 a34 a33 a32
                                a31 a30 a29 a28 a27 a26 a25 a24 a23 a22
                                a21 a20 a19 a18 a17 a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)))
      :rule-classes (:congruence))

    Theorem: nat-equiv-implies-equal-merge-64-u8s-4

    (defthm nat-equiv-implies-equal-merge-64-u8s-4
      (implies
           (nat-equiv a60 a60-equiv)
           (equal (merge-64-u8s a63 a62
                                a61 a60 a59 a58 a57 a56 a55 a54 a53 a52
                                a51 a50 a49 a48 a47 a46 a45 a44 a43 a42
                                a41 a40 a39 a38 a37 a36 a35 a34 a33 a32
                                a31 a30 a29 a28 a27 a26 a25 a24 a23 a22
                                a21 a20 a19 a18 a17 a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)
                  (merge-64-u8s a63 a62 a61 a60-equiv
                                a59 a58 a57 a56 a55 a54 a53 a52
                                a51 a50 a49 a48 a47 a46 a45 a44 a43 a42
                                a41 a40 a39 a38 a37 a36 a35 a34 a33 a32
                                a31 a30 a29 a28 a27 a26 a25 a24 a23 a22
                                a21 a20 a19 a18 a17 a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)))
      :rule-classes (:congruence))

    Theorem: nat-equiv-implies-equal-merge-64-u8s-3

    (defthm nat-equiv-implies-equal-merge-64-u8s-3
      (implies
           (nat-equiv a61 a61-equiv)
           (equal (merge-64-u8s a63 a62
                                a61 a60 a59 a58 a57 a56 a55 a54 a53 a52
                                a51 a50 a49 a48 a47 a46 a45 a44 a43 a42
                                a41 a40 a39 a38 a37 a36 a35 a34 a33 a32
                                a31 a30 a29 a28 a27 a26 a25 a24 a23 a22
                                a21 a20 a19 a18 a17 a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)
                  (merge-64-u8s a63 a62 a61-equiv
                                a60 a59 a58 a57 a56 a55 a54 a53 a52
                                a51 a50 a49 a48 a47 a46 a45 a44 a43 a42
                                a41 a40 a39 a38 a37 a36 a35 a34 a33 a32
                                a31 a30 a29 a28 a27 a26 a25 a24 a23 a22
                                a21 a20 a19 a18 a17 a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)))
      :rule-classes (:congruence))

    Theorem: nat-equiv-implies-equal-merge-64-u8s-2

    (defthm nat-equiv-implies-equal-merge-64-u8s-2
      (implies
           (nat-equiv a62 a62-equiv)
           (equal (merge-64-u8s a63 a62
                                a61 a60 a59 a58 a57 a56 a55 a54 a53 a52
                                a51 a50 a49 a48 a47 a46 a45 a44 a43 a42
                                a41 a40 a39 a38 a37 a36 a35 a34 a33 a32
                                a31 a30 a29 a28 a27 a26 a25 a24 a23 a22
                                a21 a20 a19 a18 a17 a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)
                  (merge-64-u8s a63 a62-equiv
                                a61 a60 a59 a58 a57 a56 a55 a54 a53 a52
                                a51 a50 a49 a48 a47 a46 a45 a44 a43 a42
                                a41 a40 a39 a38 a37 a36 a35 a34 a33 a32
                                a31 a30 a29 a28 a27 a26 a25 a24 a23 a22
                                a21 a20 a19 a18 a17 a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)))
      :rule-classes (:congruence))

    Theorem: nat-equiv-implies-equal-merge-64-u8s-1

    (defthm nat-equiv-implies-equal-merge-64-u8s-1
      (implies
           (nat-equiv a63 a63-equiv)
           (equal (merge-64-u8s a63 a62
                                a61 a60 a59 a58 a57 a56 a55 a54 a53 a52
                                a51 a50 a49 a48 a47 a46 a45 a44 a43 a42
                                a41 a40 a39 a38 a37 a36 a35 a34 a33 a32
                                a31 a30 a29 a28 a27 a26 a25 a24 a23 a22
                                a21 a20 a19 a18 a17 a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)
                  (merge-64-u8s a63-equiv a62
                                a61 a60 a59 a58 a57 a56 a55 a54 a53 a52
                                a51 a50 a49 a48 a47 a46 a45 a44 a43 a42
                                a41 a40 a39 a38 a37 a36 a35 a34 a33 a32
                                a31 a30 a29 a28 a27 a26 a25 a24 a23 a22
                                a21 a20 a19 a18 a17 a16 a15 a14 a13 a12
                                a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0)))
      :rule-classes (:congruence))