Check if a PFCS definition consists of strcutred R1CS constraints.
(sr1cs-definitionp def) → yes/no
Function:
(defun sr1cs-definitionp (def) (declare (xargs :guard (definitionp def))) (let ((__function__ 'sr1cs-definitionp)) (declare (ignorable __function__)) (sr1cs-constraint-listp (definition->body def))))
Theorem:
(defthm booleanp-of-sr1cs-definitionp (b* ((yes/no (sr1cs-definitionp def))) (booleanp yes/no)) :rule-classes :rewrite)
Theorem:
(defthm sr1cs-definitionp-of-definition-fix-def (equal (sr1cs-definitionp (definition-fix def)) (sr1cs-definitionp def)))
Theorem:
(defthm sr1cs-definitionp-definition-equiv-congruence-on-def (implies (definition-equiv def def-equiv) (equal (sr1cs-definitionp def) (sr1cs-definitionp def-equiv))) :rule-classes :congruence)