Generator point of the subgroup.
(curve-generator curve) → gen
Even though any non-zero element of the subgroup is a generator of the subgroup, here we pick a specific one, which presumably is needed to make certain calculations unambiguous and deterministic.
Function:
(defun curve-generator (curve) (declare (xargs :guard (curvep curve))) (declare (ignore curve)) (let ((__function__ 'curve-generator)) (declare (ignorable __function__)) (edwards-bls12-generator)))
Theorem:
(defthm return-type-of-curve-generator (b* ((gen (curve-generator curve))) (curve-subgroupp gen curve)) :rule-classes :rewrite)
Theorem:
(defthm curve-generator-of-curve-fix-curve (equal (curve-generator (curve-fix curve)) (curve-generator curve)))
Theorem:
(defthm curve-generator-curve-equiv-congruence-on-curve (implies (curve-equiv curve curve-equiv) (equal (curve-generator curve) (curve-generator curve-equiv))) :rule-classes :congruence)