other
(in-package "ACL2")
other
(verify-termination term-order1 (declare (xargs :guard (and (pseudo-termp term1) (pseudo-termp term2) (alistp invisible-fns-table) (symbol-list-listp invisible-fns-table)))))
other
(verify-termination term-order (declare (xargs :guard (and (pseudo-termp term1) (pseudo-termp term2)))))
steps-to-nilfunction
(defun steps-to-nil (x) (declare (xargs :measure (if x (+ 1 (len x)) 0))) (if (null x) 0 (+ 1 (steps-to-nil (cdr x)))))
other
(verify-termination merge-term-order (declare (xargs :guard (and (pseudo-term-listp l1) (pseudo-term-listp l2)))))
acl2-count-evenstheorem
(defthm acl2-count-evens (implies (consp (cdr x)) (< (acl2-count (evens x)) (acl2-count x))) :rule-classes :linear)
acl2-count-cdr-weaktheorem
(defthm acl2-count-cdr-weak (<= (acl2-count (cdr x)) (acl2-count x)) :rule-classes :linear)
acl2-count-cdrtheorem
(defthm acl2-count-cdr (implies (consp x) (< (acl2-count (cdr x)) (acl2-count x))) :rule-classes :linear)
acl2-count-oddstheorem
(defthm acl2-count-odds (implies (cdr x) (< (acl2-count (odds x)) (acl2-count x))) :hints (("goal" :in-theory (disable acl2-count-evens) :use ((:instance acl2-count-evens (x (cdr x)))))) :rule-classes :linear)
other
(verify-termination merge-sort-term-order (declare (xargs :guard (pseudo-term-listp l) :verify-guards nil)))
pseudo-term-listp-merge-term-ordertheorem
(defthm pseudo-term-listp-merge-term-order (implies (and (pseudo-term-listp l1) (pseudo-term-listp l2)) (pseudo-term-listp (merge-term-order l1 l2))))
pseudo-term-listp-evenstheorem
(defthm pseudo-term-listp-evens (implies (pseudo-term-listp l) (pseudo-term-listp (evens l))))
pseudo-term-listp-merge-sort-term-ordertheorem
(defthm pseudo-term-listp-merge-sort-term-order (implies (pseudo-term-listp l) (pseudo-term-listp (merge-sort-term-order l))))
other
(verify-guards merge-sort-term-order)