Group addition on Edwards-BLS12.
(edwards-bls12-add point1 point2) → point
Function:
(defun edwards-bls12-add (point1 point2) (declare (xargs :guard (and (edwards-bls12-pointp point1) (edwards-bls12-pointp point2)))) (let ((acl2::__function__ 'edwards-bls12-add)) (declare (ignorable acl2::__function__)) (twisted-edwards-add point1 point2 (edwards-bls12-curve))))
Theorem:
(defthm edwards-bls12-pointp-of-edwards-bls12-add (implies (and (edwards-bls12-pointp point1) (edwards-bls12-pointp point2)) (b* ((point (edwards-bls12-add point1 point2))) (edwards-bls12-pointp point))) :rule-classes :rewrite)