Basic constructor macro for axi-lit structures.
(make-axi-lit [:negp <negp>] [:abs <abs>])
This is the usual way to construct axi-lit structures. It simply conses together a structure with the specified fields.
This macro generates a new axi-lit structure from scratch. See also change-axi-lit, which can "change" an existing structure, instead.
This is an ordinary
Macro:
(defmacro make-axi-lit (&rest args) (std::make-aggregate 'axi-lit args '((:negp) (:abs)) 'make-axi-lit nil))
Function:
(defun axi-lit (negp abs) (declare (xargs :guard (and (booleanp negp) (axi-term-p abs)))) (declare (xargs :guard t)) (let ((__function__ 'axi-lit)) (declare (ignorable __function__)) (b* ((negp (mbe :logic (acl2::bool-fix negp) :exec negp)) (abs (mbe :logic (axi-term-fix abs) :exec abs))) (axi-lit-construct$ negp abs))))