(read-file-into-byte-list filename state) → (mv file-contents state)
Function:
(defun read-file-into-byte-list (filename state) (declare (xargs :stobjs (state))) (declare (xargs :guard (stringp filename))) (let ((__function__ 'read-file-into-byte-list)) (declare (ignorable __function__)) (b* (((mv channel state) (open-input-channel filename :byte state)) ((when (not channel)) (mv nil state)) ((mv file-contents state) (read-channel-into-byte-list channel nil state)) (state (close-input-channel channel state))) (mv (reverse file-contents) state))))
Theorem:
(defthm byte-listp-of-read-file-into-byte-list.file-contents (implies (and (stringp filename) (state-p1 state)) (b* (((mv ?file-contents acl2::?state) (read-file-into-byte-list filename state))) (byte-listp file-contents))) :rule-classes :rewrite)
Theorem:
(defthm state-p1-of-read-file-into-byte-list.state (implies (and (stringp filename) (state-p1 state)) (b* (((mv ?file-contents acl2::?state) (read-file-into-byte-list filename state))) (state-p1 state))) :rule-classes :rewrite)