Lifting of the circuit to a predicate.
Theorem:
(defthm field-assert-eq-pred-suff (implies (and (pfield::fep z prime) (and (field-eq-pred x y z prime) (boolean-assert-true-pred z prime))) (field-assert-eq-pred x y prime)))
Theorem:
(defthm definition-satp-to-field-assert-eq-pred (implies (and (equal (pfcs::lookup-definition '(:simple "field_assert_eq") pfcs::defs) '(:definition (name :simple "field_assert_eq") (pfcs::para (:simple "x") (:simple "y")) (pfcs::body (:relation (:simple "field_eq") ((:var (:simple "x")) (:var (:simple "y")) (:var (:simple "z")))) (:relation (:simple "boolean_assert_true") ((:var (:simple "z"))))))) (equal (pfcs::lookup-definition '(:simple "boolean_assert_true") pfcs::defs) '(:definition (name :simple "boolean_assert_true") (pfcs::para (:simple "x")) (pfcs::body (:equal (:mul (:var (:simple "x")) (:const 1)) (:const 1))))) (equal (pfcs::lookup-definition '(:simple "field_eq") pfcs::defs) '(:definition (name :simple "field_eq") (pfcs::para (:simple "x") (:simple "y") (:simple "z")) (pfcs::body (:relation (:simple "field_neq") ((:var (:simple "x")) (:var (:simple "y")) (:var (:simple "w")))) (:relation (:simple "boolean_not") ((:var (:simple "w")) (:var (:simple "z"))))))) (equal (pfcs::lookup-definition '(:simple "boolean_not") pfcs::defs) '(:definition (name :simple "boolean_not") (pfcs::para (:simple "x") (:simple "y")) (pfcs::body (:equal (:mul (:sub (:const 1) (:var (:simple "x"))) (:const 1)) (:var (:simple "y")))))) (equal (pfcs::lookup-definition '(:simple "field_neq") pfcs::defs) '(:definition (name :simple "field_neq") (pfcs::para (:simple "x") (:simple "y") (:simple "z")) (pfcs::body (:equal (:mul (:sub (:var (:simple "x")) (:var (:simple "y"))) (:var (:simple "w"))) (:var (:simple "z"))) (:equal (:mul (:sub (:var (:simple "x")) (:var (:simple "y"))) (:sub (:const 1) (:var (:simple "z")))) (:const 0))))) (pfield::fep x prime) (pfield::fep y prime) (primep prime)) (equal (pfcs::definition-satp '(:simple "field_assert_eq") pfcs::defs (list x y) prime) (field-assert-eq-pred x y prime))))