3
(local (include-book "predicate"))
4
(local (include-book "fp2"))
5
(local (include-book "inverted-factor"))
7
(defthm unary-divide-less-than-zero
8
(implies (case-split (not (complex-rationalp x))) ;drop?
14
(defthm unary-divide-less-than-zero
15
(implies t;(case-split (not (complex-rationalp x))) ;drop?
20
;perhaps we don't need these, if we have rules like
21
;less-than-multiply-through-by-inverted-factor-from-left-hand-side ?
22
(defthm unary-divide-greater-than-zero
23
(implies (case-split (not (complex-rationalp x))) ;drop?
27
(defthm unary-divide-equal-0
28
(implies (case-split (acl2-numberp x))
29
(equal (equal 0 (/ x))
32
;BOZO Why do we require the constant to be non-zero?
33
(defthm unary-divide-equal-non-zero-constant
34
(implies (and (syntaxp (and (quotep k)
35
;(not (equal 0 (cadr k)))
37
;(case-split (not (equal 0 k)))
38
(case-split (acl2-numberp x))
39
(case-split (acl2-numberp k))
41
(equal (equal k (/ x))
44
;make a negative case?
45
(defthm unary-divide-less-than-non-zero-constant
46
(implies (and (syntaxp (and (quotep k) (not (equal 0 (cadr k))))) ;drop?
49
(case-split (not (equal 0 k)))
50
(case-split (not (equal 0 x)))
51
(case-split (rationalp x))
52
(case-split (rationalp k))
58
;once with this msg failed:
59
;1x (:REWRITE UNARY-DIVIDE-GREATER-THAN-NON-ZERO-CONSTANT) failed because it permutes a big term forward.
60
;so I changed the conclusion to not use unary-/
61
(defthm unary-divide-greater-than-non-zero-constant
62
(implies (and (syntaxp (and (quotep k) (not (equal 0 (cadr k))))) ;drop?
65
(case-split (not (equal 0 k)))
66
(case-split (not (equal 0 x)))
67
(case-split (rationalp x))
68
(case-split (rationalp k))
b'\\ No newline at end of file'