Create an in-order list of values from a tree.
(tree-in-order tree) → list
Function:
(defun tree-in-order (tree) (declare (xargs :guard (binary-tree-p tree))) (let ((__function__ 'tree-in-order)) (declare (ignorable __function__)) (if (tree-emptyp tree) nil (append (tree-in-order (tree-left tree)) (cons (tree-head tree) (tree-in-order (tree-right tree)))))))
Theorem:
(defthm true-listp-of-tree-in-order (b* ((list (tree-in-order tree))) (true-listp list)) :rule-classes :rewrite)