Basic constructor macro for deftreeops-rep-info structures.
(make-deftreeops-rep-info [:matching-thm <matching-thm>] [:get-tree-list-fn <get-tree-list-fn>] [:get-tree-fn <get-tree-fn>])
This is the usual way to construct deftreeops-rep-info structures. It simply conses together a structure with the specified fields.
This macro generates a new deftreeops-rep-info structure from scratch. See also change-deftreeops-rep-info, which can "change" an existing structure, instead.
This is an ordinary
Macro:
(defmacro make-deftreeops-rep-info (&rest args) (std::make-aggregate 'deftreeops-rep-info args '((:matching-thm) (:get-tree-list-fn) (:get-tree-fn)) 'make-deftreeops-rep-info nil))
Function:
(defun deftreeops-rep-info (matching-thm get-tree-list-fn get-tree-fn) (declare (xargs :guard (and (common-lisp::symbolp matching-thm) (common-lisp::symbolp get-tree-list-fn) (common-lisp::symbolp get-tree-fn)))) (declare (xargs :guard t)) (let ((__function__ 'deftreeops-rep-info)) (declare (ignorable __function__)) (b* ((matching-thm (mbe :logic (acl2::symbol-fix matching-thm) :exec matching-thm)) (get-tree-list-fn (mbe :logic (acl2::symbol-fix get-tree-list-fn) :exec get-tree-list-fn)) (get-tree-fn (mbe :logic (acl2::symbol-fix get-tree-fn) :exec get-tree-fn))) (list (cons 'matching-thm matching-thm) (cons 'get-tree-list-fn get-tree-list-fn) (cons 'get-tree-fn get-tree-fn)))))