Get the delay field from a wire.
(wire->delay x) → delay
This is an ordinary field accessor created by defprod.
Function:
(defun wire->delay$inline (x) (declare (xargs :guard (wire-p x))) (declare (xargs :guard t)) (let ((__function__ 'wire->delay)) (declare (ignorable __function__)) (mbe :logic (b* ((x (and t x))) (acl2::maybe-posp-fix (std::prod-car (std::prod-car (std::prod-cdr x))))) :exec (std::prod-car (std::prod-car (std::prod-cdr x))))))
Theorem:
(defthm maybe-posp-of-wire->delay (b* ((delay (wire->delay$inline x))) (maybe-posp delay)) :rule-classes :type-prescription)
Theorem:
(defthm wire->delay$inline-of-wire-fix-x (equal (wire->delay$inline (wire-fix x)) (wire->delay$inline x)))
Theorem:
(defthm wire->delay$inline-wire-equiv-congruence-on-x (implies (wire-equiv x x-equiv) (equal (wire->delay$inline x) (wire->delay$inline x-equiv))) :rule-classes :congruence)