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