Lifting of the circuit to a predicate.
Function:
(defun boolean-nor-pred (x y z prime) (and (equal (pfield::mul (pfield::sub (mod 1 prime) x prime) (pfield::sub (mod 1 prime) y prime) prime) z)))
Theorem:
(defthm definition-satp-to-boolean-nor-pred (implies (and (equal (pfcs::lookup-definition '(:simple "boolean_nor") pfcs::defs) '(:definition (name :simple "boolean_nor") (pfcs::para (:simple "x") (:simple "y") (:simple "z")) (pfcs::body (:equal (:mul (:sub (:const 1) (:var (:simple "x"))) (:sub (:const 1) (:var (:simple "y")))) (:var (:simple "z")))))) (pfield::fep x prime) (pfield::fep y prime) (pfield::fep z prime) (primep prime)) (equal (pfcs::definition-satp '(:simple "boolean_nor") pfcs::defs (list x y z) prime) (boolean-nor-pred x y z prime))))