• Top
    • Documentation
    • Books
    • Boolean-reasoning
    • Projects
    • Debugging
    • Community
    • Std
      • Std/lists
      • Omaps
      • Std/alists
      • Obags
      • Std/util
      • Std/strings
      • Std/osets
      • Std/io
      • Std/basic
        • Maybe-stringp
        • Maybe-natp
        • Two-nats-measure
        • Impossible
        • Bytep
          • Byte
          • Bytes-as-digits-in-base-256
            • Bebytes=>nat
            • Lebytes=>nat
              • Lebytes=>nat-injectivity+
              • Lebytes=>nat-injectivity*
              • Lebytes=>nat-injectivity
              • Nat=>lebytes+-of-lebytes=>nat
              • Nat=>lebytes*-of-lebytes=>nat
              • Nat=>lebytes-of-lebytes=>nat
              • Lebytes=>nat-of-nat=>lebytes+
              • Lebytes=>nat-of-nat=>lebytes*
              • Lebytes=>nat-of-nat=>lebytes
            • Nat=>bebytes
            • Nat=>lebytes
            • Nat=>bebytes*
            • Nat=>lebytes*
            • Nat=>lebytes+
            • Nat=>bebytes+
            • Bits/bytes-digit-grouping
          • Bytep-additional-theorems
        • Nat-list-measure
        • Maybe-posp
        • Nibblep
        • Organize-symbols-by-pkg
        • Organize-symbols-by-name
        • Lnfix
        • Good-valuep
        • Streqv
        • Chareqv
        • Symbol-package-name-non-cl
        • Arith-equivs
        • Induction-schemes
        • Maybe-integerp
        • Char-fix
        • Pos-fix
        • Symbol-package-name-lst
        • Mbt$
        • Maybe-bitp
        • Good-pseudo-termp
        • Str-fix
        • Maybe-string-fix
        • Nonkeyword-listp
        • Lifix
        • Bfix
        • Std/basic/if*
        • Impliez
        • Tuplep
        • Std/basic/intern-in-package-of-symbol
        • Lbfix
        • Std/basic/symbol-name-lst
        • True
        • Std/basic/rfix
        • Std/basic/realfix
        • Std/basic/member-symbol-name
        • Std/basic/fix
        • False
        • Std/basic/nfix
        • Std/basic/ifix
      • Std/system
      • Std/typed-lists
      • Std/bitsets
      • Std/testing
      • Std/typed-alists
      • Std/stobjs
    • Proof-automation
    • Macro-libraries
    • ACL2
    • Interfacing-tools
    • Hardware-verification
    • Software-verification
    • Math
    • Testing-utilities
  • Bytes-as-digits-in-base-256

Lebytes=>nat

Convert a little-endian list of bytes, seen as digits in base 256, to their value.

Signature
(lebytes=>nat digits) → nat
Arguments
digits — Guard (byte-listp digits).
Returns
nat — Type (natp nat).

Definitions and Theorems

Function: lebytes=>nat

(defun lebytes=>nat (digits)
  (declare (xargs :guard (byte-listp digits)))
  (let ((__function__ 'lebytes=>nat))
    (declare (ignorable __function__))
    (lendian=>nat 256 digits)))

Theorem: natp-of-lebytes=>nat

(defthm natp-of-lebytes=>nat
  (b* ((nat (lebytes=>nat digits)))
    (natp nat))
  :rule-classes :rewrite)

Theorem: lebytes=>nat-of-byte-list-fix-digits

(defthm lebytes=>nat-of-byte-list-fix-digits
  (equal (lebytes=>nat (byte-list-fix digits))
         (lebytes=>nat digits)))

Theorem: lebytes=>nat-byte-list-equiv-congruence-on-digits

(defthm lebytes=>nat-byte-list-equiv-congruence-on-digits
  (implies (byte-list-equiv digits digits-equiv)
           (equal (lebytes=>nat digits)
                  (lebytes=>nat digits-equiv)))
  :rule-classes :congruence)

Subtopics

Lebytes=>nat-injectivity+
Lebytes=>nat-injectivity*
Lebytes=>nat-injectivity
Nat=>lebytes+-of-lebytes=>nat
Nat=>lebytes*-of-lebytes=>nat
Nat=>lebytes-of-lebytes=>nat
Lebytes=>nat-of-nat=>lebytes+
Lebytes=>nat-of-nat=>lebytes*
Lebytes=>nat-of-nat=>lebytes