Evaluate a list of input items.
(eval-input-item-list initems intitle curve) → funargs
We evaluate them one after the other, returning a corresponding list of function arguments. We stop as soon as there is an error.
Function:
(defun eval-input-item-list (initems intitle curve) (declare (xargs :guard (and (input-item-listp initems) (input-titlep intitle) (curvep curve)))) (let ((__function__ 'eval-input-item-list)) (declare (ignorable __function__)) (b* (((when (endp initems)) nil) ((okf funarg) (eval-input-item (car initems) intitle curve)) ((okf funargs) (eval-input-item-list (cdr initems) intitle curve))) (cons funarg funargs))))
Theorem:
(defthm funarg-list-resultp-of-eval-input-item-list (b* ((funargs (eval-input-item-list initems intitle curve))) (funarg-list-resultp funargs)) :rule-classes :rewrite)
Theorem:
(defthm eval-input-item-list-of-input-item-list-fix-initems (equal (eval-input-item-list (input-item-list-fix initems) intitle curve) (eval-input-item-list initems intitle curve)))
Theorem:
(defthm eval-input-item-list-input-item-list-equiv-congruence-on-initems (implies (input-item-list-equiv initems initems-equiv) (equal (eval-input-item-list initems intitle curve) (eval-input-item-list initems-equiv intitle curve))) :rule-classes :congruence)
Theorem:
(defthm eval-input-item-list-of-input-title-fix-intitle (equal (eval-input-item-list initems (input-title-fix intitle) curve) (eval-input-item-list initems intitle curve)))
Theorem:
(defthm eval-input-item-list-input-title-equiv-congruence-on-intitle (implies (input-title-equiv intitle intitle-equiv) (equal (eval-input-item-list initems intitle curve) (eval-input-item-list initems intitle-equiv curve))) :rule-classes :congruence)
Theorem:
(defthm eval-input-item-list-of-curve-fix-curve (equal (eval-input-item-list initems intitle (curve-fix curve)) (eval-input-item-list initems intitle curve)))
Theorem:
(defthm eval-input-item-list-curve-equiv-congruence-on-curve (implies (curve-equiv curve curve-equiv) (equal (eval-input-item-list initems intitle curve) (eval-input-item-list initems intitle curve-equiv))) :rule-classes :congruence)