Construct an XDOC tree for an XDOC box
See the
Macro:
(defmacro box (&rest args) (mv-let (trees attributes) (partition-macro-args args 'box) (let ((attributes (keyword-macro-args-to-terms attributes))) (list 'box-fn (cons 'list attributes) (cons 'list trees)))))
Function:
(defun box-fn (attributes trees) (declare (xargs :guard (and (keyword-tree-alistp attributes) (tree-listp trees)))) (make-tree-tag :box attributes trees))
Theorem:
(defthm stringp-of-box (equal (treep (box-fn attributes trees)) (and (keyword-tree-alistp attributes) (tree-listp trees))))