Check if a PFCS system consits of structured R1CS constraints.
Function:
(defun sr1cs-systemp (sys) (declare (xargs :guard (systemp sys))) (let ((__function__ 'sr1cs-systemp)) (declare (ignorable __function__)) (b* (((system sys) sys)) (and (sr1cs-definition-listp sys.definitions) (sr1cs-constraint-listp sys.constraints)))))
Theorem:
(defthm booleanp-of-sr1cs-systemp (b* ((yes/no (sr1cs-systemp sys))) (booleanp yes/no)) :rule-classes :rewrite)
Theorem:
(defthm sr1cs-systemp-of-system-fix-sys (equal (sr1cs-systemp (system-fix sys)) (sr1cs-systemp sys)))
Theorem:
(defthm sr1cs-systemp-system-equiv-congruence-on-sys (implies (system-equiv sys sys-equiv) (equal (sr1cs-systemp sys) (sr1cs-systemp sys-equiv))) :rule-classes :congruence)