Recognizer for svtv-spec structures.
(svtv-spec-p x) → *
Function:
(defun svtv-spec-p (x) (declare (xargs :guard t)) (let ((__function__ 'svtv-spec-p)) (declare (ignorable __function__)) (and (mbe :logic (and (alistp x) (equal (strip-cars x) '(fsm cycle-phases namemap probes in-alists override-test-alists override-val-alists initst-alist))) :exec (fty::alist-with-carsp x '(fsm cycle-phases namemap probes in-alists override-test-alists override-val-alists initst-alist))) (b* ((fsm (cdr (std::da-nth 0 x))) (cycle-phases (cdr (std::da-nth 1 x))) (namemap (cdr (std::da-nth 2 x))) (probes (cdr (std::da-nth 3 x))) (in-alists (cdr (std::da-nth 4 x))) (override-test-alists (cdr (std::da-nth 5 x))) (override-val-alists (cdr (std::da-nth 6 x))) (initst-alist (cdr (std::da-nth 7 x)))) (and (fsm-p fsm) (svtv-cyclephaselist-p cycle-phases) (svtv-name-lhs-map-p namemap) (svtv-probealist-p probes) (svex-alistlist-p in-alists) (svex-alistlist-p override-test-alists) (svex-alistlist-p override-val-alists) (svex-alist-p initst-alist))))))
Theorem:
(defthm consp-when-svtv-spec-p (implies (svtv-spec-p x) (consp x)) :rule-classes :compound-recognizer)