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