Get the x field from a secp256k1-point.
(secp256k1-point->x p) → x
This is an ordinary field accessor created by fty::defprod.
Function:
(defun secp256k1-point->x$inline (p) (declare (xargs :guard (secp256k1-pointp p))) (declare (xargs :guard t)) (let ((acl2::__function__ 'secp256k1-point->x)) (declare (ignorable acl2::__function__)) (mbe :logic (b* ((p (and t p))) (secp256k1-field-fix (std::da-nth 0 p))) :exec (std::da-nth 0 p))))
Theorem:
(defthm secp256k1-fieldp-of-secp256k1-point->x (b* ((x (secp256k1-point->x$inline p))) (secp256k1-fieldp x)) :rule-classes :rewrite)
Theorem:
(defthm secp256k1-point->x$inline-of-secp256k1-point-fix-p (equal (secp256k1-point->x$inline (secp256k1-point-fix p)) (secp256k1-point->x$inline p)))
Theorem:
(defthm secp256k1-point->x$inline-secp256k1-point-equiv-congruence-on-p (implies (secp256k1-point-equiv p p-equiv) (equal (secp256k1-point->x$inline p) (secp256k1-point->x$inline p-equiv))) :rule-classes :congruence)