Leo double operation.
(op-double arg curve) → result
Function:
(defun op-double (arg curve) (declare (xargs :guard (and (valuep arg) (curvep curve)))) (let ((__function__ 'op-double)) (declare (ignorable __function__)) (cond ((value-case arg :field) (op-field-double arg curve)) ((value-case arg :group) (op-group-double arg curve)) (t (reserrf (list :op-double (value-fix arg)))))))
Theorem:
(defthm value-resultp-of-op-double (b* ((result (op-double arg curve))) (value-resultp result)) :rule-classes :rewrite)