Get all names from sections in
(section-names section-info-list) → sec-names
Function:
(defun section-names (section-info-list) (declare (xargs :guard (section-info-list-p section-info-list))) (let ((__function__ 'section-names)) (declare (ignorable __function__)) (b* (((when (atom section-info-list)) nil) ((section-info section-info) (car section-info-list)) ((elf-section-header section-info.header))) (cons section-info.header.name-str (section-names (cdr section-info-list))))))
Theorem:
(defthm string-listp-of-section-names (implies (and (section-info-list-p section-info-list)) (b* ((sec-names (section-names section-info-list))) (string-listp sec-names))) :rule-classes :rewrite)
Theorem:
(defthm cdr-section-names (equal (section-names (cdr sec-info-list)) (cdr (section-names sec-info-list))))