(vttree->constraints x) → constraints
Function:
(defun vttree->constraints (x) (declare (xargs :guard (vttree-p x))) (let ((__function__ 'vttree->constraints)) (declare (ignorable __function__)) (mbe :logic (vttree-case x :none nil :constraints (list-fix x.constraints) :warnings nil :context (constraintlist-add-ctx (vttree->constraints x.subtree) x.ctx) :branch (append-without-guard (vttree->constraints x.left) (vttree->constraints x.right))) :exec (rev (vttree->constraints-acc x nil nil)))))
Theorem:
(defthm constraintlist-p-of-vttree->constraints (b* ((constraints (vttree->constraints x))) (sv::constraintlist-p constraints)) :rule-classes :rewrite)
Theorem:
(defthm true-listp-of-vttree->constraints (b* ((?constraints (vttree->constraints x))) (true-listp constraints)) :rule-classes :type-prescription)
Theorem:
(defthm vttree->constraints-of-vttree-fix-x (equal (vttree->constraints (vttree-fix x)) (vttree->constraints x)))
Theorem:
(defthm vttree->constraints-vttree-equiv-congruence-on-x (implies (vttree-equiv x x-equiv) (equal (vttree->constraints x) (vttree->constraints x-equiv))) :rule-classes :congruence)