Correctness of the circuit.
Soundness is proved automatically via the prime field library rules.
Completeness is proved via the
The extension to the circuit is boilerplate.
Theorem:
(defthm field-inv-flagged-pred-soundness (implies (and (primep prime) (pfield::fep x prime) (pfield::fep y prime) (pfield::fep e prime)) (implies (field-inv-flagged-pred x y e prime) (field-inv-flagged-spec x y e prime))))
Theorem:
(defthm field-inv-flagged-pred-completeness (implies (and (primep prime) (pfield::fep x prime) (pfield::fep y prime) (pfield::fep e prime)) (implies (field-inv-flagged-spec x y e prime) (field-inv-flagged-pred x y e prime))))
Theorem:
(defthm field-inv-flagged-pred-to-spec (implies (and (primep prime) (pfield::fep x prime) (pfield::fep y prime) (pfield::fep e prime)) (equal (field-inv-flagged-pred x y e prime) (field-inv-flagged-spec x y e prime))))
Theorem:
(defthm field-inv-flagged-circuit-to-spec (implies (and (equal (pfcs::lookup-definition (pfname "field_inv_flagged") defs) (field-inv-flagged-circuit)) (primep prime) (pfield::fep x prime) (pfield::fep y prime) (pfield::fep e prime)) (equal (pfcs::definition-satp (pfname "field_inv_flagged") defs (list x y e) prime) (field-inv-flagged-spec x y e prime))))