(comp-db-arguments-keep-only-preprocessor-args arguments) → arguments$
Function:
(defun comp-db-arguments-keep-only-preprocessor-args (arguments) (declare (xargs :guard (comp-db-arg-listp arguments))) (b* (((when (endp arguments)) nil) (argument (first arguments)) (argument-name (comp-db-arg->name argument)) ((when (or (member-equal argument-name '("-c" "-S" "-o" "-M" "-d" "-save-temps")) (= 0 (length argument-name)) (not (eql (char argument-name 0) #\-)))) (comp-db-arguments-keep-only-preprocessor-args (rest arguments)))) (cons (comp-db-arg-fix argument) (comp-db-arguments-keep-only-preprocessor-args (rest arguments)))))
Theorem:
(defthm comp-db-arg-listp-of-comp-db-arguments-keep-only-preprocessor-args (b* ((arguments$ (comp-db-arguments-keep-only-preprocessor-args arguments))) (comp-db-arg-listp arguments$)) :rule-classes :rewrite)
Theorem:
(defthm comp-db-arguments-keep-only-preprocessor-args-of-comp-db-arg-list-fix-arguments (equal (comp-db-arguments-keep-only-preprocessor-args (comp-db-arg-list-fix arguments)) (comp-db-arguments-keep-only-preprocessor-args arguments)))
Theorem:
(defthm comp-db-arguments-keep-only-preprocessor-args-comp-db-arg-list-equiv-congruence-on-arguments (implies (comp-db-arg-list-equiv arguments arguments-equiv) (equal (comp-db-arguments-keep-only-preprocessor-args arguments) (comp-db-arguments-keep-only-preprocessor-args arguments-equiv))) :rule-classes :congruence)