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