Group addition [ZPS:4.1.8], on Jubjub.
(jubjub-add point1 point2) → point
Function:
(defun jubjub-add (point1 point2) (declare (xargs :guard (and (jubjub-pointp point1) (jubjub-pointp point2)))) (let ((__function__ 'jubjub-add)) (declare (ignorable __function__)) (ecurve::twisted-edwards-add point1 point2 (jubjub-curve))))
Theorem:
(defthm jubjub-pointp-of-jubjub-add (implies (and (jubjub-pointp point1) (jubjub-pointp point2)) (b* ((point (jubjub-add point1 point2))) (jubjub-pointp point))) :rule-classes :rewrite)