Recognize the points on the BabyJubjub curve.
(baby-jubjub-pointp x) → yes/no
These are all finite points.
Function:
(defun baby-jubjub-pointp (x) (declare (xargs :guard t)) (let ((acl2::__function__ 'baby-jubjub-pointp)) (declare (ignorable acl2::__function__)) (and (ecurve::pointp x) (point-on-baby-jubjub-p x))))
Theorem:
(defthm booleanp-of-baby-jubjub-pointp (b* ((yes/no (baby-jubjub-pointp x))) (booleanp yes/no)) :rule-classes :rewrite)
Theorem:
(defthm point-finite-when-baby-jubjub-pointp (implies (baby-jubjub-pointp x) (equal (ecurve::point-kind x) :finite)))