(comp-db-arguments-escape-for-shell arguments) → arguments$
Function:
(defun comp-db-arguments-escape-for-shell (arguments) (declare (xargs :guard (comp-db-arg-listp arguments))) (b* ((arguments (comp-db-arg-list-fix arguments)) ((when (endp arguments)) nil) (argument (first arguments)) ((comp-db-arg argument) argument) (argument$ (change-comp-db-arg argument :name (string-escape-for-shell argument.name) :value (if argument.value (string-escape-for-shell argument.value) nil)))) (cons argument$ (comp-db-arguments-escape-for-shell (rest arguments)))))
Theorem:
(defthm comp-db-arg-listp-of-comp-db-arguments-escape-for-shell (b* ((arguments$ (comp-db-arguments-escape-for-shell arguments))) (comp-db-arg-listp arguments$)) :rule-classes :rewrite)
Theorem:
(defthm comp-db-arguments-escape-for-shell-of-comp-db-arg-list-fix-arguments (equal (comp-db-arguments-escape-for-shell (comp-db-arg-list-fix arguments)) (comp-db-arguments-escape-for-shell arguments)))
Theorem:
(defthm comp-db-arguments-escape-for-shell-comp-db-arg-list-equiv-congruence-on-arguments (implies (comp-db-arg-list-equiv arguments arguments-equiv) (equal (comp-db-arguments-escape-for-shell arguments) (comp-db-arguments-escape-for-shell arguments-equiv))) :rule-classes :congruence)