Generate the applicability conditions
(casesplit-gen-appconds-thm-hyp conditions$ hyps wrld) → appconds
Function:
(defun casesplit-gen-appconds-thm-hyp-aux (k conditions$ hyps wrld acc) (declare (xargs :guard (and (natp k) (pseudo-term-listp conditions$) (pseudo-term-listp hyps) (plist-worldp wrld) (symbol-alistp acc)))) (declare (xargs :guard (and (= (len hyps) (1+ (len conditions$))) (<= k (len conditions$))))) (let ((__function__ 'casesplit-gen-appconds-thm-hyp-aux)) (declare (ignorable __function__)) (b* (((when (zp k)) acc) (appcond (casesplit-gen-appcond-thm-hyp k conditions$ hyps)) (acc (cons appcond acc))) (casesplit-gen-appconds-thm-hyp-aux (1- k) conditions$ hyps wrld acc))))
Function:
(defun casesplit-gen-appconds-thm-hyp (conditions$ hyps wrld) (declare (xargs :guard (and (pseudo-term-listp conditions$) (pseudo-term-listp hyps) (plist-worldp wrld)))) (declare (xargs :guard (= (len hyps) (1+ (len conditions$))))) (let ((__function__ 'casesplit-gen-appconds-thm-hyp)) (declare (ignorable __function__)) (append (casesplit-gen-appconds-thm-hyp-aux (len conditions$) conditions$ hyps wrld nil) (list (casesplit-gen-appcond-thm-hyp 0 conditions$ hyps)))))