1
; This example is essentially due to Vernon Austel.
10
(in-theory (disable eqv))
17
(set-irrelevant-formals-ok t)
19
(local (defun prop (x y) t))
20
(local (defun fn1 (x) x))
24
:rule-classes (:rewrite :type-prescription))
27
(eqv (fn1 x) x)) ; Double-rewrite warning for x on rhs
30
(implies (eqv (double-rewrite x) y) ; Double-rewrite warning for y
37
; Theorem prop-fn1-fails below is the same as prop-fn1 just above, but fails
38
; because the double-rewrite call is missing on x in prop-thm-bad.
41
(implies (eqv x y) ; Double-rewrite warning for x and y
44
(in-theory (disable prop-fn1 prop-thm))
47
; (defthm prop-fn1-fails
50
; The following eliminates all warnings for the rule.
52
(defthm prop-thm-overkill
53
(implies (eqv (double-rewrite x) (double-rewrite y))