Recognizer for valid-table structures.
(valid-tablep x) → *
Function:
(defun valid-tablep (x) (declare (xargs :guard t)) (and (mbe :logic (and (alistp x) (equal (strip-cars x) '(filepath scopes externals next-uid))) :exec (fty::alist-with-carsp x '(filepath scopes externals next-uid))) (b* ((filepath (cdr (std::da-nth 0 x))) (scopes (cdr (std::da-nth 1 x))) (externals (cdr (std::da-nth 2 x))) (next-uid (cdr (std::da-nth 3 x)))) (and (filepathp filepath) (valid-scope-listp scopes) (valid-externalsp externals) (uidp next-uid)))))
Theorem:
(defthm consp-when-valid-tablep (implies (valid-tablep x) (consp x)) :rule-classes :compound-recognizer)