Merge hypothesis into hint
(merge-hypothesis content hint) → new-hint
Function:
(defun merge-hypothesis (content hint) (declare (xargs :guard (and (hypothesis-lst-syntax-p content) (smtlink-hint-p hint)))) (let ((acl2::__function__ 'merge-hypothesis)) (declare (ignorable acl2::__function__)) (b* ((hint (smtlink-hint-fix hint)) (content (hypothesis-lst-syntax-fix content)) ((unless (consp content)) hint) ((cons first rest) content) ((smtlink-hint h) hint) (new-hypo-lst (cons (make-merge-hypothesis first) h.hypotheses)) (new-hint (change-smtlink-hint hint :hypotheses new-hypo-lst))) (merge-hypothesis rest new-hint))))
Theorem:
(defthm smtlink-hint-p-of-merge-hypothesis (b* ((new-hint (merge-hypothesis content hint))) (smtlink-hint-p new-hint)) :rule-classes :rewrite)