Recognizer for ringosc3 structures.
(ringosc3-p x) → *
Function:
(defun ringosc3-p (x) (declare (xargs :guard t)) (let ((acl2::__function__ 'ringosc3-p)) (declare (ignorable acl2::__function__)) (and (mbe :logic (and (alistp x) (equal (strip-cars x) '(n1 n2 n3 inv1 inv2 inv3))) :exec (fty::alist-with-carsp x '(n1 n2 n3 inv1 inv2 inv3))) (b* ((n1 (cdr (std::da-nth 0 x))) (n2 (cdr (std::da-nth 1 x))) (n3 (cdr (std::da-nth 2 x))) (inv1 (cdr (std::da-nth 3 x))) (inv2 (cdr (std::da-nth 4 x))) (inv3 (cdr (std::da-nth 5 x)))) (and (sig-path-p n1) (sig-path-p n2) (sig-path-p n3) (inverter-p inv1) (inverter-p inv2) (inverter-p inv3))))))
Theorem:
(defthm consp-when-ringosc3-p (implies (ringosc3-p x) (consp x)) :rule-classes :compound-recognizer)