Check if a point is on BabyJubjub.
(point-on-baby-jubjub-p point) → yes/no
Function:
(defun point-on-baby-jubjub-p (point) (declare (xargs :guard (ecurve::pointp point))) (let ((acl2::__function__ 'point-on-baby-jubjub-p)) (declare (ignorable acl2::__function__)) (ecurve::point-on-twisted-edwards-p point (baby-jubjub-curve))))
Theorem:
(defthm booleanp-of-point-on-baby-jubjub-p (b* ((yes/no (point-on-baby-jubjub-p point))) (booleanp yes/no)) :rule-classes :rewrite)
Theorem:
(defthm point-on-baby-jubjub-p-of-point-fix-point (equal (point-on-baby-jubjub-p (ecurve::point-fix point)) (point-on-baby-jubjub-p point)))
Theorem:
(defthm point-on-baby-jubjub-p-point-equiv-congruence-on-point (implies (ecurve::point-equiv point point-equiv) (equal (point-on-baby-jubjub-p point) (point-on-baby-jubjub-p point-equiv))) :rule-classes :congruence)