Process all the schema-specific inputs.
(schemalg-process-schema-inputs schema list-input list-input? oset-input oset-input? cdr-output cdr-output? tail-output tail-output? fvar-0-name fvar-0-name? fvar-1-name fvar-1-name? fvar-2-name fvar-2-name? spec-0-name spec-0-name? spec-0-enable spec-0-enable? spec-1-name spec-1-name? spec-1-enable spec-1-enable? spec-2-name spec-2-name? spec-2-enable spec-2-enable? old ?f x-x1...xn x-a1...am names-to-avoid ctx state) → (mv erp result state)
Function:
(defun schemalg-process-schema-inputs (schema list-input list-input? oset-input oset-input? cdr-output cdr-output? tail-output tail-output? fvar-0-name fvar-0-name? fvar-1-name fvar-1-name? fvar-2-name fvar-2-name? spec-0-name spec-0-name? spec-0-enable spec-0-enable? spec-1-name spec-1-name? spec-1-enable spec-1-enable? spec-2-name spec-2-name? spec-2-enable spec-2-enable? old ?f x-x1...xn x-a1...am names-to-avoid ctx state) (declare (xargs :stobjs (state))) (declare (xargs :guard (and (keywordp schema) (booleanp list-input?) (booleanp oset-input?) (booleanp cdr-output?) (booleanp tail-output?) (booleanp fvar-0-name?) (booleanp fvar-1-name?) (booleanp fvar-2-name?) (booleanp spec-0-name?) (booleanp spec-0-enable?) (booleanp spec-1-name?) (booleanp spec-1-enable?) (booleanp spec-2-name?) (booleanp spec-2-enable?) (symbolp old) (symbolp ?f) (symbol-listp x-x1...xn) (pseudo-term-listp x-a1...am) (symbol-listp names-to-avoid)))) (let ((__function__ 'schemalg-process-schema-inputs)) (declare (ignorable __function__)) (b* (((er &) (schemalg-check-allowed-input list-input? :divconq-list-0-1 :divconq-list-0-1-2)) ((er &) (schemalg-check-allowed-input oset-input? :divconq-oset-0-1)) ((er &) (schemalg-check-allowed-input cdr-output? :divconq-list-0-1 :divconq-list-0-1-2)) ((er &) (schemalg-check-allowed-input tail-output? :divconq-oset-0-1)) ((er &) (schemalg-check-allowed-input fvar-0-name? :divconq-list-0-1 :divconq-list-0-1-2 :divconq-oset-0-1)) ((er &) (schemalg-check-allowed-input fvar-1-name? :divconq-list-0-1 :divconq-list-0-1-2 :divconq-oset-0-1)) ((er &) (schemalg-check-allowed-input fvar-2-name? :divconq-list-0-1-2)) ((er &) (schemalg-check-allowed-input spec-0-name? :divconq-list-0-1 :divconq-list-0-1-2 :divconq-oset-0-1)) ((er &) (schemalg-check-allowed-input spec-0-enable? :divconq-list-0-1 :divconq-list-0-1-2 :divconq-oset-0-1)) ((er &) (schemalg-check-allowed-input spec-1-name? :divconq-list-0-1 :divconq-list-0-1-2 :divconq-oset-0-1)) ((er &) (schemalg-check-allowed-input spec-1-enable? :divconq-list-0-1 :divconq-list-0-1-2 :divconq-oset-0-1)) ((er &) (schemalg-check-allowed-input spec-2-name? :divconq-list-0-1-2)) ((er &) (schemalg-check-allowed-input spec-2-enable? :divconq-list-0-1-2)) ((er &) (ensure-value-is-boolean$ spec-0-enable "The :SPEC-0-ENABLE input" t nil)) ((er &) (ensure-value-is-boolean$ spec-1-enable "The :SPEC-1-ENABLE input" t nil)) ((er &) (ensure-value-is-boolean$ spec-2-enable "The :SPEC-2-ENABLE input" t nil))) (case schema (:divconq-list-0-1 (b* (((er (list x y ??g ??h spec-0 spec-1 names-to-avoid)) (schemalg-process-divconq-list-0-1-inputs list-input list-input? cdr-output cdr-output? fvar-0-name fvar-1-name spec-0-name spec-1-name old ?f x-x1...xn x-a1...am names-to-avoid ctx state))) (value (list x y ?g nil nil ?h (list ?g ?h) spec-0 spec-1 nil names-to-avoid)))) (:divconq-list-0-1-2 (b* (((er (list x y ??g0 ??g1 ??h spec-0 spec-1 spec-2 names-to-avoid)) (schemalg-process-divconq-list-0-1-2-inputs list-input list-input? cdr-output cdr-output? fvar-0-name fvar-1-name fvar-2-name spec-0-name spec-1-name spec-2-name old ?f x-x1...xn x-a1...am names-to-avoid ctx state))) (value (list x y nil ?g0 ?g1 ?h (list ?g0 ?g1 ?h) spec-0 spec-1 spec-2 names-to-avoid)))) (:divconq-oset-0-1 (b* (((er (list x y ??g ??h spec-0 spec-1 names-to-avoid)) (schemalg-process-divconq-oset-0-1-inputs oset-input oset-input? tail-output tail-output? fvar-0-name fvar-1-name spec-0-name spec-1-name old ?f x-x1...xn x-a1...am names-to-avoid ctx state))) (value (list x y ?g nil nil ?h (list ?g ?h) spec-0 spec-1 nil names-to-avoid)))) (t (value (raise "Internal error: unknown schema ~x0." schema)))))))