Process the inputs.
(input-files-process-inputs files-presentp files path preprocess
preprocess-args process const-presentp
const keep-going std gcc short-bytes
int-bytes long-bytes long-long-bytes
plain-char-signed progp state)
→
(mv erp new-files new-path
preprocessor preprocess-extra-args
new-process new-const keep-going ienv)
The
The other results of this function are the homonymous inputs, except that the last five inputs are combined into an implementation environment result.
Function:
(defun input-files-process-inputs (files-presentp files path preprocess preprocess-args process const-presentp const keep-going std gcc short-bytes int-bytes long-bytes long-long-bytes plain-char-signed progp state) (declare (xargs :stobjs (state))) (declare (xargs :guard (and (booleanp files-presentp) (booleanp const-presentp) (booleanp progp)))) (let ((__function__ 'input-files-process-inputs)) (declare (ignorable __function__)) (b* (((reterr) nil "" nil nil :parse nil nil (ienv-default)) ((erp files) (input-files-process-files files-presentp files)) ((erp path) (input-files-process-path path)) ((erp preprocessor) (input-files-process-preprocess preprocess)) ((erp preprocess-extra-args) (input-files-process-preprocess-args preprocessor preprocess-args state)) ((erp process) (input-files-process-process process)) ((erp const) (input-files-process-const const-presentp const progp)) ((erp keep-going) (input-files-process-keep-going keep-going)) ((erp ienv) (input-files-process-ienv std gcc short-bytes int-bytes long-bytes long-long-bytes plain-char-signed))) (retok files path preprocessor preprocess-extra-args process const keep-going ienv))))
Theorem:
(defthm string-listp-of-input-files-process-inputs.new-files (b* (((mv acl2::?erp ?new-files ?new-path ?preprocessor ?preprocess-extra-args ?new-process ?new-const ?keep-going ?ienv) (input-files-process-inputs files-presentp files path preprocess preprocess-args process const-presentp const keep-going std gcc short-bytes int-bytes long-bytes long-long-bytes plain-char-signed progp state))) (string-listp new-files)) :rule-classes :rewrite)
Theorem:
(defthm stringp-of-input-files-process-inputs.new-path (b* (((mv acl2::?erp ?new-files ?new-path ?preprocessor ?preprocess-extra-args ?new-process ?new-const ?keep-going ?ienv) (input-files-process-inputs files-presentp files path preprocess preprocess-args process const-presentp const keep-going std gcc short-bytes int-bytes long-bytes long-long-bytes plain-char-signed progp state))) (stringp new-path)) :rule-classes :rewrite)
Theorem:
(defthm string-optionp-of-input-files-process-inputs.preprocessor (b* (((mv acl2::?erp ?new-files ?new-path ?preprocessor ?preprocess-extra-args ?new-process ?new-const ?keep-going ?ienv) (input-files-process-inputs files-presentp files path preprocess preprocess-args process const-presentp const keep-going std gcc short-bytes int-bytes long-bytes long-long-bytes plain-char-signed progp state))) (string-optionp preprocessor)) :rule-classes :rewrite)
Theorem:
(defthm return-type-of-input-files-process-inputs.preprocess-extra-args (b* (((mv acl2::?erp ?new-files ?new-path ?preprocessor ?preprocess-extra-args ?new-process ?new-const ?keep-going ?ienv) (input-files-process-inputs files-presentp files path preprocess preprocess-args process const-presentp const keep-going std gcc short-bytes int-bytes long-bytes long-long-bytes plain-char-signed progp state))) (or (string-listp preprocess-extra-args) (acl2::string-stringlist-mapp preprocess-extra-args))) :rule-classes :rewrite)
Theorem:
(defthm input-files-process-inputp-of-input-files-process-inputs.new-process (b* (((mv acl2::?erp ?new-files ?new-path ?preprocessor ?preprocess-extra-args ?new-process ?new-const ?keep-going ?ienv) (input-files-process-inputs files-presentp files path preprocess preprocess-args process const-presentp const keep-going std gcc short-bytes int-bytes long-bytes long-long-bytes plain-char-signed progp state))) (input-files-process-inputp new-process)) :rule-classes :rewrite)
Theorem:
(defthm symbolp-of-input-files-process-inputs.new-const (b* (((mv acl2::?erp ?new-files ?new-path ?preprocessor ?preprocess-extra-args ?new-process ?new-const ?keep-going ?ienv) (input-files-process-inputs files-presentp files path preprocess preprocess-args process const-presentp const keep-going std gcc short-bytes int-bytes long-bytes long-long-bytes plain-char-signed progp state))) (symbolp new-const)) :rule-classes :rewrite)
Theorem:
(defthm booleanp-of-input-files-process-inputs.keep-going (b* (((mv acl2::?erp ?new-files ?new-path ?preprocessor ?preprocess-extra-args ?new-process ?new-const ?keep-going ?ienv) (input-files-process-inputs files-presentp files path preprocess preprocess-args process const-presentp const keep-going std gcc short-bytes int-bytes long-bytes long-long-bytes plain-char-signed progp state))) (booleanp keep-going)) :rule-classes :rewrite)
Theorem:
(defthm ienvp-of-input-files-process-inputs.ienv (b* (((mv acl2::?erp ?new-files ?new-path ?preprocessor ?preprocess-extra-args ?new-process ?new-const ?keep-going ?ienv) (input-files-process-inputs files-presentp files path preprocess preprocess-args process const-presentp const keep-going std gcc short-bytes int-bytes long-bytes long-long-bytes plain-char-signed progp state))) (ienvp ienv)) :rule-classes :rewrite)
Theorem:
(defthm string-listp-of-input-files-process-inputs.preprocess-extra-args (b* (((mv acl2::?erp ?new-files ?new-path ?preprocessor ?preprocess-extra-args ?new-process ?new-const ?keep-going ?ienv) (input-files-process-inputs files-presentp files path preprocess preprocess-args process const-presentp const keep-going std gcc short-bytes int-bytes long-bytes long-long-bytes plain-char-signed progp state))) (implies (not (acl2::string-stringlist-mapp preprocess-extra-args)) (string-listp preprocess-extra-args))))
Theorem:
(defthm string-stringlist-mapp-of-input-files-process-inputs.preprocess-extra-args (b* (((mv acl2::?erp ?new-files ?new-path ?preprocessor ?preprocess-extra-args ?new-process ?new-const ?keep-going ?ienv) (input-files-process-inputs files-presentp files path preprocess preprocess-args process const-presentp const keep-going std gcc short-bytes int-bytes long-bytes long-long-bytes plain-char-signed progp state))) (implies (not (string-listp preprocess-extra-args)) (acl2::string-stringlist-mapp preprocess-extra-args))))
Theorem:
(defthm input-files-process-inputs.new-process (b* (((mv acl2::?erp ?new-files ?new-path ?preprocessor ?preprocess-extra-args ?new-process ?new-const ?keep-going ?ienv) (input-files-process-inputs files-presentp files path preprocess preprocess-args process const-presentp const keep-going std gcc short-bytes int-bytes long-bytes long-long-bytes plain-char-signed progp state))) (implies (not erp) (equal new-process process))))