Skip over any leading 0-1 characters at the start of a character list.
(skip-leading-bit-digits x) → tail
Function:
(defun skip-leading-bit-digits (x) (declare (xargs :guard (character-listp x))) (let ((acl2::__function__ 'skip-leading-bit-digits)) (declare (ignorable acl2::__function__)) (cond ((atom x) nil) ((bin-digit-char-p (car x)) (skip-leading-bit-digits (cdr x))) (t x))))
Theorem:
(defthm character-listp-of-skip-leading-bit-digits (implies (and (character-listp x)) (b* ((tail (skip-leading-bit-digits x))) (character-listp tail))) :rule-classes :rewrite)
Theorem:
(defthm charlisteqv-implies-charlisteqv-skip-leading-bit-digits-1 (implies (charlisteqv x x-equiv) (charlisteqv (skip-leading-bit-digits x) (skip-leading-bit-digits x-equiv))) :rule-classes (:congruence))
Theorem:
(defthm icharlisteqv-implies-icharlisteqv-skip-leading-bit-digits-1 (implies (icharlisteqv x x-equiv) (icharlisteqv (skip-leading-bit-digits x) (skip-leading-bit-digits x-equiv))) :rule-classes (:congruence))
Theorem:
(defthm len-of-skip-leading-bit-digits (implies (bin-digit-char-p (car x)) (< (len (skip-leading-bit-digits x)) (len x))))