(BOOT-STRAP)
[ 0.0 0.0 0.0 ]
GROUND-ZERO
(COMPILE-UNCOMPILED-DEFNS "tmp")
Loading ./hunt/tmp.o
Finished loading ./hunt/tmp.o
/v/hank/v28/boyer/nqthm-2nd/nqthm-1992/examples/hunt/tmp.lisp
(PROVE-LEMMA PLUS-1
(REWRITE)
(EQUAL (PLUS 1 X) (ADD1 X)))
This simplifies, using linear arithmetic, to:
T.
Q.E.D.
[ 0.0 0.0 0.0 ]
PLUS-1
(PROVE-LEMMA PLUS-RIGHT-ID
(REWRITE)
(IMPLIES (NOT (NUMBERP Y))
(EQUAL (PLUS X Y) (FIX X))))
This simplifies, unfolding the definition of FIX, to the following two new
goals:
Case 2. (IMPLIES (AND (NOT (NUMBERP Y))
(NOT (NUMBERP X)))
(EQUAL (PLUS X Y) 0)).
This again simplifies, opening up the definitions of PLUS and EQUAL, to:
T.
Case 1. (IMPLIES (AND (NOT (NUMBERP Y)) (NUMBERP X))
(EQUAL (PLUS X Y) X)),
which we will name *1.
We will appeal to induction. There is only one plausible induction. We
will induct according to the following scheme:
(AND (IMPLIES (ZEROP X) (p X Y))
(IMPLIES (AND (NOT (ZEROP X)) (p (SUB1 X) Y))
(p X Y))).
Linear arithmetic, the lemmas SUB1-LESSEQP and SUB1-LESSP, and the definition
of ZEROP establish that the measure (COUNT X) decreases according to the
well-founded relation LESSP in each induction step of the scheme. The above
induction scheme generates the following two new formulas:
Case 2. (IMPLIES (AND (ZEROP X)
(NOT (NUMBERP Y))
(NUMBERP X))
(EQUAL (PLUS X Y) X)).
This simplifies, expanding the functions ZEROP, NUMBERP, EQUAL, and PLUS, to:
T.
Case 1. (IMPLIES (AND (NOT (ZEROP X))
(EQUAL (PLUS (SUB1 X) Y) (SUB1 X))
(NOT (NUMBERP Y))
(NUMBERP X))
(EQUAL (PLUS X Y) X)).
This simplifies, using linear arithmetic, to the new conjecture:
(IMPLIES (AND (EQUAL X 0)
(NOT (ZEROP X))
(EQUAL (PLUS (SUB1 X) Y) (SUB1 X))
(NOT (NUMBERP Y))
(NUMBERP X))
(EQUAL (PLUS X Y) X)),
which again simplifies, expanding the function ZEROP, to:
T.
That finishes the proof of *1. Q.E.D.
[ 0.0 0.0 0.0 ]
PLUS-RIGHT-ID
(PROVE-LEMMA PLUS-ADD1
(REWRITE)
(EQUAL (PLUS X (ADD1 Y))
(IF (NUMBERP Y)
(ADD1 (PLUS X Y))
(ADD1 X))))
This simplifies, obviously, to two new formulas:
Case 2. (IMPLIES (NOT (NUMBERP Y))
(EQUAL (PLUS X (ADD1 Y)) (ADD1 X))),
which again simplifies, rewriting with the lemma SUB1-TYPE-RESTRICTION, to
the conjecture:
(IMPLIES (NOT (NUMBERP Y))
(EQUAL (PLUS X 1) (ADD1 X))).
But this again simplifies, using linear arithmetic, to:
T.
Case 1. (IMPLIES (NUMBERP Y)
(EQUAL (PLUS X (ADD1 Y))
(ADD1 (PLUS X Y)))),
which again simplifies, using linear arithmetic, to:
T.
Q.E.D.
[ 0.0 0.0 0.0 ]
PLUS-ADD1
(PROVE-LEMMA COMMUTATIVITY2-OF-PLUS
(REWRITE)
(EQUAL (PLUS X (PLUS Y Z))
(PLUS Y (PLUS X Z))))
This simplifies, using linear arithmetic, to:
T.
Q.E.D.
[ 0.0 0.0 0.0 ]
COMMUTATIVITY2-OF-PLUS
(PROVE-LEMMA COMMUTATIVITY-OF-PLUS
(REWRITE)
(EQUAL (PLUS X Y) (PLUS Y X)))
WARNING: the newly proposed lemma, COMMUTATIVITY-OF-PLUS, could be applied
whenever the previously added lemma COMMUTATIVITY2-OF-PLUS could.
WARNING: the newly proposed lemma, COMMUTATIVITY-OF-PLUS, could be applied
whenever the previously added lemma PLUS-ADD1 could.
WARNING: the newly proposed lemma, COMMUTATIVITY-OF-PLUS, could be applied
whenever the previously added lemma PLUS-RIGHT-ID could.
WARNING: the newly proposed lemma, COMMUTATIVITY-OF-PLUS, could be applied
whenever the previously added lemma PLUS-1 could.
This formula simplifies, using linear arithmetic, to:
T.
Q.E.D.
[ 0.0 0.0 0.0 ]
COMMUTATIVITY-OF-PLUS
(PROVE-LEMMA ASSOCIATIVITY-OF-PLUS
(REWRITE)
(EQUAL (PLUS (PLUS X Y) Z)
(PLUS X (PLUS Y Z))))
WARNING: the previously added lemma, COMMUTATIVITY-OF-PLUS, could be applied
whenever the newly proposed ASSOCIATIVITY-OF-PLUS could!
This simplifies, using linear arithmetic, to:
T.
Q.E.D.
[ 0.0 0.0 0.0 ]
ASSOCIATIVITY-OF-PLUS
(PROVE-LEMMA PLUS-EQUAL-0
(REWRITE)
(EQUAL (EQUAL (PLUS A B) 0)
(AND (ZEROP A) (ZEROP B))))
This simplifies, opening up the functions ZEROP and AND, to six new
conjectures:
Case 6. (IMPLIES (AND (NOT (EQUAL (PLUS A B) 0))
(NOT (NUMBERP A)))
(NOT (EQUAL B 0))),
which again simplifies, applying PLUS-RIGHT-ID and COMMUTATIVITY-OF-PLUS,
and unfolding the functions NUMBERP and EQUAL, to:
T.
Case 5. (IMPLIES (AND (NOT (EQUAL (PLUS A B) 0))
(NOT (NUMBERP A)))
(NUMBERP B)).
However this again simplifies, applying PLUS-RIGHT-ID, and unfolding the
function EQUAL, to:
T.
Case 4. (IMPLIES (AND (NOT (EQUAL (PLUS A B) 0))
(EQUAL A 0))
(NOT (EQUAL B 0))).
This again simplifies, using linear arithmetic, to:
T.
Case 3. (IMPLIES (AND (NOT (EQUAL (PLUS A B) 0))
(EQUAL A 0))
(NUMBERP B)),
which again simplifies, applying the lemma PLUS-RIGHT-ID, and opening up the
definitions of NUMBERP and EQUAL, to:
T.
Case 2. (IMPLIES (AND (EQUAL (PLUS A B) 0)
(NOT (EQUAL A 0)))
(NOT (NUMBERP A))),
which again simplifies, using linear arithmetic, to:
T.
Case 1. (IMPLIES (AND (EQUAL (PLUS A B) 0)
(NOT (EQUAL B 0)))
(NOT (NUMBERP B))),
which again simplifies, using linear arithmetic, to:
T.
Q.E.D.
[ 0.0 0.0 0.0 ]
PLUS-EQUAL-0
(PROVE-LEMMA PLUS-CANCELLATION
(REWRITE)
(EQUAL (EQUAL (PLUS A B) (PLUS A C))
(EQUAL (FIX B) (FIX C))))
This conjecture simplifies, expanding the definition of FIX, to the following
seven new formulas:
Case 7. (IMPLIES (AND (NUMBERP C)
(NUMBERP B)
(NOT (EQUAL B C)))
(NOT (EQUAL (PLUS A B) (PLUS A C)))).
This again simplifies, using linear arithmetic, to:
T.
Case 6. (IMPLIES (AND (NUMBERP C)
(NOT (NUMBERP B))
(NOT (EQUAL 0 C)))
(NOT (EQUAL (PLUS A B) (PLUS A C)))),
which again simplifies, rewriting with PLUS-RIGHT-ID, to the following two
new conjectures:
Case 6.2.
(IMPLIES (AND (NUMBERP C)
(NOT (NUMBERP B))
(NOT (EQUAL 0 C))
(NOT (NUMBERP A)))
(NOT (EQUAL 0 (PLUS A C)))).
This again simplifies, using linear arithmetic, to:
T.
Case 6.1.
(IMPLIES (AND (NUMBERP C)
(NOT (NUMBERP B))
(NOT (EQUAL 0 C))
(NUMBERP A))
(NOT (EQUAL A (PLUS A C)))),
which again simplifies, using linear arithmetic, to:
T.
Case 5. (IMPLIES (AND (NOT (NUMBERP C))
(NUMBERP B)
(NOT (EQUAL B 0)))
(NOT (EQUAL (PLUS A B) (PLUS A C)))),
which again simplifies, rewriting with PLUS-RIGHT-ID, to the following two
new goals:
Case 5.2.
(IMPLIES (AND (NOT (NUMBERP C))
(NUMBERP B)
(NOT (EQUAL B 0))
(NOT (NUMBERP A)))
(NOT (EQUAL (PLUS A B) 0))).
This again simplifies, using linear arithmetic, to:
T.
Case 5.1.
(IMPLIES (AND (NOT (NUMBERP C))
(NUMBERP B)
(NOT (EQUAL B 0))
(NUMBERP A))
(NOT (EQUAL (PLUS A B) A))),
which again simplifies, using linear arithmetic, to:
T.
Case 4. (IMPLIES (AND (NOT (NUMBERP C))
(NOT (NUMBERP B)))
(EQUAL (EQUAL (PLUS A B) (PLUS A C))
T)),
which again simplifies, rewriting with the lemma PLUS-RIGHT-ID, and opening
up EQUAL, to:
T.
Case 3. (IMPLIES (AND (NOT (NUMBERP C)) (EQUAL B 0))
(EQUAL (EQUAL (PLUS A B) (PLUS A C))
T)),
which again simplifies, rewriting with COMMUTATIVITY-OF-PLUS and
PLUS-RIGHT-ID, and expanding the functions EQUAL and PLUS, to:
T.
Case 2. (IMPLIES (AND (NOT (NUMBERP B)) (EQUAL 0 C))
(EQUAL (EQUAL (PLUS A B) (PLUS A C))
T)).
This again simplifies, applying PLUS-RIGHT-ID and COMMUTATIVITY-OF-PLUS, and
opening up EQUAL and PLUS, to:
T.
Case 1. (IMPLIES (AND (NUMBERP C)
(NUMBERP B)
(EQUAL B C))
(EQUAL (EQUAL (PLUS A B) (PLUS A C))
T)).
But this again simplifies, expanding the function EQUAL, to:
T.
Q.E.D.
[ 0.0 0.0 0.0 ]
PLUS-CANCELLATION
(PROVE-LEMMA TIMES-ZERO2
(REWRITE)
(IMPLIES (NOT (NUMBERP Y))
(EQUAL (TIMES X Y) 0)))
Call the conjecture *1.
Perhaps we can prove it by induction. There is only one plausible
induction. We will induct according to the following scheme:
(AND (IMPLIES (ZEROP X) (p X Y))
(IMPLIES (AND (NOT (ZEROP X)) (p (SUB1 X) Y))
(p X Y))).
Linear arithmetic, the lemma COUNT-NUMBERP, and the definition of ZEROP can be
used to prove that the measure (COUNT X) decreases according to the
well-founded relation LESSP in each induction step of the scheme. The above
induction scheme leads to two new goals:
Case 2. (IMPLIES (AND (ZEROP X) (NOT (NUMBERP Y)))
(EQUAL (TIMES X Y) 0)),
which simplifies, opening up the definitions of ZEROP, EQUAL, and TIMES, to:
T.
Case 1. (IMPLIES (AND (NOT (ZEROP X))
(EQUAL (TIMES (SUB1 X) Y) 0)
(NOT (NUMBERP Y)))
(EQUAL (TIMES X Y) 0)),
which simplifies, applying PLUS-RIGHT-ID and COMMUTATIVITY-OF-PLUS, and
unfolding ZEROP, TIMES, NUMBERP, and EQUAL, to:
T.
That finishes the proof of *1. Q.E.D.
[ 0.0 0.0 0.0 ]
TIMES-ZERO2
(PROVE-LEMMA DISTRIBUTIVITY-OF-TIMES-OVER-PLUS
(REWRITE)
(EQUAL (TIMES X (PLUS Y Z))
(PLUS (TIMES X Y) (TIMES X Z))))
Call the conjecture *1.
We will try to prove it by induction. There are four plausible
inductions. They merge into two likely candidate inductions. However, only
one is unflawed. We will induct according to the following scheme:
(AND (IMPLIES (ZEROP X) (p X Y Z))
(IMPLIES (AND (NOT (ZEROP X)) (p (SUB1 X) Y Z))
(p X Y Z))).
Linear arithmetic, the lemma COUNT-NUMBERP, and the definition of ZEROP inform
us that the measure (COUNT X) decreases according to the well-founded relation
LESSP in each induction step of the scheme. The above induction scheme
generates two new goals:
Case 2. (IMPLIES (ZEROP X)
(EQUAL (TIMES X (PLUS Y Z))
(PLUS (TIMES X Y) (TIMES X Z)))),
which simplifies, opening up the functions ZEROP, EQUAL, TIMES, and PLUS, to:
T.
Case 1. (IMPLIES (AND (NOT (ZEROP X))
(EQUAL (TIMES (SUB1 X) (PLUS Y Z))
(PLUS (TIMES (SUB1 X) Y)
(TIMES (SUB1 X) Z))))
(EQUAL (TIMES X (PLUS Y Z))
(PLUS (TIMES X Y) (TIMES X Z)))),
which simplifies, applying ASSOCIATIVITY-OF-PLUS and COMMUTATIVITY2-OF-PLUS,
and unfolding the functions ZEROP and TIMES, to:
T.
That finishes the proof of *1. Q.E.D.
[ 0.0 0.0 0.0 ]
DISTRIBUTIVITY-OF-TIMES-OVER-PLUS
(PROVE-LEMMA TIMES-ADD1
(REWRITE)
(EQUAL (TIMES X (ADD1 Y))
(IF (NUMBERP Y)
(PLUS X (TIMES X Y))
(FIX X))))
This conjecture simplifies, unfolding the definition of FIX, to three new
conjectures:
Case 3. (IMPLIES (AND (NOT (NUMBERP Y)) (NUMBERP X))
(EQUAL (TIMES X (ADD1 Y)) X)),
which again simplifies, rewriting with SUB1-TYPE-RESTRICTION, to the new
formula:
(IMPLIES (AND (NOT (NUMBERP Y)) (NUMBERP X))
(EQUAL (TIMES X 1) X)),
which we will name *1.
Case 2. (IMPLIES (AND (NOT (NUMBERP Y))
(NOT (NUMBERP X)))
(EQUAL (TIMES X (ADD1 Y)) 0)).
However this again simplifies, applying SUB1-TYPE-RESTRICTION, and opening
up the definitions of TIMES and EQUAL, to:
T.
Case 1. (IMPLIES (NUMBERP Y)
(EQUAL (TIMES X (ADD1 Y))
(PLUS X (TIMES X Y)))),
which we would usually push and work on later by induction. But if we must
use induction to prove the input conjecture, we prefer to induct on the
original formulation of the problem. Thus we will disregard all that we
have previously done, give the name *1 to the original input, and work on it.
So now let us consider:
(EQUAL (TIMES X (ADD1 Y))
(IF (NUMBERP Y)
(PLUS X (TIMES X Y))
(FIX X))),
which we named *1 above. We will appeal to induction. The recursive terms in
the conjecture suggest three inductions. However, they merge into one likely
candidate induction. We will induct according to the following scheme:
(AND (IMPLIES (ZEROP X) (p X Y))
(IMPLIES (AND (NOT (ZEROP X)) (p (SUB1 X) Y))
(p X Y))).
Linear arithmetic, the lemma COUNT-NUMBERP, and the definition of ZEROP
establish that the measure (COUNT X) decreases according to the well-founded
relation LESSP in each induction step of the scheme. The above induction
scheme leads to the following two new formulas:
Case 2. (IMPLIES (ZEROP X)
(EQUAL (TIMES X (ADD1 Y))
(IF (NUMBERP Y)
(PLUS X (TIMES X Y))
(FIX X)))).
This simplifies, rewriting with PLUS-RIGHT-ID and COMMUTATIVITY-OF-PLUS, and
expanding the definitions of ZEROP, EQUAL, TIMES, PLUS, FIX, and NUMBERP, to:
T.
Case 1. (IMPLIES (AND (NOT (ZEROP X))
(EQUAL (TIMES (SUB1 X) (ADD1 Y))
(IF (NUMBERP Y)
(PLUS (SUB1 X) (TIMES (SUB1 X) Y))
(FIX (SUB1 X)))))
(EQUAL (TIMES X (ADD1 Y))
(IF (NUMBERP Y)
(PLUS X (TIMES X Y))
(FIX X)))),
which simplifies, applying SUB1-TYPE-RESTRICTION and SUB1-ADD1, and
unfolding the functions ZEROP, FIX, TIMES, and PLUS, to the following two
new formulas:
Case 1.2.
(IMPLIES (AND (NOT (EQUAL X 0))
(NUMBERP X)
(NOT (NUMBERP Y))
(EQUAL (TIMES (SUB1 X) (ADD1 Y))
(SUB1 X)))
(EQUAL (TIMES X 1) X)).
But this further simplifies, rewriting with SUB1-TYPE-RESTRICTION, PLUS-1,
and ADD1-SUB1, and unfolding TIMES, to:
T.
Case 1.1.
(IMPLIES (AND (NOT (EQUAL X 0))
(NUMBERP X)
(NUMBERP Y)
(EQUAL (TIMES (SUB1 X) (ADD1 Y))
(PLUS (SUB1 X) (TIMES (SUB1 X) Y))))
(EQUAL (ADD1 (PLUS Y (TIMES (SUB1 X) (ADD1 Y))))
(PLUS X Y (TIMES (SUB1 X) Y)))).
However this again simplifies, using linear arithmetic, to:
T.
That finishes the proof of *1. Q.E.D.
[ 0.0 0.0 0.0 ]
TIMES-ADD1
(PROVE-LEMMA COMMUTATIVITY-OF-TIMES
(REWRITE)
(EQUAL (TIMES X Y) (TIMES Y X)))
WARNING: the newly proposed lemma, COMMUTATIVITY-OF-TIMES, could be applied
whenever the previously added lemma TIMES-ADD1 could.
WARNING: the newly proposed lemma, COMMUTATIVITY-OF-TIMES, could be applied
whenever the previously added lemma DISTRIBUTIVITY-OF-TIMES-OVER-PLUS could.
WARNING: the newly proposed lemma, COMMUTATIVITY-OF-TIMES, could be applied
whenever the previously added lemma TIMES-ZERO2 could.
Give the conjecture the name *1.
We will appeal to induction. Two inductions are suggested by terms in
the conjecture, both of which are flawed. We limit our consideration to the
two suggested by the largest number of nonprimitive recursive functions in the
conjecture. Since both of these are equally likely, we will choose
arbitrarily. We will induct according to the following scheme:
(AND (IMPLIES (ZEROP X) (p X Y))
(IMPLIES (AND (NOT (ZEROP X)) (p (SUB1 X) Y))
(p X Y))).
Linear arithmetic, the lemma COUNT-NUMBERP, and the definition of ZEROP inform
us that the measure (COUNT X) decreases according to the well-founded relation
LESSP in each induction step of the scheme. The above induction scheme
produces the following two new conjectures:
Case 2. (IMPLIES (ZEROP X)
(EQUAL (TIMES X Y) (TIMES Y X))).
This simplifies, applying TIMES-ZERO2, and opening up the functions ZEROP,
EQUAL, and TIMES, to:
(IMPLIES (EQUAL X 0)
(EQUAL 0 (TIMES Y 0))).
This again simplifies, obviously, to:
(EQUAL 0 (TIMES Y 0)),
which we will name *1.1.
Case 1. (IMPLIES (AND (NOT (ZEROP X))
(EQUAL (TIMES (SUB1 X) Y)
(TIMES Y (SUB1 X))))
(EQUAL (TIMES X Y) (TIMES Y X))).
This simplifies, unfolding the definitions of ZEROP and TIMES, to the new
goal:
(IMPLIES (AND (NOT (EQUAL X 0))
(NUMBERP X)
(EQUAL (TIMES (SUB1 X) Y)
(TIMES Y (SUB1 X))))
(EQUAL (PLUS Y (TIMES Y (SUB1 X)))
(TIMES Y X))).
Applying the lemma SUB1-ELIM, replace X by (ADD1 Z) to eliminate (SUB1 X).
We employ the type restriction lemma noted when SUB1 was introduced to
restrict the new variable. This produces the new goal:
(IMPLIES (AND (NUMBERP Z)
(NOT (EQUAL (ADD1 Z) 0))
(EQUAL (TIMES Z Y) (TIMES Y Z)))
(EQUAL (PLUS Y (TIMES Y Z))
(TIMES Y (ADD1 Z)))),
which further simplifies, applying the lemma TIMES-ADD1, to:
T.
So we now return to:
(EQUAL 0 (TIMES Y 0)),
which is formula *1.1 above. We will try to prove it by induction. There is
only one suggested induction. We will induct according to the following
scheme:
(AND (IMPLIES (ZEROP Y) (p Y))
(IMPLIES (AND (NOT (ZEROP Y)) (p (SUB1 Y)))
(p Y))).
Linear arithmetic, the lemma COUNT-NUMBERP, and the definition of ZEROP
establish that the measure (COUNT Y) decreases according to the well-founded
relation LESSP in each induction step of the scheme. The above induction
scheme produces two new conjectures:
Case 2. (IMPLIES (ZEROP Y)
(EQUAL 0 (TIMES Y 0))),
which simplifies, unfolding ZEROP, TIMES, and EQUAL, to:
T.
Case 1. (IMPLIES (AND (NOT (ZEROP Y))
(EQUAL 0 (TIMES (SUB1 Y) 0)))
(EQUAL 0 (TIMES Y 0))),
which simplifies, unfolding the definitions of ZEROP, TIMES, PLUS, and EQUAL,
to:
T.
That finishes the proof of *1.1, which, in turn, finishes the proof of *1.
Q.E.D.
[ 0.0 0.0 0.0 ]
COMMUTATIVITY-OF-TIMES
(PROVE-LEMMA COMMUTATIVITY2-OF-TIMES
(REWRITE)
(EQUAL (TIMES X (TIMES Y Z))
(TIMES Y (TIMES X Z))))
WARNING: the previously added lemma, COMMUTATIVITY-OF-TIMES, could be applied
whenever the newly proposed COMMUTATIVITY2-OF-TIMES could!
Call the conjecture *1.
Perhaps we can prove it by induction. Four inductions are suggested by
terms in the conjecture. They merge into two likely candidate inductions,
both of which are unflawed. Since both of these are equally likely, we will
choose arbitrarily. We will induct according to the following scheme:
(AND (IMPLIES (ZEROP Y) (p X Y Z))
(IMPLIES (AND (NOT (ZEROP Y)) (p X (SUB1 Y) Z))
(p X Y Z))).
Linear arithmetic, the lemma COUNT-NUMBERP, and the definition of ZEROP can be
used to prove that the measure (COUNT Y) decreases according to the
well-founded relation LESSP in each induction step of the scheme. The above
induction scheme leads to two new goals:
Case 2. (IMPLIES (ZEROP Y)
(EQUAL (TIMES X Y Z) (TIMES Y X Z))),
which simplifies, applying the lemma COMMUTATIVITY-OF-TIMES, and opening up
the definitions of ZEROP, EQUAL, and TIMES, to:
T.
Case 1. (IMPLIES (AND (NOT (ZEROP Y))
(EQUAL (TIMES X (SUB1 Y) Z)
(TIMES (SUB1 Y) X Z)))
(EQUAL (TIMES X Y Z) (TIMES Y X Z))),
which simplifies, rewriting with DISTRIBUTIVITY-OF-TIMES-OVER-PLUS, and
opening up the functions ZEROP and TIMES, to:
T.
That finishes the proof of *1. Q.E.D.
[ 0.0 0.0 0.0 ]
COMMUTATIVITY2-OF-TIMES
(PROVE-LEMMA ASSOCIATIVITY-OF-TIMES
(REWRITE)
(EQUAL (TIMES (TIMES X Y) Z)
(TIMES X (TIMES Y Z))))
WARNING: the previously added lemma, COMMUTATIVITY-OF-TIMES, could be applied
whenever the newly proposed ASSOCIATIVITY-OF-TIMES could!
This simplifies, rewriting with COMMUTATIVITY-OF-TIMES and
COMMUTATIVITY2-OF-TIMES, to:
T.
Q.E.D.
[ 0.0 0.0 0.0 ]
ASSOCIATIVITY-OF-TIMES
(PROVE-LEMMA EQUAL-TIMES-0
(REWRITE)
(EQUAL (EQUAL (TIMES X Y) 0)
(OR (ZEROP X) (ZEROP Y))))
This simplifies, opening up the functions ZEROP and OR, to five new
conjectures:
Case 5. (IMPLIES (NOT (EQUAL (TIMES X Y) 0))
(NUMBERP Y)),
which again simplifies, applying TIMES-ZERO2, and unfolding the function
EQUAL, to:
T.
Case 4. (IMPLIES (NOT (EQUAL (TIMES X Y) 0))
(NOT (EQUAL Y 0))).
However this again simplifies, applying COMMUTATIVITY-OF-TIMES, and
unfolding the functions EQUAL and TIMES, to:
T.
Case 3. (IMPLIES (NOT (EQUAL (TIMES X Y) 0))
(NUMBERP X)).
This again simplifies, opening up the definitions of TIMES and EQUAL, to:
T.
Case 2. (IMPLIES (NOT (EQUAL (TIMES X Y) 0))
(NOT (EQUAL X 0))),
which again simplifies, using linear arithmetic, to:
T.
Case 1. (IMPLIES (AND (EQUAL (TIMES X Y) 0)
(NOT (EQUAL X 0))
(NUMBERP X)
(NOT (EQUAL Y 0)))
(NOT (NUMBERP Y))),
which we will name *1.
Perhaps we can prove it by induction. There is only one plausible
induction. We will induct according to the following scheme:
(AND (IMPLIES (ZEROP X) (p Y X))
(IMPLIES (AND (NOT (ZEROP X)) (p Y (SUB1 X)))
(p Y X))).
Linear arithmetic, the lemma COUNT-NUMBERP, and the definition of ZEROP can be
used to establish that the measure (COUNT X) decreases according to the
well-founded relation LESSP in each induction step of the scheme. The above
induction scheme produces three new conjectures:
Case 3. (IMPLIES (AND (ZEROP X)
(EQUAL (TIMES X Y) 0)
(NOT (EQUAL X 0))
(NUMBERP X)
(NOT (EQUAL Y 0)))
(NOT (NUMBERP Y))),
which simplifies, unfolding the function ZEROP, to:
T.
Case 2. (IMPLIES (AND (NOT (ZEROP X))
(NOT (EQUAL (TIMES (SUB1 X) Y) 0))
(EQUAL (TIMES X Y) 0)
(NOT (EQUAL X 0))
(NUMBERP X)
(NOT (EQUAL Y 0)))
(NOT (NUMBERP Y))),
which simplifies, rewriting with the lemma PLUS-EQUAL-0, and expanding the
functions ZEROP and TIMES, to:
T.
Case 1. (IMPLIES (AND (NOT (ZEROP X))
(EQUAL (SUB1 X) 0)
(EQUAL (TIMES X Y) 0)
(NOT (EQUAL X 0))
(NUMBERP X)
(NOT (EQUAL Y 0)))
(NOT (NUMBERP Y))),
which simplifies, rewriting with the lemma PLUS-EQUAL-0, and expanding the
definitions of ZEROP and TIMES, to:
T.
That finishes the proof of *1. Q.E.D.
[ 0.0 0.0 0.0 ]
EQUAL-TIMES-0
(PROVE-LEMMA TIMES-1
(REWRITE)
(EQUAL (TIMES 1 X) (FIX X)))
WARNING: the previously added lemma, COMMUTATIVITY-OF-TIMES, could be applied
whenever the newly proposed TIMES-1 could!
This simplifies, unfolding FIX, to two new formulas:
Case 2. (IMPLIES (NOT (NUMBERP X))
(EQUAL (TIMES 1 X) 0)),
which again simplifies, rewriting with TIMES-ZERO2, and unfolding the
definition of EQUAL, to:
T.
Case 1. (IMPLIES (NUMBERP X)
(EQUAL (TIMES 1 X) X)).
This again simplifies, using linear arithmetic, to:
T.
Q.E.D.
[ 0.0 0.0 0.0 ]
TIMES-1
(PROVE-LEMMA EQUAL-BOOLS
(REWRITE)
(IMPLIES (AND (OR (EQUAL BOOL1 T) (EQUAL BOOL1 F))
(OR (EQUAL BOOL2 T) (EQUAL BOOL2 F)))
(EQUAL (EQUAL BOOL1 BOOL2)
(AND (IMPLIES BOOL1 BOOL2)
(IMPLIES BOOL2 BOOL1)))))
This conjecture simplifies, unfolding the functions OR, EQUAL, IMPLIES, and
AND, to:
T.
Q.E.D.
[ 0.0 0.0 0.0 ]
EQUAL-BOOLS
(DISABLE EQUAL-BOOLS)
[ 0.0 0.0 0.0 ]
EQUAL-BOOLS-OFF
(PROVE-LEMMA LESSP-TIMES
(REWRITE)
(EQUAL (LESSP (TIMES Y X) (TIMES X Z))
(AND (NOT (ZEROP X)) (LESSP Y Z)))
((ENABLE EQUAL-BOOLS)))
This conjecture simplifies, rewriting with COMMUTATIVITY-OF-TIMES and
EQUAL-BOOLS, and expanding the definitions of ZEROP, NOT, AND, and OR, to the
following four new goals:
Case 4. (IMPLIES (AND (NOT (LESSP (TIMES X Y) (TIMES X Z)))
(NOT (EQUAL X 0))
(NUMBERP X))
(NOT (LESSP Y Z))).
Call the above conjecture *1.
Case 3. (IMPLIES (LESSP (TIMES X Y) (TIMES X Z))
(LESSP Y Z)),
which we would usually push and work on later by induction. But if we must
use induction to prove the input conjecture, we prefer to induct on the
original formulation of the problem. Thus we will disregard all that we
have previously done, give the name *1 to the original input, and work on it.
So now let us consider:
(EQUAL (LESSP (TIMES Y X) (TIMES X Z))
(AND (NOT (ZEROP X)) (LESSP Y Z))).
We gave this the name *1 above. Perhaps we can prove it by induction. The
recursive terms in the conjecture suggest four inductions. They merge into
two likely candidate inductions, both of which are flawed. We limit our
consideration to the two suggested by the largest number of nonprimitive
recursive functions in the conjecture. However, one of these is more likely
than the other. We will induct according to the following scheme:
(AND (IMPLIES (ZEROP Y) (p Y X Z))
(IMPLIES (AND (NOT (ZEROP Y))
(p (SUB1 Y) X (SUB1 Z)))
(p Y X Z))).
Linear arithmetic, the lemma COUNT-NUMBERP, and the definition of ZEROP can be
used to show that the measure (COUNT Y) decreases according to the
well-founded relation LESSP in each induction step of the scheme. Note,
however, the inductive instance chosen for Z. The above induction scheme
produces two new conjectures:
Case 2. (IMPLIES (ZEROP Y)
(EQUAL (LESSP (TIMES Y X) (TIMES X Z))
(AND (NOT (ZEROP X)) (LESSP Y Z)))),
which simplifies, applying EQUAL-TIMES-0, EQUAL-BOOLS, TIMES-ZERO2, and
COMMUTATIVITY-OF-TIMES, and unfolding ZEROP, EQUAL, TIMES, LESSP, NOT, AND,
and OR, to:
T.
Case 1. (IMPLIES (AND (NOT (ZEROP Y))
(EQUAL (LESSP (TIMES (SUB1 Y) X)
(TIMES X (SUB1 Z)))
(AND (NOT (ZEROP X))
(LESSP (SUB1 Y) (SUB1 Z)))))
(EQUAL (LESSP (TIMES Y X) (TIMES X Z))
(AND (NOT (ZEROP X)) (LESSP Y Z)))).
This simplifies, applying EQUAL-BOOLS and COMMUTATIVITY-OF-TIMES, and
unfolding the definitions of ZEROP, NOT, AND, OR, LESSP, TIMES, and EQUAL,
to four new formulas:
Case 1.4.
(IMPLIES (AND (NOT (EQUAL Y 0))
(NUMBERP Y)
(NOT (LESSP (TIMES (SUB1 Y) X)
(TIMES X (SUB1 Z))))
(NOT (LESSP (SUB1 Y) (SUB1 Z))))
(NOT (LESSP (TIMES X Y) (TIMES X Z)))),
which further simplifies, applying COMMUTATIVITY-OF-TIMES, to the new
formula:
(IMPLIES (AND (NOT (EQUAL Y 0))
(NUMBERP Y)
(NOT (LESSP (TIMES X (SUB1 Y))
(TIMES X (SUB1 Z))))
(NOT (LESSP (SUB1 Y) (SUB1 Z))))
(NOT (LESSP (TIMES X Y) (TIMES X Z)))).
Applying the lemma SUB1-ELIM, replace Y by (ADD1 V) to eliminate (SUB1 Y).
We employ the type restriction lemma noted when SUB1 was introduced to
restrict the new variable. We thus obtain:
(IMPLIES (AND (NUMBERP V)
(NOT (EQUAL (ADD1 V) 0))
(NOT (LESSP (TIMES X V)
(TIMES X (SUB1 Z))))
(NOT (LESSP V (SUB1 Z))))
(NOT (LESSP (TIMES X (ADD1 V))
(TIMES X Z)))),
which further simplifies, rewriting with COMMUTATIVITY-OF-TIMES and
TIMES-ADD1, to the new formula:
(IMPLIES (AND (NUMBERP V)
(NOT (LESSP (TIMES V X)
(TIMES X (SUB1 Z))))
(NOT (LESSP V (SUB1 Z))))
(NOT (LESSP (PLUS X (TIMES V X))
(TIMES X Z)))).
Applying the lemma SUB1-ELIM, replace Z by (ADD1 W) to eliminate (SUB1 Z).
We employ the type restriction lemma noted when SUB1 was introduced to
restrict the new variable. This produces the following three new goals:
Case 1.4.3.
(IMPLIES (AND (EQUAL Z 0)
(NUMBERP V)
(NOT (LESSP (TIMES V X)
(TIMES X (SUB1 Z))))
(NOT (LESSP V (SUB1 Z))))
(NOT (LESSP (PLUS X (TIMES V X))
(TIMES X Z)))).
This finally simplifies, applying COMMUTATIVITY-OF-TIMES, and expanding
SUB1, EQUAL, TIMES, and LESSP, to:
T.
Case 1.4.2.
(IMPLIES (AND (NOT (NUMBERP Z))
(NUMBERP V)
(NOT (LESSP (TIMES V X)
(TIMES X (SUB1 Z))))
(NOT (LESSP V (SUB1 Z))))
(NOT (LESSP (PLUS X (TIMES V X))
(TIMES X Z)))).
This finally simplifies, applying the lemmas SUB1-NNUMBERP,
COMMUTATIVITY-OF-TIMES, and TIMES-ZERO2, and expanding the definitions
of EQUAL, TIMES, and LESSP, to:
T.
Case 1.4.1.
(IMPLIES (AND (NUMBERP W)
(NOT (EQUAL (ADD1 W) 0))
(NUMBERP V)
(NOT (LESSP (TIMES V X) (TIMES X W)))
(NOT (LESSP V W)))
(NOT (LESSP (PLUS X (TIMES V X))
(TIMES X (ADD1 W))))),
which further simplifies, rewriting with COMMUTATIVITY-OF-TIMES and
TIMES-ADD1, to:
(IMPLIES (AND (NUMBERP W)
(NUMBERP V)
(NOT (LESSP (TIMES V X) (TIMES W X)))
(NOT (LESSP V W)))
(NOT (LESSP (PLUS X (TIMES V X))
(PLUS X (TIMES W X))))),
which finally simplifies, using linear arithmetic, to:
T.
Case 1.3.
(IMPLIES (AND (NOT (EQUAL Y 0))
(NUMBERP Y)
(LESSP (TIMES (SUB1 Y) X)
(TIMES X (SUB1 Z)))
(NOT (EQUAL X 0))
(NUMBERP X)
(LESSP (SUB1 Y) (SUB1 Z))
(NOT (LESSP (TIMES X Y) (TIMES X Z)))
(NOT (EQUAL Z 0)))
(NOT (NUMBERP Z))),
which further simplifies, rewriting with COMMUTATIVITY-OF-TIMES, to:
(IMPLIES (AND (NOT (EQUAL Y 0))
(NUMBERP Y)
(LESSP (TIMES X (SUB1 Y))
(TIMES X (SUB1 Z)))
(NOT (EQUAL X 0))
(NUMBERP X)
(LESSP (SUB1 Y) (SUB1 Z))
(NOT (LESSP (TIMES X Y) (TIMES X Z)))
(NOT (EQUAL Z 0)))
(NOT (NUMBERP Z))).
Applying the lemma SUB1-ELIM, replace Y by (ADD1 V) to eliminate (SUB1 Y).
We employ the type restriction lemma noted when SUB1 was introduced to
restrict the new variable. We would thus like to prove the new goal:
(IMPLIES (AND (NUMBERP V)
(NOT (EQUAL (ADD1 V) 0))
(LESSP (TIMES X V) (TIMES X (SUB1 Z)))
(NOT (EQUAL X 0))
(NUMBERP X)
(LESSP V (SUB1 Z))
(NOT (LESSP (TIMES X (ADD1 V))
(TIMES X Z)))
(NOT (EQUAL Z 0)))
(NOT (NUMBERP Z))),
which further simplifies, rewriting with COMMUTATIVITY-OF-TIMES and
TIMES-ADD1, to:
(IMPLIES (AND (NUMBERP V)
(LESSP (TIMES V X) (TIMES X (SUB1 Z)))
(NOT (EQUAL X 0))
(NUMBERP X)
(LESSP V (SUB1 Z))
(NOT (LESSP (PLUS X (TIMES V X))
(TIMES X Z)))
(NOT (EQUAL Z 0)))
(NOT (NUMBERP Z))).
Applying the lemma SUB1-ELIM, replace Z by (ADD1 W) to eliminate (SUB1 Z).
We use the type restriction lemma noted when SUB1 was introduced to
restrict the new variable. We thus obtain the new goal:
(IMPLIES (AND (NUMBERP W)
(NUMBERP V)
(LESSP (TIMES V X) (TIMES X W))
(NOT (EQUAL X 0))
(NUMBERP X)
(LESSP V W)
(NOT (LESSP (PLUS X (TIMES V X))
(TIMES X (ADD1 W)))))
(EQUAL (ADD1 W) 0)),
which further simplifies, applying COMMUTATIVITY-OF-TIMES and TIMES-ADD1,
to:
(IMPLIES (AND (NUMBERP W)
(NUMBERP V)
(LESSP (TIMES V X) (TIMES W X))
(NOT (EQUAL X 0))
(NUMBERP X)
(LESSP V W))
(LESSP (PLUS X (TIMES V X))
(PLUS X (TIMES W X)))),
which finally simplifies, using linear arithmetic, to:
T.
Case 1.2.
(IMPLIES (AND (NOT (EQUAL Y 0))
(NUMBERP Y)
(LESSP (TIMES (SUB1 Y) X)
(TIMES X (SUB1 Z)))
(NOT (EQUAL X 0))
(NUMBERP X)
(LESSP (SUB1 Y) (SUB1 Z))
(LESSP (TIMES X Y) (TIMES X Z)))
(NUMBERP Z)),
which again simplifies, applying SUB1-NNUMBERP and COMMUTATIVITY-OF-TIMES,
and expanding EQUAL, TIMES, and LESSP, to:
T.
Case 1.1.
(IMPLIES (AND (NOT (EQUAL Y 0))
(NUMBERP Y)
(LESSP (TIMES (SUB1 Y) X)
(TIMES X (SUB1 Z)))
(NOT (EQUAL X 0))
(NUMBERP X)
(LESSP (SUB1 Y) (SUB1 Z))
(LESSP (TIMES X Y) (TIMES X Z)))
(NOT (EQUAL Z 0))).
This again simplifies, rewriting with the lemma COMMUTATIVITY-OF-TIMES,
and unfolding the functions SUB1, EQUAL, TIMES, and LESSP, to:
T.
That finishes the proof of *1. Q.E.D.
[ 0.0 0.1 0.0 ]
LESSP-TIMES
(PROVE-LEMMA TIMES-2-NOT-1
(REWRITE)
(NOT (EQUAL (TIMES 2 X) 1)))
This formula simplifies, applying the lemma TIMES-1, and expanding the
definitions of SUB1, NUMBERP, EQUAL, and TIMES, to two new conjectures:
Case 2. (IMPLIES (NOT (NUMBERP X))
(NOT (EQUAL (PLUS X 0) 1))),
which again simplifies, applying PLUS-RIGHT-ID and COMMUTATIVITY-OF-PLUS,
and opening up NUMBERP and EQUAL, to:
T.
Case 1. (IMPLIES (NUMBERP X)
(NOT (EQUAL (PLUS X X) 1))).
Give the above formula the name *1.
Perhaps we can prove it by induction. There is only one plausible
induction. We will induct according to the following scheme:
(AND (IMPLIES (ZEROP X) (p X))
(IMPLIES (AND (NOT (ZEROP X)) (p (SUB1 X)))
(p X))).
Linear arithmetic, the lemmas SUB1-LESSEQP and SUB1-LESSP, and the definition
of ZEROP can be used to prove that the measure (COUNT X) decreases according
to the well-founded relation LESSP in each induction step of the scheme. The
above induction scheme generates two new formulas:
Case 2. (IMPLIES (AND (ZEROP X) (NUMBERP X))
(NOT (EQUAL (PLUS X X) 1))),
which simplifies, opening up ZEROP, NUMBERP, PLUS, and EQUAL, to:
T.
Case 1. (IMPLIES (AND (NOT (ZEROP X))
(NOT (EQUAL (PLUS (SUB1 X) (SUB1 X)) 1))
(NUMBERP X))
(NOT (EQUAL (PLUS X X) 1))),
which simplifies, applying COMMUTATIVITY-OF-PLUS and ADD1-EQUAL, and
expanding the functions ZEROP, PLUS, and NUMBERP, to:
T.
That finishes the proof of *1. Q.E.D.
[ 0.0 0.0 0.0 ]
TIMES-2-NOT-1
(PROVE-LEMMA LESSP-CROCK1
(REWRITE)
(EQUAL (LESSP (PLUS Z (TIMES 2 V W)) W)
(AND (ZEROP V) (LESSP Z W))))
This formula simplifies, applying the lemma TIMES-1, and unfolding SUB1,
NUMBERP, EQUAL, TIMES, ZEROP, and AND, to the following three new goals:
Case 3. (IMPLIES (NOT (NUMBERP V))
(EQUAL (LESSP (PLUS Z (TIMES V W) (TIMES V W))
W)
(LESSP Z W))).
However this again simplifies, rewriting with COMMUTATIVITY-OF-PLUS, and
opening up the definitions of TIMES, PLUS, and EQUAL, to:
(IMPLIES (AND (NOT (NUMBERP V))
(NOT (NUMBERP Z)))
(EQUAL (LESSP 0 W) (LESSP Z W))),
which again simplifies, opening up EQUAL and LESSP, to:
T.
Case 2. (IMPLIES (EQUAL V 0)
(EQUAL (LESSP (PLUS Z (TIMES V W) (TIMES V W))
W)
(LESSP Z W))),
which again simplifies, rewriting with the lemma COMMUTATIVITY-OF-PLUS, and
expanding EQUAL, TIMES, and PLUS, to:
(IMPLIES (NOT (NUMBERP Z))
(EQUAL (LESSP 0 W) (LESSP Z W))).
However this again simplifies, opening up the functions EQUAL and LESSP, to:
T.
Case 1. (IMPLIES (AND (NOT (EQUAL V 0)) (NUMBERP V))
(EQUAL (LESSP (PLUS Z (TIMES V W) (TIMES V W))
W)
F)),
which again simplifies, clearly, to the new goal:
(IMPLIES (AND (NOT (EQUAL V 0)) (NUMBERP V))
(NOT (LESSP (PLUS Z (TIMES V W) (TIMES V W))
W))),
which we will name *1.
We will appeal to induction. The recursive terms in the conjecture
suggest four inductions. They merge into three likely candidate inductions,
two of which are unflawed. However, one of these is more likely than the
other. We will induct according to the following scheme:
(AND (IMPLIES (ZEROP V) (p Z V W))
(IMPLIES (AND (NOT (ZEROP V)) (p Z (SUB1 V) W))
(p Z V W))).
Linear arithmetic, the lemma COUNT-NUMBERP, and the definition of ZEROP can be
used to prove that the measure (COUNT V) decreases according to the
well-founded relation LESSP in each induction step of the scheme. The above
induction scheme generates three new conjectures:
Case 3. (IMPLIES (AND (ZEROP V)
(NOT (EQUAL V 0))
(NUMBERP V))
(NOT (LESSP (PLUS Z (TIMES V W) (TIMES V W))
W))),
which simplifies, unfolding ZEROP, to:
T.
Case 2. (IMPLIES (AND (NOT (ZEROP V))
(EQUAL (SUB1 V) 0)
(NOT (EQUAL V 0))
(NUMBERP V))
(NOT (LESSP (PLUS Z (TIMES V W) (TIMES V W))
W))),
which simplifies, applying EQUAL-TIMES-0, COMMUTATIVITY2-OF-PLUS, and
ASSOCIATIVITY-OF-PLUS, and expanding the functions ZEROP, TIMES, EQUAL, and
PLUS, to:
(IMPLIES (AND (EQUAL (SUB1 V) 0)
(NOT (EQUAL V 0))
(NUMBERP V))
(NOT (LESSP (PLUS W W Z (TIMES (SUB1 V) W))
W))),
which again simplifies, using linear arithmetic, to:
T.
Case 1. (IMPLIES (AND (NOT (ZEROP V))
(NOT (LESSP (PLUS Z
(TIMES (SUB1 V) W)
(TIMES (SUB1 V) W))
W))
(NOT (EQUAL V 0))
(NUMBERP V))
(NOT (LESSP (PLUS Z (TIMES V W) (TIMES V W))
W))),
which simplifies, applying the lemmas COMMUTATIVITY2-OF-PLUS and
ASSOCIATIVITY-OF-PLUS, and opening up the definitions of ZEROP and TIMES, to:
(IMPLIES (AND (NOT (LESSP (PLUS Z
(TIMES (SUB1 V) W)
(TIMES (SUB1 V) W))
W))
(NOT (EQUAL V 0))
(NUMBERP V))
(NOT (LESSP (PLUS W W Z
(TIMES (SUB1 V) W)
(TIMES (SUB1 V) W))
W))).
This again simplifies, using linear arithmetic, to:
T.
That finishes the proof of *1. Q.E.D.
[ 0.0 0.0 0.0 ]
LESSP-CROCK1
(DEFN EXP
(I J)
(IF (ZEROP J)
1
(TIMES I (EXP I (SUB1 J)))))
Linear arithmetic, the lemma COUNT-NUMBERP, and the definition of ZEROP
inform us that the measure (COUNT J) decreases according to the well-founded
relation LESSP in each recursive call. Hence, EXP is accepted under the
definitional principle. From the definition we can conclude that
(NUMBERP (EXP I J)) is a theorem.
[ 0.0 0.0 0.0 ]
EXP
(PROVE-LEMMA EXP-PLUS
(REWRITE)
(EQUAL (EXP I (PLUS J K))
(TIMES (EXP I J) (EXP I K))))
Call the conjecture *1.
We will try to prove it by induction. There are three plausible
inductions. They merge into two likely candidate inductions. However, only
one is unflawed. We will induct according to the following scheme:
(AND (IMPLIES (ZEROP J) (p I J K))
(IMPLIES (AND (NOT (ZEROP J)) (p I (SUB1 J) K))
(p I J K))).
Linear arithmetic, the lemmas SUB1-LESSEQP and SUB1-LESSP, and the definition
of ZEROP inform us that the measure (COUNT J) decreases according to the
well-founded relation LESSP in each induction step of the scheme. The above
induction scheme generates two new goals:
Case 2. (IMPLIES (ZEROP J)
(EQUAL (EXP I (PLUS J K))
(TIMES (EXP I J) (EXP I K)))),
which simplifies, appealing to the lemma TIMES-1, and unfolding ZEROP, EQUAL,
PLUS, and EXP, to two new formulas:
Case 2.2.
(IMPLIES (AND (EQUAL J 0) (NOT (NUMBERP K)))
(EQUAL (EXP I 0) (EXP I K))),
which again simplifies, expanding the functions EQUAL and EXP, to:
T.
Case 2.1.
(IMPLIES (AND (NOT (NUMBERP J))
(NOT (NUMBERP K)))
(EQUAL (EXP I 0) (EXP I K))),
which again simplifies, opening up the definitions of EQUAL and EXP, to:
T.
Case 1. (IMPLIES (AND (NOT (ZEROP J))
(EQUAL (EXP I (PLUS (SUB1 J) K))
(TIMES (EXP I (SUB1 J)) (EXP I K))))
(EQUAL (EXP I (PLUS J K))
(TIMES (EXP I J) (EXP I K)))),
which simplifies, applying COMMUTATIVITY-OF-TIMES, SUB1-ADD1, and
ASSOCIATIVITY-OF-TIMES, and unfolding ZEROP, PLUS, and EXP, to:
T.
That finishes the proof of *1. Q.E.D.
[ 0.0 0.0 0.0 ]
EXP-PLUS
(PROVE-LEMMA EXP-OF-0
(REWRITE)
(EQUAL (EXP 0 K) (IF (ZEROP K) 1 0)))
This simplifies, opening up the functions TIMES, EQUAL, EXP, and ZEROP, to:
T.
Q.E.D.
[ 0.0 0.0 0.0 ]
EXP-OF-0
(PROVE-LEMMA EXP-OF-1
(REWRITE)
(EQUAL (EXP 1 K) 1))
Call the conjecture *1.
We will try to prove it by induction. There is only one suggested
induction. We will induct according to the following scheme:
(AND (IMPLIES (ZEROP K) (p K))
(IMPLIES (AND (NOT (ZEROP K)) (p (SUB1 K)))
(p K))).
Linear arithmetic, the lemma COUNT-NUMBERP, and the definition of ZEROP can be
used to establish that the measure (COUNT K) decreases according to the
well-founded relation LESSP in each induction step of the scheme. The above
induction scheme generates the following two new formulas:
Case 2. (IMPLIES (ZEROP K)
(EQUAL (EXP 1 K) 1)).
This simplifies, expanding the definitions of ZEROP, EXP, and EQUAL, to:
T.
Case 1. (IMPLIES (AND (NOT (ZEROP K))
(EQUAL (EXP 1 (SUB1 K)) 1))
(EQUAL (EXP 1 K) 1)).
This simplifies, opening up the functions ZEROP, EXP, TIMES, and EQUAL, to:
T.
That finishes the proof of *1. Q.E.D.
[ 0.0 0.0 0.0 ]
EXP-OF-1
(PROVE-LEMMA EXP-BY-0
(REWRITE)
(EQUAL (EXP X 0) 1))
This simplifies, unfolding EQUAL and EXP, to:
T.
Q.E.D.
[ 0.0 0.0 0.0 ]
EXP-BY-0
(PROVE-LEMMA EXP-TIMES
(REWRITE)
(EQUAL (EXP (TIMES I J) K)
(TIMES (EXP I K) (EXP J K))))
Call the conjecture *1.
We will try to prove it by induction. There are four plausible
inductions. They merge into two likely candidate inductions. However, only
one is unflawed. We will induct according to the following scheme:
(AND (IMPLIES (ZEROP K) (p I J K))
(IMPLIES (AND (NOT (ZEROP K)) (p I J (SUB1 K)))
(p I J K))).
Linear arithmetic, the lemma COUNT-NUMBERP, and the definition of ZEROP inform
us that the measure (COUNT K) decreases according to the well-founded relation
LESSP in each induction step of the scheme. The above induction scheme
generates two new goals:
Case 2. (IMPLIES (ZEROP K)
(EQUAL (EXP (TIMES I J) K)
(TIMES (EXP I K) (EXP J K)))),
which simplifies, appealing to the lemma EXP-BY-0, and unfolding ZEROP,
TIMES, EQUAL, and EXP, to:
T.
Case 1. (IMPLIES (AND (NOT (ZEROP K))
(EQUAL (EXP (TIMES I J) (SUB1 K))
(TIMES (EXP I (SUB1 K))
(EXP J (SUB1 K)))))
(EQUAL (EXP (TIMES I J) K)
(TIMES (EXP I K) (EXP J K)))),
which simplifies, rewriting with the lemmas ASSOCIATIVITY-OF-TIMES and
COMMUTATIVITY2-OF-TIMES, and expanding the functions ZEROP and EXP, to:
T.
That finishes the proof of *1. Q.E.D.
[ 0.0 0.0 0.0 ]
EXP-TIMES
(PROVE-LEMMA EXP-2-NEVER-0
(REWRITE)
(LESSP 0 (EXP 2 I)))
WARNING: Note that the proposed lemma EXP-2-NEVER-0 is to be stored as zero
type prescription rules, zero compound recognizer rules, one linear rule, and
zero replacement rules.
This simplifies, unfolding EQUAL and LESSP, to:
(NOT (EQUAL (EXP 2 I) 0)).
Name the above subgoal *1.
We will appeal to induction. There is only one plausible induction. We
will induct according to the following scheme:
(AND (IMPLIES (ZEROP I) (p I))
(IMPLIES (AND (NOT (ZEROP I)) (p (SUB1 I)))
(p I))).
Linear arithmetic, the lemma COUNT-NUMBERP, and the definition of ZEROP can be
used to show that the measure (COUNT I) decreases according to the
well-founded relation LESSP in each induction step of the scheme. The above
induction scheme generates two new goals:
Case 2. (IMPLIES (ZEROP I)
(NOT (EQUAL (EXP 2 I) 0))),
which simplifies, opening up the functions ZEROP, EXP, and EQUAL, to:
T.
Case 1. (IMPLIES (AND (NOT (ZEROP I))
(NOT (EQUAL (EXP 2 (SUB1 I)) 0)))
(NOT (EQUAL (EXP 2 I) 0))),
which simplifies, applying TIMES-1 and PLUS-EQUAL-0, and unfolding ZEROP,
EXP, SUB1, NUMBERP, EQUAL, and TIMES, to:
T.
That finishes the proof of *1. Q.E.D.
[ 0.0 0.0 0.0 ]
EXP-2-NEVER-0
(PROVE-LEMMA DIFFERENCE-ELIM
(ELIM)
(IMPLIES (AND (NUMBERP Y) (NOT (LESSP Y X)))
(EQUAL (PLUS X (DIFFERENCE Y X)) Y)))
This conjecture simplifies, using linear arithmetic, to:
T.
Q.E.D.
[ 0.0 0.0 0.0 ]
DIFFERENCE-ELIM
(PROVE-LEMMA DIFFERENCE-2
(REWRITE)
(EQUAL (DIFFERENCE X 2)
(SUB1 (SUB1 X))))
This formula simplifies, using linear arithmetic, to three new conjectures:
Case 3. (IMPLIES (LESSP X 2)
(EQUAL (DIFFERENCE X 2)
(SUB1 (SUB1 X)))).
Applying the lemma SUB1-ELIM, replace X by (ADD1 Z) to eliminate (SUB1 X)
and Z by (ADD1 V) to eliminate (SUB1 Z). We use the type restriction lemma
noted when SUB1 was introduced to restrict the new variable. This produces
the following four new conjectures:
Case 3.4.
(IMPLIES (AND (EQUAL X 0) (LESSP X 2))
(EQUAL (DIFFERENCE X 2)
(SUB1 (SUB1 X)))).
However this further simplifies, opening up the functions LESSP,
DIFFERENCE, SUB1, and EQUAL, to:
T.
Case 3.3.
(IMPLIES (AND (NOT (NUMBERP X)) (LESSP X 2))
(EQUAL (DIFFERENCE X 2)
(SUB1 (SUB1 X)))),
which further simplifies, applying the lemma SUB1-NNUMBERP, and opening up
NUMBERP, EQUAL, LESSP, DIFFERENCE, and SUB1, to:
T.
Case 3.2.
(IMPLIES (AND (EQUAL Z 0)
(NUMBERP Z)
(NOT (EQUAL (ADD1 Z) 0))
(LESSP (ADD1 Z) 2))
(EQUAL (DIFFERENCE (ADD1 Z) 2)
(SUB1 Z))),
which further simplifies, opening up NUMBERP, EQUAL, LESSP, DIFFERENCE,
and SUB1, to:
T.
Case 3.1.
(IMPLIES (AND (NUMBERP V)
(NOT (EQUAL (ADD1 V) 0))
(NOT (EQUAL (ADD1 (ADD1 V)) 0))
(LESSP (ADD1 (ADD1 V)) 2))
(EQUAL (DIFFERENCE (ADD1 (ADD1 V)) 2)
V)),
which further simplifies, using linear arithmetic, to:
T.
Case 2. (IMPLIES (EQUAL (SUB1 X) 0)
(EQUAL (DIFFERENCE X 2)
(SUB1 (SUB1 X)))),
which again simplifies, opening up the definitions of DIFFERENCE, SUB1,
NUMBERP, and EQUAL, to:
T.
Case 1. (IMPLIES (LESSP X 1)
(EQUAL (DIFFERENCE X 2)
(SUB1 (SUB1 X)))).
Applying the lemma DIFFERENCE-ELIM, replace X by (PLUS 2 Z) to eliminate
(DIFFERENCE X 2). We use the type restriction lemma noted when DIFFERENCE
was introduced to restrict the new variable. We thus obtain the following
three new goals:
Case 1.3.
(IMPLIES (AND (LESSP X 2) (LESSP X 1))
(EQUAL (DIFFERENCE X 2)
(SUB1 (SUB1 X)))).
Appealing to the lemma SUB1-ELIM, we now replace X by (ADD1 Z) to
eliminate (SUB1 X) and Z by (ADD1 V) to eliminate (SUB1 Z). We rely upon
the type restriction lemma noted when SUB1 was introduced to constrain the
new variable. The result is four new conjectures:
Case 1.3.4.
(IMPLIES (AND (EQUAL X 0)
(LESSP X 2)
(LESSP X 1))
(EQUAL (DIFFERENCE X 2)
(SUB1 (SUB1 X)))),
which further simplifies, expanding the functions LESSP, DIFFERENCE,
SUB1, and EQUAL, to:
T.
Case 1.3.3.
(IMPLIES (AND (NOT (NUMBERP X))
(LESSP X 2)
(LESSP X 1))
(EQUAL (DIFFERENCE X 2)
(SUB1 (SUB1 X)))),
which further simplifies, applying SUB1-NNUMBERP, and unfolding the
definitions of NUMBERP, EQUAL, LESSP, DIFFERENCE, and SUB1, to:
T.
Case 1.3.2.
(IMPLIES (AND (EQUAL Z 0)
(NUMBERP Z)
(NOT (EQUAL (ADD1 Z) 0))
(LESSP (ADD1 Z) 2)
(LESSP (ADD1 Z) 1))
(EQUAL (DIFFERENCE (ADD1 Z) 2)
(SUB1 Z))).
This further simplifies, using linear arithmetic, to:
T.
Case 1.3.1.
(IMPLIES (AND (NUMBERP V)
(NOT (EQUAL (ADD1 V) 0))
(NOT (EQUAL (ADD1 (ADD1 V)) 0))
(LESSP (ADD1 (ADD1 V)) 2)
(LESSP (ADD1 (ADD1 V)) 1))
(EQUAL (DIFFERENCE (ADD1 (ADD1 V)) 2)
V)),
which further simplifies, using linear arithmetic, to:
T.
Case 1.2.
(IMPLIES (AND (NOT (NUMBERP X)) (LESSP X 1))
(EQUAL (DIFFERENCE X 2)
(SUB1 (SUB1 X)))),
which further simplifies, rewriting with the lemma SUB1-NNUMBERP, and
expanding NUMBERP, EQUAL, LESSP, DIFFERENCE, and SUB1, to:
T.
Case 1.1.
(IMPLIES (AND (NUMBERP Z)
(NOT (LESSP (PLUS 2 Z) 2))
(LESSP (PLUS 2 Z) 1))
(EQUAL Z (SUB1 (SUB1 (PLUS 2 Z))))),
which further simplifies, using linear arithmetic, to two new formulas:
Case 1.1.2.
(IMPLIES (AND (EQUAL (SUB1 (PLUS 2 Z)) 0)
(NUMBERP Z)
(NOT (LESSP (PLUS 2 Z) 2))
(LESSP (PLUS 2 Z) 1))
(EQUAL Z (SUB1 (SUB1 (PLUS 2 Z))))),
which again simplifies, using linear arithmetic, to:
T.
Case 1.1.1.
(IMPLIES (AND (EQUAL (PLUS 2 Z) 0)
(NUMBERP Z)
(NOT (LESSP (PLUS 2 Z) 2))
(LESSP (PLUS 2 Z) 1))
(EQUAL Z (SUB1 (SUB1 (PLUS 2 Z))))),
which again simplifies, using linear arithmetic, to:
T.
Q.E.D.
[ 0.0 0.0 0.0 ]
DIFFERENCE-2
(PROVE-LEMMA DIFFERENCE-X-X
(REWRITE)
(EQUAL (DIFFERENCE X X) 0))
This conjecture simplifies, using linear arithmetic, to:
(IMPLIES (LESSP X X)
(EQUAL (DIFFERENCE X X) 0)).
But this again simplifies, using linear arithmetic, to:
T.
Q.E.D.
[ 0.0 0.0 0.0 ]
DIFFERENCE-X-X
(PROVE-LEMMA DIFFERENCE-PLUS
(REWRITE)
(EQUAL (DIFFERENCE (PLUS J X) J)
(FIX X)))
This conjecture simplifies, opening up the function FIX, to the following two
new goals:
Case 2. (IMPLIES (NOT (NUMBERP X))
(EQUAL (DIFFERENCE (PLUS J X) J) 0)).
But this again simplifies, applying PLUS-RIGHT-ID, to the following two new
formulas:
Case 2.2.
(IMPLIES (AND (NOT (NUMBERP X))
(NOT (NUMBERP J)))
(EQUAL (DIFFERENCE 0 J) 0)).
However this again simplifies, unfolding the definitions of EQUAL and
DIFFERENCE, to:
T.
Case 2.1.
(IMPLIES (AND (NOT (NUMBERP X)) (NUMBERP J))
(EQUAL (DIFFERENCE J J) 0)),
which again simplifies, using linear arithmetic, to:
(IMPLIES (AND (LESSP J J)
(NOT (NUMBERP X))
(NUMBERP J))
(EQUAL (DIFFERENCE J J) 0)).
This again simplifies, using linear arithmetic, to:
T.
Case 1. (IMPLIES (NUMBERP X)
(EQUAL (DIFFERENCE (PLUS J X) J) X)),
which again simplifies, using linear arithmetic, to:
(IMPLIES (AND (LESSP (PLUS J X) J) (NUMBERP X))
(EQUAL (DIFFERENCE (PLUS J X) J) X)).
This again simplifies, using linear arithmetic, to:
T.
Q.E.D.
[ 0.0 0.0 0.0 ]
DIFFERENCE-PLUS
(PROVE-LEMMA DIFFERENCE-PLUS-CANCELLATION
(REWRITE)
(EQUAL (DIFFERENCE (PLUS A X) (PLUS A Y))
(DIFFERENCE X Y)))
This simplifies, using linear arithmetic, to the following two new conjectures:
Case 2. (IMPLIES (LESSP (PLUS A X) (PLUS A Y))
(EQUAL (DIFFERENCE (PLUS A X) (PLUS A Y))
(DIFFERENCE X Y))).
Appealing to the lemma DIFFERENCE-ELIM, we now replace X by (PLUS Y Z) to
eliminate (DIFFERENCE X Y). We employ the type restriction lemma noted when
DIFFERENCE was introduced to constrain the new variable. This generates
three new conjectures:
Case 2.3.
(IMPLIES (AND (LESSP X Y)
(LESSP (PLUS A X) (PLUS A Y)))
(EQUAL (DIFFERENCE (PLUS A X) (PLUS A Y))
(DIFFERENCE X Y))),
which we would normally push and work on later by induction. But if we
must use induction to prove the input conjecture, we prefer to induct on
the original formulation of the problem. Thus we will disregard all that
we have previously done, give the name *1 to the original input, and work
on it.
So now let us return to:
(EQUAL (DIFFERENCE (PLUS A X) (PLUS A Y))
(DIFFERENCE X Y)).
We named this *1. We will try to prove it by induction. The recursive terms
in the conjecture suggest four inductions. They merge into two likely
candidate inductions. However, only one is unflawed. We will induct
according to the following scheme:
(AND (IMPLIES (ZEROP A) (p A X Y))
(IMPLIES (AND (NOT (ZEROP A)) (p (SUB1 A) X Y))
(p A X Y))).
Linear arithmetic, the lemmas SUB1-LESSEQP and SUB1-LESSP, and the definition
of ZEROP can be used to prove that the measure (COUNT A) decreases according
to the well-founded relation LESSP in each induction step of the scheme. The
above induction scheme produces the following two new goals:
Case 2. (IMPLIES (ZEROP A)
(EQUAL (DIFFERENCE (PLUS A X) (PLUS A Y))
(DIFFERENCE X Y))).
This simplifies, using linear arithmetic, to the following two new goals:
Case 2.2.
(IMPLIES (AND (LESSP (PLUS A X) (PLUS A Y))
(ZEROP A))
(EQUAL (DIFFERENCE (PLUS A X) (PLUS A Y))
(DIFFERENCE X Y))).
But this again simplifies, applying PLUS-RIGHT-ID, and opening up the
functions PLUS, ZEROP, NUMBERP, DIFFERENCE, and EQUAL, to:
T.
Case 2.1.
(IMPLIES (AND (LESSP X Y) (ZEROP A))
(EQUAL (DIFFERENCE (PLUS A X) (PLUS A Y))
(DIFFERENCE X Y))).
But this again simplifies, expanding the definitions of ZEROP, EQUAL, and
PLUS, to six new formulas:
Case 2.1.6.
(IMPLIES (AND (LESSP X Y)
(EQUAL A 0)
(NOT (NUMBERP Y))
(NOT (NUMBERP X)))
(EQUAL (DIFFERENCE 0 0)
(DIFFERENCE X Y))),
which again simplifies, expanding LESSP, to:
T.
Case 2.1.5.
(IMPLIES (AND (LESSP X Y)
(EQUAL A 0)
(NOT (NUMBERP Y))
(NUMBERP X))
(EQUAL (DIFFERENCE X 0)
(DIFFERENCE X Y))),
which again simplifies, unfolding the definition of LESSP, to:
T.
Case 2.1.4.
(IMPLIES (AND (LESSP X Y)
(EQUAL A 0)
(NUMBERP Y)
(NOT (NUMBERP X)))
(EQUAL (DIFFERENCE 0 Y)
(DIFFERENCE X Y))),
which again simplifies, expanding LESSP, EQUAL, and DIFFERENCE, to:
T.
Case 2.1.3.
(IMPLIES (AND (LESSP X Y)
(NOT (NUMBERP A))
(NOT (NUMBERP Y))
(NOT (NUMBERP X)))
(EQUAL (DIFFERENCE 0 0)
(DIFFERENCE X Y))),
which again simplifies, unfolding the definition of LESSP, to:
T.
Case 2.1.2.
(IMPLIES (AND (LESSP X Y)
(NOT (NUMBERP A))
(NOT (NUMBERP Y))
(NUMBERP X))
(EQUAL (DIFFERENCE X 0)
(DIFFERENCE X Y))),
which again simplifies, opening up the definition of LESSP, to:
T.
Case 2.1.1.
(IMPLIES (AND (LESSP X Y)
(NOT (NUMBERP A))
(NUMBERP Y)
(NOT (NUMBERP X)))
(EQUAL (DIFFERENCE 0 Y)
(DIFFERENCE X Y))),
which again simplifies, expanding LESSP, EQUAL, and DIFFERENCE, to:
T.
Case 1. (IMPLIES (AND (NOT (ZEROP A))
(EQUAL (DIFFERENCE (PLUS (SUB1 A) X)
(PLUS (SUB1 A) Y))
(DIFFERENCE X Y)))
(EQUAL (DIFFERENCE (PLUS A X) (PLUS A Y))
(DIFFERENCE X Y))),
which simplifies, using linear arithmetic, to two new goals:
Case 1.2.
(IMPLIES (AND (LESSP (PLUS A X) (PLUS A Y))
(NOT (ZEROP A))
(EQUAL (DIFFERENCE (PLUS (SUB1 A) X)
(PLUS (SUB1 A) Y))
(DIFFERENCE X Y)))
(EQUAL (DIFFERENCE (PLUS A X) (PLUS A Y))
(DIFFERENCE X Y))),
which again simplifies, applying SUB1-ADD1, and expanding the definitions
of PLUS, ZEROP, and DIFFERENCE, to:
T.
Case 1.1.
(IMPLIES (AND (LESSP X Y)
(NOT (ZEROP A))
(EQUAL (DIFFERENCE (PLUS (SUB1 A) X)
(PLUS (SUB1 A) Y))
(DIFFERENCE X Y)))
(EQUAL (DIFFERENCE (PLUS A X) (PLUS A Y))
(DIFFERENCE X Y))).
However this again simplifies, applying SUB1-ADD1, and expanding the
functions ZEROP, PLUS, and DIFFERENCE, to:
T.
That finishes the proof of *1. Q.E.D.
[ 0.0 0.0 0.0 ]
DIFFERENCE-PLUS-CANCELLATION
(PROVE-LEMMA PATHOLOGICAL-DIFFERENCE
(REWRITE)
(IMPLIES (LESSP X Y)
(EQUAL (DIFFERENCE X Y) 0)))
Give the conjecture the name *1.
We will try to prove it by induction. There are four plausible
inductions. However, they merge into one likely candidate induction. We will
induct according to the following scheme:
(AND (IMPLIES (OR (EQUAL Y 0) (NOT (NUMBERP Y)))
(p X Y))
(IMPLIES (AND (NOT (OR (EQUAL Y 0) (NOT (NUMBERP Y))))
(OR (EQUAL X 0) (NOT (NUMBERP X))))
(p X Y))
(IMPLIES (AND (NOT (OR (EQUAL Y 0) (NOT (NUMBERP Y))))
(NOT (OR (EQUAL X 0) (NOT (NUMBERP X))))
(p (SUB1 X) (SUB1 Y)))
(p X Y))).
Linear arithmetic, the lemmas SUB1-LESSEQP and SUB1-LESSP, and the definitions
of OR and NOT inform us that the measure (COUNT X) decreases according to the
well-founded relation LESSP in each induction step of the scheme. Note,
however, the inductive instance chosen for Y. The above induction scheme
generates four new goals:
Case 4. (IMPLIES (AND (OR (EQUAL Y 0) (NOT (NUMBERP Y)))
(LESSP X Y))
(EQUAL (DIFFERENCE X Y) 0)),
which simplifies, expanding NOT, OR, EQUAL, and LESSP, to:
T.
Case 3. (IMPLIES (AND (NOT (OR (EQUAL Y 0) (NOT (NUMBERP Y))))
(OR (EQUAL X 0) (NOT (NUMBERP X)))
(LESSP X Y))
(EQUAL (DIFFERENCE X Y) 0)),
which simplifies, opening up the functions NOT, OR, EQUAL, LESSP, and
DIFFERENCE, to:
T.
Case 2. (IMPLIES (AND (NOT (OR (EQUAL Y 0) (NOT (NUMBERP Y))))
(NOT (OR (EQUAL X 0) (NOT (NUMBERP X))))
(NOT (LESSP (SUB1 X) (SUB1 Y)))
(LESSP X Y))
(EQUAL (DIFFERENCE X Y) 0)),
which simplifies, using linear arithmetic, to the formula:
(IMPLIES (AND (LESSP X 1)
(NOT (OR (EQUAL Y 0) (NOT (NUMBERP Y))))
(NOT (OR (EQUAL X 0) (NOT (NUMBERP X))))
(NOT (LESSP (SUB1 X) (SUB1 Y)))
(LESSP X Y))
(EQUAL (DIFFERENCE X Y) 0)).
But this again simplifies, unfolding the functions SUB1, NUMBERP, EQUAL,
LESSP, NOT, and OR, to:
T.
Case 1. (IMPLIES (AND (NOT (OR (EQUAL Y 0) (NOT (NUMBERP Y))))
(NOT (OR (EQUAL X 0) (NOT (NUMBERP X))))
(EQUAL (DIFFERENCE (SUB1 X) (SUB1 Y))
0)
(LESSP X Y))
(EQUAL (DIFFERENCE X Y) 0)),
which simplifies, using linear arithmetic, to two new goals:
Case 1.2.
(IMPLIES (AND (LESSP (SUB1 X) (SUB1 Y))
(NOT (OR (EQUAL Y 0) (NOT (NUMBERP Y))))
(NOT (OR (EQUAL X 0) (NOT (NUMBERP X))))
(EQUAL (DIFFERENCE (SUB1 X) (SUB1 Y))
0)
(LESSP X Y))
(EQUAL (DIFFERENCE X Y) 0)),
which again simplifies, expanding NOT, OR, LESSP, DIFFERENCE, and EQUAL,
to:
T.
Case 1.1.
(IMPLIES (AND (LESSP X 1)
(NOT (OR (EQUAL Y 0) (NOT (NUMBERP Y))))
(NOT (OR (EQUAL X 0) (NOT (NUMBERP X))))
(EQUAL (DIFFERENCE (SUB1 X) (SUB1 Y))
0)
(LESSP X Y))
(EQUAL (DIFFERENCE X Y) 0)),
which again simplifies, unfolding SUB1, NUMBERP, EQUAL, LESSP, NOT, and OR,
to:
T.
That finishes the proof of *1. Q.E.D.
[ 0.0 0.0 0.0 ]
PATHOLOGICAL-DIFFERENCE
(PROVE-LEMMA DIFFERENCE-CROCK1
(REWRITE)
(EQUAL (DIFFERENCE (PLUS X (DIFFERENCE Y Z))
Y)
(IF (LESSP Y Z)
(DIFFERENCE X Y)
(DIFFERENCE X Z))))
This formula simplifies, trivially, to two new formulas:
Case 2. (IMPLIES (NOT (LESSP Y Z))
(EQUAL (DIFFERENCE (PLUS X (DIFFERENCE Y Z))
Y)
(DIFFERENCE X Z))),
which again simplifies, using linear arithmetic, to two new goals:
Case 2.2.
(IMPLIES (AND (LESSP (PLUS X (DIFFERENCE Y Z)) Y)
(NOT (LESSP Y Z)))
(EQUAL (DIFFERENCE (PLUS X (DIFFERENCE Y Z))
Y)
(DIFFERENCE X Z))),
which again simplifies, using linear arithmetic, rewriting with
PATHOLOGICAL-DIFFERENCE, and opening up the definition of EQUAL, to:
T.
Case 2.1.
(IMPLIES (AND (LESSP X Z) (NOT (LESSP Y Z)))
(EQUAL (DIFFERENCE (PLUS X (DIFFERENCE Y Z))
Y)
(DIFFERENCE X Z))).
But this again simplifies, using linear arithmetic, rewriting with the
lemma PATHOLOGICAL-DIFFERENCE, and expanding EQUAL, to:
T.
Case 1. (IMPLIES (LESSP Y Z)
(EQUAL (DIFFERENCE (PLUS X (DIFFERENCE Y Z))
Y)
(DIFFERENCE X Y))),
which again simplifies, applying PATHOLOGICAL-DIFFERENCE and
COMMUTATIVITY-OF-PLUS, and unfolding EQUAL and PLUS, to the new formula:
(IMPLIES (AND (LESSP Y Z) (NOT (NUMBERP X)))
(EQUAL (DIFFERENCE 0 Y)
(DIFFERENCE X Y))),
which again simplifies, expanding the functions EQUAL and DIFFERENCE, to:
T.
Q.E.D.
[ 0.0 0.0 0.0 ]
DIFFERENCE-CROCK1
(PROVE-LEMMA DIFFERENCE-DIFFERENCE
(REWRITE)
(EQUAL (DIFFERENCE (DIFFERENCE X Y) Z)
(DIFFERENCE X (PLUS Y Z))))
This simplifies, using linear arithmetic, to the following three new
conjectures:
Case 3. (IMPLIES (LESSP (DIFFERENCE X Y) Z)
(EQUAL (DIFFERENCE (DIFFERENCE X Y) Z)
(DIFFERENCE X (PLUS Y Z)))).
But this again simplifies, using linear arithmetic, applying
PATHOLOGICAL-DIFFERENCE, and opening up the function EQUAL, to:
T.
Case 2. (IMPLIES (LESSP X Y)
(EQUAL (DIFFERENCE (DIFFERENCE X Y) Z)
(DIFFERENCE X (PLUS Y Z)))).
But this again simplifies, using linear arithmetic, applying the lemma
PATHOLOGICAL-DIFFERENCE, and expanding EQUAL and DIFFERENCE, to:
T.
Case 1. (IMPLIES (LESSP X (PLUS Y Z))
(EQUAL (DIFFERENCE (DIFFERENCE X Y) Z)
(DIFFERENCE X (PLUS Y Z)))),
which again simplifies, using linear arithmetic, applying the lemma
PATHOLOGICAL-DIFFERENCE, and opening up the function EQUAL, to:
(IMPLIES (AND (LESSP X (PLUS Y Z)) (LESSP X Y))
(EQUAL (DIFFERENCE (DIFFERENCE X Y) Z)
(DIFFERENCE X (PLUS Y Z)))).
But this again simplifies, rewriting with the lemma PATHOLOGICAL-DIFFERENCE,
and expanding the functions EQUAL and DIFFERENCE, to:
T.
Q.E.D.
[ 0.0 0.0 0.0 ]
DIFFERENCE-DIFFERENCE
(PROVE-LEMMA LESSP-DIFFERENCE
(REWRITE)
(EQUAL (LESSP (DIFFERENCE X Y) X)
(AND (NOT (ZEROP X))
(NOT (ZEROP Y)))))
This formula simplifies, expanding ZEROP, NOT, and AND, to five new
conjectures:
Case 5. (IMPLIES (EQUAL Y 0)
(EQUAL (LESSP (DIFFERENCE X Y) X) F)),
which again simplifies, expanding the definitions of EQUAL and DIFFERENCE,
to three new goals:
Case 5.3.
(IMPLIES (AND (NOT (EQUAL X 0)) (NUMBERP X))
(NOT (LESSP X X))),
which again simplifies, using linear arithmetic, to:
T.
Case 5.2.
(IMPLIES (EQUAL X 0)
(NOT (LESSP 0 X))),
which again simplifies, using linear arithmetic, to:
T.
Case 5.1.
(IMPLIES (NOT (NUMBERP X))
(NOT (LESSP 0 X))),
which again simplifies, expanding the definition of LESSP, to:
T.
Case 4. (IMPLIES (NOT (NUMBERP Y))
(EQUAL (LESSP (DIFFERENCE X Y) X) F)),
which again simplifies, expanding the function DIFFERENCE, to three new
conjectures:
Case 4.3.
(IMPLIES (AND (NOT (NUMBERP Y))
(NOT (EQUAL X 0))
(NUMBERP X))
(NOT (LESSP X X))),
which again simplifies, using linear arithmetic, to:
T.
Case 4.2.
(IMPLIES (AND (NOT (NUMBERP Y)) (EQUAL X 0))
(NOT (LESSP 0 X))),
which again simplifies, using linear arithmetic, to:
T.
Case 4.1.
(IMPLIES (AND (NOT (NUMBERP Y))
(NOT (NUMBERP X)))
(NOT (LESSP 0 X))),
which again simplifies, unfolding the function LESSP, to:
T.
Case 3. (IMPLIES (NOT (NUMBERP X))
(EQUAL (LESSP (DIFFERENCE X Y) X) F)),
which again simplifies, unfolding the functions DIFFERENCE, LESSP, and EQUAL,
to:
T.
Case 2. (IMPLIES (EQUAL X 0)
(EQUAL (LESSP (DIFFERENCE X Y) X) F)),
which again simplifies, expanding EQUAL, DIFFERENCE, and LESSP, to:
T.
Case 1. (IMPLIES (AND (NOT (EQUAL X 0))
(NUMBERP X)
(NOT (EQUAL Y 0))
(NUMBERP Y))
(EQUAL (LESSP (DIFFERENCE X Y) X) T)),
which again simplifies, clearly, to:
(IMPLIES (AND (NOT (EQUAL X 0))
(NUMBERP X)
(NOT (EQUAL Y 0))
(NUMBERP Y))
(LESSP (DIFFERENCE X Y) X)),
which again simplifies, using linear arithmetic, to:
(IMPLIES (AND (LESSP X Y)
(NOT (EQUAL X 0))
(NUMBERP X)
(NOT (EQUAL Y 0))
(NUMBERP Y))
(LESSP (DIFFERENCE X Y) X)).
But this again simplifies, applying the lemma PATHOLOGICAL-DIFFERENCE, and
opening up the definitions of EQUAL and LESSP, to:
T.
Q.E.D.
[ 0.0 0.0 0.0 ]
LESSP-DIFFERENCE
(PROVE-LEMMA DIFFERENCE-ADD1 NIL
(EQUAL (DIFFERENCE (ADD1 X) Y)
(IF (LESSP Y (ADD1 X))
(ADD1 (DIFFERENCE X Y))
0)))
This simplifies, appealing to the lemma SUB1-ADD1, and opening up the
functions DIFFERENCE and LESSP, to six new formulas:
Case 6. (IMPLIES (NOT (NUMBERP Y))
(EQUAL (ADD1 X)
(ADD1 (DIFFERENCE X Y)))),
which again simplifies, applying the lemma ADD1-EQUAL, and opening up
DIFFERENCE, to:
T.
Case 5. (IMPLIES (EQUAL Y 0)
(EQUAL (ADD1 X)
(ADD1 (DIFFERENCE X Y)))),
which again simplifies, using linear arithmetic, to:
(IMPLIES (LESSP X 0)
(EQUAL (ADD1 X)
(ADD1 (DIFFERENCE X 0)))).
This again simplifies, using linear arithmetic, to:
T.
Case 4. (IMPLIES (AND (NOT (EQUAL Y 0))
(NUMBERP Y)
(NUMBERP X)
(NOT (LESSP (SUB1 Y) X)))
(EQUAL (DIFFERENCE X (SUB1 Y)) 0)).
Applying the lemma DIFFERENCE-ELIM, replace X by (PLUS (SUB1 Y) Z) to
eliminate (DIFFERENCE X (SUB1 Y)). We rely upon the type restriction lemma
noted when DIFFERENCE was introduced to restrict the new variable. We would
thus like to prove the following two new formulas:
Case 4.2.
(IMPLIES (AND (LESSP X (SUB1 Y))
(NOT (EQUAL Y 0))
(NUMBERP Y)
(NUMBERP X)
(NOT (LESSP (SUB1 Y) X)))
(EQUAL (DIFFERENCE X (SUB1 Y)) 0)).
But this further simplifies, rewriting with the lemma
PATHOLOGICAL-DIFFERENCE, and opening up the definition of EQUAL, to:
T.
Case 4.1.
(IMPLIES (AND (NUMBERP Z)
(NOT (LESSP (PLUS (SUB1 Y) Z) (SUB1 Y)))
(NOT (EQUAL Y 0))
(NUMBERP Y)
(NOT (LESSP (SUB1 Y) (PLUS (SUB1 Y) Z))))
(EQUAL Z 0)),
which further simplifies, using linear arithmetic, to:
T.
Case 3. (IMPLIES (AND (NOT (EQUAL Y 0))
(NUMBERP Y)
(NUMBERP X)
(LESSP (SUB1 Y) X))
(EQUAL (DIFFERENCE X (SUB1 Y))
(ADD1 (DIFFERENCE X Y)))),
which again simplifies, using linear arithmetic, to two new conjectures:
Case 3.2.
(IMPLIES (AND (LESSP X (SUB1 Y))
(NOT (EQUAL Y 0))
(NUMBERP Y)
(NUMBERP X)
(LESSP (SUB1 Y) X))
(EQUAL (DIFFERENCE X (SUB1 Y))
(ADD1 (DIFFERENCE X Y)))),
which again simplifies, using linear arithmetic, to:
T.
Case 3.1.
(IMPLIES (AND (LESSP X Y)
(NOT (EQUAL Y 0))
(NUMBERP Y)
(NUMBERP X)
(LESSP (SUB1 Y) X))
(EQUAL (DIFFERENCE X (SUB1 Y))
(ADD1 (DIFFERENCE X Y)))),
which again simplifies, using linear arithmetic, to:
T.
Case 2. (IMPLIES (AND (NOT (EQUAL Y 0))
(NUMBERP Y)
(NOT (NUMBERP X))
(NOT (LESSP (SUB1 Y) 0)))
(EQUAL (DIFFERENCE 0 (SUB1 Y)) 0)),
which again simplifies, opening up the functions EQUAL, LESSP, and
DIFFERENCE, to:
T.
Case 1. (IMPLIES (AND (NOT (EQUAL Y 0))
(NUMBERP Y)
(NOT (NUMBERP X))
(LESSP (SUB1 Y) 0))
(EQUAL (DIFFERENCE 0 (SUB1 Y))
(ADD1 (DIFFERENCE X Y)))),
which again simplifies, using linear arithmetic, to:
T.
Q.E.D.
[ 0.0 0.0 0.0 ]
DIFFERENCE-ADD1
(PROVE-LEMMA REMAINDER-QUOTIENT
(REWRITE)
(EQUAL (PLUS (REMAINDER X Y)
(TIMES Y (QUOTIENT X Y)))
(FIX X)))
WARNING: the previously added lemma, COMMUTATIVITY-OF-PLUS, could be applied
whenever the newly proposed REMAINDER-QUOTIENT could!
This formula simplifies, opening up the function FIX, to the following two new
goals:
Case 2. (IMPLIES (NOT (NUMBERP X))
(EQUAL (PLUS (REMAINDER X Y)
(TIMES Y (QUOTIENT X Y)))
0)).
However this again simplifies, rewriting with COMMUTATIVITY-OF-TIMES, and
opening up LESSP, REMAINDER, QUOTIENT, EQUAL, TIMES, and PLUS, to:
T.
Case 1. (IMPLIES (NUMBERP X)
(EQUAL (PLUS (REMAINDER X Y)
(TIMES Y (QUOTIENT X Y)))
X)).
Call the above conjecture *1.
We will appeal to induction. Three inductions are suggested by terms in
the conjecture. They merge into two likely candidate inductions. However,
only one is unflawed. We will induct according to the following scheme:
(AND (IMPLIES (ZEROP Y) (p X Y))
(IMPLIES (AND (NOT (ZEROP Y)) (LESSP X Y))
(p X Y))
(IMPLIES (AND (NOT (ZEROP Y))
(NOT (LESSP X Y))
(p (DIFFERENCE X Y) Y))
(p X Y))).
Linear arithmetic, the lemmas COUNT-NUMBERP and COUNT-NOT-LESSP, and the
definition of ZEROP can be used to show that the measure (COUNT X) decreases
according to the well-founded relation LESSP in each induction step of the
scheme. The above induction scheme produces three new goals:
Case 3. (IMPLIES (AND (ZEROP Y) (NUMBERP X))
(EQUAL (PLUS (REMAINDER X Y)
(TIMES Y (QUOTIENT X Y)))
X)),
which simplifies, applying COMMUTATIVITY-OF-PLUS, TIMES-ZERO2, and
COMMUTATIVITY-OF-TIMES, and unfolding the functions ZEROP, EQUAL, REMAINDER,
QUOTIENT, TIMES, and PLUS, to:
T.
Case 2. (IMPLIES (AND (NOT (ZEROP Y))
(LESSP X Y)
(NUMBERP X))
(EQUAL (PLUS (REMAINDER X Y)
(TIMES Y (QUOTIENT X Y)))
X)).
This simplifies, rewriting with the lemmas COMMUTATIVITY-OF-TIMES and
COMMUTATIVITY-OF-PLUS, and opening up the functions ZEROP, REMAINDER,
QUOTIENT, EQUAL, TIMES, and PLUS, to:
T.
Case 1. (IMPLIES (AND (NOT (ZEROP Y))
(NOT (LESSP X Y))
(EQUAL (PLUS (REMAINDER (DIFFERENCE X Y) Y)
(TIMES Y
(QUOTIENT (DIFFERENCE X Y) Y)))
(DIFFERENCE X Y))
(NUMBERP X))
(EQUAL (PLUS (REMAINDER X Y)
(TIMES Y (QUOTIENT X Y)))
X)).
This simplifies, rewriting with TIMES-ADD1 and COMMUTATIVITY2-OF-PLUS, and
opening up the functions ZEROP, REMAINDER, and QUOTIENT, to the goal:
(IMPLIES (AND (NOT (EQUAL Y 0))
(NUMBERP Y)
(NOT (LESSP X Y))
(EQUAL (PLUS (REMAINDER (DIFFERENCE X Y) Y)
(TIMES Y
(QUOTIENT (DIFFERENCE X Y) Y)))
(DIFFERENCE X Y))
(NUMBERP X))
(EQUAL (PLUS Y (DIFFERENCE X Y)) X)).
But this again simplifies, using linear arithmetic, to:
T.
That finishes the proof of *1. Q.E.D.
[ 0.0 0.0 0.0 ]
REMAINDER-QUOTIENT
(PROVE-LEMMA REMAINDER-BY-1
(REWRITE)
(EQUAL (REMAINDER Y 1) 0))
Call the conjecture *1.
We will try to prove it by induction. There is only one suggested
induction. We will induct according to the following scheme:
(AND (IMPLIES (ZEROP 1) (p Y))
(IMPLIES (AND (NOT (ZEROP 1)) (LESSP Y 1))
(p Y))
(IMPLIES (AND (NOT (ZEROP 1))
(NOT (LESSP Y 1))
(p (DIFFERENCE Y 1)))
(p Y))).
Linear arithmetic, the lemmas COUNT-NUMBERP and COUNT-NOT-LESSP, and the
definition of ZEROP can be used to establish that the measure (COUNT Y)
decreases according to the well-founded relation LESSP in each induction step
of the scheme. The above induction scheme generates the following three new
formulas:
Case 3. (IMPLIES (ZEROP 1)
(EQUAL (REMAINDER Y 1) 0)).
This simplifies, expanding the definition of ZEROP, to:
T.
Case 2. (IMPLIES (AND (NOT (ZEROP 1)) (LESSP Y 1))
(EQUAL (REMAINDER Y 1) 0)).
This simplifies, opening up the functions ZEROP, REMAINDER, EQUAL, and
NUMBERP, to the new goal:
(IMPLIES (AND (LESSP Y 1) (NUMBERP Y))
(EQUAL Y 0)),
which again simplifies, using linear arithmetic, to:
T.
Case 1. (IMPLIES (AND (NOT (ZEROP 1))
(NOT (LESSP Y 1))
(EQUAL (REMAINDER (DIFFERENCE Y 1) 1)
0))
(EQUAL (REMAINDER Y 1) 0)),
which simplifies, expanding ZEROP, REMAINDER, EQUAL, and NUMBERP, to:
T.
That finishes the proof of *1. Q.E.D.
[ 0.0 0.0 0.0 ]
REMAINDER-BY-1
(PROVE-LEMMA REMAINDER-BY-NONNUMBER
(REWRITE)
(IMPLIES (NOT (NUMBERP X))
(EQUAL (REMAINDER Y X) (FIX Y))))
This simplifies, unfolding the definitions of REMAINDER and FIX, to:
T.
Q.E.D.
[ 0.0 0.0 0.0 ]
REMAINDER-BY-NONNUMBER
(PROVE-LEMMA LESSP-REMAINDER
(REWRITE GENERALIZE)
(EQUAL (LESSP (REMAINDER X Y) Y)
(NOT (ZEROP Y))))
This conjecture simplifies, expanding ZEROP and NOT, to the following three
new goals:
Case 3. (IMPLIES (NOT (NUMBERP Y))
(EQUAL (LESSP (REMAINDER X Y) Y) F)).
However this again simplifies, applying REMAINDER-BY-NONNUMBER, and
expanding the definitions of LESSP and EQUAL, to:
T.
Case 2. (IMPLIES (EQUAL Y 0)
(EQUAL (LESSP (REMAINDER X Y) Y) F)).
This again simplifies, expanding the definitions of EQUAL, REMAINDER, and
LESSP, to:
T.
Case 1. (IMPLIES (AND (NOT (EQUAL Y 0)) (NUMBERP Y))
(EQUAL (LESSP (REMAINDER X Y) Y) T)),
which again simplifies, trivially, to:
(IMPLIES (AND (NOT (EQUAL Y 0)) (NUMBERP Y))
(LESSP (REMAINDER X Y) Y)),
which we will name *1.
We will appeal to induction. There are two plausible inductions.
However, only one is unflawed. We will induct according to the following
scheme:
(AND (IMPLIES (ZEROP Y) (p X Y))
(IMPLIES (AND (NOT (ZEROP Y)) (LESSP X Y))
(p X Y))
(IMPLIES (AND (NOT (ZEROP Y))
(NOT (LESSP X Y))
(p (DIFFERENCE X Y) Y))
(p X Y))).
Linear arithmetic, the lemmas COUNT-NUMBERP and COUNT-NOT-LESSP, and the
definition of ZEROP establish that the measure (COUNT X) decreases according
to the well-founded relation LESSP in each induction step of the scheme. The
above induction scheme produces the following three new formulas:
Case 3. (IMPLIES (AND (ZEROP Y)
(NOT (EQUAL Y 0))
(NUMBERP Y))
(LESSP (REMAINDER X Y) Y)).
This simplifies, opening up ZEROP, to:
T.
Case 2. (IMPLIES (AND (NOT (ZEROP Y))
(LESSP X Y)
(NOT (EQUAL Y 0))
(NUMBERP Y))
(LESSP (REMAINDER X Y) Y)).
This simplifies, opening up the definitions of ZEROP and REMAINDER, to:
(IMPLIES (AND (LESSP X Y)
(NOT (EQUAL Y 0))
(NUMBERP Y)
(NOT (NUMBERP X)))
(LESSP 0 Y)),
which again simplifies, using linear arithmetic, to:
T.
Case 1. (IMPLIES (AND (NOT (ZEROP Y))
(NOT (LESSP X Y))
(LESSP (REMAINDER (DIFFERENCE X Y) Y)
Y)
(NOT (EQUAL Y 0))
(NUMBERP Y))
(LESSP (REMAINDER X Y) Y)),
which simplifies, unfolding the functions ZEROP and REMAINDER, to:
T.
That finishes the proof of *1. Q.E.D.
[ 0.0 0.0 0.0 ]
LESSP-REMAINDER
(PROVE-LEMMA REMAINDER-QUOTIENT-ELIM
(ELIM)
(IMPLIES (AND (NOT (ZEROP Y)) (NUMBERP X))
(EQUAL (PLUS (REMAINDER X Y)
(TIMES Y (QUOTIENT X Y)))
X)))
This formula can be simplified, using the abbreviations ZEROP, NOT, AND, and
IMPLIES, to:
(IMPLIES (AND (NOT (EQUAL Y 0))
(NUMBERP Y)
(NUMBERP X))
(EQUAL (PLUS (REMAINDER X Y)
(TIMES Y (QUOTIENT X Y)))
X)),
which simplifies, rewriting with REMAINDER-QUOTIENT, to:
T.
Q.E.D.
[ 0.0 0.0 0.0 ]
REMAINDER-QUOTIENT-ELIM
(PROVE-LEMMA REMAINDER-X-X
(REWRITE)
(EQUAL (REMAINDER X X) 0))
This conjecture simplifies, rewriting with DIFFERENCE-X-X, and expanding the
functions NUMBERP, REMAINDER, LESSP, and EQUAL, to:
(IMPLIES (AND (NOT (EQUAL X 0)) (NUMBERP X))
(NOT (LESSP X X))),
which again simplifies, using linear arithmetic, to:
T.
Q.E.D.
[ 0.0 0.0 0.0 ]
REMAINDER-X-X
(PROVE-LEMMA REMAINDER-PLUS
(REWRITE)
(EQUAL (REMAINDER (PLUS J X) J)
(REMAINDER X J)))
This formula simplifies, applying the lemma DIFFERENCE-PLUS, and expanding the
definitions of REMAINDER, EQUAL, and PLUS, to six new conjectures:
Case 6. (IMPLIES (AND (NOT (EQUAL J 0))
(NUMBERP J)
(NOT (LESSP (PLUS J X) J))
(NOT (NUMBERP X)))
(EQUAL (REMAINDER 0 J)
(REMAINDER X J))),
which again simplifies, applying PLUS-RIGHT-ID, and opening up NUMBERP,
LESSP, EQUAL, and REMAINDER, to:
T.
Case 5. (IMPLIES (AND (NOT (EQUAL J 0))
(NUMBERP J)
(LESSP (PLUS J X) J))
(EQUAL (PLUS J X) (REMAINDER X J))).
But this again simplifies, using linear arithmetic, to:
T.
Case 4. (IMPLIES (AND (EQUAL J 0) (NOT (NUMBERP X)))
(EQUAL 0 (REMAINDER X J))),
which again simplifies, opening up the definitions of EQUAL and REMAINDER,
to:
T.
Case 3. (IMPLIES (AND (NOT (NUMBERP J))
(NOT (NUMBERP X)))
(EQUAL 0 (REMAINDER X J))),
which again simplifies, appealing to the lemma REMAINDER-BY-NONNUMBER, and
opening up EQUAL, to:
T.
Case 2. (IMPLIES (AND (EQUAL J 0) (NUMBERP X))
(EQUAL X (REMAINDER X J))),
which again simplifies, expanding the definitions of EQUAL and REMAINDER, to:
T.
Case 1. (IMPLIES (AND (NOT (NUMBERP J)) (NUMBERP X))
(EQUAL X (REMAINDER X J))),
which again simplifies, rewriting with REMAINDER-BY-NONNUMBER, to:
T.
Q.E.D.
[ 0.0 0.0 0.0 ]
REMAINDER-PLUS
(PROVE-LEMMA REMAINDER-PLUS-TIMES
(REWRITE)
(EQUAL (REMAINDER (PLUS X (TIMES I J)) J)
(REMAINDER X J)))
.
Applying the lemma REMAINDER-QUOTIENT-ELIM, replace X by (PLUS Z (TIMES J V))
to eliminate (REMAINDER X J) and (QUOTIENT X J). We rely upon LESSP-REMAINDER,
the type restriction lemma noted when REMAINDER was introduced, and the type
restriction lemma noted when QUOTIENT was introduced to restrict the new
variables. We thus obtain the following four new conjectures:
Case 4. (IMPLIES (NOT (NUMBERP X))
(EQUAL (REMAINDER (PLUS X (TIMES I J)) J)
(REMAINDER X J))).
But this simplifies, opening up the definitions of PLUS, LESSP, and
REMAINDER, to the conjecture:
(IMPLIES (NOT (NUMBERP X))
(EQUAL (REMAINDER (TIMES I J) J) 0)),
which we would usually push and work on later by induction. But if we must
use induction to prove the input conjecture, we prefer to induct on the
original formulation of the problem. Thus we will disregard all that we
have previously done, give the name *1 to the original input, and work on it.
So now let us consider:
(EQUAL (REMAINDER (PLUS X (TIMES I J)) J)
(REMAINDER X J)),
which we named *1 above. We will appeal to induction. There are three
plausible inductions. However, only one is unflawed. We will induct
according to the following scheme:
(AND (IMPLIES (ZEROP I) (p X I J))
(IMPLIES (AND (NOT (ZEROP I)) (p X (SUB1 I) J))
(p X I J))).
Linear arithmetic, the lemma COUNT-NUMBERP, and the definition of ZEROP inform
us that the measure (COUNT I) decreases according to the well-founded relation
LESSP in each induction step of the scheme. The above induction scheme leads
to the following two new goals:
Case 2. (IMPLIES (ZEROP I)
(EQUAL (REMAINDER (PLUS X (TIMES I J)) J)
(REMAINDER X J))).
This simplifies, rewriting with COMMUTATIVITY-OF-PLUS, and expanding the
functions ZEROP, EQUAL, TIMES, and PLUS, to two new conjectures:
Case 2.2.
(IMPLIES (AND (EQUAL I 0) (NOT (NUMBERP X)))
(EQUAL (REMAINDER 0 J)
(REMAINDER X J))),
which again simplifies, expanding the definitions of LESSP, EQUAL, NUMBERP,
and REMAINDER, to:
T.
Case 2.1.
(IMPLIES (AND (NOT (NUMBERP I))
(NOT (NUMBERP X)))
(EQUAL (REMAINDER 0 J)
(REMAINDER X J))),
which again simplifies, expanding the definitions of LESSP, EQUAL, NUMBERP,
and REMAINDER, to:
T.
Case 1. (IMPLIES (AND (NOT (ZEROP I))
(EQUAL (REMAINDER (PLUS X (TIMES (SUB1 I) J))
J)
(REMAINDER X J)))
(EQUAL (REMAINDER (PLUS X (TIMES I J)) J)
(REMAINDER X J))),
which simplifies, applying COMMUTATIVITY2-OF-PLUS and REMAINDER-PLUS, and
expanding ZEROP and TIMES, to:
T.
That finishes the proof of *1. Q.E.D.
[ 0.0 0.0 0.2 ]
REMAINDER-PLUS-TIMES
(PROVE-LEMMA REMAINDER-PLUS-TIMES-COMMUTED
(REWRITE)
(EQUAL (REMAINDER (PLUS X (TIMES J I)) J)
(REMAINDER X J)))
This simplifies, rewriting with COMMUTATIVITY-OF-TIMES and
REMAINDER-PLUS-TIMES, to:
T.
Q.E.D.
[ 0.0 0.0 0.0 ]
REMAINDER-PLUS-TIMES-COMMUTED
(PROVE-LEMMA REMAINDER-TIMES
(REWRITE)
(EQUAL (REMAINDER (TIMES J I) J) 0)
((USE (REMAINDER-PLUS-TIMES (X 0)))
(DISABLE REMAINDER-PLUS-TIMES)))
This conjecture simplifies, rewriting with the lemma COMMUTATIVITY-OF-TIMES,
and unfolding the functions EQUAL, PLUS, LESSP, NUMBERP, and REMAINDER, to:
T.
Q.E.D.
[ 0.0 0.0 0.0 ]
REMAINDER-TIMES
(PROVE-LEMMA REMAINDER-ADD1-TIMES
(REWRITE)
(EQUAL (REMAINDER (ADD1 (TIMES J I)) J)
(REMAINDER 1 J))
((USE (REMAINDER-PLUS-TIMES (X 1)))
(DISABLE REMAINDER-PLUS-TIMES)))
This formula can be simplified, using the abbreviation PLUS-1, to:
(IMPLIES (EQUAL (REMAINDER (ADD1 (TIMES I J)) J)
(REMAINDER 1 J))
(EQUAL (REMAINDER (ADD1 (TIMES J I)) J)
(REMAINDER 1 J))),
which simplifies, applying COMMUTATIVITY-OF-TIMES, to:
T.
Q.E.D.
[ 0.0 0.0 0.0 ]
REMAINDER-ADD1-TIMES
(PROVE-LEMMA QUOTIENT-PLUS-TIMES
(REWRITE)
(EQUAL (QUOTIENT (PLUS X (TIMES I J)) J)
(IF (ZEROP J)
0
(PLUS I (QUOTIENT X J)))))
This simplifies, expanding ZEROP, to three new goals:
Case 3. (IMPLIES (NOT (NUMBERP J))
(EQUAL (QUOTIENT (PLUS X (TIMES I J)) J)
0)),
which again simplifies, applying the lemmas TIMES-ZERO2 and
COMMUTATIVITY-OF-PLUS, and opening up the functions EQUAL, PLUS, and
QUOTIENT, to:
T.
Case 2. (IMPLIES (EQUAL J 0)
(EQUAL (QUOTIENT (PLUS X (TIMES I J)) J)
0)),
which again simplifies, applying the lemmas COMMUTATIVITY-OF-TIMES and
COMMUTATIVITY-OF-PLUS, and unfolding the definitions of EQUAL, TIMES, PLUS,
and QUOTIENT, to:
T.
Case 1. (IMPLIES (AND (NOT (EQUAL J 0)) (NUMBERP J))
(EQUAL (QUOTIENT (PLUS X (TIMES I J)) J)
(PLUS I (QUOTIENT X J)))).
Applying the lemma REMAINDER-QUOTIENT-ELIM, replace X by
(PLUS V (TIMES J Z)) to eliminate (QUOTIENT X J) and (REMAINDER X J). We
employ LESSP-REMAINDER, the type restriction lemma noted when QUOTIENT was
introduced, and the type restriction lemma noted when REMAINDER was
introduced to restrict the new variables. This produces the following two
new goals:
Case 1.2.
(IMPLIES (AND (NOT (NUMBERP X))
(NOT (EQUAL J 0))
(NUMBERP J))
(EQUAL (QUOTIENT (PLUS X (TIMES I J)) J)
(PLUS I (QUOTIENT X J)))).
This further simplifies, applying COMMUTATIVITY-OF-PLUS, and expanding the
functions PLUS, LESSP, QUOTIENT, and EQUAL, to the following two new
formulas:
Case 1.2.2.
(IMPLIES (AND (NOT (NUMBERP X))
(NOT (EQUAL J 0))
(NUMBERP J)
(NOT (NUMBERP I)))
(EQUAL (QUOTIENT (TIMES I J) J) 0)).
But this again simplifies, unfolding the definitions of TIMES, LESSP,
EQUAL, and QUOTIENT, to:
T.
Case 1.2.1.
(IMPLIES (AND (NOT (NUMBERP X))
(NOT (EQUAL J 0))
(NUMBERP J)
(NUMBERP I))
(EQUAL (QUOTIENT (TIMES I J) J) I)),
which we would normally push and work on later by induction. But if we
must use induction to prove the input conjecture, we prefer to induct on
the original formulation of the problem. Thus we will disregard all
that we have previously done, give the name *1 to the original input,
and work on it.
So now let us return to:
(EQUAL (QUOTIENT (PLUS X (TIMES I J)) J)
(IF (ZEROP J)
0
(PLUS I (QUOTIENT X J)))).
We named this *1. We will try to prove it by induction. Four inductions are
suggested by terms in the conjecture. They merge into three likely candidate
inductions. However, only one is unflawed. We will induct according to the
following scheme:
(AND (IMPLIES (ZEROP I) (p X I J))
(IMPLIES (AND (NOT (ZEROP I)) (p X (SUB1 I) J))
(p X I J))).
Linear arithmetic, the lemma COUNT-NUMBERP, and the definition of ZEROP can be
used to establish that the measure (COUNT I) decreases according to the
well-founded relation LESSP in each induction step of the scheme. The above
induction scheme generates the following two new conjectures:
Case 2. (IMPLIES (ZEROP I)
(EQUAL (QUOTIENT (PLUS X (TIMES I J)) J)
(IF (ZEROP J)
0
(PLUS I (QUOTIENT X J))))).
This simplifies, rewriting with COMMUTATIVITY-OF-PLUS, and opening up the
definitions of ZEROP, EQUAL, TIMES, and PLUS, to ten new conjectures:
Case 2.10.
(IMPLIES (AND (EQUAL I 0)
(NOT (NUMBERP J))
(NOT (NUMBERP X)))
(EQUAL (QUOTIENT 0 J) 0)),
which again simplifies, opening up QUOTIENT and EQUAL, to:
T.
Case 2.9.
(IMPLIES (AND (EQUAL I 0)
(EQUAL J 0)
(NOT (NUMBERP X)))
(EQUAL (QUOTIENT 0 J) 0)),
which again simplifies, unfolding the definitions of QUOTIENT and EQUAL,
to:
T.
Case 2.8.
(IMPLIES (AND (EQUAL I 0)
(NOT (NUMBERP J))
(NUMBERP X))
(EQUAL (QUOTIENT X J) 0)),
which again simplifies, opening up QUOTIENT and EQUAL, to:
T.
Case 2.7.
(IMPLIES (AND (EQUAL I 0)
(EQUAL J 0)
(NUMBERP X))
(EQUAL (QUOTIENT X J) 0)),
which again simplifies, unfolding the functions EQUAL and QUOTIENT, to:
T.
Case 2.6.
(IMPLIES (AND (EQUAL I 0)
(NOT (EQUAL J 0))
(NUMBERP J)
(NOT (NUMBERP X)))
(EQUAL (QUOTIENT 0 J)
(QUOTIENT X J))),
which again simplifies, opening up LESSP, EQUAL, and QUOTIENT, to:
T.
Case 2.5.
(IMPLIES (AND (NOT (NUMBERP I))
(NOT (NUMBERP J))
(NOT (NUMBERP X)))
(EQUAL (QUOTIENT 0 J) 0)),
which again simplifies, expanding the definitions of QUOTIENT and EQUAL,
to:
T.
Case 2.4.
(IMPLIES (AND (NOT (NUMBERP I))
(EQUAL J 0)
(NOT (NUMBERP X)))
(EQUAL (QUOTIENT 0 J) 0)),
which again simplifies, opening up the definitions of QUOTIENT and EQUAL,
to:
T.
Case 2.3.
(IMPLIES (AND (NOT (NUMBERP I))
(NOT (NUMBERP J))
(NUMBERP X))
(EQUAL (QUOTIENT X J) 0)),
which again simplifies, expanding QUOTIENT and EQUAL, to:
T.
Case 2.2.
(IMPLIES (AND (NOT (NUMBERP I))
(EQUAL J 0)
(NUMBERP X))
(EQUAL (QUOTIENT X J) 0)),
which again simplifies, expanding EQUAL and QUOTIENT, to:
T.
Case 2.1.
(IMPLIES (AND (NOT (NUMBERP I))
(NOT (EQUAL J 0))
(NUMBERP J)
(NOT (NUMBERP X)))
(EQUAL (QUOTIENT 0 J)
(QUOTIENT X J))),
which again simplifies, expanding LESSP, EQUAL, and QUOTIENT, to:
T.
Case 1. (IMPLIES (AND (NOT (ZEROP I))
(EQUAL (QUOTIENT (PLUS X (TIMES (SUB1 I) J))
J)
(IF (ZEROP J)
0
(PLUS (SUB1 I) (QUOTIENT X J)))))
(EQUAL (QUOTIENT (PLUS X (TIMES I J)) J)
(IF (ZEROP J)
0
(PLUS I (QUOTIENT X J))))),
which simplifies, rewriting with TIMES-ZERO2, COMMUTATIVITY-OF-PLUS,
COMMUTATIVITY-OF-TIMES, COMMUTATIVITY2-OF-PLUS, and DIFFERENCE-PLUS, and
opening up the functions ZEROP, EQUAL, PLUS, QUOTIENT, and TIMES, to:
(IMPLIES (AND (NOT (EQUAL I 0))
(NUMBERP I)
(NOT (EQUAL J 0))
(NUMBERP J)
(EQUAL (QUOTIENT (PLUS X (TIMES (SUB1 I) J))
J)
(PLUS (SUB1 I) (QUOTIENT X J)))
(LESSP (PLUS J X (TIMES (SUB1 I) J))
J))
(EQUAL 0
(ADD1 (PLUS (SUB1 I) (QUOTIENT X J))))),
which again simplifies, using linear arithmetic, to:
T.
That finishes the proof of *1. Q.E.D.
[ 0.0 0.1 0.0 ]
QUOTIENT-PLUS-TIMES
(PROVE-LEMMA QUOTIENT-PLUS-TIMES-COMMUTED
(REWRITE)
(EQUAL (QUOTIENT (PLUS X (TIMES J I)) J)
(IF (ZEROP J)
0
(PLUS I (QUOTIENT X J)))))
This simplifies, applying COMMUTATIVITY-OF-TIMES and QUOTIENT-PLUS-TIMES, and
unfolding ZEROP, to:
T.
Q.E.D.
[ 0.0 0.0 0.0 ]
QUOTIENT-PLUS-TIMES-COMMUTED
(PROVE-LEMMA QUOTIENT-TIMES
(REWRITE)
(EQUAL (QUOTIENT (TIMES J I) J)
(IF (ZEROP J) 0 (FIX I)))
((USE (QUOTIENT-PLUS-TIMES (X 0)))
(DISABLE QUOTIENT-PLUS-TIMES)))
This conjecture simplifies, rewriting with COMMUTATIVITY-OF-PLUS, TIMES-ZERO2,
and COMMUTATIVITY-OF-TIMES, and expanding the functions EQUAL, PLUS, ZEROP,
LESSP, QUOTIENT, TIMES, and FIX, to:
T.
Q.E.D.
[ 0.0 0.0 0.0 ]
QUOTIENT-TIMES
(PROVE-LEMMA QUOTIENT-ADD1-TIMES
(REWRITE)
(EQUAL (QUOTIENT (ADD1 (TIMES J I)) J)
(IF (ZEROP J)
0
(PLUS I (QUOTIENT 1 J))))
((USE (QUOTIENT-PLUS-TIMES (X 1)))
(DISABLE QUOTIENT-PLUS-TIMES)))
This formula can be simplified, using the abbreviation PLUS-1, to the new
conjecture:
(IMPLIES (EQUAL (QUOTIENT (ADD1 (TIMES I J)) J)
(IF (ZEROP J)
0
(PLUS I (QUOTIENT 1 J))))
(EQUAL (QUOTIENT (ADD1 (TIMES J I)) J)
(IF (ZEROP J)
0
(PLUS I (QUOTIENT 1 J))))),
which simplifies, applying the lemmas TIMES-ZERO2 and COMMUTATIVITY-OF-TIMES,
and unfolding the functions ZEROP, ADD1, QUOTIENT, EQUAL, and TIMES, to:
T.
Q.E.D.
[ 0.0 0.0 0.0 ]
QUOTIENT-ADD1-TIMES
(DISABLE TIMES)
[ 0.0 0.0 0.0 ]
TIMES-OFF
(PROVE-LEMMA TIMES-DISTRIBUTES-OVER-REMAINDER
(REWRITE)
(EQUAL (REMAINDER (TIMES X Y) (TIMES X Z))
(TIMES X (REMAINDER Y Z)))
((EXPAND (REMAINDER (TIMES V X) (TIMES X Z)))))
.
Appealing to the lemma REMAINDER-QUOTIENT-ELIM, we now replace Y by
(PLUS V (TIMES Z W)) to eliminate (REMAINDER Y Z) and (QUOTIENT Y Z). We use
LESSP-REMAINDER, the type restriction lemma noted when REMAINDER was
introduced, and the type restriction lemma noted when QUOTIENT was introduced
to constrain the new variables. The result is four new goals:
Case 4. (IMPLIES (NOT (NUMBERP Y))
(EQUAL (REMAINDER (TIMES X Y) (TIMES X Z))
(TIMES X (REMAINDER Y Z)))),
which simplifies, appealing to the lemmas TIMES-ZERO2, EQUAL-TIMES-0, and
COMMUTATIVITY-OF-TIMES, and unfolding LESSP, EQUAL, NUMBERP, and REMAINDER,
to:
T.
Case 3. (IMPLIES (EQUAL Z 0)
(EQUAL (REMAINDER (TIMES X Y) (TIMES X Z))
(TIMES X (REMAINDER Y Z)))),
which simplifies, rewriting with the lemmas COMMUTATIVITY-OF-TIMES and
EQUAL-TIMES-0, and expanding the functions EQUAL and REMAINDER, to the goal:
(IMPLIES (NOT (NUMBERP Y))
(EQUAL (TIMES X Y) (TIMES X 0))).
But this again simplifies, applying TIMES-ZERO2, COMMUTATIVITY-OF-TIMES, and
EQUAL-TIMES-0, and unfolding EQUAL, to:
T.
Case 2. (IMPLIES (NOT (NUMBERP Z))
(EQUAL (REMAINDER (TIMES X Y) (TIMES X Z))
(TIMES X (REMAINDER Y Z)))).
But this simplifies, appealing to the lemmas TIMES-ZERO2 and
REMAINDER-BY-NONNUMBER, and unfolding the functions EQUAL and REMAINDER, to
the goal:
(IMPLIES (AND (NOT (NUMBERP Z))
(NOT (NUMBERP Y)))
(EQUAL (TIMES X Y) (TIMES X 0))).
This again simplifies, applying the lemmas TIMES-ZERO2,
COMMUTATIVITY-OF-TIMES, and EQUAL-TIMES-0, and opening up EQUAL, to:
T.
Case 1. (IMPLIES (AND (NUMBERP V)
(EQUAL (LESSP V Z) (NOT (ZEROP Z)))
(NUMBERP W)
(NUMBERP Z)
(NOT (EQUAL Z 0)))
(EQUAL (REMAINDER (TIMES X (PLUS V (TIMES Z W)))
(TIMES X Z))
(TIMES X V))),
which simplifies, rewriting with the lemmas COMMUTATIVITY-OF-TIMES,
COMMUTATIVITY2-OF-TIMES, DISTRIBUTIVITY-OF-TIMES-OVER-PLUS, EQUAL-TIMES-0,
LESSP-TIMES, and REMAINDER-PLUS-TIMES, and expanding the definitions of
ZEROP, NOT, and REMAINDER, to:
T.
Q.E.D.
[ 0.0 0.0 0.0 ]
TIMES-DISTRIBUTES-OVER-REMAINDER
(PROVE-LEMMA REMAINDER-OF-1
(REWRITE)
(EQUAL (REMAINDER 1 X)
(IF (EQUAL X 1) 0 1))
((EXPAND (REMAINDER 1 X))))
This simplifies, unfolding the functions REMAINDER and NUMBERP, to the
following five new formulas:
Case 5. (IMPLIES (EQUAL X 1)
(EQUAL (REMAINDER (DIFFERENCE 1 X) X)
0)).
But this again simplifies, opening up the functions DIFFERENCE, REMAINDER,
and EQUAL, to:
T.
Case 4. (IMPLIES (AND (NOT (EQUAL X 1))
(NOT (EQUAL X 0))
(NUMBERP X)
(NOT (LESSP 1 X)))
(EQUAL (REMAINDER (DIFFERENCE 1 X) X)
1)),
which again simplifies, using linear arithmetic, to:
T.
Case 3. (IMPLIES (EQUAL X 1)
(NOT (LESSP 1 X))),
which again simplifies, using linear arithmetic, to:
T.
Case 2. (IMPLIES (EQUAL X 1) (NUMBERP X)),
which again simplifies, obviously, to:
T.
Case 1. (IMPLIES (EQUAL X 1)
(NOT (EQUAL X 0))).
But this again simplifies, using linear arithmetic, to:
T.
Q.E.D.
[ 0.0 0.0 0.0 ]
REMAINDER-OF-1
(PROVE-LEMMA REMAINDER-CROCK1
(REWRITE)
(IMPLIES (AND (NUMBERP X)
(LESSP X Z)
(NUMBERP V)
(NUMBERP Z)
(NOT (EQUAL Z 0)))
(EQUAL (REMAINDER (ADD1 (PLUS (TIMES 2 X) (TIMES 2 V Z)))
(TIMES 2 Z))
(ADD1 (TIMES 2 X))))
((USE (REMAINDER-PLUS-TIMES (X (ADD1 (TIMES 2 X)))
(I V)
(J (TIMES 2 Z))))
(DISABLE REMAINDER-PLUS-TIMES)))
This formula simplifies, using linear arithmetic, applying
COMMUTATIVITY2-OF-TIMES, SUB1-ADD1, PATHOLOGICAL-DIFFERENCE, and EQUAL-TIMES-0,
and unfolding the functions PLUS, LESSP, NUMBERP, EQUAL, and REMAINDER, to the
formula:
(IMPLIES (AND (NOT (LESSP (TIMES 2 X)
(SUB1 (TIMES 2 Z))))
(EQUAL (REMAINDER (ADD1 (PLUS (TIMES 2 X) (TIMES 2 V Z)))
(TIMES 2 Z))
0)
(NUMBERP X)
(LESSP X Z)
(NUMBERP V)
(NUMBERP Z))
(EQUAL Z 0)).
This again simplifies, using linear arithmetic, to:
T.
Q.E.D.
[ 0.0 0.0 0.0 ]
REMAINDER-CROCK1
(PROVE-LEMMA TIMES-2-DISTRIBUTES-OVER-REMAINDER-ADD1
(REWRITE)
(EQUAL (REMAINDER (ADD1 (TIMES 2 Y))
(TIMES 2 Z))
(ADD1 (TIMES 2 (REMAINDER Y Z)))))
.
Appealing to the lemma REMAINDER-QUOTIENT-ELIM, we now replace Y by
(PLUS X (TIMES Z V)) to eliminate (REMAINDER Y Z) and (QUOTIENT Y Z). We use
LESSP-REMAINDER, the type restriction lemma noted when REMAINDER was
introduced, and the type restriction lemma noted when QUOTIENT was introduced
to constrain the new variables. This generates four new goals:
Case 4. (IMPLIES (NOT (NUMBERP Y))
(EQUAL (REMAINDER (ADD1 (TIMES 2 Y))
(TIMES 2 Z))
(ADD1 (TIMES 2 (REMAINDER Y Z))))),
which simplifies, rewriting with the lemmas TIMES-ZERO2, TIMES-2-NOT-1, and
REMAINDER-OF-1, and unfolding the functions ADD1, LESSP, REMAINDER, TIMES,
and EQUAL, to:
T.
Case 3. (IMPLIES (EQUAL Z 0)
(EQUAL (REMAINDER (ADD1 (TIMES 2 Y))
(TIMES 2 Z))
(ADD1 (TIMES 2 (REMAINDER Y Z))))),
which simplifies, appealing to the lemma ADD1-EQUAL, and unfolding the
definitions of TIMES, EQUAL, and REMAINDER, to the formula:
(IMPLIES (NOT (NUMBERP Y))
(EQUAL (TIMES 2 Y) (TIMES 2 0))).
However this again simplifies, applying the lemma TIMES-ZERO2, and unfolding
the functions TIMES and EQUAL, to:
T.
Case 2. (IMPLIES (NOT (NUMBERP Z))
(EQUAL (REMAINDER (ADD1 (TIMES 2 Y))
(TIMES 2 Z))
(ADD1 (TIMES 2 (REMAINDER Y Z))))),
which simplifies, rewriting with TIMES-ZERO2, REMAINDER-BY-NONNUMBER, and
ADD1-EQUAL, and expanding the functions EQUAL and REMAINDER, to:
(IMPLIES (AND (NOT (NUMBERP Z))
(NOT (NUMBERP Y)))
(EQUAL (TIMES 2 Y) (TIMES 2 0))),
which again simplifies, appealing to the lemma TIMES-ZERO2, and expanding
the functions TIMES and EQUAL, to:
T.
Case 1. (IMPLIES (AND (NUMBERP X)
(EQUAL (LESSP X Z) (NOT (ZEROP Z)))
(NUMBERP V)
(NUMBERP Z)
(NOT (EQUAL Z 0)))
(EQUAL (REMAINDER (ADD1 (TIMES 2 (PLUS X (TIMES Z V))))
(TIMES 2 Z))
(ADD1 (TIMES 2 X)))),
which simplifies, appealing to the lemmas COMMUTATIVITY-OF-TIMES,
DISTRIBUTIVITY-OF-TIMES-OVER-PLUS, and REMAINDER-CROCK1, and unfolding ZEROP
and NOT, to:
T.
Q.E.D.
[ 0.0 0.0 0.0 ]
TIMES-2-DISTRIBUTES-OVER-REMAINDER-ADD1
(PROVE-LEMMA REMAINDER-CROCK2
(REWRITE)
(IMPLIES (LESSP V (EXP 2 (SUB1 SIZE)))
(EQUAL (REMAINDER (PLUS (TIMES 2 V)
(TIMES 2 W (EXP 2 (SUB1 SIZE))))
(TIMES 2 (EXP 2 (SUB1 SIZE))))
(TIMES 2 V)))
((USE (REMAINDER-PLUS-TIMES (X (TIMES 2 V))
(I W)
(J (TIMES 2 (EXP 2 (SUB1 SIZE))))))
(DISABLE REMAINDER-PLUS-TIMES)))
This conjecture can be simplified, using the abbreviations IMPLIES and
TIMES-DISTRIBUTES-OVER-REMAINDER, to the conjecture:
(IMPLIES (AND (EQUAL (REMAINDER (PLUS (TIMES 2 V)
(TIMES W 2 (EXP 2 (SUB1 SIZE))))
(TIMES 2 (EXP 2 (SUB1 SIZE))))
(TIMES 2
(REMAINDER V (EXP 2 (SUB1 SIZE)))))
(LESSP V (EXP 2 (SUB1 SIZE))))
(EQUAL (REMAINDER (PLUS (TIMES 2 V)
(TIMES 2 W (EXP 2 (SUB1 SIZE))))
(TIMES 2 (EXP 2 (SUB1 SIZE))))
(TIMES 2 V))).
This simplifies, appealing to the lemmas COMMUTATIVITY2-OF-TIMES, TIMES-ZERO2,
TIMES-DISTRIBUTES-OVER-REMAINDER, and EQUAL-TIMES-0, and expanding the
definitions of REMAINDER, LESSP, EQUAL, PLUS, and NUMBERP, to:
(IMPLIES (AND (NOT (NUMBERP V))
(EQUAL (REMAINDER (PLUS (TIMES 2 V)
(TIMES 2 W (EXP 2 (SUB1 SIZE))))
(TIMES 2 (EXP 2 (SUB1 SIZE))))
(TIMES 2 0))
(NOT (EQUAL (EXP 2 (SUB1 SIZE)) 0)))
(EQUAL (REMAINDER (TIMES W (EXP 2 (SUB1 SIZE)))
(EXP 2 (SUB1 SIZE)))
0)),
which again simplifies, rewriting with TIMES-ZERO2,
TIMES-DISTRIBUTES-OVER-REMAINDER, and EQUAL-TIMES-0, and expanding EQUAL, PLUS,
TIMES, and NUMBERP, to:
T.
Q.E.D.
[ 0.0 0.0 0.0 ]
REMAINDER-CROCK2
(PROVE-LEMMA REMAINDER-CROCK3
(REWRITE)
(EQUAL (REMAINDER (PLUS X (DIFFERENCE Y Z))
Y)
(IF (LESSP (PLUS X (DIFFERENCE Y Z)) Y)
(PLUS X (DIFFERENCE Y Z))
(IF (LESSP Y Z)
(REMAINDER X Y)
(REMAINDER (DIFFERENCE X Z) Y)))))
This conjecture simplifies, rewriting with DIFFERENCE-CROCK1 and
COMMUTATIVITY-OF-PLUS, and opening up REMAINDER, EQUAL, DIFFERENCE, and PLUS,
to 13 new formulas:
Case 13.(IMPLIES (AND (NOT (LESSP (PLUS X (DIFFERENCE Y Z)) Y))
(LESSP Y Z)
(NOT (EQUAL Y 0))
(NUMBERP Y))
(EQUAL (REMAINDER (DIFFERENCE X Y) Y)
(REMAINDER X Y))),
which again simplifies, using linear arithmetic, rewriting with
PATHOLOGICAL-DIFFERENCE and COMMUTATIVITY-OF-PLUS, and expanding the
functions EQUAL, PLUS, NUMBERP, LESSP, and REMAINDER, to:
T.
Case 12.(IMPLIES (AND (NOT (LESSP (PLUS X (DIFFERENCE Y Z)) Y))
(LESSP Y Z)
(EQUAL Y 0)
(NOT (NUMBERP X)))
(EQUAL 0 (REMAINDER X Y))).
This again simplifies, rewriting with PATHOLOGICAL-DIFFERENCE, PLUS-RIGHT-ID,
and COMMUTATIVITY-OF-PLUS, and unfolding NUMBERP, LESSP, EQUAL, and
REMAINDER, to:
T.
Case 11.(IMPLIES (AND (NOT (LESSP (PLUS X (DIFFERENCE Y Z)) Y))
(LESSP Y Z)
(NOT (NUMBERP Y))
(NOT (NUMBERP X)))
(EQUAL 0 (REMAINDER X Y))).
This again simplifies, rewriting with PATHOLOGICAL-DIFFERENCE, PLUS-RIGHT-ID,
COMMUTATIVITY-OF-PLUS, and REMAINDER-BY-NONNUMBER, and unfolding the
definitions of NUMBERP, LESSP, and EQUAL, to:
T.
Case 10.(IMPLIES (AND (NOT (LESSP (PLUS X (DIFFERENCE Y Z)) Y))
(LESSP Y Z)
(EQUAL Y 0)
(NUMBERP X))
(EQUAL X (REMAINDER X Y))).
This again simplifies, applying PATHOLOGICAL-DIFFERENCE and
COMMUTATIVITY-OF-PLUS, and opening up the functions EQUAL, PLUS, LESSP, and
REMAINDER, to:
T.
Case 9. (IMPLIES (AND (NOT (LESSP (PLUS X (DIFFERENCE Y Z)) Y))
(LESSP Y Z)
(NOT (NUMBERP Y))
(NUMBERP X))
(EQUAL X (REMAINDER X Y))).
However this again simplifies, applying PATHOLOGICAL-DIFFERENCE,
COMMUTATIVITY-OF-PLUS, and REMAINDER-BY-NONNUMBER, and unfolding EQUAL, PLUS,
and LESSP, to:
T.
Case 8. (IMPLIES (AND (NOT (LESSP (PLUS X (DIFFERENCE Y Z)) Y))
(NOT (LESSP Y Z))
(EQUAL Y 0)
(NOT (NUMBERP X)))
(EQUAL 0
(REMAINDER (DIFFERENCE X Z) Y))).
This again simplifies, applying PLUS-RIGHT-ID and COMMUTATIVITY-OF-PLUS, and
expanding the functions EQUAL, DIFFERENCE, NUMBERP, LESSP, and REMAINDER, to:
T.
Case 7. (IMPLIES (AND (NOT (LESSP (PLUS X (DIFFERENCE Y Z)) Y))
(NOT (LESSP Y Z))
(NOT (NUMBERP Y))
(NOT (NUMBERP X)))
(EQUAL 0
(REMAINDER (DIFFERENCE X Z) Y))).
But this again simplifies, rewriting with the lemmas PLUS-RIGHT-ID,
COMMUTATIVITY-OF-PLUS, and REMAINDER-BY-NONNUMBER, and opening up the
definitions of DIFFERENCE, NUMBERP, LESSP, and EQUAL, to:
T.
Case 6. (IMPLIES (AND (NOT (LESSP (PLUS X (DIFFERENCE Y Z)) Y))
(NOT (LESSP Y Z))
(EQUAL Y 0)
(NUMBERP X))
(EQUAL X
(REMAINDER (DIFFERENCE X Z) Y))),
which again simplifies, rewriting with COMMUTATIVITY-OF-PLUS, and opening up
the definitions of EQUAL, DIFFERENCE, PLUS, LESSP, and REMAINDER, to:
T.
Case 5. (IMPLIES (AND (NOT (LESSP (PLUS X (DIFFERENCE Y Z)) Y))
(NOT (LESSP Y Z))
(NOT (NUMBERP Y))
(NUMBERP X))
(EQUAL X
(REMAINDER (DIFFERENCE X Z) Y))).
However this again simplifies, appealing to the lemmas COMMUTATIVITY-OF-PLUS
and REMAINDER-BY-NONNUMBER, and opening up DIFFERENCE, EQUAL, PLUS, and
LESSP, to:
T.
Case 4. (IMPLIES (AND (LESSP (PLUS X (DIFFERENCE Y Z)) Y)
(EQUAL Y 0)
(NOT (NUMBERP X)))
(EQUAL 0 (PLUS X (DIFFERENCE Y Z)))),
which again simplifies, rewriting with PLUS-RIGHT-ID and
COMMUTATIVITY-OF-PLUS, and opening up the definitions of EQUAL, DIFFERENCE,
NUMBERP, and LESSP, to:
T.
Case 3. (IMPLIES (AND (LESSP (PLUS X (DIFFERENCE Y Z)) Y)
(NOT (NUMBERP Y))
(NOT (NUMBERP X)))
(EQUAL 0 (PLUS X (DIFFERENCE Y Z)))).
However this again simplifies, applying PLUS-RIGHT-ID and
COMMUTATIVITY-OF-PLUS, and expanding the definitions of DIFFERENCE, NUMBERP,
and LESSP, to:
T.
Case 2. (IMPLIES (AND (LESSP (PLUS X (DIFFERENCE Y Z)) Y)
(EQUAL Y 0)
(NUMBERP X))
(EQUAL X (PLUS X (DIFFERENCE Y Z)))).
This again simplifies, using linear arithmetic, applying
PATHOLOGICAL-DIFFERENCE and COMMUTATIVITY-OF-PLUS, and expanding the
definitions of EQUAL, PLUS, and LESSP, to:
T.
Case 1. (IMPLIES (AND (LESSP (PLUS X (DIFFERENCE Y Z)) Y)
(NOT (NUMBERP Y))
(NUMBERP X))
(EQUAL X (PLUS X (DIFFERENCE Y Z)))).
This again simplifies, appealing to the lemma COMMUTATIVITY-OF-PLUS, and
opening up the definitions of DIFFERENCE, EQUAL, PLUS, and LESSP, to:
T.
Q.E.D.
[ 0.0 0.0 0.0 ]
REMAINDER-CROCK3
(PROVE-LEMMA REMAINDER-OF-0
(REWRITE)
(EQUAL (REMAINDER 0 X) 0))
This simplifies, unfolding LESSP, EQUAL, NUMBERP, and REMAINDER, to:
T.
Q.E.D.
[ 0.0 0.0 0.0 ]
REMAINDER-OF-0
(PROVE-LEMMA REMAINDER-CROCK4
(REWRITE)
(EQUAL (REMAINDER (ADD1 (PLUS X (DIFFERENCE Y Z)))
Y)
(IF (LESSP (ADD1 (PLUS X (DIFFERENCE Y Z)))
Y)
(ADD1 (PLUS X (DIFFERENCE Y Z)))
(IF (LESSP Y Z)
(REMAINDER (ADD1 X) Y)
(IF (LESSP Z (ADD1 X))
(REMAINDER (ADD1 (DIFFERENCE X Z)) Y)
0))))
((USE (REMAINDER-CROCK3 (X (ADD1 X)))
(DIFFERENCE-ADD1 (X X) (Y Z)))
(DISABLE REMAINDER-CROCK3 DIFFERENCE LESSP REMAINDER)))
This conjecture simplifies, rewriting with SUB1-ADD1, COMMUTATIVITY-OF-PLUS,
PATHOLOGICAL-DIFFERENCE, SUB1-TYPE-RESTRICTION, PLUS-RIGHT-ID, and
REMAINDER-OF-1, and opening up the functions PLUS, EQUAL, NUMBERP, and ADD1,
to the following 26 new formulas:
Case 26.(IMPLIES (AND (NUMBERP X)
(NOT (LESSP (ADD1 (PLUS (DIFFERENCE Y Z) X))
Y))
(LESSP Y Z)
(EQUAL (REMAINDER (ADD1 (PLUS (DIFFERENCE Y Z) X))
Y)
(REMAINDER (ADD1 X) Y))
(NOT (LESSP Z (ADD1 X)))
(EQUAL (DIFFERENCE (ADD1 X) Z) 0)
(LESSP (ADD1 X) Y))
(EQUAL (REMAINDER (ADD1 X) Y)
(ADD1 X))).
But this again simplifies, using linear arithmetic, to:
(IMPLIES (AND (LESSP (ADD1 X) Z)
(NUMBERP X)
(NOT (LESSP (ADD1 (PLUS (DIFFERENCE Y Z) X))
Y))
(LESSP Y Z)
(EQUAL (REMAINDER (ADD1 (PLUS (DIFFERENCE Y Z) X))
Y)
(REMAINDER (ADD1 X) Y))
(NOT (LESSP Z (ADD1 X)))
(EQUAL (DIFFERENCE (ADD1 X) Z) 0)
(LESSP (ADD1 X) Y))
(EQUAL (REMAINDER (ADD1 X) Y)
(ADD1 X))).
This again simplifies, appealing to the lemma PATHOLOGICAL-DIFFERENCE, and
unfolding the functions EQUAL and PLUS, to:
T.
Case 25.(IMPLIES (AND (NUMBERP X)
(NOT (LESSP (ADD1 (PLUS (DIFFERENCE Y Z) X))
Y))
(LESSP Y Z)
(EQUAL (REMAINDER (ADD1 (PLUS (DIFFERENCE Y Z) X))
Y)
(REMAINDER (ADD1 X) Y))
(LESSP Z (ADD1 X))
(EQUAL (DIFFERENCE (ADD1 X) Z)
(ADD1 (DIFFERENCE X Z)))
(LESSP (ADD1 X) Y))
(EQUAL (REMAINDER (ADD1 X) Y)
(ADD1 X))),
which again simplifies, using linear arithmetic, to:
T.
Case 24.(IMPLIES (AND (NUMBERP X)
(NOT (LESSP (ADD1 (PLUS (DIFFERENCE Y Z) X))
Y))
(NOT (LESSP Y Z))
(EQUAL (REMAINDER (ADD1 (PLUS (DIFFERENCE Y Z) X))
Y)
(REMAINDER (DIFFERENCE (ADD1 X) Z) Y))
(NOT (LESSP Z (ADD1 X)))
(EQUAL (DIFFERENCE (ADD1 X) Z) 0)
(NOT (LESSP (ADD1 (PLUS X (DIFFERENCE Y Z)))
Y)))
(EQUAL (REMAINDER (ADD1 (PLUS X (DIFFERENCE Y Z)))
Y)
0)),
which again simplifies, using linear arithmetic, to two new conjectures:
Case 24.2.
(IMPLIES (AND (NOT (NUMBERP Z))
(NUMBERP X)
(NOT (LESSP (ADD1 (PLUS (DIFFERENCE Y Z) X))
Y))
(NOT (LESSP Y Z))
(EQUAL (REMAINDER (ADD1 (PLUS (DIFFERENCE Y Z) X))
Y)
(REMAINDER 0 Y))
(NOT (LESSP Z (ADD1 X)))
(EQUAL (DIFFERENCE (ADD1 X) Z) 0)
(NOT (LESSP (ADD1 (PLUS X (DIFFERENCE Y Z)))
Y)))
(EQUAL (REMAINDER (ADD1 (PLUS X (DIFFERENCE Y Z)))
Y)
0)),
which again simplifies, rewriting with COMMUTATIVITY-OF-PLUS and
REMAINDER-OF-0, to:
T.
Case 24.1.
(IMPLIES
(AND (NUMBERP Z)
(NUMBERP X)
(NOT (LESSP (ADD1 (PLUS (DIFFERENCE Y (PLUS 1 X)) X))
Y))
(NOT (LESSP Y (PLUS 1 X)))
(EQUAL (REMAINDER (ADD1 (PLUS (DIFFERENCE Y (PLUS 1 X)) X))
Y)
(REMAINDER 0 Y))
(NOT (LESSP (PLUS 1 X) (ADD1 X)))
(EQUAL (DIFFERENCE (ADD1 X) (PLUS 1 X))
0)
(NOT (LESSP (ADD1 (PLUS X (DIFFERENCE Y (PLUS 1 X))))
Y)))
(EQUAL (REMAINDER (ADD1 (PLUS X (DIFFERENCE Y (PLUS 1 X))))
Y)
0)).
This again simplifies, applying PLUS-1, COMMUTATIVITY-OF-PLUS,
REMAINDER-OF-0, and DIFFERENCE-X-X, and unfolding the function EQUAL, to:
T.
Case 23.(IMPLIES (AND (NUMBERP X)
(NOT (LESSP (ADD1 (PLUS (DIFFERENCE Y Z) X))
Y))
(NOT (LESSP Y Z))
(EQUAL (REMAINDER (ADD1 (PLUS (DIFFERENCE Y Z) X))
Y)
(REMAINDER (DIFFERENCE (ADD1 X) Z) Y))
(NOT (LESSP Z (ADD1 X)))
(EQUAL (DIFFERENCE (ADD1 X) Z) 0)
(LESSP (ADD1 (PLUS X (DIFFERENCE Y Z)))
Y))
(EQUAL (REMAINDER (ADD1 (PLUS X (DIFFERENCE Y Z)))
Y)
(ADD1 (PLUS X (DIFFERENCE Y Z))))).
However this again simplifies, using linear arithmetic, to:
(IMPLIES (AND (LESSP (ADD1 X) Z)
(NUMBERP X)
(NOT (LESSP (ADD1 (PLUS (DIFFERENCE Y Z) X))
Y))
(NOT (LESSP Y Z))
(EQUAL (REMAINDER (ADD1 (PLUS (DIFFERENCE Y Z) X))
Y)
(REMAINDER 0 Y))
(NOT (LESSP Z (ADD1 X)))
(EQUAL (DIFFERENCE (ADD1 X) Z) 0)
(LESSP (ADD1 (PLUS X (DIFFERENCE Y Z)))
Y))
(EQUAL (REMAINDER (ADD1 (PLUS X (DIFFERENCE Y Z)))
Y)
(ADD1 (PLUS X (DIFFERENCE Y Z))))).
However this again simplifies, using linear arithmetic, to:
T.
Case 22.(IMPLIES (AND (NUMBERP X)
(NOT (LESSP (ADD1 (PLUS (DIFFERENCE Y Z) X))
Y))
(NOT (LESSP Y Z))
(EQUAL (REMAINDER (ADD1 (PLUS (DIFFERENCE Y Z) X))
Y)
(REMAINDER (DIFFERENCE (ADD1 X) Z) Y))
(LESSP Z (ADD1 X))
(EQUAL (DIFFERENCE (ADD1 X) Z)
(ADD1 (DIFFERENCE X Z)))
(NOT (LESSP (ADD1 (PLUS X (DIFFERENCE Y Z)))
Y)))
(EQUAL (REMAINDER (ADD1 (PLUS X (DIFFERENCE Y Z)))
Y)
(REMAINDER (ADD1 (DIFFERENCE X Z))
Y))),
which again simplifies, rewriting with the lemma COMMUTATIVITY-OF-PLUS, to:
T.
Case 21.(IMPLIES (AND (NUMBERP X)
(NOT (LESSP (ADD1 (PLUS (DIFFERENCE Y Z) X))
Y))
(NOT (LESSP Y Z))
(EQUAL (REMAINDER (ADD1 (PLUS (DIFFERENCE Y Z) X))
Y)
(REMAINDER (DIFFERENCE (ADD1 X) Z) Y))
(LESSP Z (ADD1 X))
(EQUAL (DIFFERENCE (ADD1 X) Z)
(ADD1 (DIFFERENCE X Z)))
(LESSP (ADD1 (PLUS X (DIFFERENCE Y Z)))
Y))
(EQUAL (REMAINDER (ADD1 (PLUS X (DIFFERENCE Y Z)))
Y)
(ADD1 (PLUS X (DIFFERENCE Y Z))))),
which again simplifies, using linear arithmetic, to:
T.
Case 20.(IMPLIES (AND (NUMBERP X)
(LESSP (ADD1 (PLUS (DIFFERENCE Y Z) X))
Y)
(EQUAL (REMAINDER (ADD1 (PLUS (DIFFERENCE Y Z) X))
Y)
(ADD1 (PLUS (DIFFERENCE Y Z) X)))
(NOT (LESSP Z (ADD1 X)))
(EQUAL (DIFFERENCE (ADD1 X) Z) 0)
(NOT (LESSP (ADD1 (PLUS X (DIFFERENCE Y Z)))
Y))
(LESSP Y Z))
(EQUAL (REMAINDER (ADD1 (PLUS X (DIFFERENCE Y Z)))
Y)
(REMAINDER (ADD1 X) Y))),
which again simplifies, using linear arithmetic, to:
(IMPLIES (AND (LESSP (ADD1 X) Z)
(NUMBERP X)
(LESSP (ADD1 (PLUS (DIFFERENCE Y Z) X))
Y)
(EQUAL (REMAINDER (ADD1 (PLUS (DIFFERENCE Y Z) X))
Y)
(ADD1 (PLUS (DIFFERENCE Y Z) X)))
(NOT (LESSP Z (ADD1 X)))
(EQUAL (DIFFERENCE (ADD1 X) Z) 0)
(NOT (LESSP (ADD1 (PLUS X (DIFFERENCE Y Z)))
Y))
(LESSP Y Z))
(EQUAL (REMAINDER (ADD1 (PLUS X (DIFFERENCE Y Z)))
Y)
(REMAINDER (ADD1 X) Y))).
But this again simplifies, rewriting with PATHOLOGICAL-DIFFERENCE and
COMMUTATIVITY-OF-PLUS, and opening up EQUAL and PLUS, to:
T.
Case 19.(IMPLIES (AND (NUMBERP X)
(LESSP (ADD1 (PLUS (DIFFERENCE Y Z) X))
Y)
(EQUAL (REMAINDER (ADD1 (PLUS (DIFFERENCE Y Z) X))
Y)
(ADD1 (PLUS (DIFFERENCE Y Z) X)))
(NOT (LESSP Z (ADD1 X)))
(EQUAL (DIFFERENCE (ADD1 X) Z) 0)
(NOT (LESSP (ADD1 (PLUS X (DIFFERENCE Y Z)))
Y))
(NOT (LESSP Y Z)))
(EQUAL (REMAINDER (ADD1 (PLUS X (DIFFERENCE Y Z)))
Y)
0)).
But this again simplifies, using linear arithmetic, to:
T.
Case 18.(IMPLIES (AND (NUMBERP X)
(LESSP (ADD1 (PLUS (DIFFERENCE Y Z) X))
Y)
(EQUAL (REMAINDER (ADD1 (PLUS (DIFFERENCE Y Z) X))
Y)
(ADD1 (PLUS (DIFFERENCE Y Z) X)))
(NOT (LESSP Z (ADD1 X)))
(EQUAL (DIFFERENCE (ADD1 X) Z) 0)
(LESSP (ADD1 (PLUS X (DIFFERENCE Y Z)))
Y))
(EQUAL (REMAINDER (ADD1 (PLUS X (DIFFERENCE Y Z)))
Y)
(ADD1 (PLUS X (DIFFERENCE Y Z))))),
which again simplifies, using linear arithmetic, to:
(IMPLIES (AND (LESSP (ADD1 X) Z)
(NUMBERP X)
(LESSP (ADD1 (PLUS (DIFFERENCE Y Z) X))
Y)
(EQUAL (REMAINDER (ADD1 (PLUS (DIFFERENCE Y Z) X))
Y)
(ADD1 (PLUS (DIFFERENCE Y Z) X)))
(NOT (LESSP Z (ADD1 X)))
(EQUAL (DIFFERENCE (ADD1 X) Z) 0)
(LESSP (ADD1 (PLUS X (DIFFERENCE Y Z)))
Y))
(EQUAL (REMAINDER (ADD1 (PLUS X (DIFFERENCE Y Z)))
Y)
(ADD1 (PLUS X (DIFFERENCE Y Z))))).
This again simplifies, rewriting with the lemma COMMUTATIVITY-OF-PLUS, to:
T.
Case 17.(IMPLIES (AND (NUMBERP X)
(LESSP (ADD1 (PLUS (DIFFERENCE Y Z) X))
Y)
(EQUAL (REMAINDER (ADD1 (PLUS (DIFFERENCE Y Z) X))
Y)
(ADD1 (PLUS (DIFFERENCE Y Z) X)))
(LESSP Z (ADD1 X))
(EQUAL (DIFFERENCE (ADD1 X) Z)
(ADD1 (DIFFERENCE X Z)))
(NOT (LESSP (ADD1 (PLUS X (DIFFERENCE Y Z)))
Y))
(LESSP Y Z))
(EQUAL (REMAINDER (ADD1 (PLUS X (DIFFERENCE Y Z)))
Y)
(REMAINDER (ADD1 X) Y))),
which again simplifies, using linear arithmetic, to:
T.
Case 16.(IMPLIES (AND (NUMBERP X)
(LESSP (ADD1 (PLUS (DIFFERENCE Y Z) X))
Y)
(EQUAL (REMAINDER (ADD1 (PLUS (DIFFERENCE Y Z) X))
Y)
(ADD1 (PLUS (DIFFERENCE Y Z) X)))
(LESSP Z (ADD1 X))
(EQUAL (DIFFERENCE (ADD1 X) Z)
(ADD1 (DIFFERENCE X Z)))
(NOT (LESSP (ADD1 (PLUS X (DIFFERENCE Y Z)))
Y))
(NOT (LESSP Y Z)))
(EQUAL (REMAINDER (ADD1 (PLUS X (DIFFERENCE Y Z)))
Y)
(REMAINDER (ADD1 (DIFFERENCE X Z))
Y))),
which again simplifies, using linear arithmetic, to:
T.
Case 15.(IMPLIES (AND (NUMBERP X)
(LESSP (ADD1 (PLUS (DIFFERENCE Y Z) X))
Y)
(EQUAL (REMAINDER (ADD1 (PLUS (DIFFERENCE Y Z) X))
Y)
(ADD1 (PLUS (DIFFERENCE Y Z) X)))
(LESSP Z (ADD1 X))
(EQUAL (DIFFERENCE (ADD1 X) Z)
(ADD1 (DIFFERENCE X Z)))
(LESSP (ADD1 (PLUS X (DIFFERENCE Y Z)))
Y))
(EQUAL (REMAINDER (ADD1 (PLUS X (DIFFERENCE Y Z)))
Y)
(ADD1 (PLUS X (DIFFERENCE Y Z))))),
which again simplifies, using linear arithmetic, to:
T.
Case 14.(IMPLIES (AND (NOT (NUMBERP X))
(NOT (LESSP (ADD1 (PLUS (DIFFERENCE Y Z) 0))
Y))
(LESSP Y Z)
(EQUAL (REMAINDER (ADD1 (PLUS (DIFFERENCE Y Z) 0))
Y)
(REMAINDER (ADD1 X) Y))
(NOT (LESSP Z 1))
(EQUAL (DIFFERENCE 1 Z) 0)
(LESSP 1 Y))
(NOT (EQUAL Y 1))),
which again simplifies, using linear arithmetic, to:
T.
Case 13.(IMPLIES (AND (NOT (NUMBERP X))
(NOT (LESSP (ADD1 (PLUS (DIFFERENCE Y Z) 0))
Y))
(LESSP Y Z)
(EQUAL (REMAINDER (ADD1 (PLUS (DIFFERENCE Y Z) 0))
Y)
(REMAINDER (ADD1 X) Y))
(LESSP Z 1)
(EQUAL (DIFFERENCE 1 Z)
(ADD1 (DIFFERENCE X Z)))
(LESSP 1 Y))
(NOT (EQUAL Y 1))),
which again simplifies, using linear arithmetic, to:
T.
Case 12.(IMPLIES (AND (NOT (NUMBERP X))
(NOT (LESSP (ADD1 (PLUS (DIFFERENCE Y Z) 0))
Y))
(NOT (LESSP Y Z))
(EQUAL (REMAINDER (ADD1 (PLUS (DIFFERENCE Y Z) 0))
Y)
(REMAINDER (DIFFERENCE (ADD1 X) Z) Y))
(NOT (LESSP Z 1))
(EQUAL (DIFFERENCE 1 Z) 0)
(NOT (LESSP (ADD1 (DIFFERENCE Y Z)) Y)))
(EQUAL (REMAINDER (ADD1 (DIFFERENCE Y Z)) Y)
0)),
which again simplifies, using linear arithmetic, to two new conjectures:
Case 12.2.
(IMPLIES (AND (NOT (NUMBERP Z))
(NOT (NUMBERP X))
(NOT (LESSP (ADD1 (PLUS (DIFFERENCE Y Z) 0))
Y))
(NOT (LESSP Y Z))
(EQUAL (REMAINDER (ADD1 (PLUS (DIFFERENCE Y Z) 0))
Y)
(REMAINDER (DIFFERENCE (ADD1 X) Z) Y))
(NOT (LESSP Z 1))
(EQUAL (DIFFERENCE 1 Z) 0)
(NOT (LESSP (ADD1 (DIFFERENCE Y Z)) Y)))
(EQUAL (REMAINDER (ADD1 (DIFFERENCE Y Z)) Y)
0)),
which again simplifies, applying COMMUTATIVITY-OF-PLUS,
SUB1-TYPE-RESTRICTION, and REMAINDER-OF-0, and expanding the definitions
of EQUAL and PLUS, to:
T.
Case 12.1.
(IMPLIES (AND (NUMBERP Z)
(NOT (NUMBERP X))
(NOT (LESSP (ADD1 (PLUS (DIFFERENCE Y 1) 0))
Y))
(NOT (LESSP Y 1))
(EQUAL (REMAINDER (ADD1 (PLUS (DIFFERENCE Y 1) 0))
Y)
(REMAINDER (DIFFERENCE (ADD1 X) 1) Y))
(NOT (LESSP 1 1))
(EQUAL (DIFFERENCE 1 1) 0)
(NOT (LESSP (ADD1 (DIFFERENCE Y 1)) Y)))
(EQUAL (REMAINDER (ADD1 (DIFFERENCE Y 1)) Y)
0)).
This again simplifies, rewriting with COMMUTATIVITY-OF-PLUS,
SUB1-TYPE-RESTRICTION, and REMAINDER-OF-0, and opening up the functions
EQUAL, PLUS, and DIFFERENCE, to:
T.
Case 11.(IMPLIES (AND (NOT (NUMBERP X))
(NOT (LESSP (ADD1 (PLUS (DIFFERENCE Y Z) 0))
Y))
(NOT (LESSP Y Z))
(EQUAL (REMAINDER (ADD1 (PLUS (DIFFERENCE Y Z) 0))
Y)
(REMAINDER (DIFFERENCE (ADD1 X) Z) Y))
(NOT (LESSP Z 1))
(EQUAL (DIFFERENCE 1 Z) 0)
(LESSP (ADD1 (DIFFERENCE Y Z)) Y))
(EQUAL (REMAINDER (ADD1 (DIFFERENCE Y Z)) Y)
(ADD1 (DIFFERENCE Y Z)))).
This again simplifies, using linear arithmetic, to the goal:
(IMPLIES (AND (LESSP 1 Z)
(NOT (NUMBERP X))
(NOT (LESSP (ADD1 (PLUS (DIFFERENCE Y Z) 0))
Y))
(NOT (LESSP Y Z))
(EQUAL (REMAINDER (ADD1 (PLUS (DIFFERENCE Y Z) 0))
Y)
(REMAINDER (DIFFERENCE (ADD1 X) Z) Y))
(NOT (LESSP Z 1))
(EQUAL (DIFFERENCE 1 Z) 0)
(LESSP (ADD1 (DIFFERENCE Y Z)) Y))
(EQUAL (REMAINDER (ADD1 (DIFFERENCE Y Z)) Y)
(ADD1 (DIFFERENCE Y Z)))).
However this again simplifies, using linear arithmetic, to:
T.
Case 10.(IMPLIES (AND (NOT (NUMBERP X))
(NOT (LESSP (ADD1 (PLUS (DIFFERENCE Y Z) 0))
Y))
(NOT (LESSP Y Z))
(EQUAL (REMAINDER (ADD1 (PLUS (DIFFERENCE Y Z) 0))
Y)
(REMAINDER (DIFFERENCE (ADD1 X) Z) Y))
(LESSP Z 1)
(EQUAL (DIFFERENCE 1 Z)
(ADD1 (DIFFERENCE X Z)))
(NOT (LESSP (ADD1 (DIFFERENCE Y Z)) Y)))
(EQUAL (REMAINDER (ADD1 (DIFFERENCE Y Z)) Y)
(REMAINDER (DIFFERENCE 1 Z) Y))),
which again simplifies, applying the lemmas COMMUTATIVITY-OF-PLUS and
SUB1-TYPE-RESTRICTION, and opening up the definitions of EQUAL and PLUS, to:
T.
Case 9. (IMPLIES (AND (NOT (NUMBERP X))
(NOT (LESSP (ADD1 (PLUS (DIFFERENCE Y Z) 0))
Y))
(NOT (LESSP Y Z))
(EQUAL (REMAINDER (ADD1 (PLUS (DIFFERENCE Y Z) 0))
Y)
(REMAINDER (DIFFERENCE (ADD1 X) Z) Y))
(LESSP Z 1)
(EQUAL (DIFFERENCE 1 Z)
(ADD1 (DIFFERENCE X Z)))
(LESSP (ADD1 (DIFFERENCE Y Z)) Y))
(EQUAL (REMAINDER (ADD1 (DIFFERENCE Y Z)) Y)
(ADD1 (DIFFERENCE Y Z)))),
which again simplifies, using linear arithmetic, to:
T.
Case 8. (IMPLIES (AND (NOT (NUMBERP X))
(LESSP (ADD1 (PLUS (DIFFERENCE Y Z) 0))
Y)
(EQUAL (REMAINDER (ADD1 (PLUS (DIFFERENCE Y Z) 0))
Y)
(ADD1 (PLUS (DIFFERENCE Y Z) 0)))
(NOT (LESSP Z 1))
(EQUAL (DIFFERENCE 1 Z) 0)
(NOT (LESSP (ADD1 (DIFFERENCE Y Z)) Y))
(LESSP Y Z)
(NOT (EQUAL Y 1)))
(EQUAL (REMAINDER (ADD1 (DIFFERENCE Y Z)) Y)
1)),
which again simplifies, using linear arithmetic, to:
(IMPLIES (AND (LESSP 1 Z)
(NOT (NUMBERP X))
(LESSP (ADD1 (PLUS (DIFFERENCE Y Z) 0))
Y)
(EQUAL (REMAINDER (ADD1 (PLUS (DIFFERENCE Y Z) 0))
Y)
(ADD1 (PLUS (DIFFERENCE Y Z) 0)))
(NOT (LESSP Z 1))
(EQUAL (DIFFERENCE 1 Z) 0)
(NOT (LESSP (ADD1 (DIFFERENCE Y Z)) Y))
(LESSP Y Z)
(NOT (EQUAL Y 1)))
(EQUAL (REMAINDER (ADD1 (DIFFERENCE Y Z)) Y)
1)).
However this again simplifies, rewriting with the lemmas
PATHOLOGICAL-DIFFERENCE and REMAINDER-OF-1, and opening up PLUS, ADD1, and
EQUAL, to:
T.
Case 7. (IMPLIES (AND (NOT (NUMBERP X))
(LESSP (ADD1 (PLUS (DIFFERENCE Y Z) 0))
Y)
(EQUAL (REMAINDER (ADD1 (PLUS (DIFFERENCE Y Z) 0))
Y)
(ADD1 (PLUS (DIFFERENCE Y Z) 0)))
(NOT (LESSP Z 1))
(EQUAL (DIFFERENCE 1 Z) 0)
(NOT (LESSP (ADD1 (DIFFERENCE Y Z)) Y))
(NOT (LESSP Y Z)))
(EQUAL (REMAINDER (ADD1 (DIFFERENCE Y Z)) Y)
0)),
which again simplifies, using linear arithmetic, to:
T.
Case 6. (IMPLIES (AND (NOT (NUMBERP X))
(LESSP (ADD1 (PLUS (DIFFERENCE Y Z) 0))
Y)
(EQUAL (REMAINDER (ADD1 (PLUS (DIFFERENCE Y Z) 0))
Y)
(ADD1 (PLUS (DIFFERENCE Y Z) 0)))
(NOT (LESSP Z 1))
(EQUAL (DIFFERENCE 1 Z) 0)
(NOT (LESSP (ADD1 (DIFFERENCE Y Z)) Y))
(EQUAL Y 1))
(EQUAL (REMAINDER (ADD1 (DIFFERENCE Y Z)) Y)
0)),
which again simplifies, using linear arithmetic, to:
T.
Case 5. (IMPLIES (AND (NOT (NUMBERP X))
(LESSP (ADD1 (PLUS (DIFFERENCE Y Z) 0))
Y)
(EQUAL (REMAINDER (ADD1 (PLUS (DIFFERENCE Y Z) 0))
Y)
(ADD1 (PLUS (DIFFERENCE Y Z) 0)))
(NOT (LESSP Z 1))
(EQUAL (DIFFERENCE 1 Z) 0)
(LESSP (ADD1 (DIFFERENCE Y Z)) Y))
(EQUAL (REMAINDER (ADD1 (DIFFERENCE Y Z)) Y)
(ADD1 (DIFFERENCE Y Z)))),
which again simplifies, using linear arithmetic, to:
(IMPLIES (AND (LESSP 1 Z)
(NOT (NUMBERP X))
(LESSP (ADD1 (PLUS (DIFFERENCE Y Z) 0))
Y)
(EQUAL (REMAINDER (ADD1 (PLUS (DIFFERENCE Y Z) 0))
Y)
(ADD1 (PLUS (DIFFERENCE Y Z) 0)))
(NOT (LESSP Z 1))
(EQUAL (DIFFERENCE 1 Z) 0)
(LESSP (ADD1 (DIFFERENCE Y Z)) Y))
(EQUAL (REMAINDER (ADD1 (DIFFERENCE Y Z)) Y)
(ADD1 (DIFFERENCE Y Z)))).
However this again simplifies, applying COMMUTATIVITY-OF-PLUS, and expanding
the definitions of EQUAL and PLUS, to:
T.
Case 4. (IMPLIES (AND (NOT (NUMBERP X))
(LESSP (ADD1 (PLUS (DIFFERENCE Y Z) 0))
Y)
(EQUAL (REMAINDER (ADD1 (PLUS (DIFFERENCE Y Z) 0))
Y)
(ADD1 (PLUS (DIFFERENCE Y Z) 0)))
(LESSP Z 1)
(EQUAL (DIFFERENCE 1 Z)
(ADD1 (DIFFERENCE X Z)))
(NOT (LESSP (ADD1 (DIFFERENCE Y Z)) Y))
(LESSP Y Z)
(NOT (EQUAL Y 1)))
(EQUAL (REMAINDER (ADD1 (DIFFERENCE Y Z)) Y)
1)).
But this again simplifies, using linear arithmetic, to:
T.
Case 3. (IMPLIES (AND (NOT (NUMBERP X))
(LESSP (ADD1 (PLUS (DIFFERENCE Y Z) 0))
Y)
(EQUAL (REMAINDER (ADD1 (PLUS (DIFFERENCE Y Z) 0))
Y)
(ADD1 (PLUS (DIFFERENCE Y Z) 0)))
(LESSP Z 1)
(EQUAL (DIFFERENCE 1 Z)
(ADD1 (DIFFERENCE X Z)))
(NOT (LESSP (ADD1 (DIFFERENCE Y Z)) Y))
(LESSP Y Z)
(EQUAL Y 1))
(EQUAL (REMAINDER (ADD1 (DIFFERENCE Y Z)) Y)
0)),
which again simplifies, using linear arithmetic, to:
T.
Case 2. (IMPLIES (AND (NOT (NUMBERP X))
(LESSP (ADD1 (PLUS (DIFFERENCE Y Z) 0))
Y)
(EQUAL (REMAINDER (ADD1 (PLUS (DIFFERENCE Y Z) 0))
Y)
(ADD1 (PLUS (DIFFERENCE Y Z) 0)))
(LESSP Z 1)
(EQUAL (DIFFERENCE 1 Z)
(ADD1 (DIFFERENCE X Z)))
(NOT (LESSP (ADD1 (DIFFERENCE Y Z)) Y))
(NOT (LESSP Y Z)))
(EQUAL (REMAINDER (ADD1 (DIFFERENCE Y Z)) Y)
(REMAINDER (DIFFERENCE 1 Z) Y))),
which again simplifies, using linear arithmetic, to:
T.
Case 1. (IMPLIES (AND (NOT (NUMBERP X))
(LESSP (ADD1 (PLUS (DIFFERENCE Y Z) 0))
Y)
(EQUAL (REMAINDER (ADD1 (PLUS (DIFFERENCE Y Z) 0))
Y)
(ADD1 (PLUS (DIFFERENCE Y Z) 0)))
(LESSP Z 1)
(EQUAL (DIFFERENCE 1 Z)
(ADD1 (DIFFERENCE X Z)))
(LESSP (ADD1 (DIFFERENCE Y Z)) Y))
(EQUAL (REMAINDER (ADD1 (DIFFERENCE Y Z)) Y)
(ADD1 (DIFFERENCE Y Z)))),
which again simplifies, using linear arithmetic, to:
T.
Q.E.D.
[ 0.0 0.1 0.0 ]
REMAINDER-CROCK4
(PROVE-LEMMA QUOTIENT-2I-BY-2
(REWRITE)
(AND (EQUAL (QUOTIENT (ADD1 (PLUS I I)) 2)
(FIX I))
(EQUAL (QUOTIENT (PLUS I I) 2)
(FIX I))))
WARNING: Note that the proposed lemma QUOTIENT-2I-BY-2 is to be stored as
zero type prescription rules, zero compound recognizer rules, zero linear
rules, and two replacement rules.
This formula can be simplified, using the abbreviation AND, to the following
two new goals:
Case 2. (EQUAL (QUOTIENT (ADD1 (PLUS I I)) 2)
(FIX I)).
This simplifies, expanding FIX, to the following two new formulas:
Case 2.2.
(IMPLIES (NOT (NUMBERP I))
(EQUAL (QUOTIENT (ADD1 (PLUS I I)) 2)
0)).
However this again simplifies, applying PLUS-RIGHT-ID, and opening up ADD1,
QUOTIENT, and EQUAL, to:
T.
Case 2.1.
(IMPLIES (NUMBERP I)
(EQUAL (QUOTIENT (ADD1 (PLUS I I)) 2)
I)).
Name the above subgoal *1.
Case 1. (EQUAL (QUOTIENT (PLUS I I) 2)
(FIX I)).
This simplifies, unfolding FIX, to the following two new conjectures:
Case 1.2.
(IMPLIES (NOT (NUMBERP I))
(EQUAL (QUOTIENT (PLUS I I) 2) 0)).
But this again simplifies, rewriting with PLUS-RIGHT-ID, and opening up
QUOTIENT and EQUAL, to:
T.
Case 1.1.
(IMPLIES (NUMBERP I)
(EQUAL (QUOTIENT (PLUS I I) 2) I)),
which we would usually push and work on later by induction. But if we
must use induction to prove the input conjecture, we prefer to induct on
the original formulation of the problem. Thus we will disregard all that
we have previously done, give the name *1 to the original input, and work
on it.
So now let us consider:
(AND (EQUAL (QUOTIENT (ADD1 (PLUS I I)) 2)
(FIX I))
(EQUAL (QUOTIENT (PLUS I I) 2)
(FIX I))).
We gave this the name *1 above. Perhaps we can prove it by induction. Two
inductions are suggested by terms in the conjecture. However, they merge into
one likely candidate induction. We will induct according to the following
scheme:
(AND (IMPLIES (ZEROP I) (p I))
(IMPLIES (AND (NOT (ZEROP I)) (p (SUB1 I)))
(p I))).
Linear arithmetic, the lemmas SUB1-LESSEQP and SUB1-LESSP, and the definition
of ZEROP inform us that the measure (COUNT I) decreases according to the
well-founded relation LESSP in each induction step of the scheme. The above
induction scheme generates the following four new conjectures:
Case 4. (IMPLIES (ZEROP I)
(EQUAL (QUOTIENT (ADD1 (PLUS I I)) 2)
(FIX I))).
This simplifies, rewriting with PLUS-RIGHT-ID, and expanding ZEROP, PLUS,
ADD1, QUOTIENT, FIX, and EQUAL, to:
T.
Case 3. (IMPLIES (AND (NOT (ZEROP I))
(EQUAL (QUOTIENT (ADD1 (PLUS (SUB1 I) (SUB1 I)))
2)
(FIX (SUB1 I)))
(EQUAL (QUOTIENT (PLUS (SUB1 I) (SUB1 I)) 2)
(FIX (SUB1 I))))
(EQUAL (QUOTIENT (ADD1 (PLUS I I)) 2)
(FIX I))),
which simplifies, applying COMMUTATIVITY-OF-PLUS, ADD1-SUB1, DIFFERENCE-2,
and SUB1-ADD1, and expanding the definitions of ZEROP, FIX, PLUS, LESSP,
SUB1, NUMBERP, EQUAL, and QUOTIENT, to:
T.
Case 2. (IMPLIES (ZEROP I)
(EQUAL (QUOTIENT (PLUS I I) 2)
(FIX I))).
This simplifies, applying PLUS-RIGHT-ID, and opening up ZEROP, PLUS,
QUOTIENT, FIX, and EQUAL, to:
T.
Case 1. (IMPLIES (AND (NOT (ZEROP I))
(EQUAL (QUOTIENT (ADD1 (PLUS (SUB1 I) (SUB1 I)))
2)
(FIX (SUB1 I)))
(EQUAL (QUOTIENT (PLUS (SUB1 I) (SUB1 I)) 2)
(FIX (SUB1 I))))
(EQUAL (QUOTIENT (PLUS I I) 2)
(FIX I))),
which simplifies, applying COMMUTATIVITY-OF-PLUS, ADD1-SUB1, DIFFERENCE-2,
and SUB1-ADD1, and unfolding the functions ZEROP, FIX, PLUS, LESSP, SUB1,
NUMBERP, EQUAL, and QUOTIENT, to:
T.
That finishes the proof of *1. Q.E.D.
[ 0.0 0.0 0.0 ]
QUOTIENT-2I-BY-2
(PROVE-LEMMA REMAINDER-2I-BY-2
(REWRITE)
(AND (EQUAL (REMAINDER (ADD1 (PLUS I I)) 2)
1)
(EQUAL (REMAINDER (PLUS I I) 2) 0)))
WARNING: Note that the proposed lemma REMAINDER-2I-BY-2 is to be stored as
zero type prescription rules, zero compound recognizer rules, zero linear
rules, and two replacement rules.
This formula can be simplified, using the abbreviation AND, to the following
two new goals:
Case 2. (EQUAL (REMAINDER (ADD1 (PLUS I I)) 2)
1).
Name the above subgoal *1.
Case 1. (EQUAL (REMAINDER (PLUS I I) 2) 0),
which we would usually push and work on later by induction. But if we must
use induction to prove the input conjecture, we prefer to induct on the
original formulation of the problem. Thus we will disregard all that we
have previously done, give the name *1 to the original input, and work on it.
So now let us consider:
(AND (EQUAL (REMAINDER (ADD1 (PLUS I I)) 2)
1)
(EQUAL (REMAINDER (PLUS I I) 2) 0)).
We gave this the name *1 above. Perhaps we can prove it by induction. The
recursive terms in the conjecture suggest two inductions. However, they merge
into one likely candidate induction. We will induct according to the
following scheme:
(AND (IMPLIES (ZEROP I) (p I))
(IMPLIES (AND (NOT (ZEROP I)) (p (SUB1 I)))
(p I))).
Linear arithmetic, the lemmas SUB1-LESSEQP and SUB1-LESSP, and the definition
of ZEROP establish that the measure (COUNT I) decreases according to the
well-founded relation LESSP in each induction step of the scheme. The above
induction scheme generates the following four new formulas:
Case 4. (IMPLIES (ZEROP I)
(EQUAL (REMAINDER (ADD1 (PLUS I I)) 2)
1)).
This simplifies, rewriting with PLUS-RIGHT-ID, and opening up ZEROP, PLUS,
ADD1, REMAINDER, and EQUAL, to:
T.
Case 3. (IMPLIES (AND (NOT (ZEROP I))
(EQUAL (REMAINDER (ADD1 (PLUS (SUB1 I) (SUB1 I)))
2)
1)
(EQUAL (REMAINDER (PLUS (SUB1 I) (SUB1 I)) 2)
0))
(EQUAL (REMAINDER (ADD1 (PLUS I I)) 2)
1)),
which simplifies, applying COMMUTATIVITY-OF-PLUS, DIFFERENCE-2, and
SUB1-ADD1, and unfolding the functions ZEROP, PLUS, LESSP, SUB1, NUMBERP,
EQUAL, and REMAINDER, to:
T.
Case 2. (IMPLIES (ZEROP I)
(EQUAL (REMAINDER (PLUS I I) 2) 0)).
This simplifies, rewriting with the lemma PLUS-RIGHT-ID, and opening up the
definitions of ZEROP, PLUS, REMAINDER, and EQUAL, to:
T.
Case 1. (IMPLIES (AND (NOT (ZEROP I))
(EQUAL (REMAINDER (ADD1 (PLUS (SUB1 I) (SUB1 I)))
2)
1)
(EQUAL (REMAINDER (PLUS (SUB1 I) (SUB1 I)) 2)
0))
(EQUAL (REMAINDER (PLUS I I) 2) 0)).
This simplifies, rewriting with COMMUTATIVITY-OF-PLUS, DIFFERENCE-2, and
SUB1-ADD1, and expanding the functions ZEROP, PLUS, LESSP, SUB1, NUMBERP,
EQUAL, and REMAINDER, to:
T.
That finishes the proof of *1. Q.E.D.
[ 0.0 0.0 0.0 ]
REMAINDER-2I-BY-2
(DEFN XOR
(X Y)
(IF X (IF Y F T) (IF Y T F)))
Observe that (OR (FALSEP (XOR X Y)) (TRUEP (XOR X Y))) is a theorem.
[ 0.0 0.0 0.0 ]
XOR
(DEFN B-NOT (X) (IF X F T))
Note that (OR (FALSEP (B-NOT X)) (TRUEP (B-NOT X))) is a theorem.
[ 0.0 0.0 0.0 ]
B-NOT
(DEFN B-NAND
(X Y)
(IF X (IF Y F T) T))
From the definition we can conclude that:
(OR (FALSEP (B-NAND X Y))
(TRUEP (B-NAND X Y)))
is a theorem.
[ 0.0 0.0 0.0 ]
B-NAND
(DEFN B-NOR (X Y) (IF X F (IF Y F T)))
From the definition we can conclude that:
(OR (FALSEP (B-NOR X Y))
(TRUEP (B-NOR X Y)))
is a theorem.
[ 0.0 0.0 0.0 ]
B-NOR
(DEFN B-AND (X Y) (AND X Y))
From the definition we can conclude that:
(OR (FALSEP (B-AND X Y))
(TRUEP (B-AND X Y)))
is a theorem.
[ 0.0 0.0 0.0 ]
B-AND
(DEFN B-OR (X Y) (OR X Y))
From the definition we can conclude that:
(OR (FALSEP (B-OR X Y))
(TRUEP (B-OR X Y)))
is a theorem.
[ 0.0 0.0 0.0 ]
B-OR
(DEFN B-XOR
(X Y)
(IF X (IF Y F T) (IF Y T F)))
Observe that (OR (FALSEP (B-XOR X Y)) (TRUEP (B-XOR X Y))) is a theorem.
[ 0.0 0.0 0.0 ]
B-XOR
(DEFN B-EQUV
(X Y)
(IF X (IF Y T F) (IF Y F T)))
Observe that (OR (FALSEP (B-EQUV X Y)) (TRUEP (B-EQUV X Y))) is a theorem.
[ 0.0 0.0 0.0 ]
B-EQUV
(DEFN BOOLP
(X)
(OR (TRUEP X) (FALSEP X)))
Observe that (OR (FALSEP (BOOLP X)) (TRUEP (BOOLP X))) is a theorem.
[ 0.0 0.0 0.0 ]
BOOLP
(ADD-SHELL BITV BTM BITVP
((BIT (ONE-OF TRUEP FALSEP) FALSE)
(VEC (ONE-OF BITVP) BTM)))
[ 0.0 0.0 0.0 ]
BITV
(PROVE-LEMMA BOOLP-BIT
(GENERALIZE)
(BOOLP (BIT X)))
This conjecture can be simplified, using the abbreviation BOOLP, to the goal:
(IMPLIES (NOT (TRUEP (BIT X)))
(FALSEP (BIT X))).
This simplifies, trivially, to:
T.
Q.E.D.
[ 0.0 0.0 0.0 ]
BOOLP-BIT
(DEFN FIX-BV
(X)
(IF (BITVP X) X (BTM)))
Observe that (BITVP (FIX-BV X)) is a theorem.
[ 0.0 0.0 0.0 ]
FIX-BV
(DEFN CARRY (C) (IF C 1 0))
Note that (NUMBERP (CARRY C)) is a theorem.
[ 0.0 0.0 0.0 ]
CARRY
(DEFN SIZE
(A)
(IF (BITVP A)
(IF (EQUAL A (BTM))
0
(ADD1 (SIZE (VEC A))))
0))
Linear arithmetic and the lemma VEC-LESSP establish that the measure
(COUNT A) decreases according to the well-founded relation LESSP in each
recursive call. Hence, SIZE is accepted under the definitional principle.
From the definition we can conclude that (NUMBERP (SIZE A)) is a theorem.
[ 0.0 0.0 0.0 ]
SIZE
(DEFN TRUNC
(A N)
(IF (ZEROP N)
(BTM)
(BITV (BIT A)
(TRUNC (VEC A) (SUB1 N)))))
Linear arithmetic, the lemma COUNT-NUMBERP, and the definition of ZEROP
can be used to establish that the measure (COUNT N) decreases according to the
well-founded relation LESSP in each recursive call. Hence, TRUNC is accepted
under the principle of definition. Note that (BITVP (TRUNC A N)) is a theorem.
[ 0.0 0.0 0.0 ]
TRUNC
(DEFN COMPL
(X)
(IF (BITVP X)
(IF (EQUAL X (BTM))
(BTM)
(BITV (NOT (BIT X)) (COMPL (VEC X))))
(BTM)))
Linear arithmetic and the lemma VEC-LESSP inform us that the measure
(COUNT X) decreases according to the well-founded relation LESSP in each
recursive call. Hence, COMPL is accepted under the principle of definition.
Observe that (BITVP (COMPL X)) is a theorem.
[ 0.0 0.0 0.0 ]
COMPL
(DEFN INCR
(C X)
(IF (BITVP X)
(IF (EQUAL X (BTM))
(BTM)
(BITV (XOR C (BIT X))
(INCR (AND C (BIT X)) (VEC X))))
(BTM)))
Linear arithmetic and the lemma VEC-LESSP establish that the measure
(COUNT X) decreases according to the well-founded relation LESSP in each
recursive call. Hence, INCR is accepted under the principle of definition.
From the definition we can conclude that (BITVP (INCR C X)) is a theorem.
[ 0.0 0.0 0.0 ]
INCR
(DEFN BITN
(X N)
(IF (ZEROP N)
F
(IF (EQUAL N 1)
(BIT X)
(BITN (VEC X) (SUB1 N)))))
Linear arithmetic, the lemma COUNT-NUMBERP, and the definition of ZEROP
establish that the measure (COUNT N) decreases according to the well-founded
relation LESSP in each recursive call. Hence, BITN is accepted under the
definitional principle. From the definition we can conclude that:
(OR (FALSEP (BITN X N))
(TRUEP (BITN X N)))
is a theorem.
[ 0.0 0.0 0.0 ]
BITN
(DEFN BTMP
(A)
(IF (BITVP A) (EQUAL A (BTM)) T))
From the definition we can conclude that:
(OR (FALSEP (BTMP A))
(TRUEP (BTMP A)))
is a theorem.
[ 0.0 0.0 0.0 ]
BTMP
(DEFN ALL-ZEROSP
(A)
(IF (BITVP A)
(IF (EQUAL A (BTM))
T
(AND (NOT (BIT A))
(ALL-ZEROSP (VEC A))))
T))
Linear arithmetic and the lemma VEC-LESSP establish that the measure
(COUNT A) decreases according to the well-founded relation LESSP in each
recursive call. Hence, ALL-ZEROSP is accepted under the principle of
definition. Note that (OR (FALSEP (ALL-ZEROSP A)) (TRUEP (ALL-ZEROSP A))) is
a theorem.
[ 0.0 0.0 0.0 ]
ALL-ZEROSP
(DEFN ALL-ONESP
(A)
(IF (BITVP A)
(IF (EQUAL A (BTM))
T
(AND (BIT A) (ALL-ONESP (VEC A))))
T))
Linear arithmetic and the lemma VEC-LESSP establish that the measure
(COUNT A) decreases according to the well-founded relation LESSP in each
recursive call. Hence, ALL-ONESP is accepted under the principle of
definition. From the definition we can conclude that:
(OR (FALSEP (ALL-ONESP A))
(TRUEP (ALL-ONESP A)))
is a theorem.
[ 0.0 0.0 0.0 ]
ALL-ONESP
(PROVE-LEMMA SIZE-OF-TRUNC
(REWRITE)
(EQUAL (SIZE (TRUNC A N)) (FIX N)))
This simplifies, unfolding FIX, to two new formulas:
Case 2. (IMPLIES (NOT (NUMBERP N))
(EQUAL (SIZE (TRUNC A N)) 0)),
which again simplifies, unfolding TRUNC, SIZE, and EQUAL, to:
T.
Case 1. (IMPLIES (NUMBERP N)
(EQUAL (SIZE (TRUNC A N)) N)),
which we will name *1.
We will appeal to induction. There is only one plausible induction. We
will induct according to the following scheme:
(AND (IMPLIES (ZEROP N) (p A N))
(IMPLIES (AND (NOT (ZEROP N))
(p (VEC A) (SUB1 N)))
(p A N))).
Linear arithmetic, the lemma COUNT-NUMBERP, and the definition of ZEROP inform
us that the measure (COUNT N) decreases according to the well-founded relation
LESSP in each induction step of the scheme. Note, however, the inductive
instance chosen for A. The above induction scheme generates the following two
new goals:
Case 2. (IMPLIES (AND (ZEROP N) (NUMBERP N))
(EQUAL (SIZE (TRUNC A N)) N)).
This simplifies, opening up the definitions of ZEROP, NUMBERP, EQUAL, TRUNC,
and SIZE, to:
T.
Case 1. (IMPLIES (AND (NOT (ZEROP N))
(EQUAL (SIZE (TRUNC (VEC A) (SUB1 N)))
(SUB1 N))
(NUMBERP N))
(EQUAL (SIZE (TRUNC A N)) N)).
This simplifies, applying ADD1-SUB1 and VEC-BITV, and expanding ZEROP, TRUNC,
and SIZE, to:
T.
That finishes the proof of *1. Q.E.D.
[ 0.0 0.0 0.0 ]
SIZE-OF-TRUNC
(PROVE-LEMMA SIZE-OF-COMPL
(REWRITE)
(EQUAL (SIZE (COMPL A)) (SIZE A)))
Give the conjecture the name *1.
We will appeal to induction. Two inductions are suggested by terms in
the conjecture. However, they merge into one likely candidate induction. We
will induct according to the following scheme:
(AND (IMPLIES (AND (BITVP A) (EQUAL A (BTM)))
(p A))
(IMPLIES (AND (BITVP A)
(NOT (EQUAL A (BTM)))
(p (VEC A)))
(p A))
(IMPLIES (NOT (BITVP A)) (p A))).
Linear arithmetic and the lemma VEC-LESSP inform us that the measure (COUNT A)
decreases according to the well-founded relation LESSP in each induction step
of the scheme. The above induction scheme produces the following three new
conjectures:
Case 3. (IMPLIES (AND (BITVP A) (EQUAL A (BTM)))
(EQUAL (SIZE (COMPL A)) (SIZE A))).
This simplifies, expanding the functions BITVP, COMPL, SIZE, and EQUAL, to:
T.
Case 2. (IMPLIES (AND (BITVP A)
(NOT (EQUAL A (BTM)))
(EQUAL (SIZE (COMPL (VEC A)))
(SIZE (VEC A))))
(EQUAL (SIZE (COMPL A)) (SIZE A))).
This simplifies, opening up COMPL and SIZE, to the following two new
formulas:
Case 2.2.
(IMPLIES (AND (BITVP A)
(NOT (EQUAL A (BTM)))
(EQUAL (SIZE (COMPL (VEC A)))
(SIZE (VEC A)))
(NOT (BIT A)))
(EQUAL (SIZE (BITV T (COMPL (VEC A))))
(ADD1 (SIZE (VEC A))))).
This again simplifies, applying VEC-BITV, and unfolding the definition of
SIZE, to:
T.
Case 2.1.
(IMPLIES (AND (BITVP A)
(NOT (EQUAL A (BTM)))
(EQUAL (SIZE (COMPL (VEC A)))
(SIZE (VEC A)))
(BIT A))
(EQUAL (SIZE (BITV F (COMPL (VEC A))))
(ADD1 (SIZE (VEC A))))).
However this again simplifies, applying the lemma VEC-BITV, and unfolding
the function SIZE, to:
T.
Case 1. (IMPLIES (NOT (BITVP A))
(EQUAL (SIZE (COMPL A)) (SIZE A))),
which simplifies, unfolding the functions COMPL, SIZE, and EQUAL, to:
T.
That finishes the proof of *1. Q.E.D.
[ 0.0 0.0 0.0 ]
SIZE-OF-COMPL
(PROVE-LEMMA SIZE-OF-INCR
(REWRITE)
(EQUAL (SIZE (INCR C A)) (SIZE A)))
Call the conjecture *1.
We will try to prove it by induction. The recursive terms in the
conjecture suggest two inductions. However, they merge into one likely
candidate induction. We will induct according to the following scheme:
(AND (IMPLIES (AND (BITVP A) (EQUAL A (BTM)))
(p C A))
(IMPLIES (AND (BITVP A)
(NOT (EQUAL A (BTM)))
(p (AND C (BIT A)) (VEC A)))
(p C A))
(IMPLIES (NOT (BITVP A)) (p C A))).
Linear arithmetic and the lemma VEC-LESSP can be used to establish that the
measure (COUNT A) decreases according to the well-founded relation LESSP in
each induction step of the scheme. Note, however, the inductive instance
chosen for C. The above induction scheme generates the following three new
formulas:
Case 3. (IMPLIES (AND (BITVP A) (EQUAL A (BTM)))
(EQUAL (SIZE (INCR C A)) (SIZE A))).
This simplifies, expanding the definitions of BITVP, EQUAL, INCR, and SIZE,
to:
T.
Case 2. (IMPLIES (AND (BITVP A)
(NOT (EQUAL A (BTM)))
(EQUAL (SIZE (INCR (AND C (BIT A)) (VEC A)))
(SIZE (VEC A))))
(EQUAL (SIZE (INCR C A)) (SIZE A))).
This simplifies, opening up the functions INCR, XOR, and SIZE, to the
following three new formulas:
Case 2.3.
(IMPLIES (AND (BITVP A)
(NOT (EQUAL A (BTM)))
(EQUAL (SIZE (INCR (AND C (BIT A)) (VEC A)))
(SIZE (VEC A)))
(NOT C))
(EQUAL (SIZE (BITV (BIT A) (INCR F (VEC A))))
(ADD1 (SIZE (VEC A))))).
This again simplifies, rewriting with VEC-BITV, and expanding the
definitions of AND and SIZE, to:
T.
Case 2.2.
(IMPLIES (AND (BITVP A)
(NOT (EQUAL A (BTM)))
(EQUAL (SIZE (INCR (AND C (BIT A)) (VEC A)))
(SIZE (VEC A)))
C
(BIT A))
(EQUAL (SIZE (BITV F (INCR (BIT A) (VEC A))))
(ADD1 (SIZE (VEC A))))).
This again simplifies, appealing to the lemmas VEC-BITV and ADD1-EQUAL,
and opening up the definition of SIZE, to the goal:
(IMPLIES (AND (BITVP A)
(NOT (EQUAL A (BTM)))
(EQUAL (SIZE (INCR (AND C (BIT A)) (VEC A)))
(SIZE (VEC A)))
C
(BIT A))
(EQUAL (SIZE (INCR T (VEC A)))
(SIZE (VEC A)))).
This further simplifies, unfolding the function AND, to:
T.
Case 2.1.
(IMPLIES (AND (BITVP A)
(NOT (EQUAL A (BTM)))
(EQUAL (SIZE (INCR (AND C (BIT A)) (VEC A)))
(SIZE (VEC A)))
C
(NOT (BIT A)))
(EQUAL (SIZE (BITV T (INCR (BIT A) (VEC A))))
(ADD1 (SIZE (VEC A))))),
which again simplifies, rewriting with VEC-BITV and ADD1-EQUAL, and
expanding the function SIZE, to the new formula:
(IMPLIES (AND (BITVP A)
(NOT (EQUAL A (BTM)))
(EQUAL (SIZE (INCR (AND C (BIT A)) (VEC A)))
(SIZE (VEC A)))
C
(NOT (BIT A)))
(EQUAL (SIZE (INCR F (VEC A)))
(SIZE (VEC A)))),
which further simplifies, unfolding the function AND, to:
T.
Case 1. (IMPLIES (NOT (BITVP A))
(EQUAL (SIZE (INCR C A)) (SIZE A))),
which simplifies, unfolding the functions INCR, SIZE, and EQUAL, to:
T.
That finishes the proof of *1. Q.E.D.
[ 0.0 0.0 0.0 ]
SIZE-OF-INCR
(PROVE-LEMMA INCR-F-NOOP
(REWRITE)
(EQUAL (INCR F A) (FIX-BV A)))
This simplifies, unfolding FIX-BV, to two new formulas:
Case 2. (IMPLIES (NOT (BITVP A))
(EQUAL (INCR F A) (BTM))),
which again simplifies, unfolding INCR and EQUAL, to:
T.
Case 1. (IMPLIES (BITVP A)
(EQUAL (INCR F A) A)),
which we will name *1.
We will appeal to induction. There is only one plausible induction. We
will induct according to the following scheme:
(AND (IMPLIES (AND (BITVP A) (EQUAL A (BTM)))
(p A))
(IMPLIES (AND (BITVP A)
(NOT (EQUAL A (BTM)))
(p (VEC A)))
(p A))
(IMPLIES (NOT (BITVP A)) (p A))).
Linear arithmetic and the lemma VEC-LESSP inform us that the measure (COUNT A)
decreases according to the well-founded relation LESSP in each induction step
of the scheme. The above induction scheme generates the following two new
goals:
Case 2. (IMPLIES (AND (EQUAL A (BTM)) (BITVP A))
(EQUAL (INCR F A) A)).
This simplifies, opening up the definitions of BITVP, INCR, and EQUAL, to:
T.
Case 1. (IMPLIES (AND (NOT (EQUAL A (BTM)))
(EQUAL (INCR F (VEC A)) (VEC A))
(BITVP A))
(EQUAL (INCR F A) A)).
This simplifies, applying BITV-BIT-VEC, and expanding INCR and XOR, to:
T.
That finishes the proof of *1. Q.E.D.
[ 0.0 0.0 0.0 ]
INCR-F-NOOP
(PROVE-LEMMA SIZE-0
(REWRITE)
(EQUAL (EQUAL (SIZE X) 0) (BTMP X)))
This formula simplifies, opening up the definition of BTMP, to three new
conjectures:
Case 3. (IMPLIES (NOT (EQUAL (SIZE X) 0))
(BITVP X)),
which again simplifies, unfolding the definitions of SIZE and EQUAL, to:
T.
Case 2. (IMPLIES (NOT (EQUAL (SIZE X) 0))
(NOT (EQUAL X (BTM)))),
which again simplifies, unfolding SIZE and EQUAL, to:
T.
Case 1. (IMPLIES (AND (EQUAL (SIZE X) 0) (BITVP X))
(EQUAL (EQUAL X (BTM)) T)),
which again simplifies, clearly, to:
(IMPLIES (AND (EQUAL (SIZE X) 0) (BITVP X))
(EQUAL X (BTM))),
which we will name *1.
Perhaps we can prove it by induction. There is only one plausible
induction. We will induct according to the following scheme:
(AND (IMPLIES (AND (BITVP X) (EQUAL X (BTM)))
(p X))
(IMPLIES (AND (BITVP X)
(NOT (EQUAL X (BTM)))
(p (VEC X)))
(p X))
(IMPLIES (NOT (BITVP X)) (p X))).
Linear arithmetic and the lemma VEC-LESSP can be used to prove that the
measure (COUNT X) decreases according to the well-founded relation LESSP in
each induction step of the scheme. The above induction scheme produces two
new formulas:
Case 2. (IMPLIES (AND (NOT (EQUAL (SIZE (VEC X)) 0))
(EQUAL (SIZE X) 0)
(BITVP X))
(EQUAL X (BTM))),
which simplifies, expanding the definition of SIZE, to:
T.
Case 1. (IMPLIES (AND (EQUAL (VEC X) (BTM))
(EQUAL (SIZE X) 0)
(BITVP X))
(EQUAL X (BTM))),
which simplifies, unfolding SIZE, to:
T.
That finishes the proof of *1. Q.E.D.
[ 0.0 0.0 0.0 ]
SIZE-0
(DEFN V-NOT
(A)
(IF (BITVP A)
(IF (EQUAL A (BTM))
(BTM)
(BITV (NOT (BIT A)) (V-NOT (VEC A))))
(BTM)))
Linear arithmetic and the lemma VEC-LESSP inform us that the measure
(COUNT A) decreases according to the well-founded relation LESSP in each
recursive call. Hence, V-NOT is accepted under the principle of definition.
Observe that (BITVP (V-NOT A)) is a theorem.
[ 0.0 0.0 0.0 ]
V-NOT
(DEFN V-OR
(A B)
(IF (BITVP A)
(IF (EQUAL A (BTM))
(BTM)
(BITV (OR (BIT A) (BIT B))
(V-OR (VEC A) (VEC B))))
(BTM)))
Linear arithmetic and the lemma VEC-LESSP can be used to prove that the
measure (COUNT A) decreases according to the well-founded relation LESSP in
each recursive call. Hence, V-OR is accepted under the principle of
definition. Note that (BITVP (V-OR A B)) is a theorem.
[ 0.0 0.0 0.0 ]
V-OR
(DEFN V-AND
(A B)
(IF (BITVP A)
(IF (EQUAL A (BTM))
(BTM)
(BITV (AND (BIT A) (BIT B))
(V-AND (VEC A) (VEC B))))
(BTM)))
Linear arithmetic and the lemma VEC-LESSP can be used to prove that the
measure (COUNT A) decreases according to the well-founded relation LESSP in
each recursive call. Hence, V-AND is accepted under the principle of
definition. Note that (BITVP (V-AND A B)) is a theorem.
[ 0.0 0.0 0.0 ]
V-AND
(DEFN V-XOR
(A B)
(IF (BITVP A)
(IF (EQUAL A (BTM))
(BTM)
(BITV (XOR (BIT A) (BIT B))
(V-XOR (VEC A) (VEC B))))
(BTM)))
Linear arithmetic and the lemma VEC-LESSP can be used to prove that the
measure (COUNT A) decreases according to the well-founded relation LESSP in
each recursive call. Hence, V-XOR is accepted under the principle of
definition. Note that (BITVP (V-XOR A B)) is a theorem.
[ 0.0 0.0 0.0 ]
V-XOR
(DEFN BV-NOT
(A)
(IF (BITVP A)
(IF (EQUAL A (BTM))
(BTM)
(BITV (B-NOT (BIT A))
(BV-NOT (VEC A))))
(BTM)))
Linear arithmetic and the lemma VEC-LESSP inform us that the measure
(COUNT A) decreases according to the well-founded relation LESSP in each
recursive call. Hence, BV-NOT is accepted under the principle of definition.
Observe that (BITVP (BV-NOT A)) is a theorem.
[ 0.0 0.0 0.0 ]
BV-NOT
(DEFN BV-OR
(A B)
(IF (BITVP A)
(IF (EQUAL A (BTM))
(BTM)
(BITV (B-OR (BIT A) (BIT B))
(BV-OR (VEC A) (VEC B))))
(BTM)))
Linear arithmetic and the lemma VEC-LESSP can be used to prove that the
measure (COUNT A) decreases according to the well-founded relation LESSP in
each recursive call. Hence, BV-OR is accepted under the principle of
definition. Note that (BITVP (BV-OR A B)) is a theorem.
[ 0.0 0.0 0.0 ]
BV-OR
(DEFN BV-AND
(A B)
(IF (BITVP A)
(IF (EQUAL A (BTM))
(BTM)
(BITV (B-AND (BIT A) (BIT B))
(BV-AND (VEC A) (VEC B))))
(BTM)))
Linear arithmetic and the lemma VEC-LESSP can be used to prove that the
measure (COUNT A) decreases according to the well-founded relation LESSP in
each recursive call. Hence, BV-AND is accepted under the principle of
definition. Note that (BITVP (BV-AND A B)) is a theorem.
[ 0.0 0.0 0.0 ]
BV-AND
(DEFN BV-XOR
(A B)
(IF (BITVP A)
(IF (EQUAL A (BTM))
(BTM)
(BITV (B-XOR (BIT A) (BIT B))
(BV-XOR (VEC A) (VEC B))))
(BTM)))
Linear arithmetic and the lemma VEC-LESSP can be used to prove that the
measure (COUNT A) decreases according to the well-founded relation LESSP in
each recursive call. Hence, BV-XOR is accepted under the principle of
definition. Note that (BITVP (BV-XOR A B)) is a theorem.
[ 0.0 0.0 0.0 ]
BV-XOR
(DEFN TCP
(X)
(OR (NUMBERP X)
(AND (NEGATIVEP X)
(NOT (ZEROP (NEGATIVE-GUTS X))))))
Observe that (OR (FALSEP (TCP X)) (TRUEP (TCP X))) is a theorem.
[ 0.0 0.0 0.0 ]
TCP
(DEFN TC-IN-RANGEP
(X N)
(IF (ZEROP N)
F
(IF (NEGATIVEP X)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP X (EXP 2 (SUB1 N))))))
Note that (OR (FALSEP (TC-IN-RANGEP X N)) (TRUEP (TC-IN-RANGEP X N))) is
a theorem.
[ 0.0 0.0 0.0 ]
TC-IN-RANGEP
(DEFN ADD
(X Y)
(IF (NEGATIVEP X)
(IF (NEGATIVEP Y)
(MINUS (PLUS (NEGATIVE-GUTS X)
(NEGATIVE-GUTS Y)))
(IF (LESSP Y (NEGATIVE-GUTS X))
(MINUS (DIFFERENCE (NEGATIVE-GUTS X) Y))
(DIFFERENCE Y (NEGATIVE-GUTS X))))
(IF (NEGATIVEP Y)
(IF (LESSP X (NEGATIVE-GUTS Y))
(MINUS (DIFFERENCE (NEGATIVE-GUTS Y) X))
(DIFFERENCE X (NEGATIVE-GUTS Y)))
(PLUS X Y))))
From the definition we can conclude that:
(OR (NUMBERP (ADD X Y))
(NEGATIVEP (ADD X Y)))
is a theorem.
[ 0.0 0.0 0.0 ]
ADD
(PROVE-LEMMA COMMUTATIVITY2-OF-ADD
(REWRITE)
(EQUAL (ADD X (ADD Y Z))
(ADD Y (ADD X Z))))
WARNING: Note that the rewrite rule COMMUTATIVITY2-OF-ADD will be stored so
as to apply only to terms with the nonrecursive function symbol ADD.
This simplifies, unfolding the definition of ADD, to the following 18 new
goals:
Case 18.(IMPLIES (AND (NOT (NEGATIVEP X))
(NEGATIVEP Z)
(NOT (LESSP X (NEGATIVE-GUTS Z)))
(NOT (NEGATIVEP Y))
(NOT (LESSP Y (NEGATIVE-GUTS Z))))
(EQUAL (ADD X
(DIFFERENCE Y (NEGATIVE-GUTS Z)))
(ADD Y
(DIFFERENCE X (NEGATIVE-GUTS Z))))).
This again simplifies, opening up the definition of ADD, to the goal:
(IMPLIES (AND (NOT (NEGATIVEP X))
(NEGATIVEP Z)
(NOT (LESSP X (NEGATIVE-GUTS Z)))
(NOT (NEGATIVEP Y))
(NOT (LESSP Y (NEGATIVE-GUTS Z))))
(EQUAL (PLUS X
(DIFFERENCE Y (NEGATIVE-GUTS Z)))
(PLUS Y
(DIFFERENCE X (NEGATIVE-GUTS Z))))).
This again simplifies, using linear arithmetic, to:
T.
Case 17.(IMPLIES (AND (NOT (NEGATIVEP X))
(NEGATIVEP Z)
(NOT (LESSP X (NEGATIVE-GUTS Z)))
(NOT (NEGATIVEP Y))
(LESSP Y (NEGATIVE-GUTS Z)))
(EQUAL (ADD X
(MINUS (DIFFERENCE (NEGATIVE-GUTS Z) Y)))
(ADD Y
(DIFFERENCE X (NEGATIVE-GUTS Z))))),
which again simplifies, applying the lemmas DIFFERENCE-DIFFERENCE,
COMMUTATIVITY-OF-PLUS, and NEGATIVE-GUTS-MINUS, and opening up the function
ADD, to two new goals:
Case 17.2.
(IMPLIES (AND (NOT (NEGATIVEP X))
(NEGATIVEP Z)
(NOT (LESSP X (NEGATIVE-GUTS Z)))
(NOT (NEGATIVEP Y))
(LESSP Y (NEGATIVE-GUTS Z)))
(EQUAL (DIFFERENCE X
(DIFFERENCE (NEGATIVE-GUTS Z) Y))
(PLUS Y
(DIFFERENCE X (NEGATIVE-GUTS Z))))),
which again simplifies, using linear arithmetic, to two new formulas:
Case 17.2.2.
(IMPLIES (AND (LESSP X
(DIFFERENCE (NEGATIVE-GUTS Z) Y))
(NOT (NEGATIVEP X))
(NEGATIVEP Z)
(NOT (LESSP X (NEGATIVE-GUTS Z)))
(NOT (NEGATIVEP Y))
(LESSP Y (NEGATIVE-GUTS Z)))
(EQUAL (DIFFERENCE X
(DIFFERENCE (NEGATIVE-GUTS Z) Y))
(PLUS Y
(DIFFERENCE X (NEGATIVE-GUTS Z))))),
which again simplifies, using linear arithmetic, to the goal:
(IMPLIES (AND (LESSP (NEGATIVE-GUTS Z) Y)
(LESSP X
(DIFFERENCE (NEGATIVE-GUTS Z) Y))
(NOT (NEGATIVEP X))
(NEGATIVEP Z)
(NOT (LESSP X (NEGATIVE-GUTS Z)))
(NOT (NEGATIVEP Y))
(LESSP Y (NEGATIVE-GUTS Z)))
(EQUAL (DIFFERENCE X
(DIFFERENCE (NEGATIVE-GUTS Z) Y))
(PLUS Y
(DIFFERENCE X (NEGATIVE-GUTS Z))))).
This again simplifies, using linear arithmetic, to:
T.
Case 17.2.1.
(IMPLIES (AND (LESSP (NEGATIVE-GUTS Z) Y)
(NOT (NEGATIVEP X))
(NEGATIVEP Z)
(NOT (LESSP X (NEGATIVE-GUTS Z)))
(NOT (NEGATIVEP Y))
(LESSP Y (NEGATIVE-GUTS Z)))
(EQUAL (DIFFERENCE X
(DIFFERENCE (NEGATIVE-GUTS Z) Y))
(PLUS Y
(DIFFERENCE X (NEGATIVE-GUTS Z))))),
which again simplifies, using linear arithmetic, to:
T.
Case 17.1.
(IMPLIES (AND (NOT (NEGATIVEP X))
(NEGATIVEP Z)
(NOT (LESSP X (NEGATIVE-GUTS Z)))
(NOT (NEGATIVEP Y))
(LESSP Y (NEGATIVE-GUTS Z)))
(NOT (LESSP X
(DIFFERENCE (NEGATIVE-GUTS Z) Y)))),
which again simplifies, using linear arithmetic, to:
(IMPLIES (AND (LESSP (NEGATIVE-GUTS Z) Y)
(NOT (NEGATIVEP X))
(NEGATIVEP Z)
(NOT (LESSP X (NEGATIVE-GUTS Z)))
(NOT (NEGATIVEP Y))
(LESSP Y (NEGATIVE-GUTS Z)))
(NOT (LESSP X
(DIFFERENCE (NEGATIVE-GUTS Z) Y)))).
This again simplifies, using linear arithmetic, to:
T.
Case 16.(IMPLIES (AND (NOT (NEGATIVEP X))
(NEGATIVEP Z)
(NOT (LESSP X (NEGATIVE-GUTS Z)))
(NEGATIVEP Y))
(EQUAL (ADD X
(MINUS (PLUS (NEGATIVE-GUTS Y)
(NEGATIVE-GUTS Z))))
(ADD Y
(DIFFERENCE X (NEGATIVE-GUTS Z))))),
which again simplifies, rewriting with NEGATIVE-GUTS-MINUS,
DIFFERENCE-DIFFERENCE, and COMMUTATIVITY-OF-PLUS, and expanding the
definition of ADD, to the following three new formulas:
Case 16.3.
(IMPLIES
(AND (NOT (NEGATIVEP X))
(NEGATIVEP Z)
(NOT (LESSP X (NEGATIVE-GUTS Z)))
(NEGATIVEP Y)
(LESSP (DIFFERENCE X (NEGATIVE-GUTS Z))
(NEGATIVE-GUTS Y)))
(EQUAL (MINUS (DIFFERENCE (PLUS (NEGATIVE-GUTS Y)
(NEGATIVE-GUTS Z))
X))
(MINUS (DIFFERENCE (NEGATIVE-GUTS Y)
(DIFFERENCE X (NEGATIVE-GUTS Z)))))).
However this again simplifies, appealing to the lemmas NEGATIVE-GUTS-MINUS
and MINUS-EQUAL, to the formula:
(IMPLIES (AND (NOT (NEGATIVEP X))
(NEGATIVEP Z)
(NOT (LESSP X (NEGATIVE-GUTS Z)))
(NEGATIVEP Y)
(LESSP (DIFFERENCE X (NEGATIVE-GUTS Z))
(NEGATIVE-GUTS Y)))
(EQUAL (DIFFERENCE (PLUS (NEGATIVE-GUTS Y)
(NEGATIVE-GUTS Z))
X)
(DIFFERENCE (NEGATIVE-GUTS Y)
(DIFFERENCE X (NEGATIVE-GUTS Z))))).
This again simplifies, using linear arithmetic, to two new conjectures:
Case 16.3.2.
(IMPLIES (AND (LESSP (PLUS (NEGATIVE-GUTS Y)
(NEGATIVE-GUTS Z))
X)
(NOT (NEGATIVEP X))
(NEGATIVEP Z)
(NOT (LESSP X (NEGATIVE-GUTS Z)))
(NEGATIVEP Y)
(LESSP (DIFFERENCE X (NEGATIVE-GUTS Z))
(NEGATIVE-GUTS Y)))
(EQUAL (DIFFERENCE (PLUS (NEGATIVE-GUTS Y)
(NEGATIVE-GUTS Z))
X)
(DIFFERENCE (NEGATIVE-GUTS Y)
(DIFFERENCE X (NEGATIVE-GUTS Z))))),
which again simplifies, using linear arithmetic, to:
T.
Case 16.3.1.
(IMPLIES (AND (LESSP (NEGATIVE-GUTS Y)
(DIFFERENCE X (NEGATIVE-GUTS Z)))
(NOT (NEGATIVEP X))
(NEGATIVEP Z)
(NOT (LESSP X (NEGATIVE-GUTS Z)))
(NEGATIVEP Y)
(LESSP (DIFFERENCE X (NEGATIVE-GUTS Z))
(NEGATIVE-GUTS Y)))
(EQUAL (DIFFERENCE (PLUS (NEGATIVE-GUTS Y)
(NEGATIVE-GUTS Z))
X)
(DIFFERENCE (NEGATIVE-GUTS Y)
(DIFFERENCE X (NEGATIVE-GUTS Z))))),
which again simplifies, using linear arithmetic, to:
T.
Case 16.2.
(IMPLIES (AND (NOT (NEGATIVEP X))
(NEGATIVEP Z)
(NOT (LESSP X (NEGATIVE-GUTS Z)))
(NEGATIVEP Y)
(NOT (LESSP (DIFFERENCE X (NEGATIVE-GUTS Z))
(NEGATIVE-GUTS Y))))
(NOT (LESSP X
(PLUS (NEGATIVE-GUTS Y)
(NEGATIVE-GUTS Z))))),
which again simplifies, using linear arithmetic, to:
T.
Case 16.1.
(IMPLIES (AND (NOT (NEGATIVEP X))
(NEGATIVEP Z)
(NOT (LESSP X (NEGATIVE-GUTS Z)))
(NEGATIVEP Y)
(LESSP (DIFFERENCE X (NEGATIVE-GUTS Z))
(NEGATIVE-GUTS Y)))
(LESSP X
(PLUS (NEGATIVE-GUTS Y)
(NEGATIVE-GUTS Z)))),
which again simplifies, using linear arithmetic, to:
T.
Case 15.(IMPLIES (AND (NOT (NEGATIVEP X))
(NEGATIVEP Z)
(LESSP X (NEGATIVE-GUTS Z))
(NOT (NEGATIVEP Y))
(NOT (LESSP Y (NEGATIVE-GUTS Z))))
(EQUAL (ADD X
(DIFFERENCE Y (NEGATIVE-GUTS Z)))
(ADD Y
(MINUS (DIFFERENCE (NEGATIVE-GUTS Z) X))))),
which again simplifies, applying DIFFERENCE-DIFFERENCE and
NEGATIVE-GUTS-MINUS, and expanding the function ADD, to the following two
new goals:
Case 15.2.
(IMPLIES (AND (NOT (NEGATIVEP X))
(NEGATIVEP Z)
(LESSP X (NEGATIVE-GUTS Z))
(NOT (NEGATIVEP Y))
(NOT (LESSP Y (NEGATIVE-GUTS Z))))
(EQUAL (PLUS X
(DIFFERENCE Y (NEGATIVE-GUTS Z)))
(DIFFERENCE Y
(DIFFERENCE (NEGATIVE-GUTS Z) X)))).
But this again simplifies, using linear arithmetic, to two new goals:
Case 15.2.2.
(IMPLIES (AND (LESSP (NEGATIVE-GUTS Z) X)
(NOT (NEGATIVEP X))
(NEGATIVEP Z)
(LESSP X (NEGATIVE-GUTS Z))
(NOT (NEGATIVEP Y))
(NOT (LESSP Y (NEGATIVE-GUTS Z))))
(EQUAL (PLUS X
(DIFFERENCE Y (NEGATIVE-GUTS Z)))
(DIFFERENCE Y
(DIFFERENCE (NEGATIVE-GUTS Z) X)))),
which again simplifies, using linear arithmetic, to:
T.
Case 15.2.1.
(IMPLIES (AND (LESSP Y
(DIFFERENCE (NEGATIVE-GUTS Z) X))
(NOT (NEGATIVEP X))
(NEGATIVEP Z)
(LESSP X (NEGATIVE-GUTS Z))
(NOT (NEGATIVEP Y))
(NOT (LESSP Y (NEGATIVE-GUTS Z))))
(EQUAL (PLUS X
(DIFFERENCE Y (NEGATIVE-GUTS Z)))
(DIFFERENCE Y
(DIFFERENCE (NEGATIVE-GUTS Z) X)))),
which again simplifies, using linear arithmetic, to:
(IMPLIES (AND (LESSP (NEGATIVE-GUTS Z) X)
(LESSP Y
(DIFFERENCE (NEGATIVE-GUTS Z) X))
(NOT (NEGATIVEP X))
(NEGATIVEP Z)
(LESSP X (NEGATIVE-GUTS Z))
(NOT (NEGATIVEP Y))
(NOT (LESSP Y (NEGATIVE-GUTS Z))))
(EQUAL (PLUS X
(DIFFERENCE Y (NEGATIVE-GUTS Z)))
(DIFFERENCE Y
(DIFFERENCE (NEGATIVE-GUTS Z) X)))).
This again simplifies, using linear arithmetic, to:
T.
Case 15.1.
(IMPLIES (AND (NOT (NEGATIVEP X))
(NEGATIVEP Z)
(LESSP X (NEGATIVE-GUTS Z))
(NOT (NEGATIVEP Y))
(NOT (LESSP Y (NEGATIVE-GUTS Z))))
(NOT (LESSP Y
(DIFFERENCE (NEGATIVE-GUTS Z) X)))),
which again simplifies, using linear arithmetic, to:
(IMPLIES (AND (LESSP (NEGATIVE-GUTS Z) X)
(NOT (NEGATIVEP X))
(NEGATIVEP Z)
(LESSP X (NEGATIVE-GUTS Z))
(NOT (NEGATIVEP Y))
(NOT (LESSP Y (NEGATIVE-GUTS Z))))
(NOT (LESSP Y
(DIFFERENCE (NEGATIVE-GUTS Z) X)))).
But this again simplifies, using linear arithmetic, to:
T.
Case 14.(IMPLIES (AND (NOT (NEGATIVEP X))
(NEGATIVEP Z)
(LESSP X (NEGATIVE-GUTS Z))
(NOT (NEGATIVEP Y))
(LESSP Y (NEGATIVE-GUTS Z)))
(EQUAL (ADD X
(MINUS (DIFFERENCE (NEGATIVE-GUTS Z) Y)))
(ADD Y
(MINUS (DIFFERENCE (NEGATIVE-GUTS Z) X))))),
which again simplifies, rewriting with DIFFERENCE-DIFFERENCE,
COMMUTATIVITY-OF-PLUS, and NEGATIVE-GUTS-MINUS, and expanding the definition
of ADD, to the following three new goals:
Case 14.3.
(IMPLIES (AND (NOT (NEGATIVEP X))
(NEGATIVEP Z)
(LESSP X (NEGATIVE-GUTS Z))
(NOT (NEGATIVEP Y))
(LESSP Y (NEGATIVE-GUTS Z))
(NOT (LESSP X
(DIFFERENCE (NEGATIVE-GUTS Z) Y))))
(EQUAL (DIFFERENCE X
(DIFFERENCE (NEGATIVE-GUTS Z) Y))
(DIFFERENCE Y
(DIFFERENCE (NEGATIVE-GUTS Z) X)))).
However this again simplifies, using linear arithmetic, to three new
conjectures:
Case 14.3.3.
(IMPLIES (AND (LESSP (NEGATIVE-GUTS Z) X)
(NOT (NEGATIVEP X))
(NEGATIVEP Z)
(LESSP X (NEGATIVE-GUTS Z))
(NOT (NEGATIVEP Y))
(LESSP Y (NEGATIVE-GUTS Z))
(NOT (LESSP X
(DIFFERENCE (NEGATIVE-GUTS Z) Y))))
(EQUAL (DIFFERENCE X
(DIFFERENCE (NEGATIVE-GUTS Z) Y))
(DIFFERENCE Y
(DIFFERENCE (NEGATIVE-GUTS Z) X)))),
which again simplifies, using linear arithmetic, to:
T.
Case 14.3.2.
(IMPLIES (AND (LESSP Y
(DIFFERENCE (NEGATIVE-GUTS Z) X))
(NOT (NEGATIVEP X))
(NEGATIVEP Z)
(LESSP X (NEGATIVE-GUTS Z))
(NOT (NEGATIVEP Y))
(LESSP Y (NEGATIVE-GUTS Z))
(NOT (LESSP X
(DIFFERENCE (NEGATIVE-GUTS Z) Y))))
(EQUAL (DIFFERENCE X
(DIFFERENCE (NEGATIVE-GUTS Z) Y))
(DIFFERENCE Y
(DIFFERENCE (NEGATIVE-GUTS Z) X)))),
which again simplifies, using linear arithmetic, to:
(IMPLIES (AND (LESSP (NEGATIVE-GUTS Z) X)
(LESSP Y
(DIFFERENCE (NEGATIVE-GUTS Z) X))
(NOT (NEGATIVEP X))
(NEGATIVEP Z)
(LESSP X (NEGATIVE-GUTS Z))
(NOT (NEGATIVEP Y))
(LESSP Y (NEGATIVE-GUTS Z))
(NOT (LESSP X
(DIFFERENCE (NEGATIVE-GUTS Z) Y))))
(EQUAL (DIFFERENCE X
(DIFFERENCE (NEGATIVE-GUTS Z) Y))
(DIFFERENCE Y
(DIFFERENCE (NEGATIVE-GUTS Z) X)))).
But this again simplifies, using linear arithmetic, to:
T.
Case 14.3.1.
(IMPLIES (AND (LESSP (NEGATIVE-GUTS Z) Y)
(NOT (NEGATIVEP X))
(NEGATIVEP Z)
(LESSP X (NEGATIVE-GUTS Z))
(NOT (NEGATIVEP Y))
(LESSP Y (NEGATIVE-GUTS Z))
(NOT (LESSP X
(DIFFERENCE (NEGATIVE-GUTS Z) Y))))
(EQUAL (DIFFERENCE X
(DIFFERENCE (NEGATIVE-GUTS Z) Y))
(DIFFERENCE Y
(DIFFERENCE (NEGATIVE-GUTS Z) X)))),
which again simplifies, using linear arithmetic, to:
T.
Case 14.2.
(IMPLIES (AND (NOT (NEGATIVEP X))
(NEGATIVEP Z)
(LESSP X (NEGATIVE-GUTS Z))
(NOT (NEGATIVEP Y))
(LESSP Y (NEGATIVE-GUTS Z))
(NOT (LESSP Y
(DIFFERENCE (NEGATIVE-GUTS Z) X))))
(NOT (LESSP X
(DIFFERENCE (NEGATIVE-GUTS Z) Y)))),
which again simplifies, using linear arithmetic, to the goal:
(IMPLIES (AND (LESSP (NEGATIVE-GUTS Z) Y)
(NOT (NEGATIVEP X))
(NEGATIVEP Z)
(LESSP X (NEGATIVE-GUTS Z))
(NOT (NEGATIVEP Y))
(LESSP Y (NEGATIVE-GUTS Z))
(NOT (LESSP Y
(DIFFERENCE (NEGATIVE-GUTS Z) X))))
(NOT (LESSP X
(DIFFERENCE (NEGATIVE-GUTS Z) Y)))).
This again simplifies, using linear arithmetic, to:
T.
Case 14.1.
(IMPLIES (AND (NOT (NEGATIVEP X))
(NEGATIVEP Z)
(LESSP X (NEGATIVE-GUTS Z))
(NOT (NEGATIVEP Y))
(LESSP Y (NEGATIVE-GUTS Z))
(LESSP Y
(DIFFERENCE (NEGATIVE-GUTS Z) X)))
(LESSP X
(DIFFERENCE (NEGATIVE-GUTS Z) Y))),
which again simplifies, using linear arithmetic, to the formula:
(IMPLIES (AND (LESSP (NEGATIVE-GUTS Z) X)
(NOT (NEGATIVEP X))
(NEGATIVEP Z)
(LESSP X (NEGATIVE-GUTS Z))
(NOT (NEGATIVEP Y))
(LESSP Y (NEGATIVE-GUTS Z))
(LESSP Y
(DIFFERENCE (NEGATIVE-GUTS Z) X)))
(LESSP X
(DIFFERENCE (NEGATIVE-GUTS Z) Y))).
This again simplifies, using linear arithmetic, to:
T.
Case 13.(IMPLIES (AND (NOT (NEGATIVEP X))
(NEGATIVEP Z)
(LESSP X (NEGATIVE-GUTS Z))
(NEGATIVEP Y))
(EQUAL (ADD X
(MINUS (PLUS (NEGATIVE-GUTS Y)
(NEGATIVE-GUTS Z))))
(ADD Y
(MINUS (DIFFERENCE (NEGATIVE-GUTS Z) X))))),
which again simplifies, using linear arithmetic, rewriting with PLUS-EQUAL-0,
PATHOLOGICAL-DIFFERENCE, and NEGATIVE-GUTS-MINUS, and expanding the
functions DIFFERENCE and ADD, to the following two new formulas:
Case 13.2.
(IMPLIES (AND (NOT (NEGATIVEP X))
(NEGATIVEP Z)
(LESSP X (NEGATIVE-GUTS Z))
(NEGATIVEP Y))
(EQUAL (MINUS (DIFFERENCE (PLUS (NEGATIVE-GUTS Y)
(NEGATIVE-GUTS Z))
X))
(MINUS (PLUS (NEGATIVE-GUTS Y)
(DIFFERENCE (NEGATIVE-GUTS Z) X))))).
But this again simplifies, rewriting with NEGATIVE-GUTS-MINUS and
MINUS-EQUAL, to:
(IMPLIES (AND (NOT (NEGATIVEP X))
(NEGATIVEP Z)
(LESSP X (NEGATIVE-GUTS Z))
(NEGATIVEP Y))
(EQUAL (DIFFERENCE (PLUS (NEGATIVE-GUTS Y)
(NEGATIVE-GUTS Z))
X)
(PLUS (NEGATIVE-GUTS Y)
(DIFFERENCE (NEGATIVE-GUTS Z) X)))),
which again simplifies, using linear arithmetic, to two new formulas:
Case 13.2.2.
(IMPLIES (AND (LESSP (PLUS (NEGATIVE-GUTS Y)
(NEGATIVE-GUTS Z))
X)
(NOT (NEGATIVEP X))
(NEGATIVEP Z)
(LESSP X (NEGATIVE-GUTS Z))
(NEGATIVEP Y))
(EQUAL (DIFFERENCE (PLUS (NEGATIVE-GUTS Y)
(NEGATIVE-GUTS Z))
X)
(PLUS (NEGATIVE-GUTS Y)
(DIFFERENCE (NEGATIVE-GUTS Z) X)))),
which again simplifies, using linear arithmetic, to:
T.
Case 13.2.1.
(IMPLIES (AND (LESSP (NEGATIVE-GUTS Z) X)
(NOT (NEGATIVEP X))
(NEGATIVEP Z)
(LESSP X (NEGATIVE-GUTS Z))
(NEGATIVEP Y))
(EQUAL (DIFFERENCE (PLUS (NEGATIVE-GUTS Y)
(NEGATIVE-GUTS Z))
X)
(PLUS (NEGATIVE-GUTS Y)
(DIFFERENCE (NEGATIVE-GUTS Z) X)))),
which again simplifies, using linear arithmetic, to:
T.
Case 13.1.
(IMPLIES (AND (NOT (NEGATIVEP X))
(NEGATIVEP Z)
(LESSP X (NEGATIVE-GUTS Z))
(NEGATIVEP Y))
(LESSP X
(PLUS (NEGATIVE-GUTS Y)
(NEGATIVE-GUTS Z)))),
which again simplifies, using linear arithmetic, to:
T.
Case 12.(IMPLIES (AND (NOT (NEGATIVEP X))
(NOT (NEGATIVEP Z))
(NOT (NEGATIVEP Y)))
(EQUAL (ADD X (PLUS Y Z))
(ADD Y (PLUS X Z)))),
which again simplifies, applying COMMUTATIVITY2-OF-PLUS, and unfolding the
function ADD, to:
T.
Case 11.(IMPLIES (AND (NOT (NEGATIVEP X))
(NOT (NEGATIVEP Z))
(NEGATIVEP Y)
(NOT (LESSP Z (NEGATIVE-GUTS Y))))
(EQUAL (ADD X
(DIFFERENCE Z (NEGATIVE-GUTS Y)))
(ADD Y (PLUS X Z)))).
But this again simplifies, expanding the function ADD, to two new
conjectures:
Case 11.2.
(IMPLIES (AND (NOT (NEGATIVEP X))
(NOT (NEGATIVEP Z))
(NEGATIVEP Y)
(NOT (LESSP Z (NEGATIVE-GUTS Y))))
(EQUAL (PLUS X
(DIFFERENCE Z (NEGATIVE-GUTS Y)))
(DIFFERENCE (PLUS X Z)
(NEGATIVE-GUTS Y)))),
which again simplifies, using linear arithmetic, to:
(IMPLIES (AND (LESSP (PLUS X Z) (NEGATIVE-GUTS Y))
(NOT (NEGATIVEP X))
(NOT (NEGATIVEP Z))
(NEGATIVEP Y)
(NOT (LESSP Z (NEGATIVE-GUTS Y))))
(EQUAL (PLUS X
(DIFFERENCE Z (NEGATIVE-GUTS Y)))
(DIFFERENCE (PLUS X Z)
(NEGATIVE-GUTS Y)))).
However this again simplifies, using linear arithmetic, to:
T.
Case 11.1.
(IMPLIES (AND (NOT (NEGATIVEP X))
(NOT (NEGATIVEP Z))
(NEGATIVEP Y)
(NOT (LESSP Z (NEGATIVE-GUTS Y))))
(NOT (LESSP (PLUS X Z)
(NEGATIVE-GUTS Y)))),
which again simplifies, using linear arithmetic, to:
T.
Case 10.(IMPLIES (AND (NOT (NEGATIVEP X))
(NOT (NEGATIVEP Z))
(NEGATIVEP Y)
(LESSP Z (NEGATIVE-GUTS Y)))
(EQUAL (ADD X
(MINUS (DIFFERENCE (NEGATIVE-GUTS Y) Z)))
(ADD Y (PLUS X Z)))),
which again simplifies, rewriting with DIFFERENCE-DIFFERENCE,
COMMUTATIVITY-OF-PLUS, and NEGATIVE-GUTS-MINUS, and unfolding the definition
of ADD, to the following three new conjectures:
Case 10.3.
(IMPLIES (AND (NOT (NEGATIVEP X))
(NOT (NEGATIVEP Z))
(NEGATIVEP Y)
(LESSP Z (NEGATIVE-GUTS Y))
(NOT (LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) Z))))
(EQUAL (DIFFERENCE X
(DIFFERENCE (NEGATIVE-GUTS Y) Z))
(DIFFERENCE (PLUS X Z)
(NEGATIVE-GUTS Y)))).
This again simplifies, using linear arithmetic, to two new goals:
Case 10.3.2.
(IMPLIES (AND (LESSP (PLUS X Z) (NEGATIVE-GUTS Y))
(NOT (NEGATIVEP X))
(NOT (NEGATIVEP Z))
(NEGATIVEP Y)
(LESSP Z (NEGATIVE-GUTS Y))
(NOT (LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) Z))))
(EQUAL (DIFFERENCE X
(DIFFERENCE (NEGATIVE-GUTS Y) Z))
(DIFFERENCE (PLUS X Z)
(NEGATIVE-GUTS Y)))),
which again simplifies, using linear arithmetic, to:
T.
Case 10.3.1.
(IMPLIES (AND (LESSP (NEGATIVE-GUTS Y) Z)
(NOT (NEGATIVEP X))
(NOT (NEGATIVEP Z))
(NEGATIVEP Y)
(LESSP Z (NEGATIVE-GUTS Y))
(NOT (LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) Z))))
(EQUAL (DIFFERENCE X
(DIFFERENCE (NEGATIVE-GUTS Y) Z))
(DIFFERENCE (PLUS X Z)
(NEGATIVE-GUTS Y)))),
which again simplifies, using linear arithmetic, to:
T.
Case 10.2.
(IMPLIES (AND (NOT (NEGATIVEP X))
(NOT (NEGATIVEP Z))
(NEGATIVEP Y)
(LESSP Z (NEGATIVE-GUTS Y))
(NOT (LESSP (PLUS X Z) (NEGATIVE-GUTS Y))))
(NOT (LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) Z)))),
which again simplifies, using linear arithmetic, to:
(IMPLIES (AND (LESSP (NEGATIVE-GUTS Y) Z)
(NOT (NEGATIVEP X))
(NOT (NEGATIVEP Z))
(NEGATIVEP Y)
(LESSP Z (NEGATIVE-GUTS Y))
(NOT (LESSP (PLUS X Z) (NEGATIVE-GUTS Y))))
(NOT (LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) Z)))).
This again simplifies, using linear arithmetic, to:
T.
Case 10.1.
(IMPLIES (AND (NOT (NEGATIVEP X))
(NOT (NEGATIVEP Z))
(NEGATIVEP Y)
(LESSP Z (NEGATIVE-GUTS Y))
(LESSP (PLUS X Z) (NEGATIVE-GUTS Y)))
(LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) Z))),
which again simplifies, using linear arithmetic, to:
T.
Case 9. (IMPLIES (AND (NEGATIVEP X)
(NEGATIVEP Z)
(NOT (NEGATIVEP Y))
(NOT (LESSP Y (NEGATIVE-GUTS Z))))
(EQUAL (ADD X
(DIFFERENCE Y (NEGATIVE-GUTS Z)))
(ADD Y
(MINUS (PLUS (NEGATIVE-GUTS X)
(NEGATIVE-GUTS Z)))))),
which again simplifies, rewriting with the lemmas DIFFERENCE-DIFFERENCE,
COMMUTATIVITY-OF-PLUS, and NEGATIVE-GUTS-MINUS, and opening up the
definition of ADD, to three new conjectures:
Case 9.3.
(IMPLIES (AND (NEGATIVEP X)
(NEGATIVEP Z)
(NOT (NEGATIVEP Y))
(NOT (LESSP Y (NEGATIVE-GUTS Z)))
(LESSP Y
(PLUS (NEGATIVE-GUTS X)
(NEGATIVE-GUTS Z))))
(EQUAL (MINUS (DIFFERENCE (NEGATIVE-GUTS X)
(DIFFERENCE Y (NEGATIVE-GUTS Z))))
(MINUS (DIFFERENCE (PLUS (NEGATIVE-GUTS X)
(NEGATIVE-GUTS Z))
Y)))),
which again simplifies, applying NEGATIVE-GUTS-MINUS and MINUS-EQUAL, to
the new conjecture:
(IMPLIES (AND (NEGATIVEP X)
(NEGATIVEP Z)
(NOT (NEGATIVEP Y))
(NOT (LESSP Y (NEGATIVE-GUTS Z)))
(LESSP Y
(PLUS (NEGATIVE-GUTS X)
(NEGATIVE-GUTS Z))))
(EQUAL (DIFFERENCE (NEGATIVE-GUTS X)
(DIFFERENCE Y (NEGATIVE-GUTS Z)))
(DIFFERENCE (PLUS (NEGATIVE-GUTS X)
(NEGATIVE-GUTS Z))
Y))),
which again simplifies, using linear arithmetic, to two new formulas:
Case 9.3.2.
(IMPLIES (AND (LESSP (NEGATIVE-GUTS X)
(DIFFERENCE Y (NEGATIVE-GUTS Z)))
(NEGATIVEP X)
(NEGATIVEP Z)
(NOT (NEGATIVEP Y))
(NOT (LESSP Y (NEGATIVE-GUTS Z)))
(LESSP Y
(PLUS (NEGATIVE-GUTS X)
(NEGATIVE-GUTS Z))))
(EQUAL (DIFFERENCE (NEGATIVE-GUTS X)
(DIFFERENCE Y (NEGATIVE-GUTS Z)))
(DIFFERENCE (PLUS (NEGATIVE-GUTS X)
(NEGATIVE-GUTS Z))
Y))),
which again simplifies, using linear arithmetic, to:
T.
Case 9.3.1.
(IMPLIES (AND (LESSP (PLUS (NEGATIVE-GUTS X)
(NEGATIVE-GUTS Z))
Y)
(NEGATIVEP X)
(NEGATIVEP Z)
(NOT (NEGATIVEP Y))
(NOT (LESSP Y (NEGATIVE-GUTS Z)))
(LESSP Y
(PLUS (NEGATIVE-GUTS X)
(NEGATIVE-GUTS Z))))
(EQUAL (DIFFERENCE (NEGATIVE-GUTS X)
(DIFFERENCE Y (NEGATIVE-GUTS Z)))
(DIFFERENCE (PLUS (NEGATIVE-GUTS X)
(NEGATIVE-GUTS Z))
Y))),
which again simplifies, using linear arithmetic, to:
T.
Case 9.2.
(IMPLIES (AND (NEGATIVEP X)
(NEGATIVEP Z)
(NOT (NEGATIVEP Y))
(NOT (LESSP Y (NEGATIVE-GUTS Z)))
(NOT (LESSP Y
(PLUS (NEGATIVE-GUTS X)
(NEGATIVE-GUTS Z)))))
(NOT (LESSP (DIFFERENCE Y (NEGATIVE-GUTS Z))
(NEGATIVE-GUTS X)))),
which again simplifies, using linear arithmetic, to:
T.
Case 9.1.
(IMPLIES (AND (NEGATIVEP X)
(NEGATIVEP Z)
(NOT (NEGATIVEP Y))
(NOT (LESSP Y (NEGATIVE-GUTS Z)))
(LESSP Y
(PLUS (NEGATIVE-GUTS X)
(NEGATIVE-GUTS Z))))
(LESSP (DIFFERENCE Y (NEGATIVE-GUTS Z))
(NEGATIVE-GUTS X))),
which again simplifies, using linear arithmetic, to:
T.
Case 8. (IMPLIES (AND (NEGATIVEP X)
(NEGATIVEP Z)
(NOT (NEGATIVEP Y))
(LESSP Y (NEGATIVE-GUTS Z)))
(EQUAL (ADD X
(MINUS (DIFFERENCE (NEGATIVE-GUTS Z) Y)))
(ADD Y
(MINUS (PLUS (NEGATIVE-GUTS X)
(NEGATIVE-GUTS Z)))))),
which again simplifies, using linear arithmetic, applying
NEGATIVE-GUTS-MINUS, PLUS-EQUAL-0, and PATHOLOGICAL-DIFFERENCE, and
unfolding the definitions of ADD and DIFFERENCE, to the following two new
conjectures:
Case 8.2.
(IMPLIES (AND (NEGATIVEP X)
(NEGATIVEP Z)
(NOT (NEGATIVEP Y))
(LESSP Y (NEGATIVE-GUTS Z)))
(EQUAL (MINUS (PLUS (NEGATIVE-GUTS X)
(DIFFERENCE (NEGATIVE-GUTS Z) Y)))
(MINUS (DIFFERENCE (PLUS (NEGATIVE-GUTS X)
(NEGATIVE-GUTS Z))
Y)))).
This again simplifies, applying NEGATIVE-GUTS-MINUS and MINUS-EQUAL, to
the new goal:
(IMPLIES (AND (NEGATIVEP X)
(NEGATIVEP Z)
(NOT (NEGATIVEP Y))
(LESSP Y (NEGATIVE-GUTS Z)))
(EQUAL (PLUS (NEGATIVE-GUTS X)
(DIFFERENCE (NEGATIVE-GUTS Z) Y))
(DIFFERENCE (PLUS (NEGATIVE-GUTS X)
(NEGATIVE-GUTS Z))
Y))),
which again simplifies, using linear arithmetic, to two new conjectures:
Case 8.2.2.
(IMPLIES (AND (LESSP (NEGATIVE-GUTS Z) Y)
(NEGATIVEP X)
(NEGATIVEP Z)
(NOT (NEGATIVEP Y))
(LESSP Y (NEGATIVE-GUTS Z)))
(EQUAL (PLUS (NEGATIVE-GUTS X)
(DIFFERENCE (NEGATIVE-GUTS Z) Y))
(DIFFERENCE (PLUS (NEGATIVE-GUTS X)
(NEGATIVE-GUTS Z))
Y))),
which again simplifies, using linear arithmetic, to:
T.
Case 8.2.1.
(IMPLIES (AND (LESSP (PLUS (NEGATIVE-GUTS X)
(NEGATIVE-GUTS Z))
Y)
(NEGATIVEP X)
(NEGATIVEP Z)
(NOT (NEGATIVEP Y))
(LESSP Y (NEGATIVE-GUTS Z)))
(EQUAL (PLUS (NEGATIVE-GUTS X)
(DIFFERENCE (NEGATIVE-GUTS Z) Y))
(DIFFERENCE (PLUS (NEGATIVE-GUTS X)
(NEGATIVE-GUTS Z))
Y))),
which again simplifies, using linear arithmetic, to:
T.
Case 8.1.
(IMPLIES (AND (NEGATIVEP X)
(NEGATIVEP Z)
(NOT (NEGATIVEP Y))
(LESSP Y (NEGATIVE-GUTS Z)))
(LESSP Y
(PLUS (NEGATIVE-GUTS X)
(NEGATIVE-GUTS Z)))),
which again simplifies, using linear arithmetic, to:
T.
Case 7. (IMPLIES (AND (NEGATIVEP X)
(NEGATIVEP Z)
(NEGATIVEP Y))
(EQUAL (ADD X
(MINUS (PLUS (NEGATIVE-GUTS Y)
(NEGATIVE-GUTS Z))))
(ADD Y
(MINUS (PLUS (NEGATIVE-GUTS X)
(NEGATIVE-GUTS Z)))))),
which again simplifies, applying NEGATIVE-GUTS-MINUS and
COMMUTATIVITY2-OF-PLUS, and expanding ADD, to:
T.
Case 6. (IMPLIES (AND (NEGATIVEP X)
(NOT (NEGATIVEP Z))
(NOT (LESSP Z (NEGATIVE-GUTS X)))
(NOT (NEGATIVEP Y)))
(EQUAL (ADD X (PLUS Y Z))
(ADD Y
(DIFFERENCE Z (NEGATIVE-GUTS X))))).
However this again simplifies, unfolding the definition of ADD, to two new
goals:
Case 6.2.
(IMPLIES (AND (NEGATIVEP X)
(NOT (NEGATIVEP Z))
(NOT (LESSP Z (NEGATIVE-GUTS X)))
(NOT (NEGATIVEP Y)))
(EQUAL (DIFFERENCE (PLUS Y Z)
(NEGATIVE-GUTS X))
(PLUS Y
(DIFFERENCE Z (NEGATIVE-GUTS X))))),
which again simplifies, using linear arithmetic, to:
(IMPLIES (AND (LESSP (PLUS Y Z) (NEGATIVE-GUTS X))
(NEGATIVEP X)
(NOT (NEGATIVEP Z))
(NOT (LESSP Z (NEGATIVE-GUTS X)))
(NOT (NEGATIVEP Y)))
(EQUAL (DIFFERENCE (PLUS Y Z)
(NEGATIVE-GUTS X))
(PLUS Y
(DIFFERENCE Z (NEGATIVE-GUTS X))))).
But this again simplifies, using linear arithmetic, to:
T.
Case 6.1.
(IMPLIES (AND (NEGATIVEP X)
(NOT (NEGATIVEP Z))
(NOT (LESSP Z (NEGATIVE-GUTS X)))
(NOT (NEGATIVEP Y)))
(NOT (LESSP (PLUS Y Z)
(NEGATIVE-GUTS X)))),
which again simplifies, using linear arithmetic, to:
T.
Case 5. (IMPLIES (AND (NEGATIVEP X)
(NOT (NEGATIVEP Z))
(NOT (LESSP Z (NEGATIVE-GUTS X)))
(NEGATIVEP Y)
(NOT (LESSP Z (NEGATIVE-GUTS Y))))
(EQUAL (ADD X
(DIFFERENCE Z (NEGATIVE-GUTS Y)))
(ADD Y
(DIFFERENCE Z (NEGATIVE-GUTS X))))),
which again simplifies, applying DIFFERENCE-DIFFERENCE and
COMMUTATIVITY-OF-PLUS, and unfolding ADD, to the following three new goals:
Case 5.3.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (NEGATIVEP Z))
(NOT (LESSP Z (NEGATIVE-GUTS X)))
(NEGATIVEP Y)
(NOT (LESSP Z (NEGATIVE-GUTS Y)))
(LESSP (DIFFERENCE Z (NEGATIVE-GUTS X))
(NEGATIVE-GUTS Y)))
(EQUAL (MINUS (DIFFERENCE (NEGATIVE-GUTS X)
(DIFFERENCE Z (NEGATIVE-GUTS Y))))
(MINUS (DIFFERENCE (NEGATIVE-GUTS Y)
(DIFFERENCE Z (NEGATIVE-GUTS X)))))).
However this again simplifies, applying NEGATIVE-GUTS-MINUS and
MINUS-EQUAL, to:
(IMPLIES (AND (NEGATIVEP X)
(NOT (NEGATIVEP Z))
(NOT (LESSP Z (NEGATIVE-GUTS X)))
(NEGATIVEP Y)
(NOT (LESSP Z (NEGATIVE-GUTS Y)))
(LESSP (DIFFERENCE Z (NEGATIVE-GUTS X))
(NEGATIVE-GUTS Y)))
(EQUAL (DIFFERENCE (NEGATIVE-GUTS X)
(DIFFERENCE Z (NEGATIVE-GUTS Y)))
(DIFFERENCE (NEGATIVE-GUTS Y)
(DIFFERENCE Z (NEGATIVE-GUTS X))))),
which again simplifies, using linear arithmetic, to two new conjectures:
Case 5.3.2.
(IMPLIES (AND (LESSP (NEGATIVE-GUTS X)
(DIFFERENCE Z (NEGATIVE-GUTS Y)))
(NEGATIVEP X)
(NOT (NEGATIVEP Z))
(NOT (LESSP Z (NEGATIVE-GUTS X)))
(NEGATIVEP Y)
(NOT (LESSP Z (NEGATIVE-GUTS Y)))
(LESSP (DIFFERENCE Z (NEGATIVE-GUTS X))
(NEGATIVE-GUTS Y)))
(EQUAL (DIFFERENCE (NEGATIVE-GUTS X)
(DIFFERENCE Z (NEGATIVE-GUTS Y)))
(DIFFERENCE (NEGATIVE-GUTS Y)
(DIFFERENCE Z (NEGATIVE-GUTS X))))),
which again simplifies, using linear arithmetic, to:
T.
Case 5.3.1.
(IMPLIES (AND (LESSP (NEGATIVE-GUTS Y)
(DIFFERENCE Z (NEGATIVE-GUTS X)))
(NEGATIVEP X)
(NOT (NEGATIVEP Z))
(NOT (LESSP Z (NEGATIVE-GUTS X)))
(NEGATIVEP Y)
(NOT (LESSP Z (NEGATIVE-GUTS Y)))
(LESSP (DIFFERENCE Z (NEGATIVE-GUTS X))
(NEGATIVE-GUTS Y)))
(EQUAL (DIFFERENCE (NEGATIVE-GUTS X)
(DIFFERENCE Z (NEGATIVE-GUTS Y)))
(DIFFERENCE (NEGATIVE-GUTS Y)
(DIFFERENCE Z (NEGATIVE-GUTS X))))),
which again simplifies, using linear arithmetic, to:
T.
Case 5.2.
(IMPLIES (AND (NEGATIVEP X)
(NOT (NEGATIVEP Z))
(NOT (LESSP Z (NEGATIVE-GUTS X)))
(NEGATIVEP Y)
(NOT (LESSP Z (NEGATIVE-GUTS Y)))
(NOT (LESSP (DIFFERENCE Z (NEGATIVE-GUTS X))
(NEGATIVE-GUTS Y))))
(NOT (LESSP (DIFFERENCE Z (NEGATIVE-GUTS Y))
(NEGATIVE-GUTS X)))),
which again simplifies, using linear arithmetic, to:
T.
Case 5.1.
(IMPLIES (AND (NEGATIVEP X)
(NOT (NEGATIVEP Z))
(NOT (LESSP Z (NEGATIVE-GUTS X)))
(NEGATIVEP Y)
(NOT (LESSP Z (NEGATIVE-GUTS Y)))
(LESSP (DIFFERENCE Z (NEGATIVE-GUTS X))
(NEGATIVE-GUTS Y)))
(LESSP (DIFFERENCE Z (NEGATIVE-GUTS Y))
(NEGATIVE-GUTS X))),
which again simplifies, using linear arithmetic, to:
T.
Case 4. (IMPLIES (AND (NEGATIVEP X)
(NOT (NEGATIVEP Z))
(NOT (LESSP Z (NEGATIVE-GUTS X)))
(NEGATIVEP Y)
(LESSP Z (NEGATIVE-GUTS Y)))
(EQUAL (ADD X
(MINUS (DIFFERENCE (NEGATIVE-GUTS Y) Z)))
(ADD Y
(DIFFERENCE Z (NEGATIVE-GUTS X))))),
which again simplifies, using linear arithmetic, rewriting with
NEGATIVE-GUTS-MINUS, DIFFERENCE-DIFFERENCE, and PATHOLOGICAL-DIFFERENCE, and
expanding the definition of ADD, to the following two new goals:
Case 4.2.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (NEGATIVEP Z))
(NOT (LESSP Z (NEGATIVE-GUTS X)))
(NEGATIVEP Y)
(LESSP Z (NEGATIVE-GUTS Y)))
(EQUAL (MINUS (PLUS (NEGATIVE-GUTS X)
(DIFFERENCE (NEGATIVE-GUTS Y) Z)))
(MINUS (DIFFERENCE (NEGATIVE-GUTS Y)
(DIFFERENCE Z (NEGATIVE-GUTS X)))))).
But this again simplifies, rewriting with NEGATIVE-GUTS-MINUS and
MINUS-EQUAL, to:
(IMPLIES (AND (NEGATIVEP X)
(NOT (NEGATIVEP Z))
(NOT (LESSP Z (NEGATIVE-GUTS X)))
(NEGATIVEP Y)
(LESSP Z (NEGATIVE-GUTS Y)))
(EQUAL (PLUS (NEGATIVE-GUTS X)
(DIFFERENCE (NEGATIVE-GUTS Y) Z))
(DIFFERENCE (NEGATIVE-GUTS Y)
(DIFFERENCE Z (NEGATIVE-GUTS X))))),
which again simplifies, using linear arithmetic, to two new goals:
Case 4.2.2.
(IMPLIES (AND (LESSP (NEGATIVE-GUTS Y) Z)
(NEGATIVEP X)
(NOT (NEGATIVEP Z))
(NOT (LESSP Z (NEGATIVE-GUTS X)))
(NEGATIVEP Y)
(LESSP Z (NEGATIVE-GUTS Y)))
(EQUAL (PLUS (NEGATIVE-GUTS X)
(DIFFERENCE (NEGATIVE-GUTS Y) Z))
(DIFFERENCE (NEGATIVE-GUTS Y)
(DIFFERENCE Z (NEGATIVE-GUTS X))))),
which again simplifies, using linear arithmetic, to:
T.
Case 4.2.1.
(IMPLIES (AND (LESSP (NEGATIVE-GUTS Y)
(DIFFERENCE Z (NEGATIVE-GUTS X)))
(NEGATIVEP X)
(NOT (NEGATIVEP Z))
(NOT (LESSP Z (NEGATIVE-GUTS X)))
(NEGATIVEP Y)
(LESSP Z (NEGATIVE-GUTS Y)))
(EQUAL (PLUS (NEGATIVE-GUTS X)
(DIFFERENCE (NEGATIVE-GUTS Y) Z))
(DIFFERENCE (NEGATIVE-GUTS Y)
(DIFFERENCE Z (NEGATIVE-GUTS X))))),
which again simplifies, using linear arithmetic, to:
T.
Case 4.1.
(IMPLIES (AND (NEGATIVEP X)
(NOT (NEGATIVEP Z))
(NOT (LESSP Z (NEGATIVE-GUTS X)))
(NEGATIVEP Y)
(LESSP Z (NEGATIVE-GUTS Y)))
(LESSP (DIFFERENCE Z (NEGATIVE-GUTS X))
(NEGATIVE-GUTS Y))),
which again simplifies, using linear arithmetic, to:
T.
Case 3. (IMPLIES (AND (NEGATIVEP X)
(NOT (NEGATIVEP Z))
(LESSP Z (NEGATIVE-GUTS X))
(NOT (NEGATIVEP Y)))
(EQUAL (ADD X (PLUS Y Z))
(ADD Y
(MINUS (DIFFERENCE (NEGATIVE-GUTS X) Z))))),
which again simplifies, rewriting with DIFFERENCE-DIFFERENCE,
COMMUTATIVITY-OF-PLUS, and NEGATIVE-GUTS-MINUS, and unfolding the definition
of ADD, to the following three new conjectures:
Case 3.3.
(IMPLIES (AND (NEGATIVEP X)
(NOT (NEGATIVEP Z))
(LESSP Z (NEGATIVE-GUTS X))
(NOT (NEGATIVEP Y))
(NOT (LESSP (PLUS Y Z) (NEGATIVE-GUTS X))))
(EQUAL (DIFFERENCE (PLUS Y Z)
(NEGATIVE-GUTS X))
(DIFFERENCE Y
(DIFFERENCE (NEGATIVE-GUTS X) Z)))).
However this again simplifies, using linear arithmetic, to two new
formulas:
Case 3.3.2.
(IMPLIES (AND (LESSP (NEGATIVE-GUTS X) Z)
(NEGATIVEP X)
(NOT (NEGATIVEP Z))
(LESSP Z (NEGATIVE-GUTS X))
(NOT (NEGATIVEP Y))
(NOT (LESSP (PLUS Y Z) (NEGATIVE-GUTS X))))
(EQUAL (DIFFERENCE (PLUS Y Z)
(NEGATIVE-GUTS X))
(DIFFERENCE Y
(DIFFERENCE (NEGATIVE-GUTS X) Z)))),
which again simplifies, using linear arithmetic, to:
T.
Case 3.3.1.
(IMPLIES (AND (LESSP Y
(DIFFERENCE (NEGATIVE-GUTS X) Z))
(NEGATIVEP X)
(NOT (NEGATIVEP Z))
(LESSP Z (NEGATIVE-GUTS X))
(NOT (NEGATIVEP Y))
(NOT (LESSP (PLUS Y Z) (NEGATIVE-GUTS X))))
(EQUAL (DIFFERENCE (PLUS Y Z)
(NEGATIVE-GUTS X))
(DIFFERENCE Y
(DIFFERENCE (NEGATIVE-GUTS X) Z)))),
which again simplifies, using linear arithmetic, to:
(IMPLIES (AND (LESSP (NEGATIVE-GUTS X) Z)
(LESSP Y
(DIFFERENCE (NEGATIVE-GUTS X) Z))
(NEGATIVEP X)
(NOT (NEGATIVEP Z))
(LESSP Z (NEGATIVE-GUTS X))
(NOT (NEGATIVEP Y))
(NOT (LESSP (PLUS Y Z) (NEGATIVE-GUTS X))))
(EQUAL (DIFFERENCE (PLUS Y Z)
(NEGATIVE-GUTS X))
(DIFFERENCE Y
(DIFFERENCE (NEGATIVE-GUTS X) Z)))).
However this again simplifies, using linear arithmetic, to:
T.
Case 3.2.
(IMPLIES (AND (NEGATIVEP X)
(NOT (NEGATIVEP Z))
(LESSP Z (NEGATIVE-GUTS X))
(NOT (NEGATIVEP Y))
(NOT (LESSP Y
(DIFFERENCE (NEGATIVE-GUTS X) Z))))
(NOT (LESSP (PLUS Y Z)
(NEGATIVE-GUTS X)))),
which again simplifies, using linear arithmetic, to:
T.
Case 3.1.
(IMPLIES (AND (NEGATIVEP X)
(NOT (NEGATIVEP Z))
(LESSP Z (NEGATIVE-GUTS X))
(NOT (NEGATIVEP Y))
(LESSP Y
(DIFFERENCE (NEGATIVE-GUTS X) Z)))
(LESSP (PLUS Y Z) (NEGATIVE-GUTS X))),
which again simplifies, using linear arithmetic, to the formula:
(IMPLIES (AND (LESSP (NEGATIVE-GUTS X) Z)
(NEGATIVEP X)
(NOT (NEGATIVEP Z))
(LESSP Z (NEGATIVE-GUTS X))
(NOT (NEGATIVEP Y))
(LESSP Y
(DIFFERENCE (NEGATIVE-GUTS X) Z)))
(LESSP (PLUS Y Z) (NEGATIVE-GUTS X))).
However this again simplifies, using linear arithmetic, to:
T.
Case 2. (IMPLIES (AND (NEGATIVEP X)
(NOT (NEGATIVEP Z))
(LESSP Z (NEGATIVE-GUTS X))
(NEGATIVEP Y)
(NOT (LESSP Z (NEGATIVE-GUTS Y))))
(EQUAL (ADD X
(DIFFERENCE Z (NEGATIVE-GUTS Y)))
(ADD Y
(MINUS (DIFFERENCE (NEGATIVE-GUTS X) Z))))),
which again simplifies, using linear arithmetic, rewriting with
DIFFERENCE-DIFFERENCE, PATHOLOGICAL-DIFFERENCE, COMMUTATIVITY-OF-PLUS, and
NEGATIVE-GUTS-MINUS, and unfolding the function ADD, to the following two
new conjectures:
Case 2.2.
(IMPLIES (AND (NEGATIVEP X)
(NOT (NEGATIVEP Z))
(LESSP Z (NEGATIVE-GUTS X))
(NEGATIVEP Y)
(NOT (LESSP Z (NEGATIVE-GUTS Y))))
(EQUAL (MINUS (DIFFERENCE (NEGATIVE-GUTS X)
(DIFFERENCE Z (NEGATIVE-GUTS Y))))
(MINUS (PLUS (NEGATIVE-GUTS Y)
(DIFFERENCE (NEGATIVE-GUTS X) Z))))).
This again simplifies, rewriting with NEGATIVE-GUTS-MINUS and MINUS-EQUAL,
to:
(IMPLIES (AND (NEGATIVEP X)
(NOT (NEGATIVEP Z))
(LESSP Z (NEGATIVE-GUTS X))
(NEGATIVEP Y)
(NOT (LESSP Z (NEGATIVE-GUTS Y))))
(EQUAL (DIFFERENCE (NEGATIVE-GUTS X)
(DIFFERENCE Z (NEGATIVE-GUTS Y)))
(PLUS (NEGATIVE-GUTS Y)
(DIFFERENCE (NEGATIVE-GUTS X) Z)))),
which again simplifies, using linear arithmetic, to two new conjectures:
Case 2.2.2.
(IMPLIES (AND (LESSP (NEGATIVE-GUTS X)
(DIFFERENCE Z (NEGATIVE-GUTS Y)))
(NEGATIVEP X)
(NOT (NEGATIVEP Z))
(LESSP Z (NEGATIVE-GUTS X))
(NEGATIVEP Y)
(NOT (LESSP Z (NEGATIVE-GUTS Y))))
(EQUAL (DIFFERENCE (NEGATIVE-GUTS X)
(DIFFERENCE Z (NEGATIVE-GUTS Y)))
(PLUS (NEGATIVE-GUTS Y)
(DIFFERENCE (NEGATIVE-GUTS X) Z)))),
which again simplifies, using linear arithmetic, to:
T.
Case 2.2.1.
(IMPLIES (AND (LESSP (NEGATIVE-GUTS X) Z)
(NEGATIVEP X)
(NOT (NEGATIVEP Z))
(LESSP Z (NEGATIVE-GUTS X))
(NEGATIVEP Y)
(NOT (LESSP Z (NEGATIVE-GUTS Y))))
(EQUAL (DIFFERENCE (NEGATIVE-GUTS X)
(DIFFERENCE Z (NEGATIVE-GUTS Y)))
(PLUS (NEGATIVE-GUTS Y)
(DIFFERENCE (NEGATIVE-GUTS X) Z)))),
which again simplifies, using linear arithmetic, to:
T.
Case 2.1.
(IMPLIES (AND (NEGATIVEP X)
(NOT (NEGATIVEP Z))
(LESSP Z (NEGATIVE-GUTS X))
(NEGATIVEP Y)
(NOT (LESSP Z (NEGATIVE-GUTS Y))))
(LESSP (DIFFERENCE Z (NEGATIVE-GUTS Y))
(NEGATIVE-GUTS X))),
which again simplifies, using linear arithmetic, to:
T.
Case 1. (IMPLIES (AND (NEGATIVEP X)
(NOT (NEGATIVEP Z))
(LESSP Z (NEGATIVE-GUTS X))
(NEGATIVEP Y)
(LESSP Z (NEGATIVE-GUTS Y)))
(EQUAL (ADD X
(MINUS (DIFFERENCE (NEGATIVE-GUTS Y) Z)))
(ADD Y
(MINUS (DIFFERENCE (NEGATIVE-GUTS X) Z))))),
which again simplifies, rewriting with the lemmas NEGATIVE-GUTS-MINUS and
MINUS-EQUAL, and unfolding ADD, to:
(IMPLIES (AND (NEGATIVEP X)
(NOT (NEGATIVEP Z))
(LESSP Z (NEGATIVE-GUTS X))
(NEGATIVEP Y)
(LESSP Z (NEGATIVE-GUTS Y)))
(EQUAL (PLUS (NEGATIVE-GUTS X)
(DIFFERENCE (NEGATIVE-GUTS Y) Z))
(PLUS (NEGATIVE-GUTS Y)
(DIFFERENCE (NEGATIVE-GUTS X) Z)))).
This again simplifies, using linear arithmetic, to two new conjectures:
Case 1.2.
(IMPLIES (AND (LESSP (NEGATIVE-GUTS Y) Z)
(NEGATIVEP X)
(NOT (NEGATIVEP Z))
(LESSP Z (NEGATIVE-GUTS X))
(NEGATIVEP Y)
(LESSP Z (NEGATIVE-GUTS Y)))
(EQUAL (PLUS (NEGATIVE-GUTS X)
(DIFFERENCE (NEGATIVE-GUTS Y) Z))
(PLUS (NEGATIVE-GUTS Y)
(DIFFERENCE (NEGATIVE-GUTS X) Z)))),
which again simplifies, using linear arithmetic, to:
T.
Case 1.1.
(IMPLIES (AND (LESSP (NEGATIVE-GUTS X) Z)
(NEGATIVEP X)
(NOT (NEGATIVEP Z))
(LESSP Z (NEGATIVE-GUTS X))
(NEGATIVEP Y)
(LESSP Z (NEGATIVE-GUTS Y)))
(EQUAL (PLUS (NEGATIVE-GUTS X)
(DIFFERENCE (NEGATIVE-GUTS Y) Z))
(PLUS (NEGATIVE-GUTS Y)
(DIFFERENCE (NEGATIVE-GUTS X) Z)))),
which again simplifies, using linear arithmetic, to:
T.
Q.E.D.
[ 0.0 0.3 0.1 ]
COMMUTATIVITY2-OF-ADD
(PROVE-LEMMA COMMUTATIVITY-OF-ADD
(REWRITE)
(EQUAL (ADD X Y) (ADD Y X)))
WARNING: Note that the rewrite rule COMMUTATIVITY-OF-ADD will be stored so as
to apply only to terms with the nonrecursive function symbol ADD.
WARNING: the newly proposed lemma, COMMUTATIVITY-OF-ADD, could be applied
whenever the previously added lemma COMMUTATIVITY2-OF-ADD could.
This formula simplifies, rewriting with COMMUTATIVITY-OF-PLUS, and expanding
the function ADD, to:
T.
Q.E.D.
[ 0.0 0.0 0.0 ]
COMMUTATIVITY-OF-ADD
(PROVE-LEMMA ASSOCIATIVITY-OF-ADD
(REWRITE)
(EQUAL (ADD (ADD X Y) Z)
(ADD X (ADD Y Z)))
((DISABLE ADD)))
WARNING: Note that the rewrite rule ASSOCIATIVITY-OF-ADD will be stored so as
to apply only to terms with the nonrecursive function symbol ADD.
WARNING: the previously added lemma, COMMUTATIVITY-OF-ADD, could be applied
whenever the newly proposed ASSOCIATIVITY-OF-ADD could!
This simplifies, rewriting with COMMUTATIVITY-OF-ADD and COMMUTATIVITY2-OF-ADD,
to:
T.
Q.E.D.
[ 0.0 0.0 0.0 ]
ASSOCIATIVITY-OF-ADD
(PROVE-LEMMA ADD-WITH-CARRY-OF-NEGATIVES-IS-NEGATIVE NIL
(IMPLIES (AND (TCP X)
(TCP Y)
(NEGATIVEP X)
(NEGATIVEP Y))
(NEGATIVEP (ADD X (ADD Y (CARRY C))))))
This conjecture simplifies, opening up TCP and CARRY, to two new goals:
Case 2. (IMPLIES (AND (NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NEGATIVEP X)
(NEGATIVEP Y)
(NOT C))
(NEGATIVEP (ADD X (ADD Y 0)))),
which again simplifies, applying MINUS-NEGATIVE-GUTS and
COMMUTATIVITY-OF-ADD, and opening up DIFFERENCE, LESSP, EQUAL, NEGATIVEP,
and ADD, to:
T.
Case 1. (IMPLIES (AND (NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NEGATIVEP X)
(NEGATIVEP Y)
C)
(NEGATIVEP (ADD X (ADD Y 1)))).
But this again simplifies, rewriting with COMMUTATIVITY-OF-ADD, and opening
up the functions NEGATIVEP and ADD, to the following two new formulas:
Case 1.2.
(IMPLIES (AND (NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NEGATIVEP X)
(NEGATIVEP Y)
C
(NOT (LESSP 1 (NEGATIVE-GUTS Y))))
(NEGATIVEP (ADD X
(DIFFERENCE 1 (NEGATIVE-GUTS Y))))).
However this again simplifies, using linear arithmetic, to:
(IMPLIES (AND (EQUAL (NEGATIVE-GUTS Y) 1)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NOT (EQUAL 1 0))
(NEGATIVEP X)
(NEGATIVEP Y)
C
(NOT (LESSP 1 1)))
(NEGATIVEP (ADD X (DIFFERENCE 1 1)))).
This again simplifies, rewriting with MINUS-NEGATIVE-GUTS and
COMMUTATIVITY-OF-ADD, and unfolding the functions EQUAL, LESSP, DIFFERENCE,
NEGATIVEP, and ADD, to:
T.
Case 1.1.
(IMPLIES (AND (NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NEGATIVEP X)
(NEGATIVEP Y)
C
(LESSP 1 (NEGATIVE-GUTS Y)))
(NEGATIVEP (ADD X
(MINUS (DIFFERENCE (NEGATIVE-GUTS Y) 1))))).
But this again simplifies, applying NEGATIVE-GUTS-MINUS, and unfolding the
function ADD, to:
T.
Q.E.D.
[ 0.0 0.0 0.0 ]
ADD-WITH-CARRY-OF-NEGATIVES-IS-NEGATIVE
(PROVE-LEMMA ADD-WITH-CARRY-OF-NON-NEGATIVES-IS-NON-NEGATIVE NIL
(IMPLIES (AND (TCP X)
(TCP Y)
(NOT (NEGATIVEP X))
(NOT (NEGATIVEP Y)))
(NOT (NEGATIVEP (ADD X (ADD Y (CARRY C)))))))
This conjecture simplifies, opening up TCP, CARRY, and ADD, to:
T.
Q.E.D.
[ 0.0 0.0 0.0 ]
ADD-WITH-CARRY-OF-NON-NEGATIVES-IS-NON-NEGATIVE
(PROVE-LEMMA OVERFLOW-LEMMA1
(REWRITE)
(IMPLIES (AND (TCP X)
(TCP Y)
(TC-IN-RANGEP X N)
(TC-IN-RANGEP Y N)
(NEGATIVEP (ADD X (ADD Y (CARRY C)))))
(NOT (NEGATIVEP (ADD X
(ADD Y (ADD (CARRY C) (EXP 2 N))))))))
This formula can be simplified, using the abbreviations NOT, TC-IN-RANGEP, AND,
and IMPLIES, to:
(IMPLIES (AND (TCP X)
(TCP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(IF (NEGATIVEP X)
(IF (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X))
F T)
(LESSP X (EXP 2 (SUB1 N))))
(IF (NEGATIVEP Y)
(IF (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y))
F T)
(LESSP Y (EXP 2 (SUB1 N))))
(NEGATIVEP (ADD X (ADD Y (CARRY C)))))
(NOT (NEGATIVEP (ADD X
(ADD Y (ADD (CARRY C) (EXP 2 N))))))),
which simplifies, rewriting with PLUS-1, SUB1-ADD1, and PLUS-ADD1, and opening
up TCP, CARRY, ADD, EXP, PLUS, EQUAL, NEGATIVEP, DIFFERENCE, and LESSP, to the
following ten new formulas:
Case 10.(IMPLIES (AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
(NOT C)
(NEGATIVEP (ADD X (ADD Y 0)))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y))))
(NOT (NEGATIVEP (ADD X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))))).
However this again simplifies, applying the lemmas MINUS-NEGATIVE-GUTS and
COMMUTATIVITY-OF-ADD, and expanding DIFFERENCE, LESSP, EQUAL, NEGATIVEP, and
ADD, to:
T.
Case 9. (IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
(NOT C)
(NEGATIVEP (ADD X (ADD Y 0)))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(NOT
(NEGATIVEP (ADD X
(MINUS (DIFFERENCE (NEGATIVE-GUTS Y)
(TIMES 2 (EXP 2 (SUB1 N))))))))),
which again simplifies, using linear arithmetic, to:
T.
Case 8. (IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(NEGATIVEP (ADD X (ADD Y 1)))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y)))))
(NOT (NEGATIVEP (ADD X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y))))))),
which again simplifies, appealing to the lemma COMMUTATIVITY-OF-ADD, and
expanding the definitions of NEGATIVEP and ADD, to:
T.
Case 7. (IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(NEGATIVEP (ADD X (ADD Y 1)))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y))))
(NOT
(NEGATIVEP (ADD X
(MINUS (DIFFERENCE (SUB1 (NEGATIVE-GUTS Y))
(TIMES 2 (EXP 2 (SUB1 N))))))))),
which again simplifies, using linear arithmetic, to:
T.
Case 6. (IMPLIES (AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
(NOT C)
(NEGATIVEP (ADD X (PLUS Y 0))))
(NOT (LESSP (PLUS Y (TIMES 2 (EXP 2 (SUB1 N))))
(NEGATIVE-GUTS X)))),
which again simplifies, using linear arithmetic, to:
T.
Case 5. (IMPLIES (AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(NEGATIVEP (ADD X (PLUS Y 1))))
(NOT (LESSP (PLUS Y (TIMES 2 (EXP 2 (SUB1 N))))
(SUB1 (NEGATIVE-GUTS X))))),
which again simplifies, using linear arithmetic, to:
T.
Case 4. (IMPLIES (AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
(NOT C)
(NEGATIVEP (ADD X (ADD Y 0)))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y))))
(NOT (NEGATIVEP (ADD X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))))),
which again simplifies, rewriting with MINUS-NEGATIVE-GUTS,
COMMUTATIVITY-OF-ADD, DIFFERENCE-DIFFERENCE, and COMMUTATIVITY-OF-PLUS, and
expanding the definitions of DIFFERENCE, LESSP, EQUAL, NEGATIVEP, and ADD,
to the new goal:
(IMPLIES (AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y))))
(NOT (LESSP (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y))
(NEGATIVE-GUTS X)))),
which again simplifies, using linear arithmetic, to:
T.
Case 3. (IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
(NOT C)
(NEGATIVEP (ADD X (ADD Y 0)))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(NOT
(NEGATIVEP (ADD X
(MINUS (DIFFERENCE (NEGATIVE-GUTS Y)
(TIMES 2 (EXP 2 (SUB1 N))))))))),
which again simplifies, using linear arithmetic, to:
T.
Case 2. (IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(NEGATIVEP (ADD X (ADD Y 1)))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y)))))
(NOT (NEGATIVEP (ADD X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y))))))),
which again simplifies, using linear arithmetic, rewriting with
COMMUTATIVITY-OF-ADD, DIFFERENCE-DIFFERENCE, COMMUTATIVITY-OF-PLUS, and
PATHOLOGICAL-DIFFERENCE, and unfolding the functions NEGATIVEP, ADD, and
MINUS, to the following two new conjectures:
Case 2.2.
(IMPLIES (AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(NOT (LESSP 1 (NEGATIVE-GUTS Y)))
(NEGATIVEP (ADD X
(DIFFERENCE 1 (NEGATIVE-GUTS Y))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y)))))
(NOT (LESSP (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y)))
(NEGATIVE-GUTS X)))).
But this again simplifies, using linear arithmetic, to:
T.
Case 2.1.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(NEGATIVEP (ADD X
(MINUS (DIFFERENCE (NEGATIVE-GUTS Y) 1))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y)))))
(NOT (LESSP (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y)))
(NEGATIVE-GUTS X)))),
which again simplifies, using linear arithmetic, to:
T.
Case 1. (IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(NEGATIVEP (ADD X (ADD Y 1)))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y))))
(NOT
(NEGATIVEP (ADD X
(MINUS (DIFFERENCE (SUB1 (NEGATIVE-GUTS Y))
(TIMES 2 (EXP 2 (SUB1 N))))))))),
which again simplifies, using linear arithmetic, to:
T.
Q.E.D.
[ 0.0 0.1 0.0 ]
OVERFLOW-LEMMA1
(PROVE-LEMMA OVERFLOW-LEMMA2
(REWRITE)
(IMPLIES (AND (TCP X)
(TCP Y)
(TC-IN-RANGEP X N)
(TC-IN-RANGEP Y N)
(NOT (NEGATIVEP (ADD X (ADD Y (CARRY C))))))
(NEGATIVEP (ADD X
(ADD Y
(ADD (CARRY C) (MINUS (EXP 2 N))))))))
This formula can be simplified, using the abbreviations NOT, TC-IN-RANGEP, AND,
and IMPLIES, to the new formula:
(IMPLIES (AND (TCP X)
(TCP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(IF (NEGATIVEP X)
(IF (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X))
F T)
(LESSP X (EXP 2 (SUB1 N))))
(IF (NEGATIVEP Y)
(IF (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y))
F T)
(LESSP Y (EXP 2 (SUB1 N))))
(NOT (NEGATIVEP (ADD X (ADD Y (CARRY C))))))
(NEGATIVEP (ADD X
(ADD Y
(ADD (CARRY C) (MINUS (EXP 2 N))))))),
which simplifies, using linear arithmetic, applying PATHOLOGICAL-DIFFERENCE,
EXP-2-NEVER-0, EQUAL-TIMES-0, and NEGATIVE-GUTS-MINUS, and unfolding the
definitions of TCP, CARRY, ADD, EXP, DIFFERENCE, LESSP, EQUAL, NUMBERP,
NEGATIVEP, and SUB1, to the following 17 new conjectures:
Case 17.(IMPLIES
(AND (NUMBERP X)
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(LESSP Y (EXP 2 (SUB1 N)))
(NOT C))
(NEGATIVEP (ADD X
(ADD Y
(ADD 0
(MINUS (TIMES 2 (EXP 2 (SUB1 N))))))))).
However this again simplifies, using linear arithmetic, applying
PATHOLOGICAL-DIFFERENCE, EXP-2-NEVER-0, EQUAL-TIMES-0, and
NEGATIVE-GUTS-MINUS, and unfolding the functions DIFFERENCE, LESSP, EQUAL,
NUMBERP, NEGATIVEP, and ADD, to the following two new conjectures:
Case 17.2.
(IMPLIES (AND (NUMBERP X)
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(LESSP Y (EXP 2 (SUB1 N)))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0)))
(NEGATIVEP (ADD X
(ADD Y
(MINUS (TIMES 2 (EXP 2 (SUB1 N)))))))).
However this again simplifies, using linear arithmetic, appealing to the
lemmas EQUAL-TIMES-0, PATHOLOGICAL-DIFFERENCE, and NEGATIVE-GUTS-MINUS,
and opening up DIFFERENCE, EQUAL, NUMBERP, and ADD, to two new goals:
Case 17.2.2.
(IMPLIES (AND (NUMBERP X)
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(LESSP Y (EXP 2 (SUB1 N)))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(NOT (LESSP Y (TIMES 2 (EXP 2 (SUB1 N))))))
(NEGATIVEP (ADD X 0))),
which again simplifies, using linear arithmetic, to:
T.
Case 17.2.1.
(IMPLIES
(AND (NUMBERP X)
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(LESSP Y (EXP 2 (SUB1 N)))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(LESSP Y (TIMES 2 (EXP 2 (SUB1 N)))))
(NEGATIVEP (ADD X
(MINUS (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
Y))))),
which again simplifies, using linear arithmetic, appealing to the lemmas
PATHOLOGICAL-DIFFERENCE, DIFFERENCE-DIFFERENCE, COMMUTATIVITY-OF-PLUS,
and NEGATIVE-GUTS-MINUS, and expanding DIFFERENCE and ADD, to the goal:
(IMPLIES (AND (NUMBERP X)
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(LESSP Y (EXP 2 (SUB1 N)))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(LESSP Y (TIMES 2 (EXP 2 (SUB1 N)))))
(LESSP X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
Y))).
However this again simplifies, using linear arithmetic, to:
T.
Case 17.1.
(IMPLIES (AND (NUMBERP X)
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(LESSP Y (EXP 2 (SUB1 N)))
(EQUAL (EXP 2 (SUB1 N)) 0))
(NEGATIVEP (ADD X (ADD Y 0)))),
which again simplifies, using linear arithmetic, to:
T.
Case 16.(IMPLIES
(AND (NUMBERP X)
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(LESSP Y (EXP 2 (SUB1 N)))
C)
(NEGATIVEP (ADD X
(ADD Y
(ADD 1
(MINUS (TIMES 2 (EXP 2 (SUB1 N))))))))),
which again simplifies, using linear arithmetic, applying EQUAL-TIMES-0,
EXP-2-NEVER-0, PATHOLOGICAL-DIFFERENCE, and NEGATIVE-GUTS-MINUS, and
unfolding DIFFERENCE, EQUAL, NUMBERP, SUB1, NEGATIVEP, and ADD, to the
following three new conjectures:
Case 16.3.
(IMPLIES (AND (NUMBERP X)
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(NOT (LESSP 1 (TIMES 2 (EXP 2 (SUB1 N)))))
(EQUAL (EXP 2 (SUB1 N)) 0))
(NEGATIVEP (ADD X (ADD Y 1)))).
However this again simplifies, using linear arithmetic, to:
T.
Case 16.2.
(IMPLIES (AND (NUMBERP X)
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(NOT (LESSP 1 (TIMES 2 (EXP 2 (SUB1 N)))))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0)))
(NEGATIVEP (ADD X (ADD Y 0)))),
which again simplifies, using linear arithmetic, to:
T.
Case 16.1.
(IMPLIES
(AND (NUMBERP X)
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(LESSP 1 (TIMES 2 (EXP 2 (SUB1 N)))))
(NEGATIVEP (ADD X
(ADD Y
(MINUS (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1)))))),
which again simplifies, using linear arithmetic, applying
PATHOLOGICAL-DIFFERENCE, DIFFERENCE-DIFFERENCE, EQUAL-TIMES-0, SUB1-ADD1,
PLUS-1, and NEGATIVE-GUTS-MINUS, and opening up the functions DIFFERENCE,
EQUAL, NUMBERP, and ADD, to the following five new conjectures:
Case 16.1.5.
(IMPLIES (AND (NUMBERP X)
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(LESSP 1 (TIMES 2 (EXP 2 (SUB1 N))))
(NOT (LESSP Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1)))
(NOT (EQUAL (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1)
0)))
(NEGATIVEP (ADD X 0))).
But this again simplifies, using linear arithmetic, to:
T.
Case 16.1.4.
(IMPLIES (AND (NUMBERP X)
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(LESSP 1 (TIMES 2 (EXP 2 (SUB1 N))))
(NOT (LESSP Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1)))
(EQUAL Y 0))
(NEGATIVEP (ADD X 0))),
which again simplifies, using linear arithmetic, to:
T.
Case 16.1.3.
(IMPLIES (AND (NUMBERP X)
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(LESSP 1 (TIMES 2 (EXP 2 (SUB1 N))))
(NOT (LESSP Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1)))
(NOT (EQUAL Y 0))
(EQUAL (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1)
0))
(NEGATIVEP (ADD X Y))),
which again simplifies, using linear arithmetic, to:
T.
Case 16.1.2.
(IMPLIES (AND (NUMBERP X)
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(LESSP 1 (TIMES 2 (EXP 2 (SUB1 N))))
(LESSP Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1))
(EQUAL (EXP 2 (SUB1 N)) 0))
(NEGATIVEP (ADD X (MINUS 0)))),
which again simplifies, using linear arithmetic, to:
T.
Case 16.1.1.
(IMPLIES
(AND (NUMBERP X)
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(LESSP 1 (TIMES 2 (EXP 2 (SUB1 N))))
(LESSP Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0)))
(NEGATIVEP
(ADD X
(MINUS (DIFFERENCE (SUB1 (TIMES 2 (EXP 2 (SUB1 N))))
Y))))),
which again simplifies, using linear arithmetic, rewriting with
PATHOLOGICAL-DIFFERENCE, DIFFERENCE-DIFFERENCE, COMMUTATIVITY-OF-PLUS,
and NEGATIVE-GUTS-MINUS, and unfolding DIFFERENCE and ADD, to the new
formula:
(IMPLIES (AND (NUMBERP X)
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(LESSP 1 (TIMES 2 (EXP 2 (SUB1 N))))
(LESSP Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0)))
(LESSP X
(DIFFERENCE (SUB1 (TIMES 2 (EXP 2 (SUB1 N))))
Y))),
which again simplifies, using linear arithmetic, to:
T.
Case 15.(IMPLIES (AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
(NOT C)
(NOT (NEGATIVEP (ADD X (ADD Y 0)))))
(NEGATIVEP (ADD X
(ADD Y
(MINUS (TIMES 2 (EXP 2 (SUB1 N)))))))),
which again simplifies, using linear arithmetic, applying
MINUS-NEGATIVE-GUTS, COMMUTATIVITY-OF-ADD, NEGATIVE-GUTS-MINUS, PLUS-EQUAL-0,
and PATHOLOGICAL-DIFFERENCE, and expanding the functions DIFFERENCE, LESSP,
EQUAL, NEGATIVEP, and ADD, to:
(IMPLIES (AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
(NOT (LESSP X (NEGATIVE-GUTS Y))))
(LESSP X
(PLUS (NEGATIVE-GUTS Y)
(TIMES 2 (EXP 2 (SUB1 N)))))),
which again simplifies, using linear arithmetic, to:
T.
Case 14.(IMPLIES (AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
(NOT C)
(NOT (NEGATIVEP (ADD X (ADD Y 0)))))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))),
which again simplifies, using linear arithmetic, to:
T.
Case 13.(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(NOT (NEGATIVEP (ADD X (ADD Y 1))))
(LESSP 1 (TIMES 2 (EXP 2 (SUB1 N)))))
(NEGATIVEP (ADD X
(ADD Y
(MINUS (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1)))))),
which again simplifies, using linear arithmetic, rewriting with
COMMUTATIVITY-OF-ADD, NEGATIVE-GUTS-MINUS, PLUS-EQUAL-0, and
PATHOLOGICAL-DIFFERENCE, and expanding the functions NEGATIVEP, ADD, and
DIFFERENCE, to the following two new conjectures:
Case 13.2.
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(NOT (LESSP 1 (NEGATIVE-GUTS Y)))
(NOT (NEGATIVEP (ADD X
(DIFFERENCE 1 (NEGATIVE-GUTS Y)))))
(LESSP 1 (TIMES 2 (EXP 2 (SUB1 N)))))
(LESSP X
(PLUS (NEGATIVE-GUTS Y)
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1)))).
However this again simplifies, using linear arithmetic, to:
T.
Case 13.1.
(IMPLIES
(AND
(NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(NOT (NEGATIVEP (ADD X
(MINUS (DIFFERENCE (NEGATIVE-GUTS Y) 1)))))
(LESSP 1 (TIMES 2 (EXP 2 (SUB1 N)))))
(LESSP X
(PLUS (NEGATIVE-GUTS Y)
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1)))),
which again simplifies, using linear arithmetic, to:
T.
Case 12.(IMPLIES (AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(NOT (NEGATIVEP (ADD X (ADD Y 1))))
(NOT (LESSP 1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NEGATIVEP (ADD X (ADD Y 0)))),
which again simplifies, using linear arithmetic, to:
T.
Case 11.(IMPLIES (AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(NOT (NEGATIVEP (ADD X (ADD Y 1))))
(NOT (LESSP 1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))),
which again simplifies, using linear arithmetic, to:
T.
Case 10.(IMPLIES (AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
(NOT C)
(NOT (NEGATIVEP (ADD X (PLUS Y 0))))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0)))
(NEGATIVEP (ADD X
(ADD Y
(MINUS (TIMES 2 (EXP 2 (SUB1 N)))))))),
which again simplifies, using linear arithmetic, rewriting with the lemmas
COMMUTATIVITY-OF-PLUS, EQUAL-TIMES-0, PATHOLOGICAL-DIFFERENCE, and
NEGATIVE-GUTS-MINUS, and opening up EQUAL, PLUS, ADD, DIFFERENCE, and
NUMBERP, to two new formulas:
Case 10.2.
(IMPLIES (AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
(NOT (LESSP Y (NEGATIVE-GUTS X)))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(NOT (LESSP Y (TIMES 2 (EXP 2 (SUB1 N))))))
(NEGATIVEP (ADD X 0))),
which again simplifies, using linear arithmetic, to:
T.
Case 10.1.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
(NOT (LESSP Y (NEGATIVE-GUTS X)))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(LESSP Y (TIMES 2 (EXP 2 (SUB1 N)))))
(NEGATIVEP (ADD X
(MINUS (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
Y))))),
which again simplifies, rewriting with NEGATIVE-GUTS-MINUS, and opening up
ADD, to:
T.
Case 9. (IMPLIES (AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
(NOT C)
(NOT (NEGATIVEP (ADD X (PLUS Y 0))))
(EQUAL (EXP 2 (SUB1 N)) 0))
(NEGATIVEP (ADD X (ADD Y 0)))).
But this again simplifies, using linear arithmetic, to:
T.
Case 8. (IMPLIES (AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(NOT (NEGATIVEP (ADD X (PLUS Y 1))))
(NOT (LESSP 1 (TIMES 2 (EXP 2 (SUB1 N)))))
(EQUAL (EXP 2 (SUB1 N)) 0))
(NEGATIVEP (ADD X (ADD Y 1)))),
which again simplifies, using linear arithmetic, to:
T.
Case 7. (IMPLIES (AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(NOT (NEGATIVEP (ADD X (PLUS Y 1))))
(NOT (LESSP 1 (TIMES 2 (EXP 2 (SUB1 N)))))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0)))
(NEGATIVEP (ADD X (ADD Y 0)))),
which again simplifies, using linear arithmetic, to:
T.
Case 6. (IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(NOT (NEGATIVEP (ADD X (PLUS Y 1))))
(LESSP 1 (TIMES 2 (EXP 2 (SUB1 N)))))
(NEGATIVEP (ADD X
(ADD Y
(MINUS (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1)))))),
which again simplifies, using linear arithmetic, applying the lemmas PLUS-1,
COMMUTATIVITY-OF-PLUS, SUB1-ADD1, PATHOLOGICAL-DIFFERENCE,
DIFFERENCE-DIFFERENCE, EQUAL-TIMES-0, and NEGATIVE-GUTS-MINUS, and unfolding
DIFFERENCE, LESSP, ADD, EQUAL, and NUMBERP, to five new conjectures:
Case 6.5.
(IMPLIES (AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(NOT (LESSP Y (SUB1 (NEGATIVE-GUTS X))))
(LESSP 1 (TIMES 2 (EXP 2 (SUB1 N))))
(NOT (LESSP Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1)))
(NOT (EQUAL (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1)
0)))
(NEGATIVEP (ADD X 0))),
which again simplifies, using linear arithmetic, to:
T.
Case 6.4.
(IMPLIES (AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(NOT (LESSP Y (SUB1 (NEGATIVE-GUTS X))))
(LESSP 1 (TIMES 2 (EXP 2 (SUB1 N))))
(NOT (LESSP Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1)))
(EQUAL Y 0))
(NEGATIVEP (ADD X 0))),
which again simplifies, using linear arithmetic, to:
T.
Case 6.3.
(IMPLIES (AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(NOT (LESSP Y (SUB1 (NEGATIVE-GUTS X))))
(LESSP 1 (TIMES 2 (EXP 2 (SUB1 N))))
(NOT (LESSP Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1)))
(NOT (EQUAL Y 0))
(EQUAL (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1)
0))
(NEGATIVEP (ADD X Y))),
which again simplifies, using linear arithmetic, to:
T.
Case 6.2.
(IMPLIES (AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(NOT (LESSP Y (SUB1 (NEGATIVE-GUTS X))))
(LESSP 1 (TIMES 2 (EXP 2 (SUB1 N))))
(LESSP Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1))
(EQUAL (EXP 2 (SUB1 N)) 0))
(NEGATIVEP (ADD X (MINUS 0)))),
which again simplifies, using linear arithmetic, to:
T.
Case 6.1.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(NOT (LESSP Y (SUB1 (NEGATIVE-GUTS X))))
(LESSP 1 (TIMES 2 (EXP 2 (SUB1 N))))
(LESSP Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0)))
(NEGATIVEP (ADD X
(MINUS (DIFFERENCE (SUB1 (TIMES 2 (EXP 2 (SUB1 N))))
Y))))),
which again simplifies, rewriting with the lemma NEGATIVE-GUTS-MINUS, and
expanding ADD, to:
T.
Case 5. (IMPLIES (AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
(NOT C)
(NOT (NEGATIVEP (ADD X (ADD Y 0)))))
(NEGATIVEP (ADD X
(ADD Y
(MINUS (TIMES 2 (EXP 2 (SUB1 N)))))))),
which again simplifies, applying the lemmas MINUS-NEGATIVE-GUTS and
COMMUTATIVITY-OF-ADD, and opening up the definitions of DIFFERENCE, LESSP,
EQUAL, NEGATIVEP, and ADD, to:
T.
Case 4. (IMPLIES (AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
(NOT C)
(NOT (NEGATIVEP (ADD X (ADD Y 0)))))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))),
which again simplifies, using linear arithmetic, to:
T.
Case 3. (IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(NOT (NEGATIVEP (ADD X (ADD Y 1))))
(LESSP 1 (TIMES 2 (EXP 2 (SUB1 N)))))
(NEGATIVEP (ADD X
(ADD Y
(MINUS (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1)))))),
which again simplifies, applying COMMUTATIVITY-OF-ADD and
NEGATIVE-GUTS-MINUS, and opening up the definitions of NEGATIVEP and ADD, to:
T.
Case 2. (IMPLIES (AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(NOT (NEGATIVEP (ADD X (ADD Y 1))))
(NOT (LESSP 1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NEGATIVEP (ADD X (ADD Y 0)))).
This again simplifies, using linear arithmetic, to:
T.
Case 1. (IMPLIES (AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(NOT (NEGATIVEP (ADD X (ADD Y 1))))
(NOT (LESSP 1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))),
which again simplifies, using linear arithmetic, to:
T.
Q.E.D.
[ 0.0 0.2 0.0 ]
OVERFLOW-LEMMA2
(PROVE-LEMMA OPPOSITE-SIGNS-IMPLIES-TC-IN-RANGEP
(REWRITE)
(IMPLIES (AND (TCP X)
(TCP Y)
(TC-IN-RANGEP X N)
(TC-IN-RANGEP Y N)
(NEGATIVEP X)
(NOT (NEGATIVEP Y)))
(TC-IN-RANGEP (ADD X (ADD Y (CARRY C)))
N)))
WARNING: Note that the rewrite rule OPPOSITE-SIGNS-IMPLIES-TC-IN-RANGEP will
be stored so as to apply only to terms with the nonrecursive function symbol
TC-IN-RANGEP.
This formula can be simplified, using the abbreviations NOT, TC-IN-RANGEP, AND,
and IMPLIES, to:
(IMPLIES (AND (TCP X)
(TCP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(IF (NEGATIVEP X)
(IF (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X))
F T)
(LESSP X (EXP 2 (SUB1 N))))
(IF (NEGATIVEP Y)
(IF (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y))
F T)
(LESSP Y (EXP 2 (SUB1 N))))
(NEGATIVEP X)
(NOT (NEGATIVEP Y)))
(TC-IN-RANGEP (ADD X (ADD Y (CARRY C)))
N)),
which simplifies, opening up the functions TCP, CARRY, and ADD, to two new
formulas:
Case 2. (IMPLIES (AND (NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
(NEGATIVEP X)
(NOT C))
(TC-IN-RANGEP (ADD X (PLUS Y 0)) N)),
which again simplifies, applying COMMUTATIVITY-OF-PLUS, and opening up the
functions EQUAL, PLUS, and ADD, to the following two new goals:
Case 2.2.
(IMPLIES (AND (NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
(NEGATIVEP X)
(NOT (LESSP Y (NEGATIVE-GUTS X))))
(TC-IN-RANGEP (DIFFERENCE Y (NEGATIVE-GUTS X))
N)).
But this again simplifies, opening up the function TC-IN-RANGEP, to:
(IMPLIES (AND (NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
(NEGATIVEP X)
(NOT (LESSP Y (NEGATIVE-GUTS X))))
(LESSP (DIFFERENCE Y (NEGATIVE-GUTS X))
(EXP 2 (SUB1 N)))).
However this again simplifies, using linear arithmetic, to:
T.
Case 2.1.
(IMPLIES (AND (NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
(NEGATIVEP X)
(LESSP Y (NEGATIVE-GUTS X)))
(TC-IN-RANGEP (MINUS (DIFFERENCE (NEGATIVE-GUTS X) Y))
N)),
which again simplifies, rewriting with the lemma NEGATIVE-GUTS-MINUS, and
unfolding the function TC-IN-RANGEP, to:
(IMPLIES (AND (NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
(NEGATIVEP X)
(LESSP Y (NEGATIVE-GUTS X)))
(NOT (LESSP (EXP 2 (SUB1 N))
(DIFFERENCE (NEGATIVE-GUTS X) Y)))).
This again simplifies, using linear arithmetic, to the formula:
(IMPLIES (AND (LESSP (NEGATIVE-GUTS X) Y)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
(NEGATIVEP X)
(LESSP Y (NEGATIVE-GUTS X)))
(NOT (LESSP (EXP 2 (SUB1 N))
(DIFFERENCE (NEGATIVE-GUTS X) Y)))).
However this again simplifies, using linear arithmetic, to:
T.
Case 1. (IMPLIES (AND (NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
(NEGATIVEP X)
C)
(TC-IN-RANGEP (ADD X (PLUS Y 1)) N)),
which again simplifies, rewriting with the lemmas PLUS-1,
COMMUTATIVITY-OF-PLUS, and SUB1-ADD1, and unfolding the definitions of
DIFFERENCE, LESSP, and ADD, to two new goals:
Case 1.2.
(IMPLIES (AND (NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
(NEGATIVEP X)
C
(NOT (LESSP Y (SUB1 (NEGATIVE-GUTS X)))))
(TC-IN-RANGEP (DIFFERENCE Y
(SUB1 (NEGATIVE-GUTS X)))
N)),
which again simplifies, opening up the definition of TC-IN-RANGEP, to:
(IMPLIES (AND (NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
(NEGATIVEP X)
C
(NOT (LESSP Y (SUB1 (NEGATIVE-GUTS X)))))
(LESSP (DIFFERENCE Y
(SUB1 (NEGATIVE-GUTS X)))
(EXP 2 (SUB1 N)))).
However this again simplifies, using linear arithmetic, to:
T.
Case 1.1.
(IMPLIES (AND (NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
(NEGATIVEP X)
C
(LESSP Y (SUB1 (NEGATIVE-GUTS X))))
(TC-IN-RANGEP (MINUS (DIFFERENCE (SUB1 (NEGATIVE-GUTS X))
Y))
N)),
which again simplifies, applying NEGATIVE-GUTS-MINUS, and opening up
TC-IN-RANGEP, to the new conjecture:
(IMPLIES (AND (NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
(NEGATIVEP X)
C
(LESSP Y (SUB1 (NEGATIVE-GUTS X))))
(NOT (LESSP (EXP 2 (SUB1 N))
(DIFFERENCE (SUB1 (NEGATIVE-GUTS X))
Y)))),
which again simplifies, using linear arithmetic, to:
(IMPLIES (AND (LESSP (SUB1 (NEGATIVE-GUTS X)) Y)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
(NEGATIVEP X)
C
(LESSP Y (SUB1 (NEGATIVE-GUTS X))))
(NOT (LESSP (EXP 2 (SUB1 N))
(DIFFERENCE (SUB1 (NEGATIVE-GUTS X))
Y)))).
But this again simplifies, using linear arithmetic, to:
T.
Q.E.D.
[ 0.0 0.1 0.0 ]
OPPOSITE-SIGNS-IMPLIES-TC-IN-RANGEP
(PROVE-LEMMA OPPOSITE-SIGNS-IMPLIES-TC-IN-RANGEP-COMMUTED
(REWRITE)
(IMPLIES (AND (TCP X)
(TCP Y)
(TC-IN-RANGEP X N)
(TC-IN-RANGEP Y N)
(NEGATIVEP X)
(NOT (NEGATIVEP Y)))
(TC-IN-RANGEP (ADD Y (ADD X (CARRY C)))
N))
((DISABLE TCP ADD TC-IN-RANGEP CARRY)))
WARNING: Note that the rewrite rule:
OPPOSITE-SIGNS-IMPLIES-TC-IN-RANGEP-COMMUTED
will be stored so as to apply only to terms with the nonrecursive function
symbol TC-IN-RANGEP.
This formula simplifies, applying COMMUTATIVITY2-OF-ADD and
OPPOSITE-SIGNS-IMPLIES-TC-IN-RANGEP, to:
T.
Q.E.D.
[ 0.0 0.0 0.0 ]
OPPOSITE-SIGNS-IMPLIES-TC-IN-RANGEP-COMMUTED
(DEFN NAT-TO-BV
(N SIZE)
(IF (ZEROP SIZE)
(BTM)
(BITV (IF (ZEROP (REMAINDER N 2)) F T)
(NAT-TO-BV (QUOTIENT N 2)
(SUB1 SIZE)))))
Linear arithmetic, the lemma COUNT-NUMBERP, and the definition of ZEROP
inform us that the measure (COUNT SIZE) decreases according to the
well-founded relation LESSP in each recursive call. Hence, NAT-TO-BV is
accepted under the definitional principle. Observe that:
(BITVP (NAT-TO-BV N SIZE))
is a theorem.
[ 0.0 0.0 0.0 ]
NAT-TO-BV
(DEFN BV-TO-NAT
(X)
(IF (BITVP X)
(IF (EQUAL X (BTM))
0
(PLUS (IF (BIT X) 1 0)
(TIMES 2 (BV-TO-NAT (VEC X)))))
0))
Linear arithmetic and the lemma VEC-LESSP can be used to prove that the
measure (COUNT X) decreases according to the well-founded relation LESSP in
each recursive call. Hence, BV-TO-NAT is accepted under the principle of
definition. Note that (NUMBERP (BV-TO-NAT X)) is a theorem.
[ 0.0 0.0 0.0 ]
BV-TO-NAT
(DEFN TC-TO-BV
(X SIZE)
(IF (NEGATIVEP X)
(INCR T
(COMPL (NAT-TO-BV (NEGATIVE-GUTS X) SIZE)))
(NAT-TO-BV X SIZE)))
Note that (BITVP (TC-TO-BV X SIZE)) is a theorem.
[ 0.0 0.0 0.0 ]
TC-TO-BV
(DEFN BV-TO-TC
(X)
(IF (BITN X (SIZE X))
(MINUS (BV-TO-NAT (INCR T (COMPL X))))
(BV-TO-NAT X)))
Note that (OR (NUMBERP (BV-TO-TC X)) (NEGATIVEP (BV-TO-TC X))) is a
theorem.
[ 0.0 0.0 0.0 ]
BV-TO-TC
(DEFN NAT-TO-TC
(N SIZE)
(IF (LESSP N (EXP 2 (SUB1 SIZE)))
N
(MINUS (DIFFERENCE (EXP 2 SIZE) N))))
Note that:
(OR (NEGATIVEP (NAT-TO-TC N SIZE))
(EQUAL (NAT-TO-TC N SIZE) N))
is a theorem.
[ 0.0 0.0 0.0 ]
NAT-TO-TC
(DEFN TC-TO-NAT
(N SIZE)
(IF (NEGATIVEP N)
(DIFFERENCE (EXP 2 SIZE)
(NEGATIVE-GUTS N))
N))
Note that (OR (NUMBERP (TC-TO-NAT N SIZE)) (EQUAL (TC-TO-NAT N SIZE) N))
is a theorem.
[ 0.0 0.0 0.0 ]
TC-TO-NAT
(PROVE-LEMMA SIZE-OF-NAT-TO-BV
(REWRITE)
(EQUAL (SIZE (NAT-TO-BV N SIZE))
(FIX SIZE)))
This simplifies, unfolding FIX, to two new formulas:
Case 2. (IMPLIES (NOT (NUMBERP SIZE))
(EQUAL (SIZE (NAT-TO-BV N SIZE)) 0)),
which again simplifies, unfolding NAT-TO-BV, SIZE, and EQUAL, to:
T.
Case 1. (IMPLIES (NUMBERP SIZE)
(EQUAL (SIZE (NAT-TO-BV N SIZE))
SIZE)),
which we will name *1.
We will appeal to induction. There is only one plausible induction. We
will induct according to the following scheme:
(AND (IMPLIES (ZEROP SIZE) (p N SIZE))
(IMPLIES (AND (NOT (ZEROP SIZE))
(p (QUOTIENT N 2) (SUB1 SIZE)))
(p N SIZE))).
Linear arithmetic, the lemma COUNT-NUMBERP, and the definition of ZEROP inform
us that the measure (COUNT SIZE) decreases according to the well-founded
relation LESSP in each induction step of the scheme. Note, however, the
inductive instance chosen for N. The above induction scheme generates the
following two new goals:
Case 2. (IMPLIES (AND (ZEROP SIZE) (NUMBERP SIZE))
(EQUAL (SIZE (NAT-TO-BV N SIZE))
SIZE)).
This simplifies, opening up the definitions of ZEROP, NUMBERP, EQUAL,
NAT-TO-BV, and SIZE, to:
T.
Case 1. (IMPLIES (AND (NOT (ZEROP SIZE))
(EQUAL (SIZE (NAT-TO-BV (QUOTIENT N 2)
(SUB1 SIZE)))
(SUB1 SIZE))
(NUMBERP SIZE))
(EQUAL (SIZE (NAT-TO-BV N SIZE))
SIZE)).
This simplifies, expanding the definitions of ZEROP and NAT-TO-BV, to the
following two new conjectures:
Case 1.2.
(IMPLIES (AND (NOT (EQUAL SIZE 0))
(EQUAL (SIZE (NAT-TO-BV (QUOTIENT N 2)
(SUB1 SIZE)))
(SUB1 SIZE))
(NUMBERP SIZE)
(NOT (EQUAL (REMAINDER N 2) 0)))
(EQUAL (SIZE (BITV T
(NAT-TO-BV (QUOTIENT N 2)
(SUB1 SIZE))))
SIZE)).
But this again simplifies, applying the lemmas ADD1-SUB1 and VEC-BITV, and
opening up SIZE, to:
T.
Case 1.1.
(IMPLIES (AND (NOT (EQUAL SIZE 0))
(EQUAL (SIZE (NAT-TO-BV (QUOTIENT N 2)
(SUB1 SIZE)))
(SUB1 SIZE))
(NUMBERP SIZE)
(EQUAL (REMAINDER N 2) 0))
(EQUAL (SIZE (BITV F
(NAT-TO-BV (QUOTIENT N 2)
(SUB1 SIZE))))
SIZE)),
which again simplifies, applying ADD1-SUB1 and VEC-BITV, and expanding
SIZE, to:
T.
That finishes the proof of *1. Q.E.D.
[ 0.0 0.0 0.0 ]
SIZE-OF-NAT-TO-BV
(PROVE-LEMMA SIZE-OF-TC-TO-BV
(REWRITE)
(EQUAL (SIZE (TC-TO-BV X SIZE))
(FIX SIZE)))
This simplifies, unfolding TC-TO-BV and FIX, to four new formulas:
Case 4. (IMPLIES (AND (NOT (NUMBERP SIZE))
(NOT (NEGATIVEP X)))
(EQUAL (SIZE (NAT-TO-BV X SIZE)) 0)),
which again simplifies, unfolding NAT-TO-BV, SIZE, and EQUAL, to:
T.
Case 3. (IMPLIES
(AND (NOT (NUMBERP SIZE))
(NEGATIVEP X))
(EQUAL (SIZE (INCR T
(COMPL (NAT-TO-BV (NEGATIVE-GUTS X) SIZE))))
0)),
which again simplifies, expanding the functions NAT-TO-BV, COMPL, INCR, SIZE,
and EQUAL, to:
T.
Case 2. (IMPLIES (AND (NUMBERP SIZE)
(NOT (NEGATIVEP X)))
(EQUAL (SIZE (NAT-TO-BV X SIZE))
SIZE)),
which again simplifies, appealing to the lemma SIZE-OF-NAT-TO-BV, to:
T.
Case 1. (IMPLIES
(AND (NUMBERP SIZE) (NEGATIVEP X))
(EQUAL (SIZE (INCR T
(COMPL (NAT-TO-BV (NEGATIVE-GUTS X) SIZE))))
SIZE)),
which again simplifies, applying SIZE-OF-NAT-TO-BV, SIZE-OF-COMPL, and
SIZE-OF-INCR, to:
T.
Q.E.D.
[ 0.0 0.0 0.0 ]
SIZE-OF-TC-TO-BV
(PROVE-LEMMA BV-TO-NAT-OF-INCR
(REWRITE)
(EQUAL (BV-TO-NAT (INCR T A))
(IF (ALL-ONESP A)
0
(ADD1 (BV-TO-NAT A)))))
This conjecture simplifies, obviously, to the following two new conjectures:
Case 2. (IMPLIES (NOT (ALL-ONESP A))
(EQUAL (BV-TO-NAT (INCR T A))
(ADD1 (BV-TO-NAT A)))).
Give the above formula the name *1.
Case 1. (IMPLIES (ALL-ONESP A)
(EQUAL (BV-TO-NAT (INCR T A)) 0)),
which we would usually push and work on later by induction. But if we must
use induction to prove the input conjecture, we prefer to induct on the
original formulation of the problem. Thus we will disregard all that we
have previously done, give the name *1 to the original input, and work on it.
So now let us consider:
(EQUAL (BV-TO-NAT (INCR T A))
(IF (ALL-ONESP A)
0
(ADD1 (BV-TO-NAT A)))),
which we named *1 above. We will appeal to induction. The recursive terms in
the conjecture suggest three inductions. However, they merge into one likely
candidate induction. We will induct according to the following scheme:
(AND (IMPLIES (AND (BITVP A) (EQUAL A (BTM)))
(p A))
(IMPLIES (AND (BITVP A)
(NOT (EQUAL A (BTM)))
(p (VEC A)))
(p A))
(IMPLIES (NOT (BITVP A)) (p A))).
Linear arithmetic and the lemma VEC-LESSP inform us that the measure (COUNT A)
decreases according to the well-founded relation LESSP in each induction step
of the scheme. The above induction scheme leads to the following three new
conjectures:
Case 3. (IMPLIES (AND (BITVP A) (EQUAL A (BTM)))
(EQUAL (BV-TO-NAT (INCR T A))
(IF (ALL-ONESP A)
0
(ADD1 (BV-TO-NAT A))))).
This simplifies, expanding the definitions of BITVP, INCR, BV-TO-NAT,
ALL-ONESP, and EQUAL, to:
T.
Case 2. (IMPLIES (AND (BITVP A)
(NOT (EQUAL A (BTM)))
(EQUAL (BV-TO-NAT (INCR T (VEC A)))
(IF (ALL-ONESP (VEC A))
0
(ADD1 (BV-TO-NAT (VEC A))))))
(EQUAL (BV-TO-NAT (INCR T A))
(IF (ALL-ONESP A)
0
(ADD1 (BV-TO-NAT A))))).
This simplifies, rewriting with PLUS-1, VEC-BITV, BIT-BITV, TIMES-ADD1, and
INCR-F-NOOP, and unfolding the definitions of INCR, XOR, PLUS, EQUAL,
BV-TO-NAT, SUB1, NUMBERP, FIX-BV, ALL-ONESP, and TIMES, to:
T.
Case 1. (IMPLIES (NOT (BITVP A))
(EQUAL (BV-TO-NAT (INCR T A))
(IF (ALL-ONESP A)
0
(ADD1 (BV-TO-NAT A))))),
which simplifies, unfolding the definitions of INCR, BV-TO-NAT, ALL-ONESP,
and EQUAL, to:
T.
That finishes the proof of *1. Q.E.D.
[ 0.0 0.0 0.0 ]
BV-TO-NAT-OF-INCR
(PROVE-LEMMA BITN-IMPLIES-COMPL-NOT-ALL-ONESP
(REWRITE)
(IMPLIES (BITN A I)
(NOT (ALL-ONESP (COMPL A)))))
WARNING: Note that BITN-IMPLIES-COMPL-NOT-ALL-ONESP contains the free
variable I which will be chosen by instantiating the hypothesis (BITN A I).
Give the conjecture the name *1.
Let us appeal to the induction principle. Two inductions are suggested
by terms in the conjecture. However, they merge into one likely candidate
induction. We will induct according to the following scheme:
(AND (IMPLIES (ZEROP I) (p A I))
(IMPLIES (AND (NOT (ZEROP I)) (EQUAL I 1))
(p A I))
(IMPLIES (AND (NOT (ZEROP I))
(NOT (EQUAL I 1))
(p (VEC A) (SUB1 I)))
(p A I))).
Linear arithmetic, the lemma COUNT-NUMBERP, and the definition of ZEROP
establish that the measure (COUNT I) decreases according to the well-founded
relation LESSP in each induction step of the scheme. Note, however, the
inductive instance chosen for A. The above induction scheme generates four
new conjectures:
Case 4. (IMPLIES (AND (ZEROP I) (BITN A I))
(NOT (ALL-ONESP (COMPL A)))),
which simplifies, expanding the functions ZEROP, EQUAL, and BITN, to:
T.
Case 3. (IMPLIES (AND (NOT (ZEROP I))
(EQUAL I 1)
(BITN A I))
(NOT (ALL-ONESP (COMPL A)))),
which simplifies, opening up the functions ZEROP, NUMBERP, EQUAL, BITN, and
COMPL, to three new formulas:
Case 3.3.
(IMPLIES (AND (BIT A) (EQUAL A (BTM)))
(NOT (ALL-ONESP (BTM)))),
which again simplifies, opening up BIT, to:
T.
Case 3.2.
(IMPLIES (AND (BIT A) (NOT (BITVP A)))
(NOT (ALL-ONESP (BTM)))),
which again simplifies, rewriting with the lemma BIT-NBITVP, to:
T.
Case 3.1.
(IMPLIES (AND (BIT A)
(BITVP A)
(NOT (EQUAL A (BTM))))
(NOT (ALL-ONESP (BITV F (COMPL (VEC A)))))),
which again simplifies, applying BIT-BITV, and expanding the functions
FALSEP, TRUEP, and ALL-ONESP, to:
T.
Case 2. (IMPLIES (AND (NOT (ZEROP I))
(NOT (EQUAL I 1))
(NOT (BITN (VEC A) (SUB1 I)))
(BITN A I))
(NOT (ALL-ONESP (COMPL A)))).
This simplifies, unfolding the functions ZEROP and BITN, to:
T.
Case 1. (IMPLIES (AND (NOT (ZEROP I))
(NOT (EQUAL I 1))
(NOT (ALL-ONESP (COMPL (VEC A))))
(BITN A I))
(NOT (ALL-ONESP (COMPL A)))).
This simplifies, opening up the functions ZEROP, BITN, and COMPL, to the
following four new conjectures:
Case 1.4.
(IMPLIES (AND (NOT (EQUAL I 0))
(NUMBERP I)
(NOT (EQUAL I 1))
(NOT (ALL-ONESP (COMPL (VEC A))))
(BITN (VEC A) (SUB1 I))
(EQUAL A (BTM)))
(NOT (ALL-ONESP (BTM)))).
This again simplifies, unfolding the definitions of VEC, COMPL, and
ALL-ONESP, to:
T.
Case 1.3.
(IMPLIES (AND (NOT (EQUAL I 0))
(NUMBERP I)
(NOT (EQUAL I 1))
(NOT (ALL-ONESP (COMPL (VEC A))))
(BITN (VEC A) (SUB1 I))
(NOT (BITVP A)))
(NOT (ALL-ONESP (BTM)))),
which again simplifies, expanding the function ALL-ONESP, to:
(IMPLIES (AND (NOT (EQUAL I 0))
(NUMBERP I)
(NOT (EQUAL I 1))
(NOT (ALL-ONESP (COMPL (VEC A))))
(BITN (VEC A) (SUB1 I)))
(BITVP A)).
This further simplifies, applying VEC-NBITVP, and opening up the
definitions of COMPL and ALL-ONESP, to:
T.
Case 1.2.
(IMPLIES (AND (NOT (EQUAL I 0))
(NUMBERP I)
(NOT (EQUAL I 1))
(NOT (ALL-ONESP (COMPL (VEC A))))
(BITN (VEC A) (SUB1 I))
(BITVP A)
(NOT (EQUAL A (BTM)))
(NOT (BIT A)))
(NOT (ALL-ONESP (BITV T (COMPL (VEC A)))))).
However this again simplifies, rewriting with the lemmas VEC-BITV and
BIT-BITV, and opening up TRUEP and ALL-ONESP, to:
T.
Case 1.1.
(IMPLIES (AND (NOT (EQUAL I 0))
(NUMBERP I)
(NOT (EQUAL I 1))
(NOT (ALL-ONESP (COMPL (VEC A))))
(BITN (VEC A) (SUB1 I))
(BITVP A)
(NOT (EQUAL A (BTM)))
(BIT A))
(NOT (ALL-ONESP (BITV F (COMPL (VEC A)))))),
which again simplifies, rewriting with BIT-BITV, and expanding FALSEP,
TRUEP, and ALL-ONESP, to:
T.
That finishes the proof of *1. Q.E.D.
[ 0.0 0.0 0.0 ]
BITN-IMPLIES-COMPL-NOT-ALL-ONESP
(PROVE-LEMMA UPPER-BOUND-ON-BV-TO-NAT
(REWRITE)
(LESSP (BV-TO-NAT A)
(EXP 2 (SIZE A))))
WARNING: Note that the proposed lemma UPPER-BOUND-ON-BV-TO-NAT is to be
stored as zero type prescription rules, zero compound recognizer rules, one
linear rule, and zero replacement rules.
Give the conjecture the name *1.
Let us appeal to the induction principle. Two inductions are suggested
by terms in the conjecture. However, they merge into one likely candidate
induction. We will induct according to the following scheme:
(AND (IMPLIES (AND (BITVP A) (EQUAL A (BTM)))
(p A))
(IMPLIES (AND (BITVP A)
(NOT (EQUAL A (BTM)))
(p (VEC A)))
(p A))
(IMPLIES (NOT (BITVP A)) (p A))).
Linear arithmetic and the lemma VEC-LESSP establish that the measure (COUNT A)
decreases according to the well-founded relation LESSP in each induction step
of the scheme. The above induction scheme generates three new conjectures:
Case 3. (IMPLIES (AND (BITVP A) (EQUAL A (BTM)))
(LESSP (BV-TO-NAT A)
(EXP 2 (SIZE A)))),
which simplifies, expanding the functions BITVP, BV-TO-NAT, SIZE, EXP, and
LESSP, to:
T.
Case 2. (IMPLIES (AND (BITVP A)
(NOT (EQUAL A (BTM)))
(LESSP (BV-TO-NAT (VEC A))
(EXP 2 (SIZE (VEC A)))))
(LESSP (BV-TO-NAT A)
(EXP 2 (SIZE A)))),
which simplifies, appealing to the lemmas PLUS-1 and SUB1-ADD1, and
expanding BV-TO-NAT, EQUAL, PLUS, SIZE, and EXP, to two new conjectures:
Case 2.2.
(IMPLIES (AND (BITVP A)
(NOT (EQUAL A (BTM)))
(LESSP (BV-TO-NAT (VEC A))
(EXP 2 (SIZE (VEC A))))
(NOT (BIT A)))
(LESSP (TIMES 2 (BV-TO-NAT (VEC A)))
(TIMES 2 (EXP 2 (SIZE (VEC A)))))),
which again simplifies, using linear arithmetic, to:
T.
Case 2.1.
(IMPLIES (AND (BITVP A)
(NOT (EQUAL A (BTM)))
(LESSP (BV-TO-NAT (VEC A))
(EXP 2 (SIZE (VEC A))))
(BIT A))
(LESSP (ADD1 (TIMES 2 (BV-TO-NAT (VEC A))))
(TIMES 2 (EXP 2 (SIZE (VEC A)))))),
which again simplifies, using linear arithmetic, to:
T.
Case 1. (IMPLIES (NOT (BITVP A))
(LESSP (BV-TO-NAT A)
(EXP 2 (SIZE A)))),
which simplifies, expanding BV-TO-NAT, SIZE, EXP, and LESSP, to:
T.
That finishes the proof of *1. Q.E.D.
[ 0.0 0.0 0.0 ]
UPPER-BOUND-ON-BV-TO-NAT
(PROVE-LEMMA BV-TO-NAT-OF-COMPL
(REWRITE)
(EQUAL (BV-TO-NAT (COMPL A))
(DIFFERENCE (SUB1 (EXP 2 (SIZE A)))
(BV-TO-NAT A))))
Call the conjecture *1.
We will appeal to induction. There are three plausible inductions.
However, they merge into one likely candidate induction. We will induct
according to the following scheme:
(AND (IMPLIES (AND (BITVP A) (EQUAL A (BTM)))
(p A))
(IMPLIES (AND (BITVP A)
(NOT (EQUAL A (BTM)))
(p (VEC A)))
(p A))
(IMPLIES (NOT (BITVP A)) (p A))).
Linear arithmetic and the lemma VEC-LESSP can be used to establish that the
measure (COUNT A) decreases according to the well-founded relation LESSP in
each induction step of the scheme. The above induction scheme generates three
new formulas:
Case 3. (IMPLIES (AND (BITVP A) (EQUAL A (BTM)))
(EQUAL (BV-TO-NAT (COMPL A))
(DIFFERENCE (SUB1 (EXP 2 (SIZE A)))
(BV-TO-NAT A)))),
which simplifies, expanding the definitions of BITVP, COMPL, BV-TO-NAT, SIZE,
EXP, SUB1, DIFFERENCE, and EQUAL, to:
T.
Case 2. (IMPLIES (AND (BITVP A)
(NOT (EQUAL A (BTM)))
(EQUAL (BV-TO-NAT (COMPL (VEC A)))
(DIFFERENCE (SUB1 (EXP 2 (SIZE (VEC A))))
(BV-TO-NAT (VEC A)))))
(EQUAL (BV-TO-NAT (COMPL A))
(DIFFERENCE (SUB1 (EXP 2 (SIZE A)))
(BV-TO-NAT A)))),
which simplifies, applying the lemmas SUB1-ADD1 and PLUS-1, and unfolding
the definitions of COMPL, SIZE, EXP, BV-TO-NAT, EQUAL, and PLUS, to two new
conjectures:
Case 2.2.
(IMPLIES (AND (BITVP A)
(NOT (EQUAL A (BTM)))
(EQUAL (BV-TO-NAT (COMPL (VEC A)))
(DIFFERENCE (SUB1 (EXP 2 (SIZE (VEC A))))
(BV-TO-NAT (VEC A))))
(NOT (BIT A)))
(EQUAL (BV-TO-NAT (BITV T (COMPL (VEC A))))
(DIFFERENCE (SUB1 (TIMES 2 (EXP 2 (SIZE (VEC A)))))
(TIMES 2 (BV-TO-NAT (VEC A)))))),
which again simplifies, rewriting with PLUS-1, VEC-BITV, and BIT-BITV, and
expanding the definitions of TRUEP and BV-TO-NAT, to:
(IMPLIES (AND (BITVP A)
(NOT (EQUAL A (BTM)))
(EQUAL (BV-TO-NAT (COMPL (VEC A)))
(DIFFERENCE (SUB1 (EXP 2 (SIZE (VEC A))))
(BV-TO-NAT (VEC A))))
(NOT (BIT A)))
(EQUAL (ADD1 (TIMES 2 (BV-TO-NAT (COMPL (VEC A)))))
(DIFFERENCE (SUB1 (TIMES 2 (EXP 2 (SIZE (VEC A)))))
(TIMES 2 (BV-TO-NAT (VEC A)))))),
which again simplifies, using linear arithmetic, to four new goals:
Case 2.2.4.
(IMPLIES (AND (LESSP (SUB1 (EXP 2 (SIZE (VEC A))))
(BV-TO-NAT (VEC A)))
(BITVP A)
(NOT (EQUAL A (BTM)))
(EQUAL (BV-TO-NAT (COMPL (VEC A)))
(DIFFERENCE (SUB1 (EXP 2 (SIZE (VEC A))))
(BV-TO-NAT (VEC A))))
(NOT (BIT A)))
(EQUAL (ADD1 (TIMES 2 (BV-TO-NAT (COMPL (VEC A)))))
(DIFFERENCE (SUB1 (TIMES 2 (EXP 2 (SIZE (VEC A)))))
(TIMES 2 (BV-TO-NAT (VEC A)))))),
which again simplifies, using linear arithmetic and applying the lemma
UPPER-BOUND-ON-BV-TO-NAT, to:
T.
Case 2.2.3.
(IMPLIES (AND (EQUAL (EXP 2 (SIZE (VEC A))) 0)
(BITVP A)
(NOT (EQUAL A (BTM)))
(EQUAL (BV-TO-NAT (COMPL (VEC A)))
(DIFFERENCE (SUB1 (EXP 2 (SIZE (VEC A))))
(BV-TO-NAT (VEC A))))
(NOT (BIT A)))
(EQUAL (ADD1 (TIMES 2 (BV-TO-NAT (COMPL (VEC A)))))
(DIFFERENCE (SUB1 (TIMES 2 (EXP 2 (SIZE (VEC A)))))
(TIMES 2 (BV-TO-NAT (VEC A)))))),
which again simplifies, using linear arithmetic and applying
UPPER-BOUND-ON-BV-TO-NAT, to:
T.
Case 2.2.2.
(IMPLIES (AND (LESSP (SUB1 (TIMES 2 (EXP 2 (SIZE (VEC A)))))
(TIMES 2 (BV-TO-NAT (VEC A))))
(BITVP A)
(NOT (EQUAL A (BTM)))
(EQUAL (BV-TO-NAT (COMPL (VEC A)))
(DIFFERENCE (SUB1 (EXP 2 (SIZE (VEC A))))
(BV-TO-NAT (VEC A))))
(NOT (BIT A)))
(EQUAL (ADD1 (TIMES 2 (BV-TO-NAT (COMPL (VEC A)))))
(DIFFERENCE (SUB1 (TIMES 2 (EXP 2 (SIZE (VEC A)))))
(TIMES 2 (BV-TO-NAT (VEC A)))))).
But this again simplifies, using linear arithmetic, to two new goals:
Case 2.2.2.2.
(IMPLIES
(AND (LESSP (SUB1 (EXP 2 (SIZE (VEC A))))
(BV-TO-NAT (VEC A)))
(LESSP (SUB1 (TIMES 2 (EXP 2 (SIZE (VEC A)))))
(TIMES 2 (BV-TO-NAT (VEC A))))
(BITVP A)
(NOT (EQUAL A (BTM)))
(EQUAL (BV-TO-NAT (COMPL (VEC A)))
(DIFFERENCE (SUB1 (EXP 2 (SIZE (VEC A))))
(BV-TO-NAT (VEC A))))
(NOT (BIT A)))
(EQUAL (ADD1 (TIMES 2 (BV-TO-NAT (COMPL (VEC A)))))
(DIFFERENCE (SUB1 (TIMES 2 (EXP 2 (SIZE (VEC A)))))
(TIMES 2 (BV-TO-NAT (VEC A)))))),
which again simplifies, using linear arithmetic and appealing to the
lemma UPPER-BOUND-ON-BV-TO-NAT, to:
T.
Case 2.2.2.1.
(IMPLIES
(AND (EQUAL (EXP 2 (SIZE (VEC A))) 0)
(LESSP (SUB1 (TIMES 2 (EXP 2 (SIZE (VEC A)))))
(TIMES 2 (BV-TO-NAT (VEC A))))
(BITVP A)
(NOT (EQUAL A (BTM)))
(EQUAL (BV-TO-NAT (COMPL (VEC A)))
(DIFFERENCE (SUB1 (EXP 2 (SIZE (VEC A))))
(BV-TO-NAT (VEC A))))
(NOT (BIT A)))
(EQUAL (ADD1 (TIMES 2 (BV-TO-NAT (COMPL (VEC A)))))
(DIFFERENCE (SUB1 (TIMES 2 (EXP 2 (SIZE (VEC A)))))
(TIMES 2 (BV-TO-NAT (VEC A)))))),
which again simplifies, using linear arithmetic and rewriting with
UPPER-BOUND-ON-BV-TO-NAT, to:
T.
Case 2.2.1.
(IMPLIES (AND (EQUAL (TIMES 2 (EXP 2 (SIZE (VEC A))))
0)
(BITVP A)
(NOT (EQUAL A (BTM)))
(EQUAL (BV-TO-NAT (COMPL (VEC A)))
(DIFFERENCE (SUB1 (EXP 2 (SIZE (VEC A))))
(BV-TO-NAT (VEC A))))
(NOT (BIT A)))
(EQUAL (ADD1 (TIMES 2 (BV-TO-NAT (COMPL (VEC A)))))
(DIFFERENCE (SUB1 (TIMES 2 (EXP 2 (SIZE (VEC A)))))
(TIMES 2 (BV-TO-NAT (VEC A)))))).
This again simplifies, using linear arithmetic, to two new conjectures:
Case 2.2.1.2.
(IMPLIES (AND (LESSP (SUB1 (EXP 2 (SIZE (VEC A))))
(BV-TO-NAT (VEC A)))
(EQUAL (TIMES 2 (EXP 2 (SIZE (VEC A))))
0)
(BITVP A)
(NOT (EQUAL A (BTM)))
(EQUAL (BV-TO-NAT (COMPL (VEC A)))
(DIFFERENCE (SUB1 (EXP 2 (SIZE (VEC A))))
(BV-TO-NAT (VEC A))))
(NOT (BIT A)))
(EQUAL (ADD1 (TIMES 2 (BV-TO-NAT (COMPL (VEC A)))))
(DIFFERENCE (SUB1 0)
(TIMES 2 (BV-TO-NAT (VEC A)))))),
which again simplifies, using linear arithmetic and rewriting with
UPPER-BOUND-ON-BV-TO-NAT, to:
T.
Case 2.2.1.1.
(IMPLIES (AND (EQUAL (EXP 2 (SIZE (VEC A))) 0)
(EQUAL (TIMES 2 (EXP 2 (SIZE (VEC A))))
0)
(BITVP A)
(NOT (EQUAL A (BTM)))
(EQUAL (BV-TO-NAT (COMPL (VEC A)))
(DIFFERENCE (SUB1 (EXP 2 (SIZE (VEC A))))
(BV-TO-NAT (VEC A))))
(NOT (BIT A)))
(EQUAL (ADD1 (TIMES 2 (BV-TO-NAT (COMPL (VEC A)))))
(DIFFERENCE (SUB1 0)
(TIMES 2 (BV-TO-NAT (VEC A)))))).
However this again simplifies, using linear arithmetic and applying
UPPER-BOUND-ON-BV-TO-NAT, to:
T.
Case 2.1.
(IMPLIES (AND (BITVP A)
(NOT (EQUAL A (BTM)))
(EQUAL (BV-TO-NAT (COMPL (VEC A)))
(DIFFERENCE (SUB1 (EXP 2 (SIZE (VEC A))))
(BV-TO-NAT (VEC A))))
(BIT A))
(EQUAL (BV-TO-NAT (BITV F (COMPL (VEC A))))
(DIFFERENCE (SUB1 (TIMES 2 (EXP 2 (SIZE (VEC A)))))
(ADD1 (TIMES 2 (BV-TO-NAT (VEC A))))))).
However this again simplifies, rewriting with VEC-BITV, BIT-BITV, and
SUB1-ADD1, and expanding PLUS, EQUAL, FALSEP, TRUEP, BV-TO-NAT, and
DIFFERENCE, to the following two new goals:
Case 2.1.2.
(IMPLIES
(AND (BITVP A)
(NOT (EQUAL A (BTM)))
(EQUAL (BV-TO-NAT (COMPL (VEC A)))
(DIFFERENCE (SUB1 (EXP 2 (SIZE (VEC A))))
(BV-TO-NAT (VEC A))))
(BIT A)
(NOT (EQUAL (SUB1 (TIMES 2 (EXP 2 (SIZE (VEC A)))))
0)))
(EQUAL (TIMES 2 (BV-TO-NAT (COMPL (VEC A))))
(DIFFERENCE (SUB1 (SUB1 (TIMES 2 (EXP 2 (SIZE (VEC A))))))
(TIMES 2 (BV-TO-NAT (VEC A)))))).
But this again simplifies, using linear arithmetic, to four new
conjectures:
Case 2.1.2.4.
(IMPLIES
(AND (LESSP (SUB1 (EXP 2 (SIZE (VEC A))))
(BV-TO-NAT (VEC A)))
(BITVP A)
(NOT (EQUAL A (BTM)))
(EQUAL (BV-TO-NAT (COMPL (VEC A)))
(DIFFERENCE (SUB1 (EXP 2 (SIZE (VEC A))))
(BV-TO-NAT (VEC A))))
(BIT A)
(NOT (EQUAL (SUB1 (TIMES 2 (EXP 2 (SIZE (VEC A)))))
0)))
(EQUAL
(TIMES 2 (BV-TO-NAT (COMPL (VEC A))))
(DIFFERENCE (SUB1 (SUB1 (TIMES 2 (EXP 2 (SIZE (VEC A))))))
(TIMES 2 (BV-TO-NAT (VEC A)))))),
which again simplifies, using linear arithmetic and appealing to the
lemma UPPER-BOUND-ON-BV-TO-NAT, to:
T.
Case 2.1.2.3.
(IMPLIES
(AND (EQUAL (EXP 2 (SIZE (VEC A))) 0)
(BITVP A)
(NOT (EQUAL A (BTM)))
(EQUAL (BV-TO-NAT (COMPL (VEC A)))
(DIFFERENCE (SUB1 (EXP 2 (SIZE (VEC A))))
(BV-TO-NAT (VEC A))))
(BIT A)
(NOT (EQUAL (SUB1 (TIMES 2 (EXP 2 (SIZE (VEC A)))))
0)))
(EQUAL
(TIMES 2 (BV-TO-NAT (COMPL (VEC A))))
(DIFFERENCE (SUB1 (SUB1 (TIMES 2 (EXP 2 (SIZE (VEC A))))))
(TIMES 2 (BV-TO-NAT (VEC A)))))),
which again simplifies, using linear arithmetic and rewriting with
UPPER-BOUND-ON-BV-TO-NAT, to:
T.
Case 2.1.2.2.
(IMPLIES
(AND (LESSP (SUB1 (SUB1 (TIMES 2 (EXP 2 (SIZE (VEC A))))))
(TIMES 2 (BV-TO-NAT (VEC A))))
(BITVP A)
(NOT (EQUAL A (BTM)))
(EQUAL (BV-TO-NAT (COMPL (VEC A)))
(DIFFERENCE (SUB1 (EXP 2 (SIZE (VEC A))))
(BV-TO-NAT (VEC A))))
(BIT A)
(NOT (EQUAL (SUB1 (TIMES 2 (EXP 2 (SIZE (VEC A)))))
0)))
(EQUAL
(TIMES 2 (BV-TO-NAT (COMPL (VEC A))))
(DIFFERENCE (SUB1 (SUB1 (TIMES 2 (EXP 2 (SIZE (VEC A))))))
(TIMES 2 (BV-TO-NAT (VEC A)))))).
However this again simplifies, using linear arithmetic, to two new
conjectures:
Case 2.1.2.2.2.
(IMPLIES
(AND (LESSP (SUB1 (EXP 2 (SIZE (VEC A))))
(BV-TO-NAT (VEC A)))
(LESSP (SUB1 (SUB1 (TIMES 2 (EXP 2 (SIZE (VEC A))))))
(TIMES 2 (BV-TO-NAT (VEC A))))
(BITVP A)
(NOT (EQUAL A (BTM)))
(EQUAL (BV-TO-NAT (COMPL (VEC A)))
(DIFFERENCE (SUB1 (EXP 2 (SIZE (VEC A))))
(BV-TO-NAT (VEC A))))
(BIT A)
(NOT (EQUAL (SUB1 (TIMES 2 (EXP 2 (SIZE (VEC A)))))
0)))
(EQUAL
(TIMES 2 (BV-TO-NAT (COMPL (VEC A))))
(DIFFERENCE (SUB1 (SUB1 (TIMES 2 (EXP 2 (SIZE (VEC A))))))
(TIMES 2 (BV-TO-NAT (VEC A)))))),
which again simplifies, using linear arithmetic and rewriting with
the lemma UPPER-BOUND-ON-BV-TO-NAT, to:
T.
Case 2.1.2.2.1.
(IMPLIES
(AND (EQUAL (EXP 2 (SIZE (VEC A))) 0)
(LESSP (SUB1 (SUB1 (TIMES 2 (EXP 2 (SIZE (VEC A))))))
(TIMES 2 (BV-TO-NAT (VEC A))))
(BITVP A)
(NOT (EQUAL A (BTM)))
(EQUAL (BV-TO-NAT (COMPL (VEC A)))
(DIFFERENCE (SUB1 (EXP 2 (SIZE (VEC A))))
(BV-TO-NAT (VEC A))))
(BIT A)
(NOT (EQUAL (SUB1 (TIMES 2 (EXP 2 (SIZE (VEC A)))))
0)))
(EQUAL
(TIMES 2 (BV-TO-NAT (COMPL (VEC A))))
(DIFFERENCE (SUB1 (SUB1 (TIMES 2 (EXP 2 (SIZE (VEC A))))))
(TIMES 2 (BV-TO-NAT (VEC A)))))),
which again simplifies, using linear arithmetic and rewriting with
UPPER-BOUND-ON-BV-TO-NAT, to:
T.
Case 2.1.2.1.
(IMPLIES
(AND (EQUAL (TIMES 2 (EXP 2 (SIZE (VEC A))))
0)
(BITVP A)
(NOT (EQUAL A (BTM)))
(EQUAL (BV-TO-NAT (COMPL (VEC A)))
(DIFFERENCE (SUB1 (EXP 2 (SIZE (VEC A))))
(BV-TO-NAT (VEC A))))
(BIT A)
(NOT (EQUAL (SUB1 (TIMES 2 (EXP 2 (SIZE (VEC A)))))
0)))
(EQUAL
(TIMES 2 (BV-TO-NAT (COMPL (VEC A))))
(DIFFERENCE (SUB1 (SUB1 (TIMES 2 (EXP 2 (SIZE (VEC A))))))
(TIMES 2 (BV-TO-NAT (VEC A)))))).
However this again simplifies, using linear arithmetic, to two new
conjectures:
Case 2.1.2.1.2.
(IMPLIES (AND (LESSP (SUB1 (EXP 2 (SIZE (VEC A))))
(BV-TO-NAT (VEC A)))
(EQUAL (TIMES 2 (EXP 2 (SIZE (VEC A))))
0)
(BITVP A)
(NOT (EQUAL A (BTM)))
(EQUAL (BV-TO-NAT (COMPL (VEC A)))
(DIFFERENCE (SUB1 (EXP 2 (SIZE (VEC A))))
(BV-TO-NAT (VEC A))))
(BIT A)
(NOT (EQUAL (SUB1 0) 0)))
(EQUAL (TIMES 2 (BV-TO-NAT (COMPL (VEC A))))
(DIFFERENCE (SUB1 (SUB1 0))
(TIMES 2 (BV-TO-NAT (VEC A)))))),
which again simplifies, using linear arithmetic and rewriting with
UPPER-BOUND-ON-BV-TO-NAT, to:
T.
Case 2.1.2.1.1.
(IMPLIES (AND (EQUAL (EXP 2 (SIZE (VEC A))) 0)
(EQUAL (TIMES 2 (EXP 2 (SIZE (VEC A))))
0)
(BITVP A)
(NOT (EQUAL A (BTM)))
(EQUAL (BV-TO-NAT (COMPL (VEC A)))
(DIFFERENCE (SUB1 (EXP 2 (SIZE (VEC A))))
(BV-TO-NAT (VEC A))))
(BIT A)
(NOT (EQUAL (SUB1 0) 0)))
(EQUAL (TIMES 2 (BV-TO-NAT (COMPL (VEC A))))
(DIFFERENCE (SUB1 (SUB1 0))
(TIMES 2 (BV-TO-NAT (VEC A)))))).
But this again simplifies, using linear arithmetic and rewriting
with UPPER-BOUND-ON-BV-TO-NAT, to:
T.
Case 2.1.1.
(IMPLIES (AND (BITVP A)
(NOT (EQUAL A (BTM)))
(EQUAL (BV-TO-NAT (COMPL (VEC A)))
(DIFFERENCE (SUB1 (EXP 2 (SIZE (VEC A))))
(BV-TO-NAT (VEC A))))
(BIT A)
(EQUAL (SUB1 (TIMES 2 (EXP 2 (SIZE (VEC A)))))
0))
(EQUAL (TIMES 2 (BV-TO-NAT (COMPL (VEC A))))
0)).
This again simplifies, using linear arithmetic, to two new formulas:
Case 2.1.1.2.
(IMPLIES (AND (LESSP (SUB1 (EXP 2 (SIZE (VEC A))))
(BV-TO-NAT (VEC A)))
(BITVP A)
(NOT (EQUAL A (BTM)))
(EQUAL (BV-TO-NAT (COMPL (VEC A)))
(DIFFERENCE (SUB1 (EXP 2 (SIZE (VEC A))))
(BV-TO-NAT (VEC A))))
(BIT A)
(EQUAL (SUB1 (TIMES 2 (EXP 2 (SIZE (VEC A)))))
0))
(EQUAL (TIMES 2 (BV-TO-NAT (COMPL (VEC A))))
0)),
which again simplifies, using linear arithmetic and applying the lemma
UPPER-BOUND-ON-BV-TO-NAT, to:
T.
Case 2.1.1.1.
(IMPLIES (AND (EQUAL (EXP 2 (SIZE (VEC A))) 0)
(BITVP A)
(NOT (EQUAL A (BTM)))
(EQUAL (BV-TO-NAT (COMPL (VEC A)))
(DIFFERENCE (SUB1 (EXP 2 (SIZE (VEC A))))
(BV-TO-NAT (VEC A))))
(BIT A)
(EQUAL (SUB1 (TIMES 2 (EXP 2 (SIZE (VEC A)))))
0))
(EQUAL (TIMES 2 (BV-TO-NAT (COMPL (VEC A))))
0)),
which again simplifies, using linear arithmetic and applying the lemma
UPPER-BOUND-ON-BV-TO-NAT, to:
T.
Case 1. (IMPLIES (NOT (BITVP A))
(EQUAL (BV-TO-NAT (COMPL A))
(DIFFERENCE (SUB1 (EXP 2 (SIZE A)))
(BV-TO-NAT A)))),
which simplifies, expanding the definitions of COMPL, BV-TO-NAT, SIZE, EXP,
SUB1, DIFFERENCE, and EQUAL, to:
T.
That finishes the proof of *1. Q.E.D.
[ 0.0 0.0 0.0 ]
BV-TO-NAT-OF-COMPL
(PROVE-LEMMA BV-TO-NAT-TO-TC-LEMMA1 NIL
(IMPLIES (BITN A (SIZE A))
(EQUAL (BV-TO-NAT (INCR T (COMPL A)))
(DIFFERENCE (EXP 2 (SIZE A))
(BV-TO-NAT A)))))
This simplifies, applying BITN-IMPLIES-COMPL-NOT-ALL-ONESP, BV-TO-NAT-OF-COMPL,
and BV-TO-NAT-OF-INCR, to:
(IMPLIES (BITN A (SIZE A))
(EQUAL (ADD1 (DIFFERENCE (SUB1 (EXP 2 (SIZE A)))
(BV-TO-NAT A)))
(DIFFERENCE (EXP 2 (SIZE A))
(BV-TO-NAT A)))),
which again simplifies, using linear arithmetic, to three new goals:
Case 3. (IMPLIES (AND (LESSP (SUB1 (EXP 2 (SIZE A)))
(BV-TO-NAT A))
(BITN A (SIZE A)))
(EQUAL (ADD1 (DIFFERENCE (SUB1 (EXP 2 (SIZE A)))
(BV-TO-NAT A)))
(DIFFERENCE (EXP 2 (SIZE A))
(BV-TO-NAT A)))),
which again simplifies, using linear arithmetic and rewriting with
UPPER-BOUND-ON-BV-TO-NAT, to:
T.
Case 2. (IMPLIES (AND (EQUAL (EXP 2 (SIZE A)) 0)
(BITN A (SIZE A)))
(EQUAL (ADD1 (DIFFERENCE (SUB1 (EXP 2 (SIZE A)))
(BV-TO-NAT A)))
(DIFFERENCE (EXP 2 (SIZE A))
(BV-TO-NAT A)))).
This again simplifies, using linear arithmetic and applying
UPPER-BOUND-ON-BV-TO-NAT, to:
T.
Case 1. (IMPLIES (AND (LESSP (EXP 2 (SIZE A)) (BV-TO-NAT A))
(BITN A (SIZE A)))
(EQUAL (ADD1 (DIFFERENCE (SUB1 (EXP 2 (SIZE A)))
(BV-TO-NAT A)))
(DIFFERENCE (EXP 2 (SIZE A))
(BV-TO-NAT A)))).
This again simplifies, using linear arithmetic and rewriting with the lemma
UPPER-BOUND-ON-BV-TO-NAT, to:
T.
Q.E.D.
[ 0.0 0.0 0.0 ]
BV-TO-NAT-TO-TC-LEMMA1
(PROVE-LEMMA BV-TO-NAT-TO-TC-LEMMA2 NIL
(EQUAL (BITN A (SIZE A))
(IF (ZEROP (SIZE A))
F
(NOT (LESSP (BV-TO-NAT A)
(EXP 2 (SUB1 (SIZE A))))))))
This formula simplifies, rewriting with SIZE-0, and opening up the functions
BTMP, ZEROP, and NOT, to the following four new goals:
Case 4. (IMPLIES (LESSP (BV-TO-NAT A)
(EXP 2 (SUB1 (SIZE A))))
(EQUAL (BITN A (SIZE A)) F)).
This again simplifies, obviously, to:
(IMPLIES (LESSP (BV-TO-NAT A)
(EXP 2 (SUB1 (SIZE A))))
(NOT (BITN A (SIZE A)))),
which we will name *1.
Case 3. (IMPLIES (EQUAL A (BTM))
(EQUAL (BITN A (SIZE A)) F)).
But this again simplifies, expanding the definitions of SIZE, BITN, and
EQUAL, to:
T.
Case 2. (IMPLIES (NOT (BITVP A))
(EQUAL (BITN A (SIZE A)) F)),
which again simplifies, opening up the functions SIZE, EQUAL, and BITN, to:
T.
Case 1. (IMPLIES (AND (BITVP A)
(NOT (EQUAL A (BTM)))
(NOT (LESSP (BV-TO-NAT A)
(EXP 2 (SUB1 (SIZE A))))))
(EQUAL (BITN A (SIZE A)) T)),
which again simplifies, obviously, to:
(IMPLIES (AND (BITVP A)
(NOT (EQUAL A (BTM)))
(NOT (LESSP (BV-TO-NAT A)
(EXP 2 (SUB1 (SIZE A))))))
(BITN A (SIZE A))),
which we would normally push and work on later by induction. But if we must
use induction to prove the input conjecture, we prefer to induct on the
original formulation of the problem. Thus we will disregard all that we
have previously done, give the name *1 to the original input, and work on it.
So now let us return to:
(EQUAL (BITN A (SIZE A))
(IF (ZEROP (SIZE A))
F
(NOT (LESSP (BV-TO-NAT A)
(EXP 2 (SUB1 (SIZE A))))))).
We named this *1. We will try to prove it by induction. There are four
plausible inductions. However, they merge into one likely candidate induction.
We will induct according to the following scheme:
(AND (IMPLIES (AND (BITVP A) (EQUAL A (BTM)))
(p A))
(IMPLIES (AND (BITVP A)
(NOT (EQUAL A (BTM)))
(p (VEC A)))
(p A))
(IMPLIES (NOT (BITVP A)) (p A))).
Linear arithmetic and the lemma VEC-LESSP can be used to establish that the
measure (COUNT A) decreases according to the well-founded relation LESSP in
each induction step of the scheme. The above induction scheme leads to the
following three new conjectures:
Case 3. (IMPLIES (AND (BITVP A) (EQUAL A (BTM)))
(EQUAL (BITN A (SIZE A))
(IF (ZEROP (SIZE A))
F
(NOT (LESSP (BV-TO-NAT A)
(EXP 2 (SUB1 (SIZE A)))))))).
This simplifies, unfolding the definitions of BITVP, SIZE, BITN, ZEROP, and
EQUAL, to:
T.
Case 2. (IMPLIES (AND (BITVP A)
(NOT (EQUAL A (BTM)))
(EQUAL (BITN (VEC A) (SIZE (VEC A)))
(IF (ZEROP (SIZE (VEC A)))
F
(NOT (LESSP (BV-TO-NAT (VEC A))
(EXP 2 (SUB1 (SIZE (VEC A)))))))))
(EQUAL (BITN A (SIZE A))
(IF (ZEROP (SIZE A))
F
(NOT (LESSP (BV-TO-NAT A)
(EXP 2 (SUB1 (SIZE A)))))))).
This simplifies, applying SIZE-0, ADD1-EQUAL, PLUS-1, and SUB1-ADD1, and
expanding the definitions of BTMP, ZEROP, NOT, SIZE, NUMBERP, BITN,
BV-TO-NAT, EQUAL, PLUS, and EXP, to 12 new conjectures:
Case 2.12.
(IMPLIES (AND (BITVP A)
(NOT (EQUAL A (BTM)))
(EQUAL (VEC A) (BTM))
(EQUAL (BITN (VEC A) (SIZE (VEC A)))
F)
(BIT A)
(NOT (LESSP (ADD1 (TIMES 2 (BV-TO-NAT (VEC A))))
1)))
(EQUAL (BIT A) T)),
which again simplifies, clearly, to:
T.
Case 2.11.
(IMPLIES (AND (BITVP A)
(NOT (EQUAL A (BTM)))
(EQUAL (VEC A) (BTM))
(EQUAL (BITN (VEC A) (SIZE (VEC A)))
F)
(NOT (BIT A))
(NOT (LESSP (TIMES 2 (BV-TO-NAT (VEC A)))
1)))
(EQUAL (BIT A) T)).
But this again simplifies, unfolding SIZE, BITN, EQUAL, BV-TO-NAT, TIMES,
and LESSP, to:
T.
Case 2.10.
(IMPLIES (AND (BITVP A)
(NOT (EQUAL A (BTM)))
(EQUAL (VEC A) (BTM))
(EQUAL (BITN (VEC A) (SIZE (VEC A)))
F)
(BIT A)
(LESSP (ADD1 (TIMES 2 (BV-TO-NAT (VEC A))))
1))
(EQUAL (BIT A) F)),
which again simplifies, using linear arithmetic, to:
T.
Case 2.9.
(IMPLIES (AND (BITVP A)
(NOT (EQUAL A (BTM)))
(EQUAL (VEC A) (BTM))
(EQUAL (BITN (VEC A) (SIZE (VEC A)))
F)
(NOT (BIT A))
(LESSP (TIMES 2 (BV-TO-NAT (VEC A)))
1))
(EQUAL (BIT A) F)),
which again simplifies, trivially, to:
T.
Case 2.8.
(IMPLIES (AND (BITVP A)
(NOT (EQUAL A (BTM)))
(LESSP (BV-TO-NAT (VEC A))
(EXP 2 (SUB1 (SIZE (VEC A)))))
(EQUAL (BITN (VEC A) (SIZE (VEC A)))
F)
(EQUAL (VEC A) (BTM))
(BIT A)
(NOT (LESSP (ADD1 (TIMES 2 (BV-TO-NAT (VEC A))))
1)))
(EQUAL (BIT A) T)).
This again simplifies, trivially, to:
T.
Case 2.7.
(IMPLIES (AND (BITVP A)
(NOT (EQUAL A (BTM)))
(LESSP (BV-TO-NAT (VEC A))
(EXP 2 (SUB1 (SIZE (VEC A)))))
(EQUAL (BITN (VEC A) (SIZE (VEC A)))
F)
(EQUAL (VEC A) (BTM))
(NOT (BIT A))
(NOT (LESSP (TIMES 2 (BV-TO-NAT (VEC A)))
1)))
(EQUAL (BIT A) T)).
However this again simplifies, unfolding BV-TO-NAT, SIZE, SUB1, EXP, LESSP,
BITN, EQUAL, and TIMES, to:
T.
Case 2.6.
(IMPLIES (AND (BITVP A)
(NOT (EQUAL A (BTM)))
(LESSP (BV-TO-NAT (VEC A))
(EXP 2 (SUB1 (SIZE (VEC A)))))
(EQUAL (BITN (VEC A) (SIZE (VEC A)))
F)
(EQUAL (VEC A) (BTM))
(BIT A)
(LESSP (ADD1 (TIMES 2 (BV-TO-NAT (VEC A))))
1))
(EQUAL (BIT A) F)),
which again simplifies, using linear arithmetic, to:
T.
Case 2.5.
(IMPLIES (AND (BITVP A)
(NOT (EQUAL A (BTM)))
(LESSP (BV-TO-NAT (VEC A))
(EXP 2 (SUB1 (SIZE (VEC A)))))
(EQUAL (BITN (VEC A) (SIZE (VEC A)))
F)
(EQUAL (VEC A) (BTM))
(NOT (BIT A))
(LESSP (TIMES 2 (BV-TO-NAT (VEC A)))
1))
(EQUAL (BIT A) F)),
which again simplifies, clearly, to:
T.
Case 2.4.
(IMPLIES (AND (BITVP A)
(NOT (EQUAL A (BTM)))
(LESSP (BV-TO-NAT (VEC A))
(EXP 2 (SUB1 (SIZE (VEC A)))))
(EQUAL (BITN (VEC A) (SIZE (VEC A)))
F)
(NOT (EQUAL (VEC A) (BTM)))
(BIT A))
(LESSP (ADD1 (TIMES 2 (BV-TO-NAT (VEC A))))
(TIMES 2
(EXP 2 (SUB1 (SIZE (VEC A))))))).
But this again simplifies, using linear arithmetic, to:
T.
Case 2.3.
(IMPLIES (AND (BITVP A)
(NOT (EQUAL A (BTM)))
(LESSP (BV-TO-NAT (VEC A))
(EXP 2 (SUB1 (SIZE (VEC A)))))
(EQUAL (BITN (VEC A) (SIZE (VEC A)))
F)
(NOT (EQUAL (VEC A) (BTM)))
(NOT (BIT A)))
(LESSP (TIMES 2 (BV-TO-NAT (VEC A)))
(TIMES 2
(EXP 2 (SUB1 (SIZE (VEC A))))))),
which again simplifies, using linear arithmetic, to:
T.
Case 2.2.
(IMPLIES (AND (BITVP A)
(NOT (EQUAL A (BTM)))
(NOT (EQUAL (VEC A) (BTM)))
(NOT (LESSP (BV-TO-NAT (VEC A))
(EXP 2 (SUB1 (SIZE (VEC A))))))
(EQUAL (BITN (VEC A) (SIZE (VEC A)))
T)
(NOT (BIT A)))
(NOT (LESSP (TIMES 2 (BV-TO-NAT (VEC A)))
(TIMES 2
(EXP 2 (SUB1 (SIZE (VEC A)))))))),
which again simplifies, using linear arithmetic, to:
T.
Case 2.1.
(IMPLIES (AND (BITVP A)
(NOT (EQUAL A (BTM)))
(NOT (EQUAL (VEC A) (BTM)))
(NOT (LESSP (BV-TO-NAT (VEC A))
(EXP 2 (SUB1 (SIZE (VEC A))))))
(EQUAL (BITN (VEC A) (SIZE (VEC A)))
T)
(BIT A))
(NOT (LESSP (ADD1 (TIMES 2 (BV-TO-NAT (VEC A))))
(TIMES 2
(EXP 2 (SUB1 (SIZE (VEC A)))))))),
which again simplifies, using linear arithmetic, to:
T.
Case 1. (IMPLIES (NOT (BITVP A))
(EQUAL (BITN A (SIZE A))
(IF (ZEROP (SIZE A))
F
(NOT (LESSP (BV-TO-NAT A)
(EXP 2 (SUB1 (SIZE A)))))))),
which simplifies, expanding the functions SIZE, EQUAL, BITN, and ZEROP, to:
T.
That finishes the proof of *1. Q.E.D.
[ 0.0 0.0 0.0 ]
BV-TO-NAT-TO-TC-LEMMA2
(PROVE-LEMMA BV-TO-NAT-OF-TRUNC
(REWRITE)
(EQUAL (BV-TO-NAT (TRUNC A N))
(REMAINDER (BV-TO-NAT A) (EXP 2 N))))
Call the conjecture *1.
We will try to prove it by induction. There are three plausible
inductions. However, they merge into one likely candidate induction. We will
induct according to the following scheme:
(AND (IMPLIES (ZEROP N) (p A N))
(IMPLIES (AND (NOT (ZEROP N))
(p (VEC A) (SUB1 N)))
(p A N))).
Linear arithmetic, the lemma COUNT-NUMBERP, and the definition of ZEROP inform
us that the measure (COUNT N) decreases according to the well-founded relation
LESSP in each induction step of the scheme. Note, however, the inductive
instance chosen for A. The above induction scheme generates two new goals:
Case 2. (IMPLIES (ZEROP N)
(EQUAL (BV-TO-NAT (TRUNC A N))
(REMAINDER (BV-TO-NAT A) (EXP 2 N)))),
which simplifies, appealing to the lemmas PLUS-1 and REMAINDER-BY-1, and
unfolding ZEROP, EQUAL, TRUNC, BV-TO-NAT, PLUS, and EXP, to:
T.
Case 1. (IMPLIES (AND (NOT (ZEROP N))
(EQUAL (BV-TO-NAT (TRUNC (VEC A) (SUB1 N)))
(REMAINDER (BV-TO-NAT (VEC A))
(EXP 2 (SUB1 N)))))
(EQUAL (BV-TO-NAT (TRUNC A N))
(REMAINDER (BV-TO-NAT A) (EXP 2 N)))),
which simplifies, rewriting with the lemmas PLUS-1, VEC-BITV, and BIT-BITV,
and expanding the functions ZEROP, TRUNC, PLUS, EQUAL, FALSEP, BV-TO-NAT,
and EXP, to eight new conjectures:
Case 1.8.
(IMPLIES (AND (NOT (EQUAL N 0))
(NUMBERP N)
(EQUAL (BV-TO-NAT (TRUNC (VEC A) (SUB1 N)))
(REMAINDER (BV-TO-NAT (VEC A))
(EXP 2 (SUB1 N))))
(EQUAL A (BTM))
(NOT (TRUEP (BIT A))))
(EQUAL (TIMES 2
(BV-TO-NAT (TRUNC (VEC A) (SUB1 N))))
(REMAINDER 0
(TIMES 2 (EXP 2 (SUB1 N)))))),
which again simplifies, applying the lemma REMAINDER-OF-0, and expanding
VEC, BV-TO-NAT, BIT, TRUEP, TIMES, and EQUAL, to:
T.
Case 1.7.
(IMPLIES (AND (NOT (EQUAL N 0))
(NUMBERP N)
(EQUAL (BV-TO-NAT (TRUNC (VEC A) (SUB1 N)))
(REMAINDER (BV-TO-NAT (VEC A))
(EXP 2 (SUB1 N))))
(NOT (BITVP A))
(NOT (TRUEP (BIT A))))
(EQUAL (TIMES 2
(BV-TO-NAT (TRUNC (VEC A) (SUB1 N))))
(REMAINDER 0
(TIMES 2 (EXP 2 (SUB1 N)))))),
which again simplifies, applying the lemmas BIT-NBITVP, REMAINDER-OF-0,
and EQUAL-TIMES-0, and opening up the functions TRUEP, EQUAL, and NUMBERP,
to:
(IMPLIES (AND (NOT (EQUAL N 0))
(NUMBERP N)
(EQUAL (BV-TO-NAT (TRUNC (VEC A) (SUB1 N)))
(REMAINDER (BV-TO-NAT (VEC A))
(EXP 2 (SUB1 N))))
(NOT (BITVP A)))
(EQUAL (BV-TO-NAT (TRUNC (VEC A) (SUB1 N)))
0)).
But this further simplifies, rewriting with the lemmas VEC-NBITVP and
REMAINDER-OF-0, and expanding the functions BV-TO-NAT and EQUAL, to:
T.
Case 1.6.
(IMPLIES (AND (NOT (EQUAL N 0))
(NUMBERP N)
(EQUAL (BV-TO-NAT (TRUNC (VEC A) (SUB1 N)))
(REMAINDER (BV-TO-NAT (VEC A))
(EXP 2 (SUB1 N))))
(EQUAL A (BTM))
(TRUEP (BIT A)))
(EQUAL (ADD1 (TIMES 2
(BV-TO-NAT (TRUNC (VEC A) (SUB1 N)))))
(REMAINDER 0
(TIMES 2 (EXP 2 (SUB1 N)))))),
which again simplifies, rewriting with the lemma REMAINDER-OF-0, and
expanding the definitions of VEC, BV-TO-NAT, BIT, and TRUEP, to:
T.
Case 1.5.
(IMPLIES (AND (NOT (EQUAL N 0))
(NUMBERP N)
(EQUAL (BV-TO-NAT (TRUNC (VEC A) (SUB1 N)))
(REMAINDER (BV-TO-NAT (VEC A))
(EXP 2 (SUB1 N))))
(NOT (BITVP A))
(TRUEP (BIT A)))
(EQUAL (ADD1 (TIMES 2
(BV-TO-NAT (TRUNC (VEC A) (SUB1 N)))))
(REMAINDER 0
(TIMES 2 (EXP 2 (SUB1 N)))))),
which again simplifies, applying BIT-NBITVP, and expanding the definition
of TRUEP, to:
T.
Case 1.4.
(IMPLIES (AND (NOT (EQUAL N 0))
(NUMBERP N)
(EQUAL (BV-TO-NAT (TRUNC (VEC A) (SUB1 N)))
(REMAINDER (BV-TO-NAT (VEC A))
(EXP 2 (SUB1 N))))
(BITVP A)
(NOT (EQUAL A (BTM)))
(NOT (BIT A))
(NOT (TRUEP (BIT A))))
(EQUAL (TIMES 2
(BV-TO-NAT (TRUNC (VEC A) (SUB1 N))))
(REMAINDER (TIMES 2 (BV-TO-NAT (VEC A)))
(TIMES 2 (EXP 2 (SUB1 N)))))).
This again simplifies, rewriting with TIMES-DISTRIBUTES-OVER-REMAINDER, to:
T.
Case 1.3.
(IMPLIES (AND (NOT (EQUAL N 0))
(NUMBERP N)
(EQUAL (BV-TO-NAT (TRUNC (VEC A) (SUB1 N)))
(REMAINDER (BV-TO-NAT (VEC A))
(EXP 2 (SUB1 N))))
(BITVP A)
(NOT (EQUAL A (BTM)))
(NOT (BIT A))
(TRUEP (BIT A)))
(EQUAL (ADD1 (TIMES 2
(BV-TO-NAT (TRUNC (VEC A) (SUB1 N)))))
(REMAINDER (TIMES 2 (BV-TO-NAT (VEC A)))
(TIMES 2 (EXP 2 (SUB1 N)))))).
This again simplifies, clearly, to:
T.
Case 1.2.
(IMPLIES (AND (NOT (EQUAL N 0))
(NUMBERP N)
(EQUAL (BV-TO-NAT (TRUNC (VEC A) (SUB1 N)))
(REMAINDER (BV-TO-NAT (VEC A))
(EXP 2 (SUB1 N))))
(BITVP A)
(NOT (EQUAL A (BTM)))
(BIT A)
(NOT (TRUEP (BIT A))))
(EQUAL (TIMES 2
(BV-TO-NAT (TRUNC (VEC A) (SUB1 N))))
(REMAINDER (ADD1 (TIMES 2 (BV-TO-NAT (VEC A))))
(TIMES 2 (EXP 2 (SUB1 N)))))).
This again simplifies, obviously, to:
T.
Case 1.1.
(IMPLIES (AND (NOT (EQUAL N 0))
(NUMBERP N)
(EQUAL (BV-TO-NAT (TRUNC (VEC A) (SUB1 N)))
(REMAINDER (BV-TO-NAT (VEC A))
(EXP 2 (SUB1 N))))
(BITVP A)
(NOT (EQUAL A (BTM)))
(BIT A)
(TRUEP (BIT A)))
(EQUAL (ADD1 (TIMES 2
(BV-TO-NAT (TRUNC (VEC A) (SUB1 N)))))
(REMAINDER (ADD1 (TIMES 2 (BV-TO-NAT (VEC A))))
(TIMES 2 (EXP 2 (SUB1 N)))))).
But this again simplifies, applying the lemma
TIMES-2-DISTRIBUTES-OVER-REMAINDER-ADD1, to:
T.
That finishes the proof of *1. Q.E.D.
[ 0.0 0.0 0.1 ]
BV-TO-NAT-OF-TRUNC
(PROVE-LEMMA ALL-ONESP-OF-COMPL
(REWRITE)
(EQUAL (ALL-ONESP (COMPL A))
(EQUAL (BV-TO-NAT A) 0)))
This formula simplifies, clearly, to the following two new goals:
Case 2. (IMPLIES (NOT (EQUAL (BV-TO-NAT A) 0))
(NOT (ALL-ONESP (COMPL A)))).
Call the above conjecture *1.
Case 1. (IMPLIES (EQUAL (BV-TO-NAT A) 0)
(EQUAL (ALL-ONESP (COMPL A)) T)).
This again simplifies, clearly, to:
(IMPLIES (EQUAL (BV-TO-NAT A) 0)
(ALL-ONESP (COMPL A))),
which we would normally push and work on later by induction. But if we must
use induction to prove the input conjecture, we prefer to induct on the
original formulation of the problem. Thus we will disregard all that we
have previously done, give the name *1 to the original input, and work on it.
So now let us return to:
(EQUAL (ALL-ONESP (COMPL A))
(EQUAL (BV-TO-NAT A) 0)),
named *1. Let us appeal to the induction principle. Two inductions are
suggested by terms in the conjecture. However, they merge into one likely
candidate induction. We will induct according to the following scheme:
(AND (IMPLIES (AND (BITVP A) (EQUAL A (BTM)))
(p A))
(IMPLIES (AND (BITVP A)
(NOT (EQUAL A (BTM)))
(p (VEC A)))
(p A))
(IMPLIES (NOT (BITVP A)) (p A))).
Linear arithmetic and the lemma VEC-LESSP inform us that the measure (COUNT A)
decreases according to the well-founded relation LESSP in each induction step
of the scheme. The above induction scheme generates three new conjectures:
Case 3. (IMPLIES (AND (BITVP A) (EQUAL A (BTM)))
(EQUAL (ALL-ONESP (COMPL A))
(EQUAL (BV-TO-NAT A) 0))),
which simplifies, unfolding the functions BITVP, COMPL, ALL-ONESP, BV-TO-NAT,
and EQUAL, to:
T.
Case 2. (IMPLIES (AND (BITVP A)
(NOT (EQUAL A (BTM)))
(EQUAL (ALL-ONESP (COMPL (VEC A)))
(EQUAL (BV-TO-NAT (VEC A)) 0)))
(EQUAL (ALL-ONESP (COMPL A))
(EQUAL (BV-TO-NAT A) 0))),
which simplifies, appealing to the lemma PLUS-1, and opening up the
definitions of COMPL, BV-TO-NAT, EQUAL, PLUS, and TIMES, to six new formulas:
Case 2.6.
(IMPLIES (AND (BITVP A)
(NOT (EQUAL A (BTM)))
(NOT (EQUAL (BV-TO-NAT (VEC A)) 0))
(NOT (ALL-ONESP (COMPL (VEC A))))
(BIT A)
(NOT (EQUAL (ADD1 (TIMES 2 (BV-TO-NAT (VEC A))))
0)))
(NOT (ALL-ONESP (BITV F (COMPL (VEC A)))))),
which again simplifies, rewriting with BIT-BITV, and unfolding the
definitions of FALSEP, TRUEP, and ALL-ONESP, to:
T.
Case 2.5.
(IMPLIES (AND (BITVP A)
(NOT (EQUAL A (BTM)))
(NOT (EQUAL (BV-TO-NAT (VEC A)) 0))
(NOT (ALL-ONESP (COMPL (VEC A))))
(BIT A)
(EQUAL (ADD1 (TIMES 2 (BV-TO-NAT (VEC A))))
0))
(EQUAL (ALL-ONESP (BITV F (COMPL (VEC A))))
T)).
However this again simplifies, using linear arithmetic, to:
T.
Case 2.4.
(IMPLIES (AND (BITVP A)
(NOT (EQUAL A (BTM)))
(NOT (EQUAL (BV-TO-NAT (VEC A)) 0))
(NOT (ALL-ONESP (COMPL (VEC A))))
(NOT (BIT A))
(NOT (EQUAL (TIMES 2 (BV-TO-NAT (VEC A)))
0)))
(NOT (ALL-ONESP (BITV T (COMPL (VEC A)))))),
which again simplifies, appealing to the lemmas EQUAL-TIMES-0, VEC-BITV,
and BIT-BITV, and unfolding the functions EQUAL, NUMBERP, TRUEP, and
ALL-ONESP, to:
T.
Case 2.3.
(IMPLIES (AND (BITVP A)
(NOT (EQUAL A (BTM)))
(NOT (EQUAL (BV-TO-NAT (VEC A)) 0))
(NOT (ALL-ONESP (COMPL (VEC A))))
(NOT (BIT A))
(EQUAL (TIMES 2 (BV-TO-NAT (VEC A)))
0))
(EQUAL (ALL-ONESP (BITV T (COMPL (VEC A))))
T)),
which again simplifies, using linear arithmetic, to:
T.
Case 2.2.
(IMPLIES (AND (BITVP A)
(NOT (EQUAL A (BTM)))
(EQUAL (BV-TO-NAT (VEC A)) 0)
(EQUAL (ALL-ONESP (COMPL (VEC A))) T)
(BIT A))
(NOT (ALL-ONESP (BITV F (COMPL (VEC A)))))),
which again simplifies, applying the lemma BIT-BITV, and opening up the
functions FALSEP, TRUEP, and ALL-ONESP, to:
T.
Case 2.1.
(IMPLIES (AND (BITVP A)
(NOT (EQUAL A (BTM)))
(EQUAL (BV-TO-NAT (VEC A)) 0)
(EQUAL (ALL-ONESP (COMPL (VEC A))) T)
(NOT (BIT A)))
(EQUAL (ALL-ONESP (BITV T (COMPL (VEC A))))
T)),
which again simplifies, appealing to the lemmas VEC-BITV and BIT-BITV, and
expanding the functions TRUEP, ALL-ONESP, and EQUAL, to:
T.
Case 1. (IMPLIES (NOT (BITVP A))
(EQUAL (ALL-ONESP (COMPL A))
(EQUAL (BV-TO-NAT A) 0))),
which simplifies, opening up COMPL, ALL-ONESP, BV-TO-NAT, and EQUAL, to:
T.
That finishes the proof of *1. Q.E.D.
[ 0.0 0.0 0.0 ]
ALL-ONESP-OF-COMPL
(PROVE-LEMMA TCP-BV-TO-TC
(REWRITE)
(TCP (BV-TO-TC A)))
WARNING: Note that the rewrite rule TCP-BV-TO-TC will be stored so as to
apply only to terms with the nonrecursive function symbol TCP.
This conjecture can be simplified, using the abbreviation TCP, to the goal:
(IMPLIES (NOT (NUMBERP (BV-TO-TC A)))
(IF (NEGATIVEP (BV-TO-TC A))
(IF (EQUAL (NEGATIVE-GUTS (BV-TO-TC A)) 0)
F T)
F)).
This simplifies, appealing to the lemmas BV-TO-NAT-OF-INCR, BV-TO-NAT-OF-COMPL,
ALL-ONESP-OF-COMPL, and NEGATIVE-GUTS-MINUS, and expanding the definition of
BV-TO-TC, to the following two new goals:
Case 2. (IMPLIES (BITN A (SIZE A))
(NOT (EQUAL (ADD1 (DIFFERENCE (SUB1 (EXP 2 (SIZE A)))
(BV-TO-NAT A)))
0))).
This again simplifies, using linear arithmetic and rewriting with
UPPER-BOUND-ON-BV-TO-NAT, to:
T.
Case 1. (IMPLIES (BITN A (SIZE A))
(NOT (EQUAL (BV-TO-NAT A) 0))).
Call the above conjecture *1.
Perhaps we can prove it by induction. Two inductions are suggested by
terms in the conjecture. However, they merge into one likely candidate
induction. We will induct according to the following scheme:
(AND (IMPLIES (AND (BITVP A) (EQUAL A (BTM)))
(p A))
(IMPLIES (AND (BITVP A)
(NOT (EQUAL A (BTM)))
(p (VEC A)))
(p A))
(IMPLIES (NOT (BITVP A)) (p A))).
Linear arithmetic and the lemma VEC-LESSP establish that the measure (COUNT A)
decreases according to the well-founded relation LESSP in each induction step
of the scheme. The above induction scheme generates the following four new
goals:
Case 4. (IMPLIES (AND (BITVP A)
(EQUAL A (BTM))
(BITN A (SIZE A)))
(NOT (EQUAL (BV-TO-NAT A) 0))).
This simplifies, expanding BITVP, SIZE, and BITN, to:
T.
Case 3. (IMPLIES (AND (BITVP A)
(NOT (EQUAL A (BTM)))
(NOT (BITN (VEC A) (SIZE (VEC A))))
(BITN A (SIZE A)))
(NOT (EQUAL (BV-TO-NAT A) 0))).
This simplifies, rewriting with the lemmas SUB1-ADD1, ADD1-EQUAL, SIZE-0,
and PLUS-1, and expanding the definitions of SIZE, BTMP, NUMBERP, BITN, and
BV-TO-NAT, to:
T.
Case 2. (IMPLIES (AND (BITVP A)
(NOT (EQUAL A (BTM)))
(NOT (EQUAL (BV-TO-NAT (VEC A)) 0))
(BITN A (SIZE A)))
(NOT (EQUAL (BV-TO-NAT A) 0))).
This simplifies, applying the lemmas SUB1-ADD1, ADD1-EQUAL, SIZE-0, and
PLUS-1, and expanding SIZE, BTMP, NUMBERP, BITN, BV-TO-NAT, EQUAL, and PLUS,
to the following two new conjectures:
Case 2.2.
(IMPLIES (AND (BITVP A)
(NOT (EQUAL A (BTM)))
(NOT (EQUAL (BV-TO-NAT (VEC A)) 0))
(NOT (EQUAL (VEC A) (BTM)))
(BITN (VEC A) (SIZE (VEC A)))
(NOT (BIT A)))
(NOT (EQUAL (TIMES 2 (BV-TO-NAT (VEC A)))
0))).
However this again simplifies, using linear arithmetic, to:
T.
Case 2.1.
(IMPLIES (AND (BITVP A)
(NOT (EQUAL A (BTM)))
(NOT (EQUAL (BV-TO-NAT (VEC A)) 0))
(NOT (EQUAL (VEC A) (BTM)))
(BITN (VEC A) (SIZE (VEC A)))
(BIT A))
(NOT (EQUAL (ADD1 (TIMES 2 (BV-TO-NAT (VEC A))))
0))),
which again simplifies, using linear arithmetic, to:
T.
Case 1. (IMPLIES (AND (NOT (BITVP A))
(BITN A (SIZE A)))
(NOT (EQUAL (BV-TO-NAT A) 0))),
which simplifies, unfolding the definitions of SIZE, EQUAL, and BITN, to:
T.
That finishes the proof of *1. Q.E.D.
[ 0.0 0.0 0.0 ]
TCP-BV-TO-TC
(PROVE-LEMMA UPPER-BOUND-ON-NON-NEGATIVE-BV-TO-NAT
(REWRITE)
(IMPLIES (AND (BITVP A)
(NOT (EQUAL A (BTM)))
(NOT (BITN A (SIZE A))))
(LESSP (BV-TO-NAT A)
(EXP 2 (SUB1 (SIZE A))))))
WARNING: Note that the proposed lemma UPPER-BOUND-ON-NON-NEGATIVE-BV-TO-NAT
is to be stored as zero type prescription rules, zero compound recognizer
rules, one linear rule, and zero replacement rules.
Name the conjecture *1.
We will appeal to induction. There are three plausible inductions.
However, they merge into one likely candidate induction. We will induct
according to the following scheme:
(AND (IMPLIES (AND (BITVP A) (EQUAL A (BTM)))
(p A))
(IMPLIES (AND (BITVP A)
(NOT (EQUAL A (BTM)))
(p (VEC A)))
(p A))
(IMPLIES (NOT (BITVP A)) (p A))).
Linear arithmetic and the lemma VEC-LESSP can be used to show that the measure
(COUNT A) decreases according to the well-founded relation LESSP in each
induction step of the scheme. The above induction scheme generates three new
conjectures:
Case 3. (IMPLIES (AND (EQUAL (VEC A) (BTM))
(BITVP A)
(NOT (EQUAL A (BTM)))
(NOT (BITN A (SIZE A))))
(LESSP (BV-TO-NAT A)
(EXP 2 (SUB1 (SIZE A))))),
which simplifies, appealing to the lemmas ADD1-EQUAL, SIZE-0, and SUB1-ADD1,
and unfolding the definitions of SIZE, BTMP, NUMBERP, BITN, BV-TO-NAT, EQUAL,
PLUS, and EXP, to the formula:
(IMPLIES (AND (EQUAL (VEC A) (BTM))
(BITVP A)
(NOT (EQUAL A (BTM)))
(NOT (BIT A)))
(LESSP (TIMES 2 (BV-TO-NAT (VEC A)))
1)).
This again simplifies, opening up the definitions of BV-TO-NAT, TIMES, and
LESSP, to:
T.
Case 2. (IMPLIES (AND (BITN (VEC A) (SIZE (VEC A)))
(BITVP A)
(NOT (EQUAL A (BTM)))
(NOT (BITN A (SIZE A))))
(LESSP (BV-TO-NAT A)
(EXP 2 (SUB1 (SIZE A))))),
which simplifies, rewriting with SUB1-ADD1, ADD1-EQUAL, and SIZE-0, and
unfolding the definitions of SIZE, BTMP, NUMBERP, BITN, BV-TO-NAT, EQUAL,
PLUS, and EXP, to the new goal:
(IMPLIES (AND (BITN (VEC A) (SIZE (VEC A)))
(BITVP A)
(NOT (EQUAL A (BTM)))
(EQUAL (VEC A) (BTM))
(NOT (BIT A)))
(LESSP (TIMES 2 (BV-TO-NAT (VEC A)))
1)),
which again simplifies, opening up the functions SIZE and BITN, to:
T.
Case 1. (IMPLIES (AND (LESSP (BV-TO-NAT (VEC A))
(EXP 2 (SUB1 (SIZE (VEC A)))))
(BITVP A)
(NOT (EQUAL A (BTM)))
(NOT (BITN A (SIZE A))))
(LESSP (BV-TO-NAT A)
(EXP 2 (SUB1 (SIZE A))))),
which simplifies, applying the lemmas SUB1-ADD1, ADD1-EQUAL, SIZE-0, and
PLUS-1, and unfolding SIZE, BTMP, NUMBERP, BITN, BV-TO-NAT, EQUAL, PLUS, and
EXP, to three new conjectures:
Case 1.3.
(IMPLIES (AND (LESSP (BV-TO-NAT (VEC A))
(EXP 2 (SUB1 (SIZE (VEC A)))))
(BITVP A)
(NOT (EQUAL A (BTM)))
(NOT (EQUAL (VEC A) (BTM)))
(NOT (BITN (VEC A) (SIZE (VEC A))))
(NOT (BIT A)))
(LESSP (TIMES 2 (BV-TO-NAT (VEC A)))
(TIMES 2
(EXP 2 (SUB1 (SIZE (VEC A))))))),
which again simplifies, using linear arithmetic, to:
T.
Case 1.2.
(IMPLIES (AND (LESSP (BV-TO-NAT (VEC A))
(EXP 2 (SUB1 (SIZE (VEC A)))))
(BITVP A)
(NOT (EQUAL A (BTM)))
(NOT (EQUAL (VEC A) (BTM)))
(NOT (BITN (VEC A) (SIZE (VEC A))))
(BIT A))
(LESSP (ADD1 (TIMES 2 (BV-TO-NAT (VEC A))))
(TIMES 2
(EXP 2 (SUB1 (SIZE (VEC A))))))),
which again simplifies, using linear arithmetic, to:
T.
Case 1.1.
(IMPLIES (AND (LESSP (BV-TO-NAT (VEC A))
(EXP 2 (SUB1 (SIZE (VEC A)))))
(BITVP A)
(NOT (EQUAL A (BTM)))
(EQUAL (VEC A) (BTM))
(NOT (BIT A)))
(LESSP (TIMES 2 (BV-TO-NAT (VEC A)))
1)),
which again simplifies, unfolding the definitions of BV-TO-NAT, SIZE, SUB1,
EXP, LESSP, and TIMES, to:
T.
That finishes the proof of *1. Q.E.D.
[ 0.0 0.0 0.0 ]
UPPER-BOUND-ON-NON-NEGATIVE-BV-TO-NAT
(PROVE-LEMMA LOWER-BOUND-ON-NEGATIVE-BV-TO-NAT
(REWRITE)
(IMPLIES (AND (BITVP A)
(NOT (EQUAL A (BTM)))
(BITN A (SIZE A)))
(NOT (LESSP (BV-TO-NAT A)
(EXP 2 (SUB1 (SIZE A)))))))
WARNING: Note that the proposed lemma LOWER-BOUND-ON-NEGATIVE-BV-TO-NAT is to
be stored as zero type prescription rules, zero compound recognizer rules, one
linear rule, and zero replacement rules.
Name the conjecture *1.
We will appeal to induction. There are three plausible inductions.
However, they merge into one likely candidate induction. We will induct
according to the following scheme:
(AND (IMPLIES (AND (BITVP A) (EQUAL A (BTM)))
(p A))
(IMPLIES (AND (BITVP A)
(NOT (EQUAL A (BTM)))
(p (VEC A)))
(p A))
(IMPLIES (NOT (BITVP A)) (p A))).
Linear arithmetic and the lemma VEC-LESSP can be used to show that the measure
(COUNT A) decreases according to the well-founded relation LESSP in each
induction step of the scheme. The above induction scheme generates three new
conjectures:
Case 3. (IMPLIES (AND (EQUAL (VEC A) (BTM))
(BITVP A)
(NOT (EQUAL A (BTM)))
(BITN A (SIZE A)))
(NOT (LESSP (BV-TO-NAT A)
(EXP 2 (SUB1 (SIZE A)))))),
which simplifies, appealing to the lemmas ADD1-EQUAL, SIZE-0, PLUS-1, and
SUB1-ADD1, and unfolding the definitions of SIZE, BTMP, NUMBERP, BITN,
BV-TO-NAT, EXP, SUB1, EQUAL, and LESSP, to:
T.
Case 2. (IMPLIES (AND (NOT (BITN (VEC A) (SIZE (VEC A))))
(BITVP A)
(NOT (EQUAL A (BTM)))
(BITN A (SIZE A)))
(NOT (LESSP (BV-TO-NAT A)
(EXP 2 (SUB1 (SIZE A)))))),
which simplifies, rewriting with SUB1-ADD1, ADD1-EQUAL, SIZE-0, and PLUS-1,
and expanding the definitions of SIZE, BTMP, NUMBERP, BITN, BV-TO-NAT, EXP,
SUB1, EQUAL, and LESSP, to:
T.
Case 1. (IMPLIES (AND (NOT (LESSP (BV-TO-NAT (VEC A))
(EXP 2 (SUB1 (SIZE (VEC A))))))
(BITVP A)
(NOT (EQUAL A (BTM)))
(BITN A (SIZE A)))
(NOT (LESSP (BV-TO-NAT A)
(EXP 2 (SUB1 (SIZE A)))))).
This simplifies, applying SUB1-ADD1, ADD1-EQUAL, SIZE-0, and PLUS-1, and
opening up the definitions of SIZE, BTMP, NUMBERP, BITN, BV-TO-NAT, EQUAL,
PLUS, EXP, SUB1, and LESSP, to two new formulas:
Case 1.2.
(IMPLIES (AND (NOT (LESSP (BV-TO-NAT (VEC A))
(EXP 2 (SUB1 (SIZE (VEC A))))))
(BITVP A)
(NOT (EQUAL A (BTM)))
(NOT (EQUAL (VEC A) (BTM)))
(BITN (VEC A) (SIZE (VEC A)))
(NOT (BIT A)))
(NOT (LESSP (TIMES 2 (BV-TO-NAT (VEC A)))
(TIMES 2
(EXP 2 (SUB1 (SIZE (VEC A)))))))),
which again simplifies, using linear arithmetic, to:
T.
Case 1.1.
(IMPLIES (AND (NOT (LESSP (BV-TO-NAT (VEC A))
(EXP 2 (SUB1 (SIZE (VEC A))))))
(BITVP A)
(NOT (EQUAL A (BTM)))
(NOT (EQUAL (VEC A) (BTM)))
(BITN (VEC A) (SIZE (VEC A)))
(BIT A))
(NOT (LESSP (ADD1 (TIMES 2 (BV-TO-NAT (VEC A))))
(TIMES 2
(EXP 2 (SUB1 (SIZE (VEC A)))))))),
which again simplifies, using linear arithmetic, to:
T.
That finishes the proof of *1. Q.E.D.
[ 0.0 0.0 0.0 ]
LOWER-BOUND-ON-NEGATIVE-BV-TO-NAT
(PROVE-LEMMA TC-IN-RANGEP-OF-BV-TO-TC
(REWRITE)
(IMPLIES (EQUAL N (SIZE A))
(EQUAL (TC-IN-RANGEP (BV-TO-TC A) N)
(AND (BITVP A)
(NOT (EQUAL A (BTM)))))))
WARNING: Note that the rewrite rule TC-IN-RANGEP-OF-BV-TO-TC will be stored
so as to apply only to terms with the nonrecursive function symbol
TC-IN-RANGEP.
This conjecture simplifies, rewriting with the lemmas BV-TO-NAT-OF-INCR,
BV-TO-NAT-OF-COMPL, and ALL-ONESP-OF-COMPL, and unfolding the functions
BV-TO-TC, NOT, and AND, to nine new formulas:
Case 9. (IMPLIES (AND (EQUAL A (BTM))
(NOT (BITN A (SIZE A))))
(EQUAL (TC-IN-RANGEP (BV-TO-NAT A) (SIZE A))
F)),
which again simplifies, unfolding the definitions of SIZE, BITN, BV-TO-NAT,
TC-IN-RANGEP, and EQUAL, to:
T.
Case 8. (IMPLIES (AND (NOT (BITVP A))
(NOT (BITN A (SIZE A))))
(EQUAL (TC-IN-RANGEP (BV-TO-NAT A) (SIZE A))
F)),
which again simplifies, unfolding the functions SIZE, EQUAL, BITN, BV-TO-NAT,
and TC-IN-RANGEP, to:
T.
Case 7. (IMPLIES (AND (EQUAL A (BTM))
(BITN A (SIZE A))
(EQUAL (BV-TO-NAT A) 0))
(EQUAL (TC-IN-RANGEP (MINUS 0) (SIZE A))
F)),
which again simplifies, unfolding SIZE and BITN, to:
T.
Case 6. (IMPLIES (AND (NOT (BITVP A))
(BITN A (SIZE A))
(EQUAL (BV-TO-NAT A) 0))
(EQUAL (TC-IN-RANGEP (MINUS 0) (SIZE A))
F)),
which again simplifies, unfolding SIZE, EQUAL, and BITN, to:
T.
Case 5. (IMPLIES
(AND (EQUAL A (BTM))
(BITN A (SIZE A))
(NOT (EQUAL (BV-TO-NAT A) 0)))
(EQUAL (TC-IN-RANGEP (MINUS (ADD1 (DIFFERENCE (SUB1 (EXP 2 (SIZE A)))
(BV-TO-NAT A))))
(SIZE A))
F)),
which again simplifies, unfolding SIZE and BITN, to:
T.
Case 4. (IMPLIES
(AND (NOT (BITVP A))
(BITN A (SIZE A))
(NOT (EQUAL (BV-TO-NAT A) 0)))
(EQUAL (TC-IN-RANGEP (MINUS (ADD1 (DIFFERENCE (SUB1 (EXP 2 (SIZE A)))
(BV-TO-NAT A))))
(SIZE A))
F)),
which again simplifies, opening up SIZE, EQUAL, and BITN, to:
T.
Case 3. (IMPLIES (AND (BITVP A)
(NOT (EQUAL A (BTM)))
(NOT (BITN A (SIZE A))))
(EQUAL (TC-IN-RANGEP (BV-TO-NAT A) (SIZE A))
T)),
which again simplifies, rewriting with the lemma SIZE-0, and opening up BTMP
and TC-IN-RANGEP, to:
(IMPLIES (AND (BITVP A)
(NOT (EQUAL A (BTM)))
(NOT (BITN A (SIZE A))))
(LESSP (BV-TO-NAT A)
(EXP 2 (SUB1 (SIZE A))))).
However this again simplifies, using linear arithmetic and applying the
lemma UPPER-BOUND-ON-NON-NEGATIVE-BV-TO-NAT, to:
T.
Case 2. (IMPLIES (AND (BITVP A)
(NOT (EQUAL A (BTM)))
(BITN A (SIZE A))
(EQUAL (BV-TO-NAT A) 0))
(EQUAL (TC-IN-RANGEP (MINUS 0) (SIZE A))
T)),
which again simplifies, rewriting with SIZE-0, and unfolding LESSP, EQUAL,
NEGATIVE-GUTS, NEGATIVEP, BTMP, and TC-IN-RANGEP, to:
T.
Case 1. (IMPLIES
(AND (BITVP A)
(NOT (EQUAL A (BTM)))
(BITN A (SIZE A))
(NOT (EQUAL (BV-TO-NAT A) 0)))
(EQUAL (TC-IN-RANGEP (MINUS (ADD1 (DIFFERENCE (SUB1 (EXP 2 (SIZE A)))
(BV-TO-NAT A))))
(SIZE A))
T)).
This again simplifies, rewriting with SUB1-ADD1, NEGATIVE-GUTS-MINUS, and
SIZE-0, and unfolding the definitions of LESSP, BTMP, and TC-IN-RANGEP, to
the following two new conjectures:
Case 1.2.
(IMPLIES (AND (BITVP A)
(NOT (EQUAL A (BTM)))
(BITN A (SIZE A))
(NOT (EQUAL (BV-TO-NAT A) 0)))
(NOT (EQUAL (EXP 2 (SUB1 (SIZE A))) 0))).
This again simplifies, using linear arithmetic and appealing to the lemma
EXP-2-NEVER-0, to:
T.
Case 1.1.
(IMPLIES (AND (BITVP A)
(NOT (EQUAL A (BTM)))
(BITN A (SIZE A))
(NOT (EQUAL (BV-TO-NAT A) 0)))
(NOT (LESSP (SUB1 (EXP 2 (SUB1 (SIZE A))))
(DIFFERENCE (SUB1 (EXP 2 (SIZE A)))
(BV-TO-NAT A))))),
which again simplifies, applying SIZE-0, and unfolding BTMP and EXP, to:
(IMPLIES
(AND (BITVP A)
(NOT (EQUAL A (BTM)))
(BITN A (SIZE A))
(NOT (EQUAL (BV-TO-NAT A) 0)))
(NOT (LESSP (SUB1 (EXP 2 (SUB1 (SIZE A))))
(DIFFERENCE (SUB1 (TIMES 2 (EXP 2 (SUB1 (SIZE A)))))
(BV-TO-NAT A))))),
which again simplifies, using linear arithmetic and applying
LOWER-BOUND-ON-NEGATIVE-BV-TO-NAT, to the following two new goals:
Case 1.1.2.
(IMPLIES
(AND (LESSP (SUB1 (TIMES 2 (EXP 2 (SUB1 (SIZE A)))))
(BV-TO-NAT A))
(BITVP A)
(NOT (EQUAL A (BTM)))
(BITN A (SIZE A))
(NOT (EQUAL (BV-TO-NAT A) 0)))
(NOT (LESSP (SUB1 (EXP 2 (SUB1 (SIZE A))))
(DIFFERENCE (SUB1 (TIMES 2 (EXP 2 (SUB1 (SIZE A)))))
(BV-TO-NAT A))))).
But this again simplifies, rewriting with the lemma
PATHOLOGICAL-DIFFERENCE, and opening up the definitions of EQUAL and
LESSP, to:
T.
Case 1.1.1.
(IMPLIES
(AND (EQUAL (TIMES 2 (EXP 2 (SUB1 (SIZE A))))
0)
(BITVP A)
(NOT (EQUAL A (BTM)))
(BITN A (SIZE A))
(NOT (EQUAL (BV-TO-NAT A) 0)))
(NOT (LESSP (SUB1 (EXP 2 (SUB1 (SIZE A))))
(DIFFERENCE (SUB1 (TIMES 2 (EXP 2 (SUB1 (SIZE A)))))
(BV-TO-NAT A))))),
which again simplifies, using linear arithmetic and rewriting with
EXP-2-NEVER-0, to:
T.
Q.E.D.
[ 0.0 0.0 0.0 ]
TC-IN-RANGEP-OF-BV-TO-TC
(PROVE-LEMMA BITN-MEANS-NEGATIVEP
(REWRITE)
(IMPLIES (EQUAL N (SIZE A))
(EQUAL (BITN A N)
(NEGATIVEP (BV-TO-TC A)))))
This simplifies, appealing to the lemmas BV-TO-NAT-OF-INCR, BV-TO-NAT-OF-COMPL,
and ALL-ONESP-OF-COMPL, and opening up the definition of BV-TO-TC, to three
new goals:
Case 3. (IMPLIES (NOT (BITN A (SIZE A)))
(EQUAL (BITN A (SIZE A))
(NEGATIVEP (BV-TO-NAT A)))),
which again simplifies, trivially, to:
T.
Case 2. (IMPLIES (AND (BITN A (SIZE A))
(EQUAL (BV-TO-NAT A) 0))
(EQUAL (BITN A (SIZE A))
(NEGATIVEP (MINUS 0)))).
This again simplifies, clearly, to:
T.
Case 1. (IMPLIES
(AND (BITN A (SIZE A))
(NOT (EQUAL (BV-TO-NAT A) 0)))
(EQUAL (BITN A (SIZE A))
(NEGATIVEP (MINUS (ADD1 (DIFFERENCE (SUB1 (EXP 2 (SIZE A)))
(BV-TO-NAT A))))))).
This again simplifies, clearly, to:
T.
Q.E.D.
[ 0.0 0.0 0.0 ]
BITN-MEANS-NEGATIVEP
(DISABLE BITN-MEANS-NEGATIVEP)
[ 0.0 0.0 0.0 ]
BITN-MEANS-NEGATIVEP-OFF
(PROVE-LEMMA PLUS-TO-ADD NIL
(IMPLIES (AND (TCP X)
(TCP Y)
(TC-IN-RANGEP X N)
(TC-IN-RANGEP Y N))
(EQUAL (NAT-TO-TC (REMAINDER (PLUS (CARRY C)
(TC-TO-NAT X N)
(TC-TO-NAT Y N))
(EXP 2 N))
N)
(IF (TC-IN-RANGEP (ADD X (ADD Y (CARRY C)))
N)
(ADD X (ADD Y (CARRY C)))
(IF (NEGATIVEP (ADD X (ADD Y (CARRY C))))
(ADD X
(ADD Y (ADD (CARRY C) (EXP 2 N))))
(ADD X
(ADD Y
(ADD (CARRY C)
(MINUS (EXP 2 N))))))))))
This formula can be simplified, using the abbreviations TC-IN-RANGEP, AND, and
IMPLIES, to the new goal:
(IMPLIES (AND (TCP X)
(TCP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(IF (NEGATIVEP X)
(IF (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X))
F T)
(LESSP X (EXP 2 (SUB1 N))))
(IF (NEGATIVEP Y)
(IF (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y))
F T)
(LESSP Y (EXP 2 (SUB1 N)))))
(EQUAL (NAT-TO-TC (REMAINDER (PLUS (CARRY C)
(TC-TO-NAT X N)
(TC-TO-NAT Y N))
(EXP 2 N))
N)
(COND ((TC-IN-RANGEP (ADD X (ADD Y (CARRY C)))
N)
(ADD X (ADD Y (CARRY C))))
((NEGATIVEP (ADD X (ADD Y (CARRY C))))
(ADD X
(ADD Y (ADD (CARRY C) (EXP 2 N)))))
(T (ADD X
(ADD Y
(ADD (CARRY C)
(MINUS (EXP 2 N))))))))),
which simplifies, rewriting with COMMUTATIVITY-OF-PLUS and
COMMUTATIVITY2-OF-PLUS, and unfolding the functions TCP, CARRY, TC-TO-NAT, EXP,
ADD, and TC-IN-RANGEP, to the following 22 new goals:
Case 22.(IMPLIES (AND (NUMBERP X)
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(NOT (LESSP (PLUS X Y 1)
(EXP 2 (SUB1 N)))))
(EQUAL (NAT-TO-TC (REMAINDER (PLUS X Y 1)
(TIMES 2 (EXP 2 (SUB1 N))))
N)
(ADD X
(ADD Y
(ADD 1
(MINUS (TIMES 2 (EXP 2 (SUB1 N))))))))).
However this again simplifies, using linear arithmetic, applying PLUS-1,
COMMUTATIVITY-OF-PLUS, PLUS-ADD1, SUB1-ADD1, PATHOLOGICAL-DIFFERENCE,
COMMUTATIVITY-OF-ADD, REMAINDER-OF-0, EQUAL-TIMES-0, EXP-2-NEVER-0, and
NEGATIVE-GUTS-MINUS, and opening up the functions LESSP, TIMES, EQUAL,
REMAINDER, MINUS, EXP, NAT-TO-TC, ADD, NEGATIVEP, NUMBERP, DIFFERENCE, and
SUB1, to the following seven new formulas:
Case 22.7.
(IMPLIES (AND (NUMBERP X)
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(LESSP Y (EXP 2 (SUB1 N)))
C)
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))).
But this again simplifies, using linear arithmetic, to:
T.
Case 22.6.
(IMPLIES (AND (NUMBERP X)
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(NOT (LESSP (PLUS X Y)
(SUB1 (EXP 2 (SUB1 N)))))
(NOT (LESSP 1 (TIMES 2 (EXP 2 (SUB1 N)))))
(EQUAL (EXP 2 (SUB1 N)) 0))
(EQUAL (NAT-TO-TC (ADD1 (PLUS X Y)) N)
(ADD X (ADD Y 1)))),
which again simplifies, using linear arithmetic, to:
T.
Case 22.5.
(IMPLIES (AND (NUMBERP X)
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(NOT (LESSP (PLUS X Y)
(SUB1 (EXP 2 (SUB1 N)))))
(NOT (LESSP 1 (TIMES 2 (EXP 2 (SUB1 N)))))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(LESSP (PLUS X Y)
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL (NAT-TO-TC (ADD1 (PLUS X Y)) N)
(ADD X (ADD Y 0)))),
which again simplifies, using linear arithmetic, to:
T.
Case 22.4.
(IMPLIES (AND (NUMBERP X)
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(NOT (LESSP (PLUS X Y)
(SUB1 (EXP 2 (SUB1 N)))))
(NOT (LESSP 1 (TIMES 2 (EXP 2 (SUB1 N)))))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(NOT (LESSP (PLUS X Y)
(SUB1 (TIMES 2 (EXP 2 (SUB1 N)))))))
(EQUAL (NAT-TO-TC 0 N)
(ADD X (ADD Y 0)))),
which again simplifies, using linear arithmetic, to:
T.
Case 22.3.
(IMPLIES
(AND (NUMBERP X)
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(NOT (LESSP (PLUS X Y)
(SUB1 (EXP 2 (SUB1 N)))))
(LESSP 1 (TIMES 2 (EXP 2 (SUB1 N))))
(EQUAL (EXP 2 (SUB1 N)) 0))
(EQUAL (NAT-TO-TC (ADD1 (PLUS X Y)) N)
(ADD X
(ADD Y
(MINUS (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1)))))),
which again simplifies, using linear arithmetic, to:
T.
Case 22.2.
(IMPLIES
(AND (NUMBERP X)
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(NOT (LESSP (PLUS X Y)
(SUB1 (EXP 2 (SUB1 N)))))
(LESSP 1 (TIMES 2 (EXP 2 (SUB1 N))))
(LESSP (PLUS X Y)
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL (NAT-TO-TC (ADD1 (PLUS X Y)) N)
(ADD X
(ADD Y
(MINUS (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1)))))),
which again simplifies, using linear arithmetic, appealing to the lemmas
EQUAL-TIMES-0, SUB1-ADD1, PATHOLOGICAL-DIFFERENCE, DIFFERENCE-DIFFERENCE,
PLUS-1, and NEGATIVE-GUTS-MINUS, and expanding the definitions of
DIFFERENCE, EQUAL, NUMBERP, EXP, LESSP, NAT-TO-TC, and ADD, to eight new
formulas:
Case 22.2.8.
(IMPLIES
(AND (NUMBERP X)
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(NOT (LESSP (PLUS X Y)
(SUB1 (EXP 2 (SUB1 N)))))
(LESSP 1 (TIMES 2 (EXP 2 (SUB1 N))))
(LESSP (PLUS X Y)
(SUB1 (TIMES 2 (EXP 2 (SUB1 N)))))
(NOT (LESSP Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1)))
(NOT (EQUAL (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1)
0))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0)))
(EQUAL (MINUS (DIFFERENCE (SUB1 (TIMES 2 (EXP 2 (SUB1 N))))
(PLUS X Y)))
(ADD X 0))),
which again simplifies, using linear arithmetic, to:
(IMPLIES
(AND (EQUAL (TIMES 2 (EXP 2 (SUB1 N))) 0)
(NUMBERP X)
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(NOT (LESSP (PLUS X Y)
(SUB1 (EXP 2 (SUB1 N)))))
(LESSP 1 (TIMES 2 (EXP 2 (SUB1 N))))
(LESSP (PLUS X Y)
(SUB1 (TIMES 2 (EXP 2 (SUB1 N)))))
(NOT (LESSP Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1)))
(NOT (EQUAL (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1)
0))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0)))
(EQUAL (MINUS (DIFFERENCE (SUB1 (TIMES 2 (EXP 2 (SUB1 N))))
(PLUS X Y)))
(ADD X 0))).
However this again simplifies, using linear arithmetic, to:
T.
Case 22.2.7.
(IMPLIES
(AND (NUMBERP X)
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(NOT (LESSP (PLUS X Y)
(SUB1 (EXP 2 (SUB1 N)))))
(LESSP 1 (TIMES 2 (EXP 2 (SUB1 N))))
(LESSP (PLUS X Y)
(SUB1 (TIMES 2 (EXP 2 (SUB1 N)))))
(NOT (LESSP Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1)))
(EQUAL Y 0)
(NOT (EQUAL (EXP 2 (SUB1 N)) 0)))
(EQUAL (MINUS (DIFFERENCE (SUB1 (TIMES 2 (EXP 2 (SUB1 N))))
(PLUS X Y)))
(ADD X 0))),
which again simplifies, using linear arithmetic, to:
T.
Case 22.2.6.
(IMPLIES (AND (NUMBERP X)
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(NOT (LESSP (PLUS X Y)
(SUB1 (EXP 2 (SUB1 N)))))
(LESSP 1 (TIMES 2 (EXP 2 (SUB1 N))))
(LESSP (PLUS X Y)
(SUB1 (TIMES 2 (EXP 2 (SUB1 N)))))
(NOT (LESSP Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1)))
(NOT (EQUAL (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1)
0))
(EQUAL (EXP 2 (SUB1 N)) 0))
(EQUAL (MINUS 0) (ADD X 0))),
which again simplifies, using linear arithmetic, to:
T.
Case 22.2.5.
(IMPLIES (AND (NUMBERP X)
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(NOT (LESSP (PLUS X Y)
(SUB1 (EXP 2 (SUB1 N)))))
(LESSP 1 (TIMES 2 (EXP 2 (SUB1 N))))
(LESSP (PLUS X Y)
(SUB1 (TIMES 2 (EXP 2 (SUB1 N)))))
(NOT (LESSP Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1)))
(EQUAL Y 0)
(EQUAL (EXP 2 (SUB1 N)) 0))
(EQUAL (MINUS 0) (ADD X 0))),
which again simplifies, using linear arithmetic, to:
T.
Case 22.2.4.
(IMPLIES
(AND (NUMBERP X)
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(NOT (LESSP (PLUS X Y)
(SUB1 (EXP 2 (SUB1 N)))))
(LESSP 1 (TIMES 2 (EXP 2 (SUB1 N))))
(LESSP (PLUS X Y)
(SUB1 (TIMES 2 (EXP 2 (SUB1 N)))))
(NOT (LESSP Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1)))
(NOT (EQUAL Y 0))
(EQUAL (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1)
0)
(NOT (EQUAL (EXP 2 (SUB1 N)) 0)))
(EQUAL (MINUS (DIFFERENCE (SUB1 (TIMES 2 (EXP 2 (SUB1 N))))
(PLUS X Y)))
(ADD X Y))),
which again simplifies, using linear arithmetic, to:
T.
Case 22.2.3.
(IMPLIES (AND (NUMBERP X)
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(NOT (LESSP (PLUS X Y)
(SUB1 (EXP 2 (SUB1 N)))))
(LESSP 1 (TIMES 2 (EXP 2 (SUB1 N))))
(LESSP (PLUS X Y)
(SUB1 (TIMES 2 (EXP 2 (SUB1 N)))))
(NOT (LESSP Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1)))
(NOT (EQUAL Y 0))
(EQUAL (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1)
0)
(EQUAL (EXP 2 (SUB1 N)) 0))
(EQUAL (MINUS 0) (ADD X Y))),
which again simplifies, clearly, to:
T.
Case 22.2.2.
(IMPLIES (AND (NUMBERP X)
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(NOT (LESSP (PLUS X Y)
(SUB1 (EXP 2 (SUB1 N)))))
(LESSP 1 (TIMES 2 (EXP 2 (SUB1 N))))
(LESSP (PLUS X Y)
(SUB1 (TIMES 2 (EXP 2 (SUB1 N)))))
(LESSP Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1))
(EQUAL (EXP 2 (SUB1 N)) 0))
(EQUAL (MINUS 0) (ADD X (MINUS 0)))).
This again simplifies, using linear arithmetic, to:
T.
Case 22.2.1.
(IMPLIES
(AND (NUMBERP X)
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(NOT (LESSP (PLUS X Y)
(SUB1 (EXP 2 (SUB1 N)))))
(LESSP 1 (TIMES 2 (EXP 2 (SUB1 N))))
(LESSP (PLUS X Y)
(SUB1 (TIMES 2 (EXP 2 (SUB1 N)))))
(LESSP Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0)))
(EQUAL (MINUS (DIFFERENCE (SUB1 (TIMES 2 (EXP 2 (SUB1 N))))
(PLUS X Y)))
(ADD X
(MINUS (DIFFERENCE (SUB1 (TIMES 2 (EXP 2 (SUB1 N))))
Y))))),
which again simplifies, using linear arithmetic, rewriting with
PATHOLOGICAL-DIFFERENCE, DIFFERENCE-DIFFERENCE, COMMUTATIVITY-OF-PLUS,
and NEGATIVE-GUTS-MINUS, and opening up the definitions of DIFFERENCE
and ADD, to the following two new goals:
Case 22.2.1.2.
(IMPLIES
(AND (NUMBERP X)
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(NOT (LESSP (PLUS X Y)
(SUB1 (EXP 2 (SUB1 N)))))
(LESSP 1 (TIMES 2 (EXP 2 (SUB1 N))))
(LESSP (PLUS X Y)
(SUB1 (TIMES 2 (EXP 2 (SUB1 N)))))
(LESSP Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(EQUAL (TIMES 2 (EXP 2 (SUB1 N))) 0))
(EQUAL (MINUS (DIFFERENCE (SUB1 (TIMES 2 (EXP 2 (SUB1 N))))
(PLUS X Y)))
(ADD X
(MINUS (DIFFERENCE (SUB1 (TIMES 2 (EXP 2 (SUB1 N))))
Y))))).
But this again simplifies, using linear arithmetic, to:
T.
Case 22.2.1.1.
(IMPLIES (AND (NUMBERP X)
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(NOT (LESSP (PLUS X Y)
(SUB1 (EXP 2 (SUB1 N)))))
(LESSP 1 (TIMES 2 (EXP 2 (SUB1 N))))
(LESSP (PLUS X Y)
(SUB1 (TIMES 2 (EXP 2 (SUB1 N)))))
(LESSP Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(NOT (EQUAL (TIMES 2 (EXP 2 (SUB1 N))) 0)))
(LESSP X
(DIFFERENCE (SUB1 (TIMES 2 (EXP 2 (SUB1 N))))
Y))),
which again simplifies, using linear arithmetic, to:
T.
Case 22.1.
(IMPLIES
(AND (NUMBERP X)
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(NOT (LESSP (PLUS X Y)
(SUB1 (EXP 2 (SUB1 N)))))
(LESSP 1 (TIMES 2 (EXP 2 (SUB1 N))))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(NOT (LESSP (PLUS X Y)
(SUB1 (TIMES 2 (EXP 2 (SUB1 N)))))))
(EQUAL (NAT-TO-TC 0 N)
(ADD X
(ADD Y
(MINUS (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1)))))),
which again simplifies, using linear arithmetic, to:
T.
Case 21.(IMPLIES (AND (NUMBERP X)
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(LESSP (PLUS X Y 1) (EXP 2 (SUB1 N))))
(EQUAL (NAT-TO-TC (REMAINDER (PLUS X Y 1)
(TIMES 2 (EXP 2 (SUB1 N))))
N)
(PLUS X Y 1))),
which again simplifies, using linear arithmetic, applying PLUS-1,
COMMUTATIVITY-OF-PLUS, PLUS-ADD1, SUB1-ADD1, REMAINDER-OF-0,
PATHOLOGICAL-DIFFERENCE, and EQUAL-TIMES-0, and opening up LESSP, NUMBERP,
EQUAL, and REMAINDER, to the following two new goals:
Case 21.2.
(IMPLIES (AND (NUMBERP X)
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(LESSP (PLUS X Y)
(SUB1 (EXP 2 (SUB1 N))))
(NOT (LESSP (PLUS X Y)
(SUB1 (TIMES 2 (EXP 2 (SUB1 N)))))))
(EQUAL (NAT-TO-TC 0 N)
(ADD1 (PLUS X Y)))).
This again simplifies, using linear arithmetic, to:
T.
Case 21.1.
(IMPLIES (AND (NUMBERP X)
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(LESSP (PLUS X Y)
(SUB1 (EXP 2 (SUB1 N))))
(LESSP (PLUS X Y)
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL (NAT-TO-TC (ADD1 (PLUS X Y)) N)
(ADD1 (PLUS X Y)))),
which again simplifies, rewriting with SUB1-ADD1, and unfolding LESSP and
NAT-TO-TC, to:
T.
Case 20.(IMPLIES (AND (NUMBERP X)
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(LESSP Y (EXP 2 (SUB1 N)))
(NOT C)
(NOT (LESSP (PLUS X Y 0)
(EXP 2 (SUB1 N)))))
(EQUAL (NAT-TO-TC (REMAINDER (PLUS X Y 0)
(TIMES 2 (EXP 2 (SUB1 N))))
N)
(ADD X
(ADD Y
(ADD 0
(MINUS (TIMES 2 (EXP 2 (SUB1 N))))))))).
This again simplifies, using linear arithmetic, applying
COMMUTATIVITY-OF-PLUS, REMAINDER-OF-0, PLUS-EQUAL-0, PATHOLOGICAL-DIFFERENCE,
EQUAL-TIMES-0, EXP-2-NEVER-0, and NEGATIVE-GUTS-MINUS, and opening up EQUAL,
PLUS, DIFFERENCE, NUMBERP, REMAINDER, LESSP, NEGATIVEP, and ADD, to the
following four new formulas:
Case 20.4.
(IMPLIES
(AND (NUMBERP X)
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(LESSP Y (EXP 2 (SUB1 N)))
(NOT (LESSP (PLUS X Y) (EXP 2 (SUB1 N))))
(EQUAL (PLUS X Y) 0))
(EQUAL (NAT-TO-TC (REMAINDER (PLUS X Y 0)
(TIMES 2 (EXP 2 (SUB1 N))))
N)
(ADD X
(ADD Y
(ADD 0
(MINUS (TIMES 2 (EXP 2 (SUB1 N))))))))).
This again simplifies, using linear arithmetic, to:
T.
Case 20.3.
(IMPLIES (AND (NUMBERP X)
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(LESSP Y (EXP 2 (SUB1 N)))
(NOT (LESSP (PLUS X Y) (EXP 2 (SUB1 N))))
(NOT (EQUAL (PLUS X Y) 0))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(LESSP (PLUS X Y)
(TIMES 2 (EXP 2 (SUB1 N)))))
(EQUAL (NAT-TO-TC (PLUS X Y) N)
(ADD X
(ADD Y
(MINUS (TIMES 2 (EXP 2 (SUB1 N)))))))),
which again simplifies, using linear arithmetic, appealing to the lemmas
PLUS-EQUAL-0, EQUAL-TIMES-0, PATHOLOGICAL-DIFFERENCE, and
NEGATIVE-GUTS-MINUS, and expanding EXP, NAT-TO-TC, DIFFERENCE, EQUAL,
NUMBERP, and ADD, to four new conjectures:
Case 20.3.4.
(IMPLIES (AND (NUMBERP X)
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(LESSP Y (EXP 2 (SUB1 N)))
(NOT (LESSP (PLUS X Y) (EXP 2 (SUB1 N))))
(NOT (EQUAL X 0))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(LESSP (PLUS X Y)
(TIMES 2 (EXP 2 (SUB1 N))))
(NOT (LESSP Y (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL (MINUS (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(PLUS X Y)))
(ADD X 0))),
which again simplifies, using linear arithmetic, to:
T.
Case 20.3.3.
(IMPLIES (AND (NUMBERP X)
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(LESSP Y (EXP 2 (SUB1 N)))
(NOT (LESSP (PLUS X Y) (EXP 2 (SUB1 N))))
(NOT (EQUAL X 0))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(LESSP (PLUS X Y)
(TIMES 2 (EXP 2 (SUB1 N))))
(LESSP Y (TIMES 2 (EXP 2 (SUB1 N)))))
(EQUAL (MINUS (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(PLUS X Y)))
(ADD X
(MINUS (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
Y))))),
which again simplifies, using linear arithmetic, rewriting with
PATHOLOGICAL-DIFFERENCE, DIFFERENCE-DIFFERENCE, COMMUTATIVITY-OF-PLUS,
and NEGATIVE-GUTS-MINUS, and opening up the functions DIFFERENCE and ADD,
to:
(IMPLIES (AND (NUMBERP X)
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(LESSP Y (EXP 2 (SUB1 N)))
(NOT (LESSP (PLUS X Y) (EXP 2 (SUB1 N))))
(NOT (EQUAL X 0))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(LESSP (PLUS X Y)
(TIMES 2 (EXP 2 (SUB1 N))))
(LESSP Y (TIMES 2 (EXP 2 (SUB1 N)))))
(LESSP X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
Y))),
which again simplifies, using linear arithmetic, to:
T.
Case 20.3.2.
(IMPLIES (AND (NUMBERP X)
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(LESSP Y (EXP 2 (SUB1 N)))
(NOT (LESSP (PLUS X Y) (EXP 2 (SUB1 N))))
(NOT (EQUAL Y 0))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(LESSP (PLUS X Y)
(TIMES 2 (EXP 2 (SUB1 N))))
(NOT (LESSP Y (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL (MINUS (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(PLUS X Y)))
(ADD X 0))),
which again simplifies, using linear arithmetic, to:
T.
Case 20.3.1.
(IMPLIES (AND (NUMBERP X)
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(LESSP Y (EXP 2 (SUB1 N)))
(NOT (LESSP (PLUS X Y) (EXP 2 (SUB1 N))))
(NOT (EQUAL Y 0))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(LESSP (PLUS X Y)
(TIMES 2 (EXP 2 (SUB1 N))))
(LESSP Y (TIMES 2 (EXP 2 (SUB1 N)))))
(EQUAL (MINUS (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(PLUS X Y)))
(ADD X
(MINUS (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
Y))))),
which again simplifies, using linear arithmetic, applying
PATHOLOGICAL-DIFFERENCE, DIFFERENCE-DIFFERENCE, COMMUTATIVITY-OF-PLUS,
and NEGATIVE-GUTS-MINUS, and expanding the definitions of DIFFERENCE and
ADD, to:
(IMPLIES (AND (NUMBERP X)
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(LESSP Y (EXP 2 (SUB1 N)))
(NOT (LESSP (PLUS X Y) (EXP 2 (SUB1 N))))
(NOT (EQUAL Y 0))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(LESSP (PLUS X Y)
(TIMES 2 (EXP 2 (SUB1 N))))
(LESSP Y (TIMES 2 (EXP 2 (SUB1 N)))))
(LESSP X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
Y))),
which again simplifies, using linear arithmetic, to:
T.
Case 20.2.
(IMPLIES (AND (NUMBERP X)
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(LESSP Y (EXP 2 (SUB1 N)))
(NOT (LESSP (PLUS X Y) (EXP 2 (SUB1 N))))
(NOT (EQUAL (PLUS X Y) 0))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(NOT (LESSP (PLUS X Y)
(TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL (NAT-TO-TC 0 N)
(ADD X
(ADD Y
(MINUS (TIMES 2 (EXP 2 (SUB1 N)))))))),
which again simplifies, using linear arithmetic, to:
T.
Case 20.1.
(IMPLIES (AND (NUMBERP X)
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(LESSP Y (EXP 2 (SUB1 N)))
(NOT (LESSP (PLUS X Y) (EXP 2 (SUB1 N))))
(NOT (EQUAL (PLUS X Y) 0))
(EQUAL (EXP 2 (SUB1 N)) 0))
(EQUAL (NAT-TO-TC (PLUS X Y) N)
(ADD X (ADD Y 0)))),
which again simplifies, using linear arithmetic, to:
T.
Case 19.(IMPLIES (AND (NUMBERP X)
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(LESSP Y (EXP 2 (SUB1 N)))
(NOT C)
(LESSP (PLUS X Y 0) (EXP 2 (SUB1 N))))
(EQUAL (NAT-TO-TC (REMAINDER (PLUS X Y 0)
(TIMES 2 (EXP 2 (SUB1 N))))
N)
(PLUS X Y 0))),
which again simplifies, using linear arithmetic, applying
COMMUTATIVITY-OF-PLUS, REMAINDER-OF-0, PLUS-EQUAL-0, PATHOLOGICAL-DIFFERENCE,
and EQUAL-TIMES-0, and unfolding the functions EQUAL, PLUS, DIFFERENCE,
NUMBERP, and REMAINDER, to the following four new formulas:
Case 19.4.
(IMPLIES (AND (NUMBERP X)
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(LESSP Y (EXP 2 (SUB1 N)))
(LESSP (PLUS X Y) (EXP 2 (SUB1 N)))
(EQUAL (PLUS X Y) 0))
(EQUAL (NAT-TO-TC (REMAINDER (PLUS X Y 0)
(TIMES 2 (EXP 2 (SUB1 N))))
N)
(PLUS X Y 0))).
But this again simplifies, rewriting with PLUS-EQUAL-0 and REMAINDER-OF-0,
and expanding EQUAL, LESSP, PLUS, and NAT-TO-TC, to:
T.
Case 19.3.
(IMPLIES (AND (NUMBERP X)
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(LESSP Y (EXP 2 (SUB1 N)))
(LESSP (PLUS X Y) (EXP 2 (SUB1 N)))
(NOT (EQUAL (PLUS X Y) 0))
(EQUAL (EXP 2 (SUB1 N)) 0))
(EQUAL (NAT-TO-TC (PLUS X Y) N)
(PLUS X Y))).
However this again simplifies, using linear arithmetic, to:
T.
Case 19.2.
(IMPLIES (AND (NUMBERP X)
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(LESSP Y (EXP 2 (SUB1 N)))
(LESSP (PLUS X Y) (EXP 2 (SUB1 N)))
(NOT (EQUAL (PLUS X Y) 0))
(LESSP (PLUS X Y)
(TIMES 2 (EXP 2 (SUB1 N)))))
(EQUAL (NAT-TO-TC (PLUS X Y) N)
(PLUS X Y))),
which again simplifies, applying PLUS-EQUAL-0, and opening up NAT-TO-TC,
to:
T.
Case 19.1.
(IMPLIES (AND (NUMBERP X)
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(LESSP Y (EXP 2 (SUB1 N)))
(LESSP (PLUS X Y) (EXP 2 (SUB1 N)))
(NOT (EQUAL (PLUS X Y) 0))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(NOT (LESSP (PLUS X Y)
(TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL (NAT-TO-TC 0 N) (PLUS X Y))).
But this again simplifies, using linear arithmetic, to:
T.
Case 18.(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(NOT (TC-IN-RANGEP (ADD X (ADD Y 1)) N))
(NEGATIVEP (ADD X (ADD Y 1))))
(EQUAL
(NAT-TO-TC (REMAINDER (PLUS X 1
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(TIMES 2 (EXP 2 (SUB1 N))))
N)
(ADD X
(ADD Y
(PLUS 1
(TIMES 2 (EXP 2 (SUB1 N)))))))),
which again simplifies, using linear arithmetic, rewriting with
COMMUTATIVITY-OF-ADD, DIFFERENCE-DIFFERENCE, SUB1-ADD1, PLUS-1,
NEGATIVE-GUTS-MINUS, PLUS-ADD1, EQUAL-TIMES-0, REMAINDER-OF-0,
PATHOLOGICAL-DIFFERENCE, and REMAINDER-CROCK4, and opening up the
definitions of NEGATIVEP, ADD, DIFFERENCE, NUMBERP, EQUAL, LESSP, REMAINDER,
and MINUS, to the following 19 new formulas:
Case 18.19.
(IMPLIES
(AND
(NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(NOT (TC-IN-RANGEP (ADD X
(MINUS (DIFFERENCE (NEGATIVE-GUTS Y) 1)))
N))
(LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1))
(LESSP X (NEGATIVE-GUTS Y)))
(EQUAL
(NAT-TO-TC (REMAINDER (PLUS X 1
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(TIMES 2 (EXP 2 (SUB1 N))))
N)
(ADD X
(ADD Y
(PLUS 1
(TIMES 2 (EXP 2 (SUB1 N)))))))).
This again simplifies, using linear arithmetic, applying
DIFFERENCE-DIFFERENCE, SUB1-ADD1, PLUS-1, NEGATIVE-GUTS-MINUS, PLUS-ADD1,
EQUAL-TIMES-0, REMAINDER-OF-0, PATHOLOGICAL-DIFFERENCE, TIMES-2-NOT-1,
REMAINDER-OF-1, and REMAINDER-CROCK4, and expanding DIFFERENCE, ADD,
TC-IN-RANGEP, NUMBERP, EQUAL, LESSP, REMAINDER, ADD1, and MINUS, to the
following 16 new goals:
Case 18.19.16.
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(LESSP (EXP 2 (SUB1 N))
(DIFFERENCE (SUB1 (NEGATIVE-GUTS Y))
X))
(LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1))
(LESSP X (NEGATIVE-GUTS Y))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y))))
(NOT (LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y))
(LESSP X
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL (NAT-TO-TC (ADD1 X) N)
(ADD X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y)))))).
However this again simplifies, using linear arithmetic, to:
(IMPLIES
(AND (LESSP (SUB1 (NEGATIVE-GUTS Y)) X)
(NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(LESSP (EXP 2 (SUB1 N))
(DIFFERENCE (SUB1 (NEGATIVE-GUTS Y))
X))
(LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1))
(LESSP X (NEGATIVE-GUTS Y))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y))))
(NOT (LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y))
(LESSP X
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL (NAT-TO-TC (ADD1 X) N)
(ADD X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y)))))).
This again simplifies, using linear arithmetic, to:
T.
Case 18.19.15.
(IMPLIES (AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(LESSP (EXP 2 (SUB1 N))
(DIFFERENCE (SUB1 (NEGATIVE-GUTS Y))
X))
(LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1))
(LESSP X (NEGATIVE-GUTS Y))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y))))
(EQUAL (EXP 2 (SUB1 N)) 0)
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(EQUAL (NAT-TO-TC (ADD1 X) N)
(ADD X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y)))))),
which again simplifies, using linear arithmetic, to:
T.
Case 18.19.14.
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(LESSP (EXP 2 (SUB1 N))
(DIFFERENCE (SUB1 (NEGATIVE-GUTS Y))
X))
(LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1))
(LESSP X (NEGATIVE-GUTS Y))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y))))
(NOT (LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(NOT (LESSP (SUB1 (NEGATIVE-GUTS Y)) X)))
(EQUAL (NAT-TO-TC 0 N)
(ADD X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y)))))),
which again simplifies, using linear arithmetic, to:
T.
Case 18.19.13.
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(LESSP (EXP 2 (SUB1 N))
(DIFFERENCE (SUB1 (NEGATIVE-GUTS Y))
X))
(LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1))
(LESSP X (NEGATIVE-GUTS Y))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y))))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(NOT (LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y))
(NOT (LESSP X
(SUB1 (TIMES 2 (EXP 2 (SUB1 N)))))))
(EQUAL (NAT-TO-TC 0 N)
(ADD X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y)))))),
which again simplifies, using linear arithmetic, to the goal:
(IMPLIES
(AND (LESSP (SUB1 (NEGATIVE-GUTS Y)) X)
(NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(LESSP (EXP 2 (SUB1 N))
(DIFFERENCE (SUB1 (NEGATIVE-GUTS Y))
X))
(LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1))
(LESSP X (NEGATIVE-GUTS Y))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y))))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(NOT (LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y))
(NOT (LESSP X
(SUB1 (TIMES 2 (EXP 2 (SUB1 N)))))))
(EQUAL (NAT-TO-TC 0 N)
(ADD X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y)))))).
But this again simplifies, using linear arithmetic, to:
T.
Case 18.19.12.
(IMPLIES (AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(LESSP (EXP 2 (SUB1 N))
(DIFFERENCE (SUB1 (NEGATIVE-GUTS Y))
X))
(LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1))
(LESSP X (NEGATIVE-GUTS Y))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y))))
(EQUAL (EXP 2 (SUB1 N)) 0)
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(NOT (LESSP (SUB1 (NEGATIVE-GUTS Y)) X)))
(EQUAL (NAT-TO-TC 0 N)
(ADD X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y)))))),
which again simplifies, using linear arithmetic, to:
T.
Case 18.19.11.
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(LESSP (EXP 2 (SUB1 N))
(DIFFERENCE (SUB1 (NEGATIVE-GUTS Y))
X))
(LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1))
(LESSP X (NEGATIVE-GUTS Y))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y))))
(NOT (LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(LESSP (SUB1 (NEGATIVE-GUTS Y)) X))
(EQUAL (NAT-TO-TC 1 N)
(ADD X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y)))))),
which again simplifies, using linear arithmetic, to:
T.
Case 18.19.10.
(IMPLIES (AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(LESSP (EXP 2 (SUB1 N))
(DIFFERENCE (SUB1 (NEGATIVE-GUTS Y))
X))
(LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1))
(LESSP X (NEGATIVE-GUTS Y))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y))))
(EQUAL (EXP 2 (SUB1 N)) 0)
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(LESSP (SUB1 (NEGATIVE-GUTS Y)) X))
(EQUAL (NAT-TO-TC 1 N)
(ADD X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y)))))),
which again simplifies, using linear arithmetic, to:
T.
Case 18.19.9.
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(LESSP (EXP 2 (SUB1 N))
(DIFFERENCE (SUB1 (NEGATIVE-GUTS Y))
X))
(LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1))
(LESSP X (NEGATIVE-GUTS Y))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y))))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL
(NAT-TO-TC (ADD1 (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y))))
N)
(ADD X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y)))))),
which again simplifies, using linear arithmetic, to:
(IMPLIES
(AND (LESSP (SUB1 (NEGATIVE-GUTS Y)) X)
(NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(LESSP (EXP 2 (SUB1 N))
(DIFFERENCE (SUB1 (NEGATIVE-GUTS Y))
X))
(LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1))
(LESSP X (NEGATIVE-GUTS Y))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y))))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL
(NAT-TO-TC (ADD1 (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y))))
N)
(ADD X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y)))))).
This again simplifies, using linear arithmetic, to:
T.
Case 18.19.8.
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(LESSP (EXP 2 (SUB1 N))
(DIFFERENCE (SUB1 (NEGATIVE-GUTS Y))
X))
(LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1))
(LESSP X (NEGATIVE-GUTS Y))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y)))
(NOT (LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y))
(LESSP X
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL (NAT-TO-TC (ADD1 X) N)
(ADD X (MINUS 0)))),
which again simplifies, using linear arithmetic, to:
(IMPLIES
(AND (LESSP (SUB1 (NEGATIVE-GUTS Y)) X)
(NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(LESSP (EXP 2 (SUB1 N))
(DIFFERENCE (SUB1 (NEGATIVE-GUTS Y))
X))
(LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1))
(LESSP X (NEGATIVE-GUTS Y))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y)))
(NOT (LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y))
(LESSP X
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL (NAT-TO-TC (ADD1 X) N)
(ADD X (MINUS 0)))).
However this again simplifies, using linear arithmetic, to:
T.
Case 18.19.7.
(IMPLIES (AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(LESSP (EXP 2 (SUB1 N))
(DIFFERENCE (SUB1 (NEGATIVE-GUTS Y))
X))
(LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1))
(LESSP X (NEGATIVE-GUTS Y))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y)))
(EQUAL (EXP 2 (SUB1 N)) 0)
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(EQUAL (NAT-TO-TC (ADD1 X) N)
(ADD X (MINUS 0)))),
which again simplifies, using linear arithmetic, to:
T.
Case 18.19.6.
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(LESSP (EXP 2 (SUB1 N))
(DIFFERENCE (SUB1 (NEGATIVE-GUTS Y))
X))
(LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1))
(LESSP X (NEGATIVE-GUTS Y))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y)))
(NOT (LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(NOT (LESSP (SUB1 (NEGATIVE-GUTS Y)) X)))
(EQUAL (NAT-TO-TC 0 N)
(ADD X (MINUS 0)))),
which again simplifies, using linear arithmetic, to:
T.
Case 18.19.5.
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(LESSP (EXP 2 (SUB1 N))
(DIFFERENCE (SUB1 (NEGATIVE-GUTS Y))
X))
(LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1))
(LESSP X (NEGATIVE-GUTS Y))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y)))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(NOT (LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y))
(NOT (LESSP X
(SUB1 (TIMES 2 (EXP 2 (SUB1 N)))))))
(EQUAL (NAT-TO-TC 0 N)
(ADD X (MINUS 0)))),
which again simplifies, using linear arithmetic, to:
(IMPLIES
(AND (LESSP (SUB1 (NEGATIVE-GUTS Y)) X)
(NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(LESSP (EXP 2 (SUB1 N))
(DIFFERENCE (SUB1 (NEGATIVE-GUTS Y))
X))
(LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1))
(LESSP X (NEGATIVE-GUTS Y))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y)))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(NOT (LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y))
(NOT (LESSP X
(SUB1 (TIMES 2 (EXP 2 (SUB1 N)))))))
(EQUAL (NAT-TO-TC 0 N)
(ADD X (MINUS 0)))).
But this again simplifies, using linear arithmetic, to:
T.
Case 18.19.4.
(IMPLIES (AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(LESSP (EXP 2 (SUB1 N))
(DIFFERENCE (SUB1 (NEGATIVE-GUTS Y))
X))
(LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1))
(LESSP X (NEGATIVE-GUTS Y))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y)))
(EQUAL (EXP 2 (SUB1 N)) 0)
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(NOT (LESSP (SUB1 (NEGATIVE-GUTS Y)) X)))
(EQUAL (NAT-TO-TC 0 N)
(ADD X (MINUS 0)))),
which again simplifies, using linear arithmetic, to:
T.
Case 18.19.3.
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(LESSP (EXP 2 (SUB1 N))
(DIFFERENCE (SUB1 (NEGATIVE-GUTS Y))
X))
(LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1))
(LESSP X (NEGATIVE-GUTS Y))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y)))
(NOT (LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(LESSP (SUB1 (NEGATIVE-GUTS Y)) X))
(EQUAL (NAT-TO-TC 1 N)
(ADD X (MINUS 0)))),
which again simplifies, using linear arithmetic, to:
T.
Case 18.19.2.
(IMPLIES (AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(LESSP (EXP 2 (SUB1 N))
(DIFFERENCE (SUB1 (NEGATIVE-GUTS Y))
X))
(LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1))
(LESSP X (NEGATIVE-GUTS Y))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y)))
(EQUAL (EXP 2 (SUB1 N)) 0)
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(LESSP (SUB1 (NEGATIVE-GUTS Y)) X))
(EQUAL (NAT-TO-TC 1 N)
(ADD X (MINUS 0)))),
which again simplifies, using linear arithmetic, to:
T.
Case 18.19.1.
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(LESSP (EXP 2 (SUB1 N))
(DIFFERENCE (SUB1 (NEGATIVE-GUTS Y))
X))
(LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1))
(LESSP X (NEGATIVE-GUTS Y))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y)))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL
(NAT-TO-TC (ADD1 (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y))))
N)
(ADD X (MINUS 0)))),
which again simplifies, using linear arithmetic, to the conjecture:
(IMPLIES
(AND (LESSP (SUB1 (NEGATIVE-GUTS Y)) X)
(NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(LESSP (EXP 2 (SUB1 N))
(DIFFERENCE (SUB1 (NEGATIVE-GUTS Y))
X))
(LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1))
(LESSP X (NEGATIVE-GUTS Y))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y)))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL
(NAT-TO-TC (ADD1 (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y))))
N)
(ADD X (MINUS 0)))).
But this again simplifies, using linear arithmetic, to:
T.
Case 18.18.
(IMPLIES
(AND
(NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(NOT (TC-IN-RANGEP (ADD X
(MINUS (DIFFERENCE (NEGATIVE-GUTS Y) 1)))
N))
(LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1))
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y))))
(NOT (LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y))
(LESSP X
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL (NAT-TO-TC (ADD1 X) N)
(ADD X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y)))))),
which again simplifies, using linear arithmetic, to:
T.
Case 18.17.
(IMPLIES
(AND
(NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(NOT (TC-IN-RANGEP (ADD X
(MINUS (DIFFERENCE (NEGATIVE-GUTS Y) 1)))
N))
(LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1))
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y))))
(EQUAL (EXP 2 (SUB1 N)) 0)
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(EQUAL (NAT-TO-TC (ADD1 X) N)
(ADD X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y)))))),
which again simplifies, using linear arithmetic, to:
T.
Case 18.16.
(IMPLIES
(AND
(NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(NOT (TC-IN-RANGEP (ADD X
(MINUS (DIFFERENCE (NEGATIVE-GUTS Y) 1)))
N))
(LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1))
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y))))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(NOT (LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(NOT (LESSP (DIFFERENCE X (NEGATIVE-GUTS Y))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N)))))))
(EQUAL (NAT-TO-TC 0 N)
(ADD X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y)))))),
which again simplifies, using linear arithmetic, to:
T.
Case 18.15.
(IMPLIES
(AND
(NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(NOT (TC-IN-RANGEP (ADD X
(MINUS (DIFFERENCE (NEGATIVE-GUTS Y) 1)))
N))
(LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1))
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y))))
(NOT (LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(NOT (LESSP (SUB1 (NEGATIVE-GUTS Y)) X)))
(EQUAL (NAT-TO-TC 0 N)
(ADD X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y)))))),
which again simplifies, using linear arithmetic, to:
T.
Case 18.14.
(IMPLIES
(AND
(NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(NOT (TC-IN-RANGEP (ADD X
(MINUS (DIFFERENCE (NEGATIVE-GUTS Y) 1)))
N))
(LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1))
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y))))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(NOT (LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y))
(NOT (LESSP X
(SUB1 (TIMES 2 (EXP 2 (SUB1 N)))))))
(EQUAL (NAT-TO-TC 0 N)
(ADD X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y)))))),
which again simplifies, using linear arithmetic, to:
T.
Case 18.13.
(IMPLIES
(AND
(NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(NOT (TC-IN-RANGEP (ADD X
(MINUS (DIFFERENCE (NEGATIVE-GUTS Y) 1)))
N))
(LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1))
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y))))
(EQUAL (EXP 2 (SUB1 N)) 0)
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(NOT (LESSP (SUB1 (NEGATIVE-GUTS Y)) X)))
(EQUAL (NAT-TO-TC 0 N)
(ADD X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y)))))),
which again simplifies, using linear arithmetic, to:
T.
Case 18.12.
(IMPLIES
(AND
(NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(NOT (TC-IN-RANGEP (ADD X
(MINUS (DIFFERENCE (NEGATIVE-GUTS Y) 1)))
N))
(LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1))
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y))))
(NOT (LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(LESSP (SUB1 (NEGATIVE-GUTS Y)) X)
(LESSP (DIFFERENCE X (NEGATIVE-GUTS Y))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL (NAT-TO-TC (ADD1 (DIFFERENCE X (NEGATIVE-GUTS Y)))
N)
(ADD X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y)))))),
which again simplifies, using linear arithmetic, to:
T.
Case 18.11.
(IMPLIES
(AND
(NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(NOT (TC-IN-RANGEP (ADD X
(MINUS (DIFFERENCE (NEGATIVE-GUTS Y) 1)))
N))
(LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1))
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y))))
(EQUAL (EXP 2 (SUB1 N)) 0)
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(LESSP (SUB1 (NEGATIVE-GUTS Y)) X))
(EQUAL (NAT-TO-TC (ADD1 (DIFFERENCE X (NEGATIVE-GUTS Y)))
N)
(ADD X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y)))))),
which again simplifies, using linear arithmetic, to:
T.
Case 18.10.
(IMPLIES
(AND
(NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(NOT (TC-IN-RANGEP (ADD X
(MINUS (DIFFERENCE (NEGATIVE-GUTS Y) 1)))
N))
(LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1))
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y))))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL (NAT-TO-TC (ADD1 (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y))))
N)
(ADD X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y)))))),
which again simplifies, using linear arithmetic, to the conjecture:
(IMPLIES
(AND
(EQUAL (TIMES 2 (EXP 2 (SUB1 N))) 0)
(NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(NOT (TC-IN-RANGEP (ADD X
(MINUS (DIFFERENCE (NEGATIVE-GUTS Y) 1)))
N))
(LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1))
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y))))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL (NAT-TO-TC (ADD1 (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y))))
N)
(ADD X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y)))))).
But this again simplifies, using linear arithmetic, to:
T.
Case 18.9.
(IMPLIES
(AND
(NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(NOT (TC-IN-RANGEP (ADD X
(MINUS (DIFFERENCE (NEGATIVE-GUTS Y) 1)))
N))
(LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1))
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y)))
(NOT (LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y))
(LESSP X
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL (NAT-TO-TC (ADD1 X) N)
(ADD X (MINUS 0)))),
which again simplifies, using linear arithmetic, to:
T.
Case 18.8.
(IMPLIES
(AND
(NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(NOT (TC-IN-RANGEP (ADD X
(MINUS (DIFFERENCE (NEGATIVE-GUTS Y) 1)))
N))
(LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1))
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y)))
(EQUAL (EXP 2 (SUB1 N)) 0)
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(EQUAL (NAT-TO-TC (ADD1 X) N)
(ADD X (MINUS 0)))),
which again simplifies, using linear arithmetic, to:
T.
Case 18.7.
(IMPLIES
(AND
(NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(NOT (TC-IN-RANGEP (ADD X
(MINUS (DIFFERENCE (NEGATIVE-GUTS Y) 1)))
N))
(LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1))
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y)))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(NOT (LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(NOT (LESSP (DIFFERENCE X (NEGATIVE-GUTS Y))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N)))))))
(EQUAL (NAT-TO-TC 0 N)
(ADD X (MINUS 0)))),
which again simplifies, using linear arithmetic, to:
T.
Case 18.6.
(IMPLIES
(AND
(NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(NOT (TC-IN-RANGEP (ADD X
(MINUS (DIFFERENCE (NEGATIVE-GUTS Y) 1)))
N))
(LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1))
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y)))
(NOT (LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(NOT (LESSP (SUB1 (NEGATIVE-GUTS Y)) X)))
(EQUAL (NAT-TO-TC 0 N)
(ADD X (MINUS 0)))),
which again simplifies, using linear arithmetic, to:
T.
Case 18.5.
(IMPLIES
(AND
(NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(NOT (TC-IN-RANGEP (ADD X
(MINUS (DIFFERENCE (NEGATIVE-GUTS Y) 1)))
N))
(LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1))
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y)))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(NOT (LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y))
(NOT (LESSP X
(SUB1 (TIMES 2 (EXP 2 (SUB1 N)))))))
(EQUAL (NAT-TO-TC 0 N)
(ADD X (MINUS 0)))),
which again simplifies, using linear arithmetic, to:
T.
Case 18.4.
(IMPLIES
(AND
(NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(NOT (TC-IN-RANGEP (ADD X
(MINUS (DIFFERENCE (NEGATIVE-GUTS Y) 1)))
N))
(LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1))
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y)))
(EQUAL (EXP 2 (SUB1 N)) 0)
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(NOT (LESSP (SUB1 (NEGATIVE-GUTS Y)) X)))
(EQUAL (NAT-TO-TC 0 N)
(ADD X (MINUS 0)))),
which again simplifies, using linear arithmetic, to:
T.
Case 18.3.
(IMPLIES
(AND
(NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(NOT (TC-IN-RANGEP (ADD X
(MINUS (DIFFERENCE (NEGATIVE-GUTS Y) 1)))
N))
(LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1))
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y)))
(NOT (LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(LESSP (SUB1 (NEGATIVE-GUTS Y)) X)
(LESSP (DIFFERENCE X (NEGATIVE-GUTS Y))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL (NAT-TO-TC (ADD1 (DIFFERENCE X (NEGATIVE-GUTS Y)))
N)
(ADD X (MINUS 0)))),
which again simplifies, using linear arithmetic, to:
T.
Case 18.2.
(IMPLIES
(AND
(NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(NOT (TC-IN-RANGEP (ADD X
(MINUS (DIFFERENCE (NEGATIVE-GUTS Y) 1)))
N))
(LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1))
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y)))
(EQUAL (EXP 2 (SUB1 N)) 0)
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(LESSP (SUB1 (NEGATIVE-GUTS Y)) X))
(EQUAL (NAT-TO-TC (ADD1 (DIFFERENCE X (NEGATIVE-GUTS Y)))
N)
(ADD X (MINUS 0)))),
which again simplifies, using linear arithmetic, to:
T.
Case 18.1.
(IMPLIES
(AND
(NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(NOT (TC-IN-RANGEP (ADD X
(MINUS (DIFFERENCE (NEGATIVE-GUTS Y) 1)))
N))
(LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1))
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y)))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL (NAT-TO-TC (ADD1 (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y))))
N)
(ADD X (MINUS 0)))),
which again simplifies, using linear arithmetic, to:
(IMPLIES
(AND
(EQUAL (TIMES 2 (EXP 2 (SUB1 N))) 0)
(NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(NOT (TC-IN-RANGEP (ADD X
(MINUS (DIFFERENCE (NEGATIVE-GUTS Y) 1)))
N))
(LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1))
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y)))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL (NAT-TO-TC (ADD1 (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y))))
N)
(ADD X (MINUS 0)))).
This again simplifies, using linear arithmetic, to:
T.
Case 17.(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(NOT (TC-IN-RANGEP (ADD X (ADD Y 1)) N))
(NOT (NEGATIVEP (ADD X (ADD Y 1)))))
(EQUAL
(NAT-TO-TC (REMAINDER (PLUS X 1
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(TIMES 2 (EXP 2 (SUB1 N))))
N)
(ADD X
(ADD Y
(ADD 1
(MINUS (TIMES 2 (EXP 2 (SUB1 N))))))))),
which again simplifies, using linear arithmetic, applying the lemmas
COMMUTATIVITY-OF-ADD, PLUS-1, PLUS-ADD1, SUB1-ADD1, EQUAL-TIMES-0,
REMAINDER-OF-0, PATHOLOGICAL-DIFFERENCE, REMAINDER-CROCK4, EXP-2-NEVER-0,
NEGATIVE-GUTS-MINUS, and DIFFERENCE-DIFFERENCE, and unfolding the
definitions of NEGATIVEP, ADD, NUMBERP, EQUAL, LESSP, REMAINDER, DIFFERENCE,
and SUB1, to 38 new formulas:
Case 17.38.
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(NOT (LESSP 1 (NEGATIVE-GUTS Y)))
(NOT (TC-IN-RANGEP (ADD X
(DIFFERENCE 1 (NEGATIVE-GUTS Y)))
N))
(LESSP X (NEGATIVE-GUTS Y)))
(EQUAL
(NAT-TO-TC (REMAINDER (PLUS X 1
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(TIMES 2 (EXP 2 (SUB1 N))))
N)
(ADD X
(ADD Y
(ADD 1
(MINUS (TIMES 2 (EXP 2 (SUB1 N))))))))),
which again simplifies, using linear arithmetic, to:
(IMPLIES
(AND (EQUAL (NEGATIVE-GUTS Y) 1)
(NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL 1 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N)) 1))
C
(NOT (LESSP 1 1))
(NOT (TC-IN-RANGEP (ADD X (DIFFERENCE 1 1))
N))
(LESSP X 1))
(EQUAL
(NAT-TO-TC (REMAINDER (PLUS X 1
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1))
(TIMES 2 (EXP 2 (SUB1 N))))
N)
(ADD X
(ADD Y
(ADD 1
(MINUS (TIMES 2 (EXP 2 (SUB1 N))))))))).
But this again simplifies, applying COMMUTATIVITY-OF-ADD, and unfolding
EQUAL, LESSP, DIFFERENCE, PLUS, NEGATIVEP, ADD, and TC-IN-RANGEP, to:
T.
Case 17.37.
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(NOT (LESSP 1 (NEGATIVE-GUTS Y)))
(NOT (TC-IN-RANGEP (ADD X
(DIFFERENCE 1 (NEGATIVE-GUTS Y)))
N))
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(NOT (LESSP 1 (TIMES 2 (EXP 2 (SUB1 N)))))
(EQUAL (EXP 2 (SUB1 N)) 0)
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(EQUAL (NAT-TO-TC (ADD1 X) N)
(ADD X (ADD Y 1)))).
But this again simplifies, using linear arithmetic, to:
T.
Case 17.36.
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(NOT (LESSP 1 (NEGATIVE-GUTS Y)))
(NOT (TC-IN-RANGEP (ADD X
(DIFFERENCE 1 (NEGATIVE-GUTS Y)))
N))
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(NOT (LESSP 1 (TIMES 2 (EXP 2 (SUB1 N)))))
(EQUAL (EXP 2 (SUB1 N)) 0)
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(NOT (LESSP (SUB1 (NEGATIVE-GUTS Y)) X)))
(EQUAL (NAT-TO-TC 0 N)
(ADD X (ADD Y 1)))),
which again simplifies, using linear arithmetic, to:
T.
Case 17.35.
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(NOT (LESSP 1 (NEGATIVE-GUTS Y)))
(NOT (TC-IN-RANGEP (ADD X
(DIFFERENCE 1 (NEGATIVE-GUTS Y)))
N))
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(NOT (LESSP 1 (TIMES 2 (EXP 2 (SUB1 N)))))
(EQUAL (EXP 2 (SUB1 N)) 0)
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(LESSP (SUB1 (NEGATIVE-GUTS Y)) X))
(EQUAL (NAT-TO-TC (ADD1 (DIFFERENCE X (NEGATIVE-GUTS Y)))
N)
(ADD X (ADD Y 1)))),
which again simplifies, using linear arithmetic, to:
T.
Case 17.34.
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(NOT (LESSP 1 (NEGATIVE-GUTS Y)))
(NOT (TC-IN-RANGEP (ADD X
(DIFFERENCE 1 (NEGATIVE-GUTS Y)))
N))
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(NOT (LESSP 1 (TIMES 2 (EXP 2 (SUB1 N)))))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(NOT (LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y))
(LESSP X
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL (NAT-TO-TC (ADD1 X) N)
(ADD X (ADD Y 0)))),
which again simplifies, using linear arithmetic, to:
T.
Case 17.33.
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(NOT (LESSP 1 (NEGATIVE-GUTS Y)))
(NOT (TC-IN-RANGEP (ADD X
(DIFFERENCE 1 (NEGATIVE-GUTS Y)))
N))
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(NOT (LESSP 1 (TIMES 2 (EXP 2 (SUB1 N)))))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(NOT (LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(NOT (LESSP (DIFFERENCE X (NEGATIVE-GUTS Y))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N)))))))
(EQUAL (NAT-TO-TC 0 N)
(ADD X (ADD Y 0)))),
which again simplifies, using linear arithmetic, to:
T.
Case 17.32.
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(NOT (LESSP 1 (NEGATIVE-GUTS Y)))
(NOT (TC-IN-RANGEP (ADD X
(DIFFERENCE 1 (NEGATIVE-GUTS Y)))
N))
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(NOT (LESSP 1 (TIMES 2 (EXP 2 (SUB1 N)))))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(NOT (LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(NOT (LESSP (SUB1 (NEGATIVE-GUTS Y)) X)))
(EQUAL (NAT-TO-TC 0 N)
(ADD X (ADD Y 0)))),
which again simplifies, using linear arithmetic, to:
T.
Case 17.31.
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(NOT (LESSP 1 (NEGATIVE-GUTS Y)))
(NOT (TC-IN-RANGEP (ADD X
(DIFFERENCE 1 (NEGATIVE-GUTS Y)))
N))
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(NOT (LESSP 1 (TIMES 2 (EXP 2 (SUB1 N)))))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(NOT (LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y))
(NOT (LESSP X
(SUB1 (TIMES 2 (EXP 2 (SUB1 N)))))))
(EQUAL (NAT-TO-TC 0 N)
(ADD X (ADD Y 0)))),
which again simplifies, using linear arithmetic, to:
T.
Case 17.30.
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(NOT (LESSP 1 (NEGATIVE-GUTS Y)))
(NOT (TC-IN-RANGEP (ADD X
(DIFFERENCE 1 (NEGATIVE-GUTS Y)))
N))
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(NOT (LESSP 1 (TIMES 2 (EXP 2 (SUB1 N)))))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(NOT (LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(LESSP (SUB1 (NEGATIVE-GUTS Y)) X)
(LESSP (DIFFERENCE X (NEGATIVE-GUTS Y))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL (NAT-TO-TC (ADD1 (DIFFERENCE X (NEGATIVE-GUTS Y)))
N)
(ADD X (ADD Y 0)))),
which again simplifies, using linear arithmetic, to:
T.
Case 17.29.
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(NOT (LESSP 1 (NEGATIVE-GUTS Y)))
(NOT (TC-IN-RANGEP (ADD X
(DIFFERENCE 1 (NEGATIVE-GUTS Y)))
N))
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(NOT (LESSP 1 (TIMES 2 (EXP 2 (SUB1 N)))))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL (NAT-TO-TC (ADD1 (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y))))
N)
(ADD X (ADD Y 0)))),
which again simplifies, using linear arithmetic, to:
T.
Case 17.28.
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(NOT (LESSP 1 (NEGATIVE-GUTS Y)))
(NOT (TC-IN-RANGEP (ADD X
(DIFFERENCE 1 (NEGATIVE-GUTS Y)))
N))
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(LESSP 1 (TIMES 2 (EXP 2 (SUB1 N))))
(NOT (LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y))
(LESSP X
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL (NAT-TO-TC (ADD1 X) N)
(ADD X
(ADD Y
(MINUS (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1)))))),
which again simplifies, using linear arithmetic, to:
T.
Case 17.27.
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(NOT (LESSP 1 (NEGATIVE-GUTS Y)))
(NOT (TC-IN-RANGEP (ADD X
(DIFFERENCE 1 (NEGATIVE-GUTS Y)))
N))
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(LESSP 1 (TIMES 2 (EXP 2 (SUB1 N))))
(EQUAL (EXP 2 (SUB1 N)) 0)
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(EQUAL (NAT-TO-TC (ADD1 X) N)
(ADD X
(ADD Y
(MINUS (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1)))))),
which again simplifies, using linear arithmetic, to:
T.
Case 17.26.
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(NOT (LESSP 1 (NEGATIVE-GUTS Y)))
(NOT (TC-IN-RANGEP (ADD X
(DIFFERENCE 1 (NEGATIVE-GUTS Y)))
N))
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(LESSP 1 (TIMES 2 (EXP 2 (SUB1 N))))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(NOT (LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(NOT (LESSP (DIFFERENCE X (NEGATIVE-GUTS Y))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N)))))))
(EQUAL (NAT-TO-TC 0 N)
(ADD X
(ADD Y
(MINUS (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1)))))),
which again simplifies, using linear arithmetic, to:
T.
Case 17.25.
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(NOT (LESSP 1 (NEGATIVE-GUTS Y)))
(NOT (TC-IN-RANGEP (ADD X
(DIFFERENCE 1 (NEGATIVE-GUTS Y)))
N))
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(LESSP 1 (TIMES 2 (EXP 2 (SUB1 N))))
(NOT (LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(NOT (LESSP (SUB1 (NEGATIVE-GUTS Y)) X)))
(EQUAL (NAT-TO-TC 0 N)
(ADD X
(ADD Y
(MINUS (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1)))))),
which again simplifies, using linear arithmetic, to:
T.
Case 17.24.
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(NOT (LESSP 1 (NEGATIVE-GUTS Y)))
(NOT (TC-IN-RANGEP (ADD X
(DIFFERENCE 1 (NEGATIVE-GUTS Y)))
N))
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(LESSP 1 (TIMES 2 (EXP 2 (SUB1 N))))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(NOT (LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y))
(NOT (LESSP X
(SUB1 (TIMES 2 (EXP 2 (SUB1 N)))))))
(EQUAL (NAT-TO-TC 0 N)
(ADD X
(ADD Y
(MINUS (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1)))))),
which again simplifies, using linear arithmetic, to:
T.
Case 17.23.
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(NOT (LESSP 1 (NEGATIVE-GUTS Y)))
(NOT (TC-IN-RANGEP (ADD X
(DIFFERENCE 1 (NEGATIVE-GUTS Y)))
N))
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(LESSP 1 (TIMES 2 (EXP 2 (SUB1 N))))
(EQUAL (EXP 2 (SUB1 N)) 0)
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(NOT (LESSP (SUB1 (NEGATIVE-GUTS Y)) X)))
(EQUAL (NAT-TO-TC 0 N)
(ADD X
(ADD Y
(MINUS (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1)))))),
which again simplifies, using linear arithmetic, to:
T.
Case 17.22.
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(NOT (LESSP 1 (NEGATIVE-GUTS Y)))
(NOT (TC-IN-RANGEP (ADD X
(DIFFERENCE 1 (NEGATIVE-GUTS Y)))
N))
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(LESSP 1 (TIMES 2 (EXP 2 (SUB1 N))))
(NOT (LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(LESSP (SUB1 (NEGATIVE-GUTS Y)) X)
(LESSP (DIFFERENCE X (NEGATIVE-GUTS Y))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL (NAT-TO-TC (ADD1 (DIFFERENCE X (NEGATIVE-GUTS Y)))
N)
(ADD X
(ADD Y
(MINUS (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1)))))),
which again simplifies, using linear arithmetic, to:
(IMPLIES
(AND (EQUAL (NEGATIVE-GUTS Y) 1)
(NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL 1 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N)) 1))
C
(NOT (LESSP 1 1))
(NOT (TC-IN-RANGEP (ADD X (DIFFERENCE 1 1))
N))
(NOT (LESSP X 1))
(LESSP 1 (TIMES 2 (EXP 2 (SUB1 N))))
(NOT (LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N))) 1))
(LESSP (SUB1 1) X)
(LESSP (DIFFERENCE X 1)
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL (NAT-TO-TC (ADD1 (DIFFERENCE X 1)) N)
(ADD X
(ADD Y
(MINUS (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1)))))).
But this again simplifies, applying COMMUTATIVITY-OF-ADD, and expanding
the functions EQUAL, LESSP, DIFFERENCE, PLUS, NEGATIVEP, ADD, and
TC-IN-RANGEP, to:
T.
Case 17.21.
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(NOT (LESSP 1 (NEGATIVE-GUTS Y)))
(NOT (TC-IN-RANGEP (ADD X
(DIFFERENCE 1 (NEGATIVE-GUTS Y)))
N))
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(LESSP 1 (TIMES 2 (EXP 2 (SUB1 N))))
(EQUAL (EXP 2 (SUB1 N)) 0)
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(LESSP (SUB1 (NEGATIVE-GUTS Y)) X))
(EQUAL (NAT-TO-TC (ADD1 (DIFFERENCE X (NEGATIVE-GUTS Y)))
N)
(ADD X
(ADD Y
(MINUS (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1)))))).
However this again simplifies, using linear arithmetic, to:
T.
Case 17.20.
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(NOT (LESSP 1 (NEGATIVE-GUTS Y)))
(NOT (TC-IN-RANGEP (ADD X
(DIFFERENCE 1 (NEGATIVE-GUTS Y)))
N))
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(LESSP 1 (TIMES 2 (EXP 2 (SUB1 N))))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL (NAT-TO-TC (ADD1 (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y))))
N)
(ADD X
(ADD Y
(MINUS (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1)))))),
which again simplifies, using linear arithmetic, to:
(IMPLIES
(AND (EQUAL (TIMES 2 (EXP 2 (SUB1 N))) 0)
(NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(NOT (LESSP 1 (NEGATIVE-GUTS Y)))
(NOT (TC-IN-RANGEP (ADD X
(DIFFERENCE 1 (NEGATIVE-GUTS Y)))
N))
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(LESSP 1 (TIMES 2 (EXP 2 (SUB1 N))))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL (NAT-TO-TC (ADD1 (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y))))
N)
(ADD X
(ADD Y
(MINUS (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1)))))).
But this again simplifies, using linear arithmetic, to:
T.
Case 17.19.
(IMPLIES
(AND
(NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(NOT (TC-IN-RANGEP (ADD X
(MINUS (DIFFERENCE (NEGATIVE-GUTS Y) 1)))
N))
(NOT (LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1)))
(LESSP X (NEGATIVE-GUTS Y)))
(EQUAL
(NAT-TO-TC (REMAINDER (PLUS X 1
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(TIMES 2 (EXP 2 (SUB1 N))))
N)
(ADD X
(ADD Y
(ADD 1
(MINUS (TIMES 2 (EXP 2 (SUB1 N))))))))),
which again simplifies, using linear arithmetic, to:
(IMPLIES
(AND (EQUAL (NEGATIVE-GUTS Y) (PLUS 1 X))
(NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (PLUS 1 X) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N)) (PLUS 1 X)))
C
(LESSP 1 (PLUS 1 X))
(NOT (TC-IN-RANGEP (ADD X
(MINUS (DIFFERENCE (PLUS 1 X) 1)))
N))
(NOT (LESSP X (DIFFERENCE (PLUS 1 X) 1)))
(LESSP X (PLUS 1 X)))
(EQUAL
(NAT-TO-TC (REMAINDER (PLUS X 1
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(PLUS 1 X)))
(TIMES 2 (EXP 2 (SUB1 N))))
N)
(ADD X
(ADD Y
(ADD 1
(MINUS (TIMES 2 (EXP 2 (SUB1 N))))))))).
But this again simplifies, using linear arithmetic, applying the lemmas
PLUS-1, SUB1-ADD1, DIFFERENCE-X-X, PATHOLOGICAL-DIFFERENCE,
NEGATIVE-GUTS-MINUS, EQUAL-TIMES-0, PLUS-ADD1, REMAINDER-OF-0,
DIFFERENCE-CROCK1, and EXP-2-NEVER-0, and unfolding the definitions of
LESSP, SUB1, NUMBERP, EQUAL, DIFFERENCE, MINUS, ADD, REMAINDER, and
NEGATIVEP, to four new goals:
Case 17.19.4.
(IMPLIES
(AND
(EQUAL (NEGATIVE-GUTS Y) (ADD1 X))
(NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(NOT (LESSP (SUB1 (EXP 2 (SUB1 N))) X))
C
(NOT (EQUAL X 0))
(NOT (LESSP X X))
(NOT (TC-IN-RANGEP 0 N))
(LESSP (SUB1 X) X)
(NOT (LESSP 1 (TIMES 2 (EXP 2 (SUB1 N)))))
(NOT (LESSP (PLUS X
(DIFFERENCE (SUB1 (TIMES 2 (EXP 2 (SUB1 N))))
X))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N)))))))
(EQUAL (NAT-TO-TC 0 N)
(ADD X (ADD Y 0)))),
which again simplifies, using linear arithmetic, to:
T.
Case 17.19.3.
(IMPLIES
(AND (EQUAL (NEGATIVE-GUTS Y) (ADD1 X))
(NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(NOT (LESSP (SUB1 (EXP 2 (SUB1 N))) X))
C
(NOT (EQUAL X 0))
(NOT (LESSP X X))
(NOT (TC-IN-RANGEP 0 N))
(LESSP (SUB1 X) X)
(NOT (LESSP 1 (TIMES 2 (EXP 2 (SUB1 N)))))
(LESSP (PLUS X
(DIFFERENCE (SUB1 (TIMES 2 (EXP 2 (SUB1 N))))
X))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL
(NAT-TO-TC
(ADD1 (PLUS X
(DIFFERENCE (SUB1 (TIMES 2 (EXP 2 (SUB1 N))))
X)))
N)
(ADD X (ADD Y 0)))),
which again simplifies, using linear arithmetic, to:
(IMPLIES
(AND (EQUAL (TIMES 2 (EXP 2 (SUB1 N))) 0)
(EQUAL (NEGATIVE-GUTS Y) (ADD1 X))
(NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(NOT (LESSP (SUB1 (EXP 2 (SUB1 N))) X))
C
(NOT (EQUAL X 0))
(NOT (LESSP X X))
(NOT (TC-IN-RANGEP 0 N))
(LESSP (SUB1 X) X)
(NOT (LESSP 1 (TIMES 2 (EXP 2 (SUB1 N)))))
(LESSP (PLUS X
(DIFFERENCE (SUB1 (TIMES 2 (EXP 2 (SUB1 N))))
X))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL
(NAT-TO-TC
(ADD1 (PLUS X
(DIFFERENCE (SUB1 (TIMES 2 (EXP 2 (SUB1 N))))
X)))
N)
(ADD X (ADD Y 0)))).
This again simplifies, using linear arithmetic, to:
T.
Case 17.19.2.
(IMPLIES
(AND
(EQUAL (NEGATIVE-GUTS Y) (ADD1 X))
(NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(NOT (LESSP (SUB1 (EXP 2 (SUB1 N))) X))
C
(NOT (EQUAL X 0))
(NOT (LESSP X X))
(NOT (TC-IN-RANGEP 0 N))
(LESSP (SUB1 X) X)
(LESSP 1 (TIMES 2 (EXP 2 (SUB1 N))))
(NOT (LESSP (PLUS X
(DIFFERENCE (SUB1 (TIMES 2 (EXP 2 (SUB1 N))))
X))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N)))))))
(EQUAL (NAT-TO-TC 0 N)
(ADD X
(ADD Y
(MINUS (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1)))))),
which again simplifies, expanding LESSP, EQUAL, NEGATIVEP, and
TC-IN-RANGEP, to:
T.
Case 17.19.1.
(IMPLIES
(AND (EQUAL (NEGATIVE-GUTS Y) (ADD1 X))
(NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(NOT (LESSP (SUB1 (EXP 2 (SUB1 N))) X))
C
(NOT (EQUAL X 0))
(NOT (LESSP X X))
(NOT (TC-IN-RANGEP 0 N))
(LESSP (SUB1 X) X)
(LESSP 1 (TIMES 2 (EXP 2 (SUB1 N))))
(LESSP (PLUS X
(DIFFERENCE (SUB1 (TIMES 2 (EXP 2 (SUB1 N))))
X))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL
(NAT-TO-TC
(ADD1 (PLUS X
(DIFFERENCE (SUB1 (TIMES 2 (EXP 2 (SUB1 N))))
X)))
N)
(ADD X
(ADD Y
(MINUS (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1)))))),
which again simplifies, using linear arithmetic, to:
(IMPLIES
(AND (EQUAL (TIMES 2 (EXP 2 (SUB1 N))) 0)
(EQUAL (NEGATIVE-GUTS Y) (ADD1 X))
(NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(NOT (LESSP (SUB1 (EXP 2 (SUB1 N))) X))
C
(NOT (EQUAL X 0))
(NOT (LESSP X X))
(NOT (TC-IN-RANGEP 0 N))
(LESSP (SUB1 X) X)
(LESSP 1 (TIMES 2 (EXP 2 (SUB1 N))))
(LESSP (PLUS X
(DIFFERENCE (SUB1 (TIMES 2 (EXP 2 (SUB1 N))))
X))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL
(NAT-TO-TC
(ADD1 (PLUS X
(DIFFERENCE (SUB1 (TIMES 2 (EXP 2 (SUB1 N))))
X)))
N)
(ADD X
(ADD Y
(MINUS (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1)))))).
This again simplifies, using linear arithmetic, to:
T.
Case 17.18.
(IMPLIES
(AND
(NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(NOT (TC-IN-RANGEP (ADD X
(MINUS (DIFFERENCE (NEGATIVE-GUTS Y) 1)))
N))
(NOT (LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1)))
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(NOT (LESSP 1 (TIMES 2 (EXP 2 (SUB1 N)))))
(EQUAL (EXP 2 (SUB1 N)) 0)
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(EQUAL (NAT-TO-TC (ADD1 X) N)
(ADD X (ADD Y 1)))),
which again simplifies, using linear arithmetic, to:
T.
Case 17.17.
(IMPLIES
(AND
(NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(NOT (TC-IN-RANGEP (ADD X
(MINUS (DIFFERENCE (NEGATIVE-GUTS Y) 1)))
N))
(NOT (LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1)))
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(NOT (LESSP 1 (TIMES 2 (EXP 2 (SUB1 N)))))
(EQUAL (EXP 2 (SUB1 N)) 0)
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(NOT (LESSP (SUB1 (NEGATIVE-GUTS Y)) X)))
(EQUAL (NAT-TO-TC 0 N)
(ADD X (ADD Y 1)))),
which again simplifies, using linear arithmetic, to:
T.
Case 17.16.
(IMPLIES
(AND
(NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(NOT (TC-IN-RANGEP (ADD X
(MINUS (DIFFERENCE (NEGATIVE-GUTS Y) 1)))
N))
(NOT (LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1)))
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(NOT (LESSP 1 (TIMES 2 (EXP 2 (SUB1 N)))))
(EQUAL (EXP 2 (SUB1 N)) 0)
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(LESSP (SUB1 (NEGATIVE-GUTS Y)) X))
(EQUAL (NAT-TO-TC (ADD1 (DIFFERENCE X (NEGATIVE-GUTS Y)))
N)
(ADD X (ADD Y 1)))),
which again simplifies, using linear arithmetic, to:
T.
Case 17.15.
(IMPLIES
(AND
(NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(NOT (TC-IN-RANGEP (ADD X
(MINUS (DIFFERENCE (NEGATIVE-GUTS Y) 1)))
N))
(NOT (LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1)))
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(NOT (LESSP 1 (TIMES 2 (EXP 2 (SUB1 N)))))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(NOT (LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y))
(LESSP X
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL (NAT-TO-TC (ADD1 X) N)
(ADD X (ADD Y 0)))),
which again simplifies, using linear arithmetic, to:
T.
Case 17.14.
(IMPLIES
(AND
(NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(NOT (TC-IN-RANGEP (ADD X
(MINUS (DIFFERENCE (NEGATIVE-GUTS Y) 1)))
N))
(NOT (LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1)))
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(NOT (LESSP 1 (TIMES 2 (EXP 2 (SUB1 N)))))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(NOT (LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(NOT (LESSP (DIFFERENCE X (NEGATIVE-GUTS Y))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N)))))))
(EQUAL (NAT-TO-TC 0 N)
(ADD X (ADD Y 0)))),
which again simplifies, using linear arithmetic, to:
T.
Case 17.13.
(IMPLIES
(AND
(NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(NOT (TC-IN-RANGEP (ADD X
(MINUS (DIFFERENCE (NEGATIVE-GUTS Y) 1)))
N))
(NOT (LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1)))
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(NOT (LESSP 1 (TIMES 2 (EXP 2 (SUB1 N)))))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(NOT (LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(NOT (LESSP (SUB1 (NEGATIVE-GUTS Y)) X)))
(EQUAL (NAT-TO-TC 0 N)
(ADD X (ADD Y 0)))),
which again simplifies, using linear arithmetic, to:
T.
Case 17.12.
(IMPLIES
(AND
(NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(NOT (TC-IN-RANGEP (ADD X
(MINUS (DIFFERENCE (NEGATIVE-GUTS Y) 1)))
N))
(NOT (LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1)))
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(NOT (LESSP 1 (TIMES 2 (EXP 2 (SUB1 N)))))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(NOT (LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y))
(NOT (LESSP X
(SUB1 (TIMES 2 (EXP 2 (SUB1 N)))))))
(EQUAL (NAT-TO-TC 0 N)
(ADD X (ADD Y 0)))),
which again simplifies, using linear arithmetic, to:
T.
Case 17.11.
(IMPLIES
(AND
(NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(NOT (TC-IN-RANGEP (ADD X
(MINUS (DIFFERENCE (NEGATIVE-GUTS Y) 1)))
N))
(NOT (LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1)))
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(NOT (LESSP 1 (TIMES 2 (EXP 2 (SUB1 N)))))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(NOT (LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(LESSP (SUB1 (NEGATIVE-GUTS Y)) X)
(LESSP (DIFFERENCE X (NEGATIVE-GUTS Y))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL (NAT-TO-TC (ADD1 (DIFFERENCE X (NEGATIVE-GUTS Y)))
N)
(ADD X (ADD Y 0)))),
which again simplifies, using linear arithmetic, to:
T.
Case 17.10.
(IMPLIES
(AND
(NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(NOT (TC-IN-RANGEP (ADD X
(MINUS (DIFFERENCE (NEGATIVE-GUTS Y) 1)))
N))
(NOT (LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1)))
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(NOT (LESSP 1 (TIMES 2 (EXP 2 (SUB1 N)))))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL (NAT-TO-TC (ADD1 (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y))))
N)
(ADD X (ADD Y 0)))),
which again simplifies, using linear arithmetic, to:
T.
Case 17.9.
(IMPLIES
(AND
(NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(NOT (TC-IN-RANGEP (ADD X
(MINUS (DIFFERENCE (NEGATIVE-GUTS Y) 1)))
N))
(NOT (LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1)))
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(LESSP 1 (TIMES 2 (EXP 2 (SUB1 N))))
(NOT (LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y))
(LESSP X
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL (NAT-TO-TC (ADD1 X) N)
(ADD X
(ADD Y
(MINUS (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1)))))),
which again simplifies, using linear arithmetic, to:
T.
Case 17.8.
(IMPLIES
(AND
(NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(NOT (TC-IN-RANGEP (ADD X
(MINUS (DIFFERENCE (NEGATIVE-GUTS Y) 1)))
N))
(NOT (LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1)))
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(LESSP 1 (TIMES 2 (EXP 2 (SUB1 N))))
(EQUAL (EXP 2 (SUB1 N)) 0)
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(EQUAL (NAT-TO-TC (ADD1 X) N)
(ADD X
(ADD Y
(MINUS (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1)))))),
which again simplifies, using linear arithmetic, to:
T.
Case 17.7.
(IMPLIES
(AND
(NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(NOT (TC-IN-RANGEP (ADD X
(MINUS (DIFFERENCE (NEGATIVE-GUTS Y) 1)))
N))
(NOT (LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1)))
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(LESSP 1 (TIMES 2 (EXP 2 (SUB1 N))))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(NOT (LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(NOT (LESSP (DIFFERENCE X (NEGATIVE-GUTS Y))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N)))))))
(EQUAL (NAT-TO-TC 0 N)
(ADD X
(ADD Y
(MINUS (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1)))))),
which again simplifies, using linear arithmetic, to:
T.
Case 17.6.
(IMPLIES
(AND
(NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(NOT (TC-IN-RANGEP (ADD X
(MINUS (DIFFERENCE (NEGATIVE-GUTS Y) 1)))
N))
(NOT (LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1)))
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(LESSP 1 (TIMES 2 (EXP 2 (SUB1 N))))
(NOT (LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(NOT (LESSP (SUB1 (NEGATIVE-GUTS Y)) X)))
(EQUAL (NAT-TO-TC 0 N)
(ADD X
(ADD Y
(MINUS (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1)))))),
which again simplifies, using linear arithmetic, to:
T.
Case 17.5.
(IMPLIES
(AND
(NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(NOT (TC-IN-RANGEP (ADD X
(MINUS (DIFFERENCE (NEGATIVE-GUTS Y) 1)))
N))
(NOT (LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1)))
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(LESSP 1 (TIMES 2 (EXP 2 (SUB1 N))))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(NOT (LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y))
(NOT (LESSP X
(SUB1 (TIMES 2 (EXP 2 (SUB1 N)))))))
(EQUAL (NAT-TO-TC 0 N)
(ADD X
(ADD Y
(MINUS (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1)))))),
which again simplifies, using linear arithmetic, to:
T.
Case 17.4.
(IMPLIES
(AND
(NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(NOT (TC-IN-RANGEP (ADD X
(MINUS (DIFFERENCE (NEGATIVE-GUTS Y) 1)))
N))
(NOT (LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1)))
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(LESSP 1 (TIMES 2 (EXP 2 (SUB1 N))))
(EQUAL (EXP 2 (SUB1 N)) 0)
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(NOT (LESSP (SUB1 (NEGATIVE-GUTS Y)) X)))
(EQUAL (NAT-TO-TC 0 N)
(ADD X
(ADD Y
(MINUS (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1)))))),
which again simplifies, using linear arithmetic, to:
T.
Case 17.3.
(IMPLIES
(AND
(NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(NOT (TC-IN-RANGEP (ADD X
(MINUS (DIFFERENCE (NEGATIVE-GUTS Y) 1)))
N))
(NOT (LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1)))
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(LESSP 1 (TIMES 2 (EXP 2 (SUB1 N))))
(NOT (LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(LESSP (SUB1 (NEGATIVE-GUTS Y)) X)
(LESSP (DIFFERENCE X (NEGATIVE-GUTS Y))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL (NAT-TO-TC (ADD1 (DIFFERENCE X (NEGATIVE-GUTS Y)))
N)
(ADD X
(ADD Y
(MINUS (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1)))))),
which again simplifies, using linear arithmetic, rewriting with
NEGATIVE-GUTS-MINUS, EQUAL-TIMES-0, SUB1-ADD1, PLUS-EQUAL-0, and
PATHOLOGICAL-DIFFERENCE, and opening up ADD, TC-IN-RANGEP, DIFFERENCE,
EQUAL, NUMBERP, EXP, LESSP, and NAT-TO-TC, to the following six new
conjectures:
Case 17.3.6.
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(NOT (LESSP (DIFFERENCE X
(DIFFERENCE (NEGATIVE-GUTS Y) 1))
(EXP 2 (SUB1 N))))
(NOT (LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1)))
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(LESSP 1 (TIMES 2 (EXP 2 (SUB1 N))))
(NOT (LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(LESSP (SUB1 (NEGATIVE-GUTS Y)) X)
(LESSP (DIFFERENCE X (NEGATIVE-GUTS Y))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N)))))
(NOT (LESSP X
(PLUS (NEGATIVE-GUTS Y)
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1)))))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))).
This again simplifies, using linear arithmetic, to:
T.
Case 17.3.5.
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(NOT (LESSP (DIFFERENCE X
(DIFFERENCE (NEGATIVE-GUTS Y) 1))
(EXP 2 (SUB1 N))))
(NOT (LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1)))
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(LESSP 1 (TIMES 2 (EXP 2 (SUB1 N))))
(NOT (LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(LESSP (SUB1 (NEGATIVE-GUTS Y)) X)
(LESSP (DIFFERENCE X (NEGATIVE-GUTS Y))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N)))))
(NOT (LESSP X
(PLUS (NEGATIVE-GUTS Y)
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1)))))
(LESSP (DIFFERENCE X (NEGATIVE-GUTS Y))
(SUB1 (EXP 2 (SUB1 N))))),
which again simplifies, using linear arithmetic, to:
(IMPLIES
(AND (EQUAL (TIMES 2 (EXP 2 (SUB1 N))) 0)
(NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(NOT (LESSP (DIFFERENCE X
(DIFFERENCE (NEGATIVE-GUTS Y) 1))
(EXP 2 (SUB1 N))))
(NOT (LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1)))
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(LESSP 1 (TIMES 2 (EXP 2 (SUB1 N))))
(NOT (LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(LESSP (SUB1 (NEGATIVE-GUTS Y)) X)
(LESSP (DIFFERENCE X (NEGATIVE-GUTS Y))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N)))))
(NOT (LESSP X
(PLUS (NEGATIVE-GUTS Y)
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1)))))
(LESSP (DIFFERENCE X (NEGATIVE-GUTS Y))
(SUB1 (EXP 2 (SUB1 N))))).
However this again simplifies, using linear arithmetic, to:
T.
Case 17.3.4.
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(NOT (LESSP (DIFFERENCE X
(DIFFERENCE (NEGATIVE-GUTS Y) 1))
(EXP 2 (SUB1 N))))
(NOT (LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1)))
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(LESSP 1 (TIMES 2 (EXP 2 (SUB1 N))))
(NOT (LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(LESSP (SUB1 (NEGATIVE-GUTS Y)) X)
(LESSP (DIFFERENCE X (NEGATIVE-GUTS Y))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N)))))
(LESSP X
(PLUS (NEGATIVE-GUTS Y)
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1)))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0)))
(NOT (LESSP (DIFFERENCE X (NEGATIVE-GUTS Y))
(SUB1 (EXP 2 (SUB1 N)))))),
which again simplifies, using linear arithmetic, to:
T.
Case 17.3.3.
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(NOT (LESSP (DIFFERENCE X
(DIFFERENCE (NEGATIVE-GUTS Y) 1))
(EXP 2 (SUB1 N))))
(NOT (LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1)))
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(LESSP 1 (TIMES 2 (EXP 2 (SUB1 N))))
(NOT (LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(LESSP (SUB1 (NEGATIVE-GUTS Y)) X)
(LESSP (DIFFERENCE X (NEGATIVE-GUTS Y))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N)))))
(NOT (LESSP X
(PLUS (NEGATIVE-GUTS Y)
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1)))))
(EQUAL (ADD1 (DIFFERENCE X (NEGATIVE-GUTS Y)))
0)),
which again simplifies, using linear arithmetic, to:
(IMPLIES
(AND (EQUAL (TIMES 2 (EXP 2 (SUB1 N))) 0)
(NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(NOT (LESSP (DIFFERENCE X
(DIFFERENCE (NEGATIVE-GUTS Y) 1))
(EXP 2 (SUB1 N))))
(NOT (LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1)))
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(LESSP 1 (TIMES 2 (EXP 2 (SUB1 N))))
(NOT (LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(LESSP (SUB1 (NEGATIVE-GUTS Y)) X)
(LESSP (DIFFERENCE X (NEGATIVE-GUTS Y))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N)))))
(NOT (LESSP X
(PLUS (NEGATIVE-GUTS Y)
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1)))))
(EQUAL (ADD1 (DIFFERENCE X (NEGATIVE-GUTS Y)))
0)).
This again simplifies, using linear arithmetic, to:
T.
Case 17.3.2.
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(NOT (LESSP (DIFFERENCE X
(DIFFERENCE (NEGATIVE-GUTS Y) 1))
(EXP 2 (SUB1 N))))
(NOT (LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1)))
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(LESSP 1 (TIMES 2 (EXP 2 (SUB1 N))))
(NOT (LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(LESSP (SUB1 (NEGATIVE-GUTS Y)) X)
(LESSP (DIFFERENCE X (NEGATIVE-GUTS Y))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N)))))
(EQUAL (EXP 2 (SUB1 N)) 0))
(EQUAL
(MINUS 0)
(MINUS (DIFFERENCE (PLUS (NEGATIVE-GUTS Y)
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1))
X)))),
which again simplifies, using linear arithmetic, to:
T.
Case 17.3.1.
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(NOT (LESSP (DIFFERENCE X
(DIFFERENCE (NEGATIVE-GUTS Y) 1))
(EXP 2 (SUB1 N))))
(NOT (LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1)))
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(LESSP 1 (TIMES 2 (EXP 2 (SUB1 N))))
(NOT (LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(LESSP (SUB1 (NEGATIVE-GUTS Y)) X)
(LESSP (DIFFERENCE X (NEGATIVE-GUTS Y))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N)))))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(NOT (LESSP (DIFFERENCE X (NEGATIVE-GUTS Y))
(SUB1 (EXP 2 (SUB1 N))))))
(EQUAL
(MINUS (DIFFERENCE (SUB1 (TIMES 2 (EXP 2 (SUB1 N))))
(DIFFERENCE X (NEGATIVE-GUTS Y))))
(MINUS (DIFFERENCE (PLUS (NEGATIVE-GUTS Y)
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1))
X)))),
which again simplifies, using linear arithmetic, to:
T.
Case 17.2.
(IMPLIES
(AND
(NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(NOT (TC-IN-RANGEP (ADD X
(MINUS (DIFFERENCE (NEGATIVE-GUTS Y) 1)))
N))
(NOT (LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1)))
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(LESSP 1 (TIMES 2 (EXP 2 (SUB1 N))))
(EQUAL (EXP 2 (SUB1 N)) 0)
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(LESSP (SUB1 (NEGATIVE-GUTS Y)) X))
(EQUAL (NAT-TO-TC (ADD1 (DIFFERENCE X (NEGATIVE-GUTS Y)))
N)
(ADD X
(ADD Y
(MINUS (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1)))))),
which again simplifies, using linear arithmetic, to:
T.
Case 17.1.
(IMPLIES
(AND
(NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(NOT (TC-IN-RANGEP (ADD X
(MINUS (DIFFERENCE (NEGATIVE-GUTS Y) 1)))
N))
(NOT (LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1)))
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(LESSP 1 (TIMES 2 (EXP 2 (SUB1 N))))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL (NAT-TO-TC (ADD1 (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y))))
N)
(ADD X
(ADD Y
(MINUS (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1)))))),
which again simplifies, using linear arithmetic, to:
(IMPLIES
(AND
(EQUAL (TIMES 2 (EXP 2 (SUB1 N))) 0)
(NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(NOT (TC-IN-RANGEP (ADD X
(MINUS (DIFFERENCE (NEGATIVE-GUTS Y) 1)))
N))
(NOT (LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1)))
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(LESSP 1 (TIMES 2 (EXP 2 (SUB1 N))))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL (NAT-TO-TC (ADD1 (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y))))
N)
(ADD X
(ADD Y
(MINUS (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1)))))).
This again simplifies, using linear arithmetic, to:
T.
Case 16.(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(TC-IN-RANGEP (ADD X (ADD Y 1)) N))
(EQUAL
(NAT-TO-TC (REMAINDER (PLUS X 1
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(TIMES 2 (EXP 2 (SUB1 N))))
N)
(ADD X (ADD Y 1)))),
which again simplifies, using linear arithmetic, applying
COMMUTATIVITY-OF-ADD, PLUS-1, PLUS-ADD1, SUB1-ADD1, EQUAL-TIMES-0,
REMAINDER-OF-0, PATHOLOGICAL-DIFFERENCE, REMAINDER-CROCK4,
DIFFERENCE-DIFFERENCE, and NEGATIVE-GUTS-MINUS, and opening up NEGATIVEP,
ADD, NUMBERP, EQUAL, LESSP, REMAINDER, and DIFFERENCE, to the following 29
new goals:
Case 16.29.
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(NOT (LESSP 1 (NEGATIVE-GUTS Y)))
(TC-IN-RANGEP (ADD X
(DIFFERENCE 1 (NEGATIVE-GUTS Y)))
N)
(LESSP X (NEGATIVE-GUTS Y)))
(EQUAL
(NAT-TO-TC (REMAINDER (PLUS X 1
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(TIMES 2 (EXP 2 (SUB1 N))))
N)
(ADD X (ADD Y 1)))).
However this again simplifies, using linear arithmetic, to the formula:
(IMPLIES
(AND (EQUAL (NEGATIVE-GUTS Y) 1)
(NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL 1 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N)) 1))
C
(NOT (LESSP 1 1))
(TC-IN-RANGEP (ADD X (DIFFERENCE 1 1))
N)
(LESSP X 1))
(EQUAL
(NAT-TO-TC (REMAINDER (PLUS X 1
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1))
(TIMES 2 (EXP 2 (SUB1 N))))
N)
(ADD X (ADD Y 1)))).
But this again simplifies, using linear arithmetic, applying the lemmas
COMMUTATIVITY-OF-ADD, PLUS-1, PLUS-ADD1, SUB1-ADD1, EQUAL-TIMES-0,
REMAINDER-OF-0, PATHOLOGICAL-DIFFERENCE, TIMES-2-NOT-1, REMAINDER-OF-1,
and REMAINDER-CROCK4, and unfolding the definitions of EQUAL, LESSP,
DIFFERENCE, PLUS, NEGATIVEP, ADD, TC-IN-RANGEP, NUMBERP, REMAINDER, SUB1,
and ADD1, to eight new formulas:
Case 16.29.8.
(IMPLIES
(AND (EQUAL (NEGATIVE-GUTS Y) 1)
(NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N)) 1))
C
(LESSP X 1)
(NOT (LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(LESSP (TIMES 2 (EXP 2 (SUB1 N))) 1)
(LESSP X
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL (NAT-TO-TC (ADD1 X) N) X)),
which again simplifies, using linear arithmetic, to the conjecture:
(IMPLIES
(AND (EQUAL (TIMES 2 (EXP 2 (SUB1 N))) 0)
(EQUAL (NEGATIVE-GUTS Y) 1)
(NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N)) 1))
C
(LESSP X 1)
(NOT (LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(LESSP (TIMES 2 (EXP 2 (SUB1 N))) 1)
(LESSP X
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL (NAT-TO-TC (ADD1 X) N) X)).
This again simplifies, using linear arithmetic, to:
T.
Case 16.29.7.
(IMPLIES (AND (EQUAL (NEGATIVE-GUTS Y) 1)
(NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N)) 1))
C
(LESSP X 1)
(EQUAL (EXP 2 (SUB1 N)) 0)
(LESSP (TIMES 2 (EXP 2 (SUB1 N))) 1))
(EQUAL (NAT-TO-TC (ADD1 X) N) X)),
which again simplifies, using linear arithmetic, to:
T.
Case 16.29.6.
(IMPLIES
(AND (EQUAL (NEGATIVE-GUTS Y) 1)
(NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N)) 1))
C
(LESSP X 1)
(NOT (LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N))) 1))
(NOT (EQUAL X 0)))
(EQUAL (NAT-TO-TC 1 N) X)),
which again simplifies, using linear arithmetic, to:
T.
Case 16.29.5.
(IMPLIES (AND (EQUAL (NEGATIVE-GUTS Y) 1)
(NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N)) 1))
C
(LESSP X 1)
(EQUAL (EXP 2 (SUB1 N)) 0)
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N))) 1))
(NOT (EQUAL X 0)))
(EQUAL (NAT-TO-TC 1 N) X)),
which again simplifies, using linear arithmetic, to:
T.
Case 16.29.4.
(IMPLIES
(AND (EQUAL (NEGATIVE-GUTS Y) 1)
(NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N)) 1))
C
(LESSP X 1)
(NOT (LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N))) 1))
(EQUAL X 0))
(EQUAL (NAT-TO-TC 0 N) X)),
which again simplifies, expanding the functions NUMBERP, EQUAL, LESSP,
PLUS, and NAT-TO-TC, to:
T.
Case 16.29.3.
(IMPLIES
(AND (EQUAL (NEGATIVE-GUTS Y) 1)
(NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N)) 1))
C
(LESSP X 1)
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(NOT (LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(LESSP (TIMES 2 (EXP 2 (SUB1 N))) 1)
(NOT (LESSP X
(SUB1 (TIMES 2 (EXP 2 (SUB1 N)))))))
(EQUAL (NAT-TO-TC 0 N) X)),
which again simplifies, using linear arithmetic, to:
T.
Case 16.29.2.
(IMPLIES (AND (EQUAL (NEGATIVE-GUTS Y) 1)
(NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N)) 1))
C
(LESSP X 1)
(EQUAL (EXP 2 (SUB1 N)) 0)
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N))) 1))
(EQUAL X 0))
(EQUAL (NAT-TO-TC 0 N) X)),
which again simplifies, trivially, to:
T.
Case 16.29.1.
(IMPLIES
(AND (EQUAL (NEGATIVE-GUTS Y) 1)
(NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N)) 1))
C
(LESSP X 1)
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL
(NAT-TO-TC (ADD1 (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1)))
N)
X)).
This again simplifies, using linear arithmetic, to:
(IMPLIES
(AND (EQUAL (TIMES 2 (EXP 2 (SUB1 N))) 0)
(EQUAL (NEGATIVE-GUTS Y) 1)
(NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N)) 1))
C
(LESSP X 1)
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL
(NAT-TO-TC (ADD1 (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1)))
N)
X)).
But this again simplifies, using linear arithmetic, to:
T.
Case 16.28.
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(NOT (LESSP 1 (NEGATIVE-GUTS Y)))
(TC-IN-RANGEP (ADD X
(DIFFERENCE 1 (NEGATIVE-GUTS Y)))
N)
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(NOT (LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y))
(LESSP X
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL (NAT-TO-TC (ADD1 X) N)
(PLUS X
(DIFFERENCE 1 (NEGATIVE-GUTS Y))))),
which again simplifies, using linear arithmetic, to:
T.
Case 16.27.
(IMPLIES (AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(NOT (LESSP 1 (NEGATIVE-GUTS Y)))
(TC-IN-RANGEP (ADD X
(DIFFERENCE 1 (NEGATIVE-GUTS Y)))
N)
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(EQUAL (EXP 2 (SUB1 N)) 0)
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(EQUAL (NAT-TO-TC (ADD1 X) N)
(PLUS X
(DIFFERENCE 1 (NEGATIVE-GUTS Y))))),
which again simplifies, using linear arithmetic, to:
T.
Case 16.26.
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(NOT (LESSP 1 (NEGATIVE-GUTS Y)))
(TC-IN-RANGEP (ADD X
(DIFFERENCE 1 (NEGATIVE-GUTS Y)))
N)
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(NOT (LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(NOT (LESSP (DIFFERENCE X (NEGATIVE-GUTS Y))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N)))))))
(EQUAL (NAT-TO-TC 0 N)
(PLUS X
(DIFFERENCE 1 (NEGATIVE-GUTS Y))))),
which again simplifies, using linear arithmetic, to:
T.
Case 16.25.
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(NOT (LESSP 1 (NEGATIVE-GUTS Y)))
(TC-IN-RANGEP (ADD X
(DIFFERENCE 1 (NEGATIVE-GUTS Y)))
N)
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(NOT (LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(NOT (LESSP (SUB1 (NEGATIVE-GUTS Y)) X)))
(EQUAL (NAT-TO-TC 0 N)
(PLUS X
(DIFFERENCE 1 (NEGATIVE-GUTS Y))))),
which again simplifies, using linear arithmetic, to:
T.
Case 16.24.
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(NOT (LESSP 1 (NEGATIVE-GUTS Y)))
(TC-IN-RANGEP (ADD X
(DIFFERENCE 1 (NEGATIVE-GUTS Y)))
N)
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(NOT (LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y))
(NOT (LESSP X
(SUB1 (TIMES 2 (EXP 2 (SUB1 N)))))))
(EQUAL (NAT-TO-TC 0 N)
(PLUS X
(DIFFERENCE 1 (NEGATIVE-GUTS Y))))),
which again simplifies, using linear arithmetic, to:
T.
Case 16.23.
(IMPLIES (AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(NOT (LESSP 1 (NEGATIVE-GUTS Y)))
(TC-IN-RANGEP (ADD X
(DIFFERENCE 1 (NEGATIVE-GUTS Y)))
N)
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(EQUAL (EXP 2 (SUB1 N)) 0)
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(NOT (LESSP (SUB1 (NEGATIVE-GUTS Y)) X)))
(EQUAL (NAT-TO-TC 0 N)
(PLUS X
(DIFFERENCE 1 (NEGATIVE-GUTS Y))))),
which again simplifies, using linear arithmetic, to:
T.
Case 16.22.
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(NOT (LESSP 1 (NEGATIVE-GUTS Y)))
(TC-IN-RANGEP (ADD X
(DIFFERENCE 1 (NEGATIVE-GUTS Y)))
N)
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(NOT (LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(LESSP (SUB1 (NEGATIVE-GUTS Y)) X)
(LESSP (DIFFERENCE X (NEGATIVE-GUTS Y))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL (NAT-TO-TC (ADD1 (DIFFERENCE X (NEGATIVE-GUTS Y)))
N)
(PLUS X
(DIFFERENCE 1 (NEGATIVE-GUTS Y))))),
which again simplifies, using linear arithmetic, to:
(IMPLIES
(AND (EQUAL (NEGATIVE-GUTS Y) 1)
(NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL 1 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N)) 1))
C
(NOT (LESSP 1 1))
(TC-IN-RANGEP (ADD X (DIFFERENCE 1 1))
N)
(NOT (LESSP X 1))
(NOT (LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N))) 1))
(LESSP (SUB1 1) X)
(LESSP (DIFFERENCE X 1)
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL (NAT-TO-TC (ADD1 (DIFFERENCE X 1)) N)
(PLUS X (DIFFERENCE 1 1)))).
But this again simplifies, applying COMMUTATIVITY-OF-ADD, EQUAL-TIMES-0,
SUB1-ADD1, and COMMUTATIVITY-OF-PLUS, and expanding the definitions of
EQUAL, LESSP, DIFFERENCE, PLUS, NEGATIVEP, ADD, TC-IN-RANGEP, SUB1,
NUMBERP, EXP, and NAT-TO-TC, to the following three new conjectures:
Case 16.22.3.
(IMPLIES
(AND (EQUAL (NEGATIVE-GUTS Y) 1)
(NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N)) 1))
C
(NOT (LESSP X 1))
(NOT (LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N))) 1))
(NOT (EQUAL X 0))
(LESSP (DIFFERENCE X 1)
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))).
However this again simplifies, using linear arithmetic, to:
T.
Case 16.22.2.
(IMPLIES
(AND (EQUAL (NEGATIVE-GUTS Y) 1)
(NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N)) 1))
C
(NOT (LESSP X 1))
(NOT (LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N))) 1))
(NOT (EQUAL X 0))
(LESSP (DIFFERENCE X 1)
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(LESSP (DIFFERENCE X 1)
(SUB1 (EXP 2 (SUB1 N))))),
which again simplifies, using linear arithmetic, to:
T.
Case 16.22.1.
(IMPLIES
(AND (EQUAL (NEGATIVE-GUTS Y) 1)
(NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N)) 1))
C
(NOT (LESSP X 1))
(NOT (LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N))) 1))
(NOT (EQUAL X 0))
(LESSP (DIFFERENCE X 1)
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL (ADD1 (DIFFERENCE X 1)) X)),
which again simplifies, using linear arithmetic, to:
T.
Case 16.21.
(IMPLIES (AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(NOT (LESSP 1 (NEGATIVE-GUTS Y)))
(TC-IN-RANGEP (ADD X
(DIFFERENCE 1 (NEGATIVE-GUTS Y)))
N)
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(EQUAL (EXP 2 (SUB1 N)) 0)
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(LESSP (SUB1 (NEGATIVE-GUTS Y)) X))
(EQUAL (NAT-TO-TC (ADD1 (DIFFERENCE X (NEGATIVE-GUTS Y)))
N)
(PLUS X
(DIFFERENCE 1 (NEGATIVE-GUTS Y))))),
which again simplifies, using linear arithmetic, to:
T.
Case 16.20.
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(NOT (LESSP 1 (NEGATIVE-GUTS Y)))
(TC-IN-RANGEP (ADD X
(DIFFERENCE 1 (NEGATIVE-GUTS Y)))
N)
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL (NAT-TO-TC (ADD1 (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y))))
N)
(PLUS X
(DIFFERENCE 1 (NEGATIVE-GUTS Y))))),
which again simplifies, using linear arithmetic, to the goal:
(IMPLIES
(AND (EQUAL (TIMES 2 (EXP 2 (SUB1 N))) 0)
(NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(NOT (LESSP 1 (NEGATIVE-GUTS Y)))
(TC-IN-RANGEP (ADD X
(DIFFERENCE 1 (NEGATIVE-GUTS Y)))
N)
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL (NAT-TO-TC (ADD1 (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y))))
N)
(PLUS X
(DIFFERENCE 1 (NEGATIVE-GUTS Y))))).
However this again simplifies, using linear arithmetic, to:
T.
Case 16.19.
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(TC-IN-RANGEP (ADD X
(MINUS (DIFFERENCE (NEGATIVE-GUTS Y) 1)))
N)
(LESSP X (NEGATIVE-GUTS Y)))
(EQUAL
(NAT-TO-TC (REMAINDER (PLUS X 1
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(TIMES 2 (EXP 2 (SUB1 N))))
N)
(ADD X (ADD Y 1)))),
which again simplifies, using linear arithmetic, rewriting with
DIFFERENCE-DIFFERENCE, SUB1-ADD1, PLUS-1, NEGATIVE-GUTS-MINUS, PLUS-ADD1,
EQUAL-TIMES-0, REMAINDER-OF-0, PATHOLOGICAL-DIFFERENCE, TIMES-2-NOT-1,
REMAINDER-OF-1, REMAINDER-CROCK4, and COMMUTATIVITY-OF-ADD, and expanding
the functions DIFFERENCE, ADD, NUMBERP, EQUAL, LESSP, REMAINDER, ADD1, and
NEGATIVEP, to the following 16 new goals:
Case 16.19.16.
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(NOT (LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1)))
(TC-IN-RANGEP (DIFFERENCE X
(DIFFERENCE (NEGATIVE-GUTS Y) 1))
N)
(LESSP X (NEGATIVE-GUTS Y))
(NOT (LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y))
(LESSP X
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL (NAT-TO-TC (ADD1 X) N)
(DIFFERENCE X
(DIFFERENCE (NEGATIVE-GUTS Y) 1)))).
This again simplifies, using linear arithmetic, to:
T.
Case 16.19.15.
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(NOT (LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1)))
(TC-IN-RANGEP (DIFFERENCE X
(DIFFERENCE (NEGATIVE-GUTS Y) 1))
N)
(LESSP X (NEGATIVE-GUTS Y))
(EQUAL (EXP 2 (SUB1 N)) 0)
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(EQUAL (NAT-TO-TC (ADD1 X) N)
(DIFFERENCE X
(DIFFERENCE (NEGATIVE-GUTS Y) 1)))),
which again simplifies, using linear arithmetic, to:
T.
Case 16.19.14.
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(NOT (LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1)))
(TC-IN-RANGEP (DIFFERENCE X
(DIFFERENCE (NEGATIVE-GUTS Y) 1))
N)
(LESSP X (NEGATIVE-GUTS Y))
(NOT (LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(NOT (LESSP (SUB1 (NEGATIVE-GUTS Y)) X)))
(EQUAL (NAT-TO-TC 0 N)
(DIFFERENCE X
(DIFFERENCE (NEGATIVE-GUTS Y) 1)))),
which again simplifies, using linear arithmetic, to:
(IMPLIES
(AND (EQUAL (NEGATIVE-GUTS Y) (PLUS 1 X))
(NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (PLUS 1 X) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N)) (PLUS 1 X)))
C
(LESSP 1 (PLUS 1 X))
(NOT (LESSP X (DIFFERENCE (PLUS 1 X) 1)))
(TC-IN-RANGEP (DIFFERENCE X
(DIFFERENCE (PLUS 1 X) 1))
N)
(LESSP X (PLUS 1 X))
(NOT (LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(PLUS 1 X)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(PLUS 1 X)))
(NOT (LESSP (SUB1 (PLUS 1 X)) X)))
(EQUAL (NAT-TO-TC 0 N)
(DIFFERENCE X
(DIFFERENCE (PLUS 1 X) 1)))).
But this again simplifies, appealing to the lemmas PLUS-1, SUB1-ADD1,
DIFFERENCE-X-X, and EQUAL-TIMES-0, and opening up the definitions of
LESSP, SUB1, NUMBERP, EQUAL, DIFFERENCE, NEGATIVEP, TC-IN-RANGEP, and
NAT-TO-TC, to:
T.
Case 16.19.13.
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(NOT (LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1)))
(TC-IN-RANGEP (DIFFERENCE X
(DIFFERENCE (NEGATIVE-GUTS Y) 1))
N)
(LESSP X (NEGATIVE-GUTS Y))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(NOT (LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y))
(NOT (LESSP X
(SUB1 (TIMES 2 (EXP 2 (SUB1 N)))))))
(EQUAL (NAT-TO-TC 0 N)
(DIFFERENCE X
(DIFFERENCE (NEGATIVE-GUTS Y) 1)))),
which again simplifies, using linear arithmetic, to:
T.
Case 16.19.12.
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(NOT (LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1)))
(TC-IN-RANGEP (DIFFERENCE X
(DIFFERENCE (NEGATIVE-GUTS Y) 1))
N)
(LESSP X (NEGATIVE-GUTS Y))
(EQUAL (EXP 2 (SUB1 N)) 0)
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(NOT (LESSP (SUB1 (NEGATIVE-GUTS Y)) X)))
(EQUAL (NAT-TO-TC 0 N)
(DIFFERENCE X
(DIFFERENCE (NEGATIVE-GUTS Y) 1)))),
which again simplifies, using linear arithmetic, to:
T.
Case 16.19.11.
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(NOT (LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1)))
(TC-IN-RANGEP (DIFFERENCE X
(DIFFERENCE (NEGATIVE-GUTS Y) 1))
N)
(LESSP X (NEGATIVE-GUTS Y))
(NOT (LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(LESSP (SUB1 (NEGATIVE-GUTS Y)) X))
(EQUAL (NAT-TO-TC 1 N)
(DIFFERENCE X
(DIFFERENCE (NEGATIVE-GUTS Y) 1)))),
which again simplifies, using linear arithmetic, to:
T.
Case 16.19.10.
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(NOT (LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1)))
(TC-IN-RANGEP (DIFFERENCE X
(DIFFERENCE (NEGATIVE-GUTS Y) 1))
N)
(LESSP X (NEGATIVE-GUTS Y))
(EQUAL (EXP 2 (SUB1 N)) 0)
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(LESSP (SUB1 (NEGATIVE-GUTS Y)) X))
(EQUAL (NAT-TO-TC 1 N)
(DIFFERENCE X
(DIFFERENCE (NEGATIVE-GUTS Y) 1)))),
which again simplifies, using linear arithmetic, to:
T.
Case 16.19.9.
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(NOT (LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1)))
(TC-IN-RANGEP (DIFFERENCE X
(DIFFERENCE (NEGATIVE-GUTS Y) 1))
N)
(LESSP X (NEGATIVE-GUTS Y))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL
(NAT-TO-TC (ADD1 (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y))))
N)
(DIFFERENCE X
(DIFFERENCE (NEGATIVE-GUTS Y) 1)))),
which again simplifies, using linear arithmetic, to:
(IMPLIES
(AND (EQUAL (TIMES 2 (EXP 2 (SUB1 N))) 0)
(NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(NOT (LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1)))
(TC-IN-RANGEP (DIFFERENCE X
(DIFFERENCE (NEGATIVE-GUTS Y) 1))
N)
(LESSP X (NEGATIVE-GUTS Y))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL
(NAT-TO-TC (ADD1 (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y))))
N)
(DIFFERENCE X
(DIFFERENCE (NEGATIVE-GUTS Y) 1)))).
This again simplifies, using linear arithmetic, to:
T.
Case 16.19.8.
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1))
(TC-IN-RANGEP (MINUS (DIFFERENCE (SUB1 (NEGATIVE-GUTS Y))
X))
N)
(LESSP X (NEGATIVE-GUTS Y))
(NOT (LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y))
(LESSP X
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL (NAT-TO-TC (ADD1 X) N)
(MINUS (DIFFERENCE (SUB1 (NEGATIVE-GUTS Y))
X)))),
which again simplifies, using linear arithmetic, to:
T.
Case 16.19.7.
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1))
(TC-IN-RANGEP (MINUS (DIFFERENCE (SUB1 (NEGATIVE-GUTS Y))
X))
N)
(LESSP X (NEGATIVE-GUTS Y))
(EQUAL (EXP 2 (SUB1 N)) 0)
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(EQUAL (NAT-TO-TC (ADD1 X) N)
(MINUS (DIFFERENCE (SUB1 (NEGATIVE-GUTS Y))
X)))),
which again simplifies, using linear arithmetic, to:
T.
Case 16.19.6.
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1))
(TC-IN-RANGEP (MINUS (DIFFERENCE (SUB1 (NEGATIVE-GUTS Y))
X))
N)
(LESSP X (NEGATIVE-GUTS Y))
(NOT (LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(NOT (LESSP (SUB1 (NEGATIVE-GUTS Y)) X)))
(EQUAL (NAT-TO-TC 0 N)
(MINUS (DIFFERENCE (SUB1 (NEGATIVE-GUTS Y))
X)))),
which again simplifies, using linear arithmetic, to:
T.
Case 16.19.5.
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1))
(TC-IN-RANGEP (MINUS (DIFFERENCE (SUB1 (NEGATIVE-GUTS Y))
X))
N)
(LESSP X (NEGATIVE-GUTS Y))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(NOT (LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y))
(NOT (LESSP X
(SUB1 (TIMES 2 (EXP 2 (SUB1 N)))))))
(EQUAL (NAT-TO-TC 0 N)
(MINUS (DIFFERENCE (SUB1 (NEGATIVE-GUTS Y))
X)))),
which again simplifies, using linear arithmetic, to:
T.
Case 16.19.4.
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1))
(TC-IN-RANGEP (MINUS (DIFFERENCE (SUB1 (NEGATIVE-GUTS Y))
X))
N)
(LESSP X (NEGATIVE-GUTS Y))
(EQUAL (EXP 2 (SUB1 N)) 0)
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(NOT (LESSP (SUB1 (NEGATIVE-GUTS Y)) X)))
(EQUAL (NAT-TO-TC 0 N)
(MINUS (DIFFERENCE (SUB1 (NEGATIVE-GUTS Y))
X)))),
which again simplifies, using linear arithmetic, to:
T.
Case 16.19.3.
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1))
(TC-IN-RANGEP (MINUS (DIFFERENCE (SUB1 (NEGATIVE-GUTS Y))
X))
N)
(LESSP X (NEGATIVE-GUTS Y))
(NOT (LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(LESSP (SUB1 (NEGATIVE-GUTS Y)) X))
(EQUAL (NAT-TO-TC 1 N)
(MINUS (DIFFERENCE (SUB1 (NEGATIVE-GUTS Y))
X)))),
which again simplifies, using linear arithmetic, to:
T.
Case 16.19.2.
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1))
(TC-IN-RANGEP (MINUS (DIFFERENCE (SUB1 (NEGATIVE-GUTS Y))
X))
N)
(LESSP X (NEGATIVE-GUTS Y))
(EQUAL (EXP 2 (SUB1 N)) 0)
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(LESSP (SUB1 (NEGATIVE-GUTS Y)) X))
(EQUAL (NAT-TO-TC 1 N)
(MINUS (DIFFERENCE (SUB1 (NEGATIVE-GUTS Y))
X)))),
which again simplifies, using linear arithmetic, to:
T.
Case 16.19.1.
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1))
(TC-IN-RANGEP (MINUS (DIFFERENCE (SUB1 (NEGATIVE-GUTS Y))
X))
N)
(LESSP X (NEGATIVE-GUTS Y))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL
(NAT-TO-TC (ADD1 (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y))))
N)
(MINUS (DIFFERENCE (SUB1 (NEGATIVE-GUTS Y))
X)))),
which again simplifies, applying NEGATIVE-GUTS-MINUS, EQUAL-TIMES-0, and
SUB1-ADD1, and opening up the definitions of TC-IN-RANGEP, DIFFERENCE,
EQUAL, NUMBERP, EXP, LESSP, and NAT-TO-TC, to the following two new
goals:
Case 16.19.1.2.
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1))
(NOT (LESSP (EXP 2 (SUB1 N))
(DIFFERENCE (SUB1 (NEGATIVE-GUTS Y))
X)))
(LESSP X (NEGATIVE-GUTS Y))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL
(MINUS (DIFFERENCE (SUB1 (TIMES 2 (EXP 2 (SUB1 N))))
(PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))))
(MINUS (DIFFERENCE (SUB1 (NEGATIVE-GUTS Y))
X)))).
This again simplifies, rewriting with NEGATIVE-GUTS-MINUS and
MINUS-EQUAL, to the new goal:
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1))
(NOT (LESSP (EXP 2 (SUB1 N))
(DIFFERENCE (SUB1 (NEGATIVE-GUTS Y))
X)))
(LESSP X (NEGATIVE-GUTS Y))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL (DIFFERENCE (SUB1 (TIMES 2 (EXP 2 (SUB1 N))))
(PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y))))
(DIFFERENCE (SUB1 (NEGATIVE-GUTS Y))
X))),
which again simplifies, using linear arithmetic, to four new formulas:
Case 16.19.1.2.4.
(IMPLIES
(AND (LESSP (SUB1 (TIMES 2 (EXP 2 (SUB1 N))))
(PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y))))
(NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1))
(NOT (LESSP (EXP 2 (SUB1 N))
(DIFFERENCE (SUB1 (NEGATIVE-GUTS Y))
X)))
(LESSP X (NEGATIVE-GUTS Y))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL
(DIFFERENCE (SUB1 (TIMES 2 (EXP 2 (SUB1 N))))
(PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y))))
(DIFFERENCE (SUB1 (NEGATIVE-GUTS Y))
X))),
which again simplifies, using linear arithmetic, to the formula:
(IMPLIES
(AND (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y))
(LESSP (SUB1 (TIMES 2 (EXP 2 (SUB1 N))))
(PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y))))
(NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1))
(NOT (LESSP (EXP 2 (SUB1 N))
(DIFFERENCE (SUB1 (NEGATIVE-GUTS Y))
X)))
(LESSP X (NEGATIVE-GUTS Y))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL
(DIFFERENCE (SUB1 (TIMES 2 (EXP 2 (SUB1 N))))
(PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y))))
(DIFFERENCE (SUB1 (NEGATIVE-GUTS Y))
X))).
This finally simplifies, using linear arithmetic, to:
T.
Case 16.19.1.2.3.
(IMPLIES
(AND (EQUAL (TIMES 2 (EXP 2 (SUB1 N))) 0)
(NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1))
(NOT (LESSP (EXP 2 (SUB1 N))
(DIFFERENCE (SUB1 (NEGATIVE-GUTS Y))
X)))
(LESSP X (NEGATIVE-GUTS Y))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL
(DIFFERENCE (SUB1 (TIMES 2 (EXP 2 (SUB1 N))))
(PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y))))
(DIFFERENCE (SUB1 (NEGATIVE-GUTS Y))
X))),
which finally simplifies, using linear arithmetic, to:
T.
Case 16.19.1.2.2.
(IMPLIES
(AND (LESSP (SUB1 (NEGATIVE-GUTS Y)) X)
(NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1))
(NOT (LESSP (EXP 2 (SUB1 N))
(DIFFERENCE (SUB1 (NEGATIVE-GUTS Y))
X)))
(LESSP X (NEGATIVE-GUTS Y))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL
(DIFFERENCE (SUB1 (TIMES 2 (EXP 2 (SUB1 N))))
(PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y))))
(DIFFERENCE (SUB1 (NEGATIVE-GUTS Y))
X))),
which finally simplifies, using linear arithmetic, to:
T.
Case 16.19.1.2.1.
(IMPLIES
(AND (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y))
(NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1))
(NOT (LESSP (EXP 2 (SUB1 N))
(DIFFERENCE (SUB1 (NEGATIVE-GUTS Y))
X)))
(LESSP X (NEGATIVE-GUTS Y))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL
(DIFFERENCE (SUB1 (TIMES 2 (EXP 2 (SUB1 N))))
(PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y))))
(DIFFERENCE (SUB1 (NEGATIVE-GUTS Y))
X))),
which finally simplifies, using linear arithmetic, to:
T.
Case 16.19.1.1.
(IMPLIES (AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1))
(NOT (LESSP (EXP 2 (SUB1 N))
(DIFFERENCE (SUB1 (NEGATIVE-GUTS Y))
X)))
(LESSP X (NEGATIVE-GUTS Y))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (EXP 2 (SUB1 N)))))),
which again simplifies, using linear arithmetic, to:
T.
Case 16.18.
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(TC-IN-RANGEP (ADD X
(MINUS (DIFFERENCE (NEGATIVE-GUTS Y) 1)))
N)
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(NOT (LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1)))
(NOT (LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y))
(LESSP X
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL (NAT-TO-TC (ADD1 X) N)
(DIFFERENCE X
(DIFFERENCE (NEGATIVE-GUTS Y) 1)))),
which again simplifies, using linear arithmetic, to:
T.
Case 16.17.
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(TC-IN-RANGEP (ADD X
(MINUS (DIFFERENCE (NEGATIVE-GUTS Y) 1)))
N)
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(NOT (LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1)))
(EQUAL (EXP 2 (SUB1 N)) 0)
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(EQUAL (NAT-TO-TC (ADD1 X) N)
(DIFFERENCE X
(DIFFERENCE (NEGATIVE-GUTS Y) 1)))),
which again simplifies, using linear arithmetic, to:
T.
Case 16.16.
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(TC-IN-RANGEP (ADD X
(MINUS (DIFFERENCE (NEGATIVE-GUTS Y) 1)))
N)
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(NOT (LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1)))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(NOT (LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(NOT (LESSP (DIFFERENCE X (NEGATIVE-GUTS Y))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N)))))))
(EQUAL (NAT-TO-TC 0 N)
(DIFFERENCE X
(DIFFERENCE (NEGATIVE-GUTS Y) 1)))),
which again simplifies, using linear arithmetic, to:
T.
Case 16.15.
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(TC-IN-RANGEP (ADD X
(MINUS (DIFFERENCE (NEGATIVE-GUTS Y) 1)))
N)
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(NOT (LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1)))
(NOT (LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(NOT (LESSP (SUB1 (NEGATIVE-GUTS Y)) X)))
(EQUAL (NAT-TO-TC 0 N)
(DIFFERENCE X
(DIFFERENCE (NEGATIVE-GUTS Y) 1)))),
which again simplifies, using linear arithmetic, to:
T.
Case 16.14.
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(TC-IN-RANGEP (ADD X
(MINUS (DIFFERENCE (NEGATIVE-GUTS Y) 1)))
N)
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(NOT (LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1)))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(NOT (LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y))
(NOT (LESSP X
(SUB1 (TIMES 2 (EXP 2 (SUB1 N)))))))
(EQUAL (NAT-TO-TC 0 N)
(DIFFERENCE X
(DIFFERENCE (NEGATIVE-GUTS Y) 1)))),
which again simplifies, using linear arithmetic, to:
T.
Case 16.13.
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(TC-IN-RANGEP (ADD X
(MINUS (DIFFERENCE (NEGATIVE-GUTS Y) 1)))
N)
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(NOT (LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1)))
(EQUAL (EXP 2 (SUB1 N)) 0)
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(NOT (LESSP (SUB1 (NEGATIVE-GUTS Y)) X)))
(EQUAL (NAT-TO-TC 0 N)
(DIFFERENCE X
(DIFFERENCE (NEGATIVE-GUTS Y) 1)))),
which again simplifies, using linear arithmetic, to:
T.
Case 16.12.
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(TC-IN-RANGEP (ADD X
(MINUS (DIFFERENCE (NEGATIVE-GUTS Y) 1)))
N)
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(NOT (LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1)))
(NOT (LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(LESSP (SUB1 (NEGATIVE-GUTS Y)) X)
(LESSP (DIFFERENCE X (NEGATIVE-GUTS Y))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL (NAT-TO-TC (ADD1 (DIFFERENCE X (NEGATIVE-GUTS Y)))
N)
(DIFFERENCE X
(DIFFERENCE (NEGATIVE-GUTS Y) 1)))),
which again simplifies, rewriting with the lemmas NEGATIVE-GUTS-MINUS,
EQUAL-TIMES-0, and SUB1-ADD1, and expanding ADD, TC-IN-RANGEP, DIFFERENCE,
EQUAL, NUMBERP, EXP, LESSP, and NAT-TO-TC, to three new formulas:
Case 16.12.3.
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(LESSP (DIFFERENCE X
(DIFFERENCE (NEGATIVE-GUTS Y) 1))
(EXP 2 (SUB1 N)))
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(NOT (LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1)))
(NOT (LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(LESSP (SUB1 (NEGATIVE-GUTS Y)) X)
(LESSP (DIFFERENCE X (NEGATIVE-GUTS Y))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))),
which again simplifies, using linear arithmetic, to:
T.
Case 16.12.2.
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(LESSP (DIFFERENCE X
(DIFFERENCE (NEGATIVE-GUTS Y) 1))
(EXP 2 (SUB1 N)))
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(NOT (LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1)))
(NOT (LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(LESSP (SUB1 (NEGATIVE-GUTS Y)) X)
(LESSP (DIFFERENCE X (NEGATIVE-GUTS Y))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(LESSP (DIFFERENCE X (NEGATIVE-GUTS Y))
(SUB1 (EXP 2 (SUB1 N))))),
which again simplifies, using linear arithmetic, to:
T.
Case 16.12.1.
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(LESSP (DIFFERENCE X
(DIFFERENCE (NEGATIVE-GUTS Y) 1))
(EXP 2 (SUB1 N)))
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(NOT (LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1)))
(NOT (LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(LESSP (SUB1 (NEGATIVE-GUTS Y)) X)
(LESSP (DIFFERENCE X (NEGATIVE-GUTS Y))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL (ADD1 (DIFFERENCE X (NEGATIVE-GUTS Y)))
(DIFFERENCE X
(DIFFERENCE (NEGATIVE-GUTS Y) 1)))),
which again simplifies, using linear arithmetic, to:
T.
Case 16.11.
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(TC-IN-RANGEP (ADD X
(MINUS (DIFFERENCE (NEGATIVE-GUTS Y) 1)))
N)
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(NOT (LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1)))
(EQUAL (EXP 2 (SUB1 N)) 0)
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(LESSP (SUB1 (NEGATIVE-GUTS Y)) X))
(EQUAL (NAT-TO-TC (ADD1 (DIFFERENCE X (NEGATIVE-GUTS Y)))
N)
(DIFFERENCE X
(DIFFERENCE (NEGATIVE-GUTS Y) 1)))),
which again simplifies, using linear arithmetic, to:
T.
Case 16.10.
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(TC-IN-RANGEP (ADD X
(MINUS (DIFFERENCE (NEGATIVE-GUTS Y) 1)))
N)
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(NOT (LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1)))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL (NAT-TO-TC (ADD1 (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y))))
N)
(DIFFERENCE X
(DIFFERENCE (NEGATIVE-GUTS Y) 1)))),
which again simplifies, using linear arithmetic, to:
(IMPLIES
(AND (EQUAL (TIMES 2 (EXP 2 (SUB1 N))) 0)
(NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(TC-IN-RANGEP (ADD X
(MINUS (DIFFERENCE (NEGATIVE-GUTS Y) 1)))
N)
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(NOT (LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1)))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL (NAT-TO-TC (ADD1 (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y))))
N)
(DIFFERENCE X
(DIFFERENCE (NEGATIVE-GUTS Y) 1)))).
However this again simplifies, using linear arithmetic, to:
T.
Case 16.9.
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(TC-IN-RANGEP (ADD X
(MINUS (DIFFERENCE (NEGATIVE-GUTS Y) 1)))
N)
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1))
(NOT (LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y))
(LESSP X
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL (NAT-TO-TC (ADD1 X) N)
(MINUS (DIFFERENCE (SUB1 (NEGATIVE-GUTS Y))
X)))),
which again simplifies, using linear arithmetic, to:
T.
Case 16.8.
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(TC-IN-RANGEP (ADD X
(MINUS (DIFFERENCE (NEGATIVE-GUTS Y) 1)))
N)
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1))
(EQUAL (EXP 2 (SUB1 N)) 0)
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(EQUAL (NAT-TO-TC (ADD1 X) N)
(MINUS (DIFFERENCE (SUB1 (NEGATIVE-GUTS Y))
X)))),
which again simplifies, using linear arithmetic, to:
T.
Case 16.7.
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(TC-IN-RANGEP (ADD X
(MINUS (DIFFERENCE (NEGATIVE-GUTS Y) 1)))
N)
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(NOT (LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(NOT (LESSP (DIFFERENCE X (NEGATIVE-GUTS Y))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N)))))))
(EQUAL (NAT-TO-TC 0 N)
(MINUS (DIFFERENCE (SUB1 (NEGATIVE-GUTS Y))
X)))),
which again simplifies, using linear arithmetic, to:
T.
Case 16.6.
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(TC-IN-RANGEP (ADD X
(MINUS (DIFFERENCE (NEGATIVE-GUTS Y) 1)))
N)
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1))
(NOT (LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(NOT (LESSP (SUB1 (NEGATIVE-GUTS Y)) X)))
(EQUAL (NAT-TO-TC 0 N)
(MINUS (DIFFERENCE (SUB1 (NEGATIVE-GUTS Y))
X)))),
which again simplifies, using linear arithmetic, to:
T.
Case 16.5.
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(TC-IN-RANGEP (ADD X
(MINUS (DIFFERENCE (NEGATIVE-GUTS Y) 1)))
N)
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(NOT (LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y))
(NOT (LESSP X
(SUB1 (TIMES 2 (EXP 2 (SUB1 N)))))))
(EQUAL (NAT-TO-TC 0 N)
(MINUS (DIFFERENCE (SUB1 (NEGATIVE-GUTS Y))
X)))),
which again simplifies, using linear arithmetic, to:
T.
Case 16.4.
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(TC-IN-RANGEP (ADD X
(MINUS (DIFFERENCE (NEGATIVE-GUTS Y) 1)))
N)
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1))
(EQUAL (EXP 2 (SUB1 N)) 0)
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(NOT (LESSP (SUB1 (NEGATIVE-GUTS Y)) X)))
(EQUAL (NAT-TO-TC 0 N)
(MINUS (DIFFERENCE (SUB1 (NEGATIVE-GUTS Y))
X)))),
which again simplifies, using linear arithmetic, to:
T.
Case 16.3.
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(TC-IN-RANGEP (ADD X
(MINUS (DIFFERENCE (NEGATIVE-GUTS Y) 1)))
N)
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1))
(NOT (LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(LESSP (SUB1 (NEGATIVE-GUTS Y)) X)
(LESSP (DIFFERENCE X (NEGATIVE-GUTS Y))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL (NAT-TO-TC (ADD1 (DIFFERENCE X (NEGATIVE-GUTS Y)))
N)
(MINUS (DIFFERENCE (SUB1 (NEGATIVE-GUTS Y))
X)))),
which again simplifies, using linear arithmetic, to:
T.
Case 16.2.
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(TC-IN-RANGEP (ADD X
(MINUS (DIFFERENCE (NEGATIVE-GUTS Y) 1)))
N)
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1))
(EQUAL (EXP 2 (SUB1 N)) 0)
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(LESSP (SUB1 (NEGATIVE-GUTS Y)) X))
(EQUAL (NAT-TO-TC (ADD1 (DIFFERENCE X (NEGATIVE-GUTS Y)))
N)
(MINUS (DIFFERENCE (SUB1 (NEGATIVE-GUTS Y))
X)))),
which again simplifies, using linear arithmetic, to:
T.
Case 16.1.
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(TC-IN-RANGEP (ADD X
(MINUS (DIFFERENCE (NEGATIVE-GUTS Y) 1)))
N)
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL (NAT-TO-TC (ADD1 (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y))))
N)
(MINUS (DIFFERENCE (SUB1 (NEGATIVE-GUTS Y))
X)))),
which again simplifies, using linear arithmetic, to:
(IMPLIES
(AND (EQUAL (TIMES 2 (EXP 2 (SUB1 N))) 0)
(NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(TC-IN-RANGEP (ADD X
(MINUS (DIFFERENCE (NEGATIVE-GUTS Y) 1)))
N)
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(LESSP X
(DIFFERENCE (NEGATIVE-GUTS Y) 1))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL (NAT-TO-TC (ADD1 (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y))))
N)
(MINUS (DIFFERENCE (SUB1 (NEGATIVE-GUTS Y))
X)))).
This again simplifies, using linear arithmetic, to:
T.
Case 15.(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
(NOT C)
(NOT (TC-IN-RANGEP (ADD X (ADD Y 0)) N))
(NEGATIVEP (ADD X (ADD Y 0))))
(EQUAL
(NAT-TO-TC (REMAINDER (PLUS X 0
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(TIMES 2 (EXP 2 (SUB1 N))))
N)
(ADD X
(ADD Y
(PLUS 0
(TIMES 2 (EXP 2 (SUB1 N)))))))),
which again simplifies, using linear arithmetic, applying the lemmas
MINUS-NEGATIVE-GUTS, COMMUTATIVITY-OF-ADD, REMAINDER-OF-0,
PATHOLOGICAL-DIFFERENCE, EQUAL-TIMES-0, and REMAINDER-CROCK3, and opening up
DIFFERENCE, LESSP, EQUAL, NEGATIVEP, ADD, PLUS, NUMBERP, REMAINDER, and
MINUS, to six new conjectures:
Case 15.6.
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
(LESSP X (NEGATIVE-GUTS Y))
(NOT (TC-IN-RANGEP (MINUS (DIFFERENCE (NEGATIVE-GUTS Y) X))
N))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(NOT (LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL (NAT-TO-TC 0 N)
(ADD X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y))))),
which again simplifies, using linear arithmetic, to:
T.
Case 15.5.
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
(LESSP X (NEGATIVE-GUTS Y))
(NOT (TC-IN-RANGEP (MINUS (DIFFERENCE (NEGATIVE-GUTS Y) X))
N))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(TIMES 2 (EXP 2 (SUB1 N)))))
(EQUAL (NAT-TO-TC (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
N)
(ADD X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y))))),
which again simplifies, applying NEGATIVE-GUTS-MINUS, and opening up
TC-IN-RANGEP, EXP, NAT-TO-TC, and ADD, to:
(IMPLIES (AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
(LESSP X (NEGATIVE-GUTS Y))
(LESSP (EXP 2 (SUB1 N))
(DIFFERENCE (NEGATIVE-GUTS Y) X))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(TIMES 2 (EXP 2 (SUB1 N)))))
(LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(EXP 2 (SUB1 N)))),
which again simplifies, using linear arithmetic, to the goal:
(IMPLIES (AND (LESSP (NEGATIVE-GUTS Y) X)
(NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
(LESSP X (NEGATIVE-GUTS Y))
(LESSP (EXP 2 (SUB1 N))
(DIFFERENCE (NEGATIVE-GUTS Y) X))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(TIMES 2 (EXP 2 (SUB1 N)))))
(LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(EXP 2 (SUB1 N)))).
However this again simplifies, using linear arithmetic, to:
T.
Case 15.4.
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
(LESSP X (NEGATIVE-GUTS Y))
(NOT (TC-IN-RANGEP (MINUS (DIFFERENCE (NEGATIVE-GUTS Y) X))
N))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y))
(NOT (LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(TIMES 2 (EXP 2 (SUB1 N)))))
(EQUAL (EXP 2 (SUB1 N)) 0))
(EQUAL (NAT-TO-TC X N)
(ADD X (MINUS 0)))),
which again simplifies, using linear arithmetic, to:
T.
Case 15.3.
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
(LESSP X (NEGATIVE-GUTS Y))
(NOT (TC-IN-RANGEP (MINUS (DIFFERENCE (NEGATIVE-GUTS Y) X))
N))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y))
(NOT (LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(TIMES 2 (EXP 2 (SUB1 N)))))
(LESSP X (TIMES 2 (EXP 2 (SUB1 N)))))
(EQUAL (NAT-TO-TC X N)
(ADD X (MINUS 0)))),
which again simplifies, using linear arithmetic, to:
T.
Case 15.2.
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
(LESSP X (NEGATIVE-GUTS Y))
(NOT (TC-IN-RANGEP (MINUS (DIFFERENCE (NEGATIVE-GUTS Y) X))
N))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y))
(NOT (LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(TIMES 2 (EXP 2 (SUB1 N)))))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(NOT (LESSP X (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL (NAT-TO-TC 0 N)
(ADD X (MINUS 0)))),
which again simplifies, using linear arithmetic, to:
T.
Case 15.1.
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
(LESSP X (NEGATIVE-GUTS Y))
(NOT (TC-IN-RANGEP (MINUS (DIFFERENCE (NEGATIVE-GUTS Y) X))
N))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y))
(LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(TIMES 2 (EXP 2 (SUB1 N)))))
(EQUAL (NAT-TO-TC (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
N)
(ADD X (MINUS 0)))),
which again simplifies, using linear arithmetic, to:
T.
Case 14.(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
(NOT C)
(NOT (TC-IN-RANGEP (ADD X (ADD Y 0)) N))
(NOT (NEGATIVEP (ADD X (ADD Y 0)))))
(EQUAL
(NAT-TO-TC (REMAINDER (PLUS X 0
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(TIMES 2 (EXP 2 (SUB1 N))))
N)
(ADD X
(ADD Y
(ADD 0
(MINUS (TIMES 2 (EXP 2 (SUB1 N))))))))),
which again simplifies, using linear arithmetic, applying
MINUS-NEGATIVE-GUTS, COMMUTATIVITY-OF-ADD, REMAINDER-OF-0,
PATHOLOGICAL-DIFFERENCE, EQUAL-TIMES-0, DIFFERENCE-DIFFERENCE,
REMAINDER-CROCK3, EXP-2-NEVER-0, and NEGATIVE-GUTS-MINUS, and expanding the
definitions of DIFFERENCE, LESSP, EQUAL, NEGATIVEP, ADD, PLUS, NUMBERP, and
REMAINDER, to the following eight new conjectures:
Case 14.8.
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(NOT (TC-IN-RANGEP (DIFFERENCE X (NEGATIVE-GUTS Y))
N))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(NOT (LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(TIMES 2 (EXP 2 (SUB1 N)))))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y))
(LESSP X (TIMES 2 (EXP 2 (SUB1 N)))))
(EQUAL (NAT-TO-TC X N)
(ADD X
(ADD Y
(MINUS (TIMES 2 (EXP 2 (SUB1 N)))))))).
But this again simplifies, using linear arithmetic, to:
T.
Case 14.7.
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(NOT (TC-IN-RANGEP (DIFFERENCE X (NEGATIVE-GUTS Y))
N))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(NOT (LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(TIMES 2 (EXP 2 (SUB1 N)))))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y))
(NOT (LESSP X (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL (NAT-TO-TC 0 N)
(ADD X
(ADD Y
(MINUS (TIMES 2 (EXP 2 (SUB1 N)))))))),
which again simplifies, using linear arithmetic, to:
T.
Case 14.6.
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(NOT (TC-IN-RANGEP (DIFFERENCE X (NEGATIVE-GUTS Y))
N))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(NOT (LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(TIMES 2 (EXP 2 (SUB1 N)))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(NOT (LESSP (DIFFERENCE X (NEGATIVE-GUTS Y))
(TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL (NAT-TO-TC 0 N)
(ADD X
(ADD Y
(MINUS (TIMES 2 (EXP 2 (SUB1 N)))))))),
which again simplifies, using linear arithmetic, to:
T.
Case 14.5.
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(NOT (TC-IN-RANGEP (DIFFERENCE X (NEGATIVE-GUTS Y))
N))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(NOT (LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(TIMES 2 (EXP 2 (SUB1 N)))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(LESSP (DIFFERENCE X (NEGATIVE-GUTS Y))
(TIMES 2 (EXP 2 (SUB1 N)))))
(EQUAL (NAT-TO-TC (DIFFERENCE X (NEGATIVE-GUTS Y))
N)
(ADD X
(ADD Y
(MINUS (TIMES 2 (EXP 2 (SUB1 N)))))))),
which again simplifies, using linear arithmetic, appealing to the lemmas
NEGATIVE-GUTS-MINUS, PLUS-EQUAL-0, and PATHOLOGICAL-DIFFERENCE, and
unfolding the functions TC-IN-RANGEP, EXP, NAT-TO-TC, ADD, and DIFFERENCE,
to two new goals:
Case 14.5.2.
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(NOT (LESSP (DIFFERENCE X (NEGATIVE-GUTS Y))
(EXP 2 (SUB1 N))))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(NOT (LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(TIMES 2 (EXP 2 (SUB1 N)))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(LESSP (DIFFERENCE X (NEGATIVE-GUTS Y))
(TIMES 2 (EXP 2 (SUB1 N)))))
(EQUAL (MINUS (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(DIFFERENCE X (NEGATIVE-GUTS Y))))
(MINUS (DIFFERENCE (PLUS (NEGATIVE-GUTS Y)
(TIMES 2 (EXP 2 (SUB1 N))))
X)))),
which again simplifies, using linear arithmetic, to:
T.
Case 14.5.1.
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(NOT (LESSP (DIFFERENCE X (NEGATIVE-GUTS Y))
(EXP 2 (SUB1 N))))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(NOT (LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(TIMES 2 (EXP 2 (SUB1 N)))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(LESSP (DIFFERENCE X (NEGATIVE-GUTS Y))
(TIMES 2 (EXP 2 (SUB1 N)))))
(LESSP X
(PLUS (NEGATIVE-GUTS Y)
(TIMES 2 (EXP 2 (SUB1 N)))))),
which again simplifies, using linear arithmetic, to:
T.
Case 14.4.
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(NOT (TC-IN-RANGEP (DIFFERENCE X (NEGATIVE-GUTS Y))
N))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(TIMES 2 (EXP 2 (SUB1 N)))))
(EQUAL (NAT-TO-TC (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
N)
(ADD X
(ADD Y
(MINUS (TIMES 2 (EXP 2 (SUB1 N)))))))),
which again simplifies, using linear arithmetic, to:
T.
Case 14.3.
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(NOT (TC-IN-RANGEP (DIFFERENCE X (NEGATIVE-GUTS Y))
N))
(EQUAL (EXP 2 (SUB1 N)) 0)
(NOT (LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(TIMES 2 (EXP 2 (SUB1 N)))))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(EQUAL (NAT-TO-TC X N)
(ADD X (ADD Y 0)))),
which again simplifies, using linear arithmetic, to:
T.
Case 14.2.
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(NOT (TC-IN-RANGEP (DIFFERENCE X (NEGATIVE-GUTS Y))
N))
(EQUAL (EXP 2 (SUB1 N)) 0)
(NOT (LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(TIMES 2 (EXP 2 (SUB1 N)))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y))))
(EQUAL (NAT-TO-TC (DIFFERENCE X (NEGATIVE-GUTS Y))
N)
(ADD X (ADD Y 0)))),
which again simplifies, using linear arithmetic, to:
T.
Case 14.1.
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(NOT (TC-IN-RANGEP (DIFFERENCE X (NEGATIVE-GUTS Y))
N))
(EQUAL (EXP 2 (SUB1 N)) 0)
(LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(TIMES 2 (EXP 2 (SUB1 N)))))
(EQUAL (NAT-TO-TC (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
N)
(ADD X (ADD Y 0)))),
which again simplifies, using linear arithmetic, to:
T.
Case 13.(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
(NOT C)
(TC-IN-RANGEP (ADD X (ADD Y 0)) N))
(EQUAL
(NAT-TO-TC (REMAINDER (PLUS X 0
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(TIMES 2 (EXP 2 (SUB1 N))))
N)
(ADD X (ADD Y 0)))),
which again simplifies, using linear arithmetic, rewriting with the lemmas
MINUS-NEGATIVE-GUTS, COMMUTATIVITY-OF-ADD, REMAINDER-OF-0,
PATHOLOGICAL-DIFFERENCE, EQUAL-TIMES-0, DIFFERENCE-DIFFERENCE, and
REMAINDER-CROCK3, and unfolding DIFFERENCE, LESSP, EQUAL, NEGATIVEP, ADD,
PLUS, NUMBERP, and REMAINDER, to 12 new formulas:
Case 13.12.
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(TC-IN-RANGEP (DIFFERENCE X (NEGATIVE-GUTS Y))
N)
(NOT (LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(TIMES 2 (EXP 2 (SUB1 N)))))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y))
(EQUAL (EXP 2 (SUB1 N)) 0))
(EQUAL (NAT-TO-TC X N)
(DIFFERENCE X (NEGATIVE-GUTS Y)))),
which again simplifies, using linear arithmetic, to:
T.
Case 13.11.
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(TC-IN-RANGEP (DIFFERENCE X (NEGATIVE-GUTS Y))
N)
(NOT (LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(TIMES 2 (EXP 2 (SUB1 N)))))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y))
(LESSP X (TIMES 2 (EXP 2 (SUB1 N)))))
(EQUAL (NAT-TO-TC X N)
(DIFFERENCE X (NEGATIVE-GUTS Y)))),
which again simplifies, using linear arithmetic, to:
T.
Case 13.10.
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(TC-IN-RANGEP (DIFFERENCE X (NEGATIVE-GUTS Y))
N)
(NOT (LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(TIMES 2 (EXP 2 (SUB1 N)))))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(NOT (LESSP X (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL (NAT-TO-TC 0 N)
(DIFFERENCE X (NEGATIVE-GUTS Y)))),
which again simplifies, using linear arithmetic, to:
T.
Case 13.9.
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(TC-IN-RANGEP (DIFFERENCE X (NEGATIVE-GUTS Y))
N)
(NOT (LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(TIMES 2 (EXP 2 (SUB1 N)))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(NOT (LESSP (DIFFERENCE X (NEGATIVE-GUTS Y))
(TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL (NAT-TO-TC 0 N)
(DIFFERENCE X (NEGATIVE-GUTS Y)))),
which again simplifies, using linear arithmetic, to:
T.
Case 13.8.
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(TC-IN-RANGEP (DIFFERENCE X (NEGATIVE-GUTS Y))
N)
(NOT (LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(TIMES 2 (EXP 2 (SUB1 N)))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(EQUAL (EXP 2 (SUB1 N)) 0))
(EQUAL (NAT-TO-TC (DIFFERENCE X (NEGATIVE-GUTS Y))
N)
(DIFFERENCE X (NEGATIVE-GUTS Y)))),
which again simplifies, using linear arithmetic, to:
T.
Case 13.7.
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(TC-IN-RANGEP (DIFFERENCE X (NEGATIVE-GUTS Y))
N)
(NOT (LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(TIMES 2 (EXP 2 (SUB1 N)))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(LESSP (DIFFERENCE X (NEGATIVE-GUTS Y))
(TIMES 2 (EXP 2 (SUB1 N)))))
(EQUAL (NAT-TO-TC (DIFFERENCE X (NEGATIVE-GUTS Y))
N)
(DIFFERENCE X (NEGATIVE-GUTS Y)))),
which again simplifies, expanding the definitions of TC-IN-RANGEP and
NAT-TO-TC, to:
T.
Case 13.6.
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
(NOT (LESSP X (NEGATIVE-GUTS Y)))
(TC-IN-RANGEP (DIFFERENCE X (NEGATIVE-GUTS Y))
N)
(LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(TIMES 2 (EXP 2 (SUB1 N)))))
(EQUAL (NAT-TO-TC (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
N)
(DIFFERENCE X (NEGATIVE-GUTS Y)))),
which again simplifies, using linear arithmetic, to:
T.
Case 13.5.
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
(LESSP X (NEGATIVE-GUTS Y))
(TC-IN-RANGEP (MINUS (DIFFERENCE (NEGATIVE-GUTS Y) X))
N)
(NOT (LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(TIMES 2 (EXP 2 (SUB1 N)))))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y))
(EQUAL (EXP 2 (SUB1 N)) 0))
(EQUAL (NAT-TO-TC X N)
(MINUS (DIFFERENCE (NEGATIVE-GUTS Y) X)))),
which again simplifies, using linear arithmetic, to:
T.
Case 13.4.
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
(LESSP X (NEGATIVE-GUTS Y))
(TC-IN-RANGEP (MINUS (DIFFERENCE (NEGATIVE-GUTS Y) X))
N)
(NOT (LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(TIMES 2 (EXP 2 (SUB1 N)))))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y))
(LESSP X (TIMES 2 (EXP 2 (SUB1 N)))))
(EQUAL (NAT-TO-TC X N)
(MINUS (DIFFERENCE (NEGATIVE-GUTS Y) X)))),
which again simplifies, using linear arithmetic, to:
T.
Case 13.3.
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
(LESSP X (NEGATIVE-GUTS Y))
(TC-IN-RANGEP (MINUS (DIFFERENCE (NEGATIVE-GUTS Y) X))
N)
(NOT (LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(TIMES 2 (EXP 2 (SUB1 N)))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y))))
(EQUAL (NAT-TO-TC 0 N)
(MINUS (DIFFERENCE (NEGATIVE-GUTS Y) X)))),
which again simplifies, using linear arithmetic, to:
T.
Case 13.2.
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
(LESSP X (NEGATIVE-GUTS Y))
(TC-IN-RANGEP (MINUS (DIFFERENCE (NEGATIVE-GUTS Y) X))
N)
(NOT (LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(TIMES 2 (EXP 2 (SUB1 N)))))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(NOT (LESSP X (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL (NAT-TO-TC 0 N)
(MINUS (DIFFERENCE (NEGATIVE-GUTS Y) X)))),
which again simplifies, using linear arithmetic, to:
(IMPLIES
(AND (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y))
(NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
(LESSP X (NEGATIVE-GUTS Y))
(TC-IN-RANGEP (MINUS (DIFFERENCE (NEGATIVE-GUTS Y) X))
N)
(NOT (LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(TIMES 2 (EXP 2 (SUB1 N)))))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(NOT (LESSP X (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL (NAT-TO-TC 0 N)
(MINUS (DIFFERENCE (NEGATIVE-GUTS Y) X)))).
This again simplifies, using linear arithmetic, to:
T.
Case 13.1.
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
(LESSP X (NEGATIVE-GUTS Y))
(TC-IN-RANGEP (MINUS (DIFFERENCE (NEGATIVE-GUTS Y) X))
N)
(LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(TIMES 2 (EXP 2 (SUB1 N)))))
(EQUAL (NAT-TO-TC (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
N)
(MINUS (DIFFERENCE (NEGATIVE-GUTS Y) X)))),
which again simplifies, applying the lemma NEGATIVE-GUTS-MINUS, and
unfolding TC-IN-RANGEP, EXP, and NAT-TO-TC, to two new goals:
Case 13.1.2.
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
(LESSP X (NEGATIVE-GUTS Y))
(NOT (LESSP (EXP 2 (SUB1 N))
(DIFFERENCE (NEGATIVE-GUTS Y) X)))
(LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(TIMES 2 (EXP 2 (SUB1 N)))))
(EQUAL
(MINUS (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))))
(MINUS (DIFFERENCE (NEGATIVE-GUTS Y) X)))),
which again simplifies, rewriting with NEGATIVE-GUTS-MINUS and
MINUS-EQUAL, to:
(IMPLIES
(AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
(LESSP X (NEGATIVE-GUTS Y))
(NOT (LESSP (EXP 2 (SUB1 N))
(DIFFERENCE (NEGATIVE-GUTS Y) X)))
(LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(TIMES 2 (EXP 2 (SUB1 N)))))
(EQUAL (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y))))
(DIFFERENCE (NEGATIVE-GUTS Y) X))),
which again simplifies, using linear arithmetic, to three new
conjectures:
Case 13.1.2.3.
(IMPLIES
(AND (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y))))
(NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
(LESSP X (NEGATIVE-GUTS Y))
(NOT (LESSP (EXP 2 (SUB1 N))
(DIFFERENCE (NEGATIVE-GUTS Y) X)))
(LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(TIMES 2 (EXP 2 (SUB1 N)))))
(EQUAL (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y))))
(DIFFERENCE (NEGATIVE-GUTS Y) X))),
which again simplifies, using linear arithmetic, to:
(IMPLIES
(AND (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y))))
(NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
(LESSP X (NEGATIVE-GUTS Y))
(NOT (LESSP (EXP 2 (SUB1 N))
(DIFFERENCE (NEGATIVE-GUTS Y) X)))
(LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(TIMES 2 (EXP 2 (SUB1 N)))))
(EQUAL (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y))))
(DIFFERENCE (NEGATIVE-GUTS Y) X))).
This finally simplifies, using linear arithmetic, to:
T.
Case 13.1.2.2.
(IMPLIES
(AND (LESSP (NEGATIVE-GUTS Y) X)
(NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
(LESSP X (NEGATIVE-GUTS Y))
(NOT (LESSP (EXP 2 (SUB1 N))
(DIFFERENCE (NEGATIVE-GUTS Y) X)))
(LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(TIMES 2 (EXP 2 (SUB1 N)))))
(EQUAL (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y))))
(DIFFERENCE (NEGATIVE-GUTS Y) X))),
which again simplifies, using linear arithmetic, to:
T.
Case 13.1.2.1.
(IMPLIES
(AND (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y))
(NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
(LESSP X (NEGATIVE-GUTS Y))
(NOT (LESSP (EXP 2 (SUB1 N))
(DIFFERENCE (NEGATIVE-GUTS Y) X)))
(LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(TIMES 2 (EXP 2 (SUB1 N)))))
(EQUAL (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y))))
(DIFFERENCE (NEGATIVE-GUTS Y) X))),
which again simplifies, using linear arithmetic, to:
T.
Case 13.1.1.
(IMPLIES (AND (NUMBERP X)
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP X (EXP 2 (SUB1 N)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
(LESSP X (NEGATIVE-GUTS Y))
(NOT (LESSP (EXP 2 (SUB1 N))
(DIFFERENCE (NEGATIVE-GUTS Y) X)))
(LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(TIMES 2 (EXP 2 (SUB1 N)))))
(NOT (LESSP (PLUS X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(EXP 2 (SUB1 N))))),
which again simplifies, using linear arithmetic, to:
T.
Case 12.(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(NOT (TC-IN-RANGEP (ADD X (PLUS Y 1)) N))
(NEGATIVEP (ADD X (PLUS Y 1))))
(EQUAL
(NAT-TO-TC (REMAINDER (PLUS Y 1
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(TIMES 2 (EXP 2 (SUB1 N))))
N)
(ADD X
(PLUS Y 1
(TIMES 2 (EXP 2 (SUB1 N))))))),
which again simplifies, using linear arithmetic, appealing to the lemmas
PLUS-1, COMMUTATIVITY-OF-PLUS, SUB1-ADD1, PLUS-ADD1, EQUAL-TIMES-0,
REMAINDER-OF-0, PATHOLOGICAL-DIFFERENCE, and REMAINDER-CROCK4, and expanding
the functions DIFFERENCE, LESSP, ADD, NUMBERP, EQUAL, REMAINDER, and MINUS,
to 19 new goals:
Case 12.19.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(LESSP Y (SUB1 (NEGATIVE-GUTS X)))
(NOT (TC-IN-RANGEP (MINUS (DIFFERENCE (SUB1 (NEGATIVE-GUTS X))
Y))
N))
(LESSP Y (NEGATIVE-GUTS X)))
(EQUAL
(NAT-TO-TC (REMAINDER (PLUS Y 1
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(TIMES 2 (EXP 2 (SUB1 N))))
N)
(ADD X
(PLUS Y 1
(TIMES 2 (EXP 2 (SUB1 N))))))),
which again simplifies, using linear arithmetic, applying the lemmas
NEGATIVE-GUTS-MINUS, PLUS-1, PLUS-ADD1, SUB1-ADD1, EQUAL-TIMES-0,
REMAINDER-OF-0, PATHOLOGICAL-DIFFERENCE, TIMES-2-NOT-1, REMAINDER-OF-1,
and REMAINDER-CROCK4, and opening up the functions TC-IN-RANGEP, NUMBERP,
EQUAL, LESSP, REMAINDER, ADD1, DIFFERENCE, MINUS, and ADD, to 16 new
formulas:
Case 12.19.16.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(LESSP Y (SUB1 (NEGATIVE-GUTS X)))
(LESSP (EXP 2 (SUB1 N))
(DIFFERENCE (SUB1 (NEGATIVE-GUTS X))
Y))
(LESSP Y (NEGATIVE-GUTS X))
(NOT (LESSP (PLUS Y (TIMES 2 (EXP 2 (SUB1 N))))
(SUB1 (NEGATIVE-GUTS X))))
(NOT (LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X))
(LESSP Y
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL (NAT-TO-TC (ADD1 Y) N)
(DIFFERENCE (PLUS Y (TIMES 2 (EXP 2 (SUB1 N))))
(SUB1 (NEGATIVE-GUTS X))))),
which again simplifies, using linear arithmetic, to the formula:
(IMPLIES
(AND (LESSP (SUB1 (NEGATIVE-GUTS X)) Y)
(NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(LESSP Y (SUB1 (NEGATIVE-GUTS X)))
(LESSP (EXP 2 (SUB1 N))
(DIFFERENCE (SUB1 (NEGATIVE-GUTS X))
Y))
(LESSP Y (NEGATIVE-GUTS X))
(NOT (LESSP (PLUS Y (TIMES 2 (EXP 2 (SUB1 N))))
(SUB1 (NEGATIVE-GUTS X))))
(NOT (LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X))
(LESSP Y
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL (NAT-TO-TC (ADD1 Y) N)
(DIFFERENCE (PLUS Y (TIMES 2 (EXP 2 (SUB1 N))))
(SUB1 (NEGATIVE-GUTS X))))).
But this again simplifies, using linear arithmetic, to:
T.
Case 12.19.15.
(IMPLIES (AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(LESSP Y (SUB1 (NEGATIVE-GUTS X)))
(LESSP (EXP 2 (SUB1 N))
(DIFFERENCE (SUB1 (NEGATIVE-GUTS X))
Y))
(LESSP Y (NEGATIVE-GUTS X))
(NOT (LESSP (PLUS Y (TIMES 2 (EXP 2 (SUB1 N))))
(SUB1 (NEGATIVE-GUTS X))))
(EQUAL (EXP 2 (SUB1 N)) 0)
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(EQUAL (NAT-TO-TC (ADD1 Y) N)
(DIFFERENCE (PLUS Y (TIMES 2 (EXP 2 (SUB1 N))))
(SUB1 (NEGATIVE-GUTS X))))),
which again simplifies, using linear arithmetic, to:
T.
Case 12.19.14.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(LESSP Y (SUB1 (NEGATIVE-GUTS X)))
(LESSP (EXP 2 (SUB1 N))
(DIFFERENCE (SUB1 (NEGATIVE-GUTS X))
Y))
(LESSP Y (NEGATIVE-GUTS X))
(NOT (LESSP (PLUS Y (TIMES 2 (EXP 2 (SUB1 N))))
(SUB1 (NEGATIVE-GUTS X))))
(NOT (LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(NOT (LESSP (SUB1 (NEGATIVE-GUTS X)) Y)))
(EQUAL (NAT-TO-TC 0 N)
(DIFFERENCE (PLUS Y (TIMES 2 (EXP 2 (SUB1 N))))
(SUB1 (NEGATIVE-GUTS X))))),
which again simplifies, using linear arithmetic, to:
T.
Case 12.19.13.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(LESSP Y (SUB1 (NEGATIVE-GUTS X)))
(LESSP (EXP 2 (SUB1 N))
(DIFFERENCE (SUB1 (NEGATIVE-GUTS X))
Y))
(LESSP Y (NEGATIVE-GUTS X))
(NOT (LESSP (PLUS Y (TIMES 2 (EXP 2 (SUB1 N))))
(SUB1 (NEGATIVE-GUTS X))))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(NOT (LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X))
(NOT (LESSP Y
(SUB1 (TIMES 2 (EXP 2 (SUB1 N)))))))
(EQUAL (NAT-TO-TC 0 N)
(DIFFERENCE (PLUS Y (TIMES 2 (EXP 2 (SUB1 N))))
(SUB1 (NEGATIVE-GUTS X))))),
which again simplifies, using linear arithmetic, to:
T.
Case 12.19.12.
(IMPLIES (AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(LESSP Y (SUB1 (NEGATIVE-GUTS X)))
(LESSP (EXP 2 (SUB1 N))
(DIFFERENCE (SUB1 (NEGATIVE-GUTS X))
Y))
(LESSP Y (NEGATIVE-GUTS X))
(NOT (LESSP (PLUS Y (TIMES 2 (EXP 2 (SUB1 N))))
(SUB1 (NEGATIVE-GUTS X))))
(EQUAL (EXP 2 (SUB1 N)) 0)
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(NOT (LESSP (SUB1 (NEGATIVE-GUTS X)) Y)))
(EQUAL (NAT-TO-TC 0 N)
(DIFFERENCE (PLUS Y (TIMES 2 (EXP 2 (SUB1 N))))
(SUB1 (NEGATIVE-GUTS X))))),
which again simplifies, using linear arithmetic, to:
T.
Case 12.19.11.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(LESSP Y (SUB1 (NEGATIVE-GUTS X)))
(LESSP (EXP 2 (SUB1 N))
(DIFFERENCE (SUB1 (NEGATIVE-GUTS X))
Y))
(LESSP Y (NEGATIVE-GUTS X))
(NOT (LESSP (PLUS Y (TIMES 2 (EXP 2 (SUB1 N))))
(SUB1 (NEGATIVE-GUTS X))))
(NOT (LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(LESSP (SUB1 (NEGATIVE-GUTS X)) Y))
(EQUAL (NAT-TO-TC 1 N)
(DIFFERENCE (PLUS Y (TIMES 2 (EXP 2 (SUB1 N))))
(SUB1 (NEGATIVE-GUTS X))))),
which again simplifies, using linear arithmetic, to:
T.
Case 12.19.10.
(IMPLIES (AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(LESSP Y (SUB1 (NEGATIVE-GUTS X)))
(LESSP (EXP 2 (SUB1 N))
(DIFFERENCE (SUB1 (NEGATIVE-GUTS X))
Y))
(LESSP Y (NEGATIVE-GUTS X))
(NOT (LESSP (PLUS Y (TIMES 2 (EXP 2 (SUB1 N))))
(SUB1 (NEGATIVE-GUTS X))))
(EQUAL (EXP 2 (SUB1 N)) 0)
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(LESSP (SUB1 (NEGATIVE-GUTS X)) Y))
(EQUAL (NAT-TO-TC 1 N)
(DIFFERENCE (PLUS Y (TIMES 2 (EXP 2 (SUB1 N))))
(SUB1 (NEGATIVE-GUTS X))))),
which again simplifies, using linear arithmetic, to:
T.
Case 12.19.9.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(LESSP Y (SUB1 (NEGATIVE-GUTS X)))
(LESSP (EXP 2 (SUB1 N))
(DIFFERENCE (SUB1 (NEGATIVE-GUTS X))
Y))
(LESSP Y (NEGATIVE-GUTS X))
(NOT (LESSP (PLUS Y (TIMES 2 (EXP 2 (SUB1 N))))
(SUB1 (NEGATIVE-GUTS X))))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL
(NAT-TO-TC (ADD1 (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X))))
N)
(DIFFERENCE (PLUS Y (TIMES 2 (EXP 2 (SUB1 N))))
(SUB1 (NEGATIVE-GUTS X))))),
which again simplifies, using linear arithmetic, to:
(IMPLIES
(AND (LESSP (SUB1 (NEGATIVE-GUTS X)) Y)
(NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(LESSP Y (SUB1 (NEGATIVE-GUTS X)))
(LESSP (EXP 2 (SUB1 N))
(DIFFERENCE (SUB1 (NEGATIVE-GUTS X))
Y))
(LESSP Y (NEGATIVE-GUTS X))
(NOT (LESSP (PLUS Y (TIMES 2 (EXP 2 (SUB1 N))))
(SUB1 (NEGATIVE-GUTS X))))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL
(NAT-TO-TC (ADD1 (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X))))
N)
(DIFFERENCE (PLUS Y (TIMES 2 (EXP 2 (SUB1 N))))
(SUB1 (NEGATIVE-GUTS X))))).
However this again simplifies, using linear arithmetic, to:
T.
Case 12.19.8.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(LESSP Y (SUB1 (NEGATIVE-GUTS X)))
(LESSP (EXP 2 (SUB1 N))
(DIFFERENCE (SUB1 (NEGATIVE-GUTS X))
Y))
(LESSP Y (NEGATIVE-GUTS X))
(LESSP (PLUS Y (TIMES 2 (EXP 2 (SUB1 N))))
(SUB1 (NEGATIVE-GUTS X)))
(NOT (LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X))
(LESSP Y
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL (NAT-TO-TC (ADD1 Y) N)
(MINUS 0))),
which again simplifies, using linear arithmetic, to:
(IMPLIES
(AND (LESSP (SUB1 (NEGATIVE-GUTS X)) Y)
(NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(LESSP Y (SUB1 (NEGATIVE-GUTS X)))
(LESSP (EXP 2 (SUB1 N))
(DIFFERENCE (SUB1 (NEGATIVE-GUTS X))
Y))
(LESSP Y (NEGATIVE-GUTS X))
(LESSP (PLUS Y (TIMES 2 (EXP 2 (SUB1 N))))
(SUB1 (NEGATIVE-GUTS X)))
(NOT (LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X))
(LESSP Y
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL (NAT-TO-TC (ADD1 Y) N)
(MINUS 0))).
This again simplifies, using linear arithmetic, to:
T.
Case 12.19.7.
(IMPLIES (AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(LESSP Y (SUB1 (NEGATIVE-GUTS X)))
(LESSP (EXP 2 (SUB1 N))
(DIFFERENCE (SUB1 (NEGATIVE-GUTS X))
Y))
(LESSP Y (NEGATIVE-GUTS X))
(LESSP (PLUS Y (TIMES 2 (EXP 2 (SUB1 N))))
(SUB1 (NEGATIVE-GUTS X)))
(EQUAL (EXP 2 (SUB1 N)) 0)
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(EQUAL (NAT-TO-TC (ADD1 Y) N)
(MINUS 0))),
which again simplifies, using linear arithmetic, to:
T.
Case 12.19.6.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(LESSP Y (SUB1 (NEGATIVE-GUTS X)))
(LESSP (EXP 2 (SUB1 N))
(DIFFERENCE (SUB1 (NEGATIVE-GUTS X))
Y))
(LESSP Y (NEGATIVE-GUTS X))
(LESSP (PLUS Y (TIMES 2 (EXP 2 (SUB1 N))))
(SUB1 (NEGATIVE-GUTS X)))
(NOT (LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(NOT (LESSP (SUB1 (NEGATIVE-GUTS X)) Y)))
(EQUAL (NAT-TO-TC 0 N) (MINUS 0))),
which again simplifies, using linear arithmetic, to:
T.
Case 12.19.5.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(LESSP Y (SUB1 (NEGATIVE-GUTS X)))
(LESSP (EXP 2 (SUB1 N))
(DIFFERENCE (SUB1 (NEGATIVE-GUTS X))
Y))
(LESSP Y (NEGATIVE-GUTS X))
(LESSP (PLUS Y (TIMES 2 (EXP 2 (SUB1 N))))
(SUB1 (NEGATIVE-GUTS X)))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(NOT (LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X))
(NOT (LESSP Y
(SUB1 (TIMES 2 (EXP 2 (SUB1 N)))))))
(EQUAL (NAT-TO-TC 0 N) (MINUS 0))),
which again simplifies, using linear arithmetic, to:
T.
Case 12.19.4.
(IMPLIES (AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(LESSP Y (SUB1 (NEGATIVE-GUTS X)))
(LESSP (EXP 2 (SUB1 N))
(DIFFERENCE (SUB1 (NEGATIVE-GUTS X))
Y))
(LESSP Y (NEGATIVE-GUTS X))
(LESSP (PLUS Y (TIMES 2 (EXP 2 (SUB1 N))))
(SUB1 (NEGATIVE-GUTS X)))
(EQUAL (EXP 2 (SUB1 N)) 0)
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(NOT (LESSP (SUB1 (NEGATIVE-GUTS X)) Y)))
(EQUAL (NAT-TO-TC 0 N) (MINUS 0))),
which again simplifies, using linear arithmetic, to:
T.
Case 12.19.3.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(LESSP Y (SUB1 (NEGATIVE-GUTS X)))
(LESSP (EXP 2 (SUB1 N))
(DIFFERENCE (SUB1 (NEGATIVE-GUTS X))
Y))
(LESSP Y (NEGATIVE-GUTS X))
(LESSP (PLUS Y (TIMES 2 (EXP 2 (SUB1 N))))
(SUB1 (NEGATIVE-GUTS X)))
(NOT (LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(LESSP (SUB1 (NEGATIVE-GUTS X)) Y))
(EQUAL (NAT-TO-TC 1 N) (MINUS 0))),
which again simplifies, using linear arithmetic, to:
T.
Case 12.19.2.
(IMPLIES (AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(LESSP Y (SUB1 (NEGATIVE-GUTS X)))
(LESSP (EXP 2 (SUB1 N))
(DIFFERENCE (SUB1 (NEGATIVE-GUTS X))
Y))
(LESSP Y (NEGATIVE-GUTS X))
(LESSP (PLUS Y (TIMES 2 (EXP 2 (SUB1 N))))
(SUB1 (NEGATIVE-GUTS X)))
(EQUAL (EXP 2 (SUB1 N)) 0)
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(LESSP (SUB1 (NEGATIVE-GUTS X)) Y))
(EQUAL (NAT-TO-TC 1 N) (MINUS 0))),
which again simplifies, using linear arithmetic, to:
T.
Case 12.19.1.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(LESSP Y (SUB1 (NEGATIVE-GUTS X)))
(LESSP (EXP 2 (SUB1 N))
(DIFFERENCE (SUB1 (NEGATIVE-GUTS X))
Y))
(LESSP Y (NEGATIVE-GUTS X))
(LESSP (PLUS Y (TIMES 2 (EXP 2 (SUB1 N))))
(SUB1 (NEGATIVE-GUTS X)))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL
(NAT-TO-TC (ADD1 (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X))))
N)
(MINUS 0))),
which again simplifies, using linear arithmetic, to the goal:
(IMPLIES
(AND (LESSP (SUB1 (NEGATIVE-GUTS X)) Y)
(NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(LESSP Y (SUB1 (NEGATIVE-GUTS X)))
(LESSP (EXP 2 (SUB1 N))
(DIFFERENCE (SUB1 (NEGATIVE-GUTS X))
Y))
(LESSP Y (NEGATIVE-GUTS X))
(LESSP (PLUS Y (TIMES 2 (EXP 2 (SUB1 N))))
(SUB1 (NEGATIVE-GUTS X)))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL
(NAT-TO-TC (ADD1 (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X))))
N)
(MINUS 0))).
But this again simplifies, using linear arithmetic, to:
T.
Case 12.18.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(LESSP Y (SUB1 (NEGATIVE-GUTS X)))
(NOT (TC-IN-RANGEP (MINUS (DIFFERENCE (SUB1 (NEGATIVE-GUTS X))
Y))
N))
(NOT (LESSP Y (NEGATIVE-GUTS X)))
(NOT (LESSP (PLUS Y (TIMES 2 (EXP 2 (SUB1 N))))
(SUB1 (NEGATIVE-GUTS X))))
(NOT (LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X))
(LESSP Y
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL (NAT-TO-TC (ADD1 Y) N)
(DIFFERENCE (PLUS Y (TIMES 2 (EXP 2 (SUB1 N))))
(SUB1 (NEGATIVE-GUTS X))))),
which again simplifies, using linear arithmetic, to:
T.
Case 12.17.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(LESSP Y (SUB1 (NEGATIVE-GUTS X)))
(NOT (TC-IN-RANGEP (MINUS (DIFFERENCE (SUB1 (NEGATIVE-GUTS X))
Y))
N))
(NOT (LESSP Y (NEGATIVE-GUTS X)))
(NOT (LESSP (PLUS Y (TIMES 2 (EXP 2 (SUB1 N))))
(SUB1 (NEGATIVE-GUTS X))))
(EQUAL (EXP 2 (SUB1 N)) 0)
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(EQUAL (NAT-TO-TC (ADD1 Y) N)
(DIFFERENCE (PLUS Y (TIMES 2 (EXP 2 (SUB1 N))))
(SUB1 (NEGATIVE-GUTS X))))),
which again simplifies, using linear arithmetic, to:
T.
Case 12.16.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(LESSP Y (SUB1 (NEGATIVE-GUTS X)))
(NOT (TC-IN-RANGEP (MINUS (DIFFERENCE (SUB1 (NEGATIVE-GUTS X))
Y))
N))
(NOT (LESSP Y (NEGATIVE-GUTS X)))
(NOT (LESSP (PLUS Y (TIMES 2 (EXP 2 (SUB1 N))))
(SUB1 (NEGATIVE-GUTS X))))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(NOT (LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(NOT (LESSP (DIFFERENCE Y (NEGATIVE-GUTS X))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N)))))))
(EQUAL (NAT-TO-TC 0 N)
(DIFFERENCE (PLUS Y (TIMES 2 (EXP 2 (SUB1 N))))
(SUB1 (NEGATIVE-GUTS X))))),
which again simplifies, using linear arithmetic, to:
T.
Case 12.15.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(LESSP Y (SUB1 (NEGATIVE-GUTS X)))
(NOT (TC-IN-RANGEP (MINUS (DIFFERENCE (SUB1 (NEGATIVE-GUTS X))
Y))
N))
(NOT (LESSP Y (NEGATIVE-GUTS X)))
(NOT (LESSP (PLUS Y (TIMES 2 (EXP 2 (SUB1 N))))
(SUB1 (NEGATIVE-GUTS X))))
(NOT (LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(NOT (LESSP (SUB1 (NEGATIVE-GUTS X)) Y)))
(EQUAL (NAT-TO-TC 0 N)
(DIFFERENCE (PLUS Y (TIMES 2 (EXP 2 (SUB1 N))))
(SUB1 (NEGATIVE-GUTS X))))),
which again simplifies, using linear arithmetic, to:
T.
Case 12.14.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(LESSP Y (SUB1 (NEGATIVE-GUTS X)))
(NOT (TC-IN-RANGEP (MINUS (DIFFERENCE (SUB1 (NEGATIVE-GUTS X))
Y))
N))
(NOT (LESSP Y (NEGATIVE-GUTS X)))
(NOT (LESSP (PLUS Y (TIMES 2 (EXP 2 (SUB1 N))))
(SUB1 (NEGATIVE-GUTS X))))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(NOT (LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X))
(NOT (LESSP Y
(SUB1 (TIMES 2 (EXP 2 (SUB1 N)))))))
(EQUAL (NAT-TO-TC 0 N)
(DIFFERENCE (PLUS Y (TIMES 2 (EXP 2 (SUB1 N))))
(SUB1 (NEGATIVE-GUTS X))))),
which again simplifies, using linear arithmetic, to:
T.
Case 12.13.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(LESSP Y (SUB1 (NEGATIVE-GUTS X)))
(NOT (TC-IN-RANGEP (MINUS (DIFFERENCE (SUB1 (NEGATIVE-GUTS X))
Y))
N))
(NOT (LESSP Y (NEGATIVE-GUTS X)))
(NOT (LESSP (PLUS Y (TIMES 2 (EXP 2 (SUB1 N))))
(SUB1 (NEGATIVE-GUTS X))))
(EQUAL (EXP 2 (SUB1 N)) 0)
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(NOT (LESSP (SUB1 (NEGATIVE-GUTS X)) Y)))
(EQUAL (NAT-TO-TC 0 N)
(DIFFERENCE (PLUS Y (TIMES 2 (EXP 2 (SUB1 N))))
(SUB1 (NEGATIVE-GUTS X))))),
which again simplifies, using linear arithmetic, to:
T.
Case 12.12.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(LESSP Y (SUB1 (NEGATIVE-GUTS X)))
(NOT (TC-IN-RANGEP (MINUS (DIFFERENCE (SUB1 (NEGATIVE-GUTS X))
Y))
N))
(NOT (LESSP Y (NEGATIVE-GUTS X)))
(NOT (LESSP (PLUS Y (TIMES 2 (EXP 2 (SUB1 N))))
(SUB1 (NEGATIVE-GUTS X))))
(NOT (LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(LESSP (SUB1 (NEGATIVE-GUTS X)) Y)
(LESSP (DIFFERENCE Y (NEGATIVE-GUTS X))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL (NAT-TO-TC (ADD1 (DIFFERENCE Y (NEGATIVE-GUTS X)))
N)
(DIFFERENCE (PLUS Y (TIMES 2 (EXP 2 (SUB1 N))))
(SUB1 (NEGATIVE-GUTS X))))),
which again simplifies, using linear arithmetic, to:
T.
Case 12.11.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(LESSP Y (SUB1 (NEGATIVE-GUTS X)))
(NOT (TC-IN-RANGEP (MINUS (DIFFERENCE (SUB1 (NEGATIVE-GUTS X))
Y))
N))
(NOT (LESSP Y (NEGATIVE-GUTS X)))
(NOT (LESSP (PLUS Y (TIMES 2 (EXP 2 (SUB1 N))))
(SUB1 (NEGATIVE-GUTS X))))
(EQUAL (EXP 2 (SUB1 N)) 0)
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(LESSP (SUB1 (NEGATIVE-GUTS X)) Y))
(EQUAL (NAT-TO-TC (ADD1 (DIFFERENCE Y (NEGATIVE-GUTS X)))
N)
(DIFFERENCE (PLUS Y (TIMES 2 (EXP 2 (SUB1 N))))
(SUB1 (NEGATIVE-GUTS X))))),
which again simplifies, using linear arithmetic, to:
T.
Case 12.10.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(LESSP Y (SUB1 (NEGATIVE-GUTS X)))
(NOT (TC-IN-RANGEP (MINUS (DIFFERENCE (SUB1 (NEGATIVE-GUTS X))
Y))
N))
(NOT (LESSP Y (NEGATIVE-GUTS X)))
(NOT (LESSP (PLUS Y (TIMES 2 (EXP 2 (SUB1 N))))
(SUB1 (NEGATIVE-GUTS X))))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL (NAT-TO-TC (ADD1 (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X))))
N)
(DIFFERENCE (PLUS Y (TIMES 2 (EXP 2 (SUB1 N))))
(SUB1 (NEGATIVE-GUTS X))))),
which again simplifies, using linear arithmetic, to the goal:
(IMPLIES
(AND (EQUAL (TIMES 2 (EXP 2 (SUB1 N))) 0)
(NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(LESSP Y (SUB1 (NEGATIVE-GUTS X)))
(NOT (TC-IN-RANGEP (MINUS (DIFFERENCE (SUB1 (NEGATIVE-GUTS X))
Y))
N))
(NOT (LESSP Y (NEGATIVE-GUTS X)))
(NOT (LESSP (PLUS Y (TIMES 2 (EXP 2 (SUB1 N))))
(SUB1 (NEGATIVE-GUTS X))))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL (NAT-TO-TC (ADD1 (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X))))
N)
(DIFFERENCE (PLUS Y (TIMES 2 (EXP 2 (SUB1 N))))
(SUB1 (NEGATIVE-GUTS X))))).
But this again simplifies, using linear arithmetic, to:
T.
Case 12.9.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(LESSP Y (SUB1 (NEGATIVE-GUTS X)))
(NOT (TC-IN-RANGEP (MINUS (DIFFERENCE (SUB1 (NEGATIVE-GUTS X))
Y))
N))
(NOT (LESSP Y (NEGATIVE-GUTS X)))
(LESSP (PLUS Y (TIMES 2 (EXP 2 (SUB1 N))))
(SUB1 (NEGATIVE-GUTS X)))
(NOT (LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X))
(LESSP Y
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL (NAT-TO-TC (ADD1 Y) N)
(MINUS 0))),
which again simplifies, using linear arithmetic, to:
T.
Case 12.8.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(LESSP Y (SUB1 (NEGATIVE-GUTS X)))
(NOT (TC-IN-RANGEP (MINUS (DIFFERENCE (SUB1 (NEGATIVE-GUTS X))
Y))
N))
(NOT (LESSP Y (NEGATIVE-GUTS X)))
(LESSP (PLUS Y (TIMES 2 (EXP 2 (SUB1 N))))
(SUB1 (NEGATIVE-GUTS X)))
(EQUAL (EXP 2 (SUB1 N)) 0)
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(EQUAL (NAT-TO-TC (ADD1 Y) N)
(MINUS 0))),
which again simplifies, using linear arithmetic, to:
T.
Case 12.7.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(LESSP Y (SUB1 (NEGATIVE-GUTS X)))
(NOT (TC-IN-RANGEP (MINUS (DIFFERENCE (SUB1 (NEGATIVE-GUTS X))
Y))
N))
(NOT (LESSP Y (NEGATIVE-GUTS X)))
(LESSP (PLUS Y (TIMES 2 (EXP 2 (SUB1 N))))
(SUB1 (NEGATIVE-GUTS X)))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(NOT (LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(NOT (LESSP (DIFFERENCE Y (NEGATIVE-GUTS X))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N)))))))
(EQUAL (NAT-TO-TC 0 N) (MINUS 0))),
which again simplifies, using linear arithmetic, to:
T.
Case 12.6.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(LESSP Y (SUB1 (NEGATIVE-GUTS X)))
(NOT (TC-IN-RANGEP (MINUS (DIFFERENCE (SUB1 (NEGATIVE-GUTS X))
Y))
N))
(NOT (LESSP Y (NEGATIVE-GUTS X)))
(LESSP (PLUS Y (TIMES 2 (EXP 2 (SUB1 N))))
(SUB1 (NEGATIVE-GUTS X)))
(NOT (LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(NOT (LESSP (SUB1 (NEGATIVE-GUTS X)) Y)))
(EQUAL (NAT-TO-TC 0 N) (MINUS 0))),
which again simplifies, using linear arithmetic, to:
T.
Case 12.5.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(LESSP Y (SUB1 (NEGATIVE-GUTS X)))
(NOT (TC-IN-RANGEP (MINUS (DIFFERENCE (SUB1 (NEGATIVE-GUTS X))
Y))
N))
(NOT (LESSP Y (NEGATIVE-GUTS X)))
(LESSP (PLUS Y (TIMES 2 (EXP 2 (SUB1 N))))
(SUB1 (NEGATIVE-GUTS X)))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(NOT (LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X))
(NOT (LESSP Y
(SUB1 (TIMES 2 (EXP 2 (SUB1 N)))))))
(EQUAL (NAT-TO-TC 0 N) (MINUS 0))),
which again simplifies, using linear arithmetic, to:
T.
Case 12.4.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(LESSP Y (SUB1 (NEGATIVE-GUTS X)))
(NOT (TC-IN-RANGEP (MINUS (DIFFERENCE (SUB1 (NEGATIVE-GUTS X))
Y))
N))
(NOT (LESSP Y (NEGATIVE-GUTS X)))
(LESSP (PLUS Y (TIMES 2 (EXP 2 (SUB1 N))))
(SUB1 (NEGATIVE-GUTS X)))
(EQUAL (EXP 2 (SUB1 N)) 0)
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(NOT (LESSP (SUB1 (NEGATIVE-GUTS X)) Y)))
(EQUAL (NAT-TO-TC 0 N) (MINUS 0))),
which again simplifies, using linear arithmetic, to:
T.
Case 12.3.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(LESSP Y (SUB1 (NEGATIVE-GUTS X)))
(NOT (TC-IN-RANGEP (MINUS (DIFFERENCE (SUB1 (NEGATIVE-GUTS X))
Y))
N))
(NOT (LESSP Y (NEGATIVE-GUTS X)))
(LESSP (PLUS Y (TIMES 2 (EXP 2 (SUB1 N))))
(SUB1 (NEGATIVE-GUTS X)))
(NOT (LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(LESSP (SUB1 (NEGATIVE-GUTS X)) Y)
(LESSP (DIFFERENCE Y (NEGATIVE-GUTS X))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL (NAT-TO-TC (ADD1 (DIFFERENCE Y (NEGATIVE-GUTS X)))
N)
(MINUS 0))),
which again simplifies, using linear arithmetic, to:
T.
Case 12.2.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(LESSP Y (SUB1 (NEGATIVE-GUTS X)))
(NOT (TC-IN-RANGEP (MINUS (DIFFERENCE (SUB1 (NEGATIVE-GUTS X))
Y))
N))
(NOT (LESSP Y (NEGATIVE-GUTS X)))
(LESSP (PLUS Y (TIMES 2 (EXP 2 (SUB1 N))))
(SUB1 (NEGATIVE-GUTS X)))
(EQUAL (EXP 2 (SUB1 N)) 0)
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(LESSP (SUB1 (NEGATIVE-GUTS X)) Y))
(EQUAL (NAT-TO-TC (ADD1 (DIFFERENCE Y (NEGATIVE-GUTS X)))
N)
(MINUS 0))),
which again simplifies, using linear arithmetic, to:
T.
Case 12.1.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(LESSP Y (SUB1 (NEGATIVE-GUTS X)))
(NOT (TC-IN-RANGEP (MINUS (DIFFERENCE (SUB1 (NEGATIVE-GUTS X))
Y))
N))
(NOT (LESSP Y (NEGATIVE-GUTS X)))
(LESSP (PLUS Y (TIMES 2 (EXP 2 (SUB1 N))))
(SUB1 (NEGATIVE-GUTS X)))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL (NAT-TO-TC (ADD1 (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X))))
N)
(MINUS 0))),
which again simplifies, using linear arithmetic, to:
T.
Case 11.(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(NOT (TC-IN-RANGEP (ADD X (PLUS Y 1)) N))
(NOT (NEGATIVEP (ADD X (PLUS Y 1)))))
(EQUAL
(NAT-TO-TC (REMAINDER (PLUS Y 1
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(TIMES 2 (EXP 2 (SUB1 N))))
N)
(ADD X
(ADD Y
(ADD 1
(MINUS (TIMES 2 (EXP 2 (SUB1 N))))))))),
which again simplifies, using linear arithmetic, rewriting with PLUS-1,
COMMUTATIVITY-OF-PLUS, SUB1-ADD1, PLUS-ADD1, EQUAL-TIMES-0, REMAINDER-OF-0,
PATHOLOGICAL-DIFFERENCE, REMAINDER-CROCK4, EXP-2-NEVER-0, and
NEGATIVE-GUTS-MINUS, and expanding the functions DIFFERENCE, LESSP, ADD,
NUMBERP, EQUAL, REMAINDER, SUB1, and NEGATIVEP, to the following 19 new
goals:
Case 11.19.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(NOT (LESSP Y (SUB1 (NEGATIVE-GUTS X))))
(NOT (TC-IN-RANGEP (DIFFERENCE Y
(SUB1 (NEGATIVE-GUTS X)))
N))
(LESSP Y (NEGATIVE-GUTS X)))
(EQUAL
(NAT-TO-TC (REMAINDER (PLUS Y 1
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(TIMES 2 (EXP 2 (SUB1 N))))
N)
(ADD X
(ADD Y
(ADD 1
(MINUS (TIMES 2 (EXP 2 (SUB1 N))))))))).
This again simplifies, using linear arithmetic, to the goal:
(IMPLIES
(AND (EQUAL (NEGATIVE-GUTS X) (PLUS 1 Y))
(NEGATIVEP X)
(NOT (EQUAL (PLUS 1 Y) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N)) (PLUS 1 Y)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(NOT (LESSP Y (SUB1 (PLUS 1 Y))))
(NOT (TC-IN-RANGEP (DIFFERENCE Y (SUB1 (PLUS 1 Y)))
N))
(LESSP Y (PLUS 1 Y)))
(EQUAL
(NAT-TO-TC (REMAINDER (PLUS Y 1
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(PLUS 1 Y)))
(TIMES 2 (EXP 2 (SUB1 N))))
N)
(ADD X
(ADD Y
(ADD 1
(MINUS (TIMES 2 (EXP 2 (SUB1 N))))))))).
However this again simplifies, applying the lemmas PLUS-1, SUB1-ADD1, and
DIFFERENCE-X-X, and expanding the definitions of LESSP, EQUAL, NEGATIVEP,
and TC-IN-RANGEP, to:
T.
Case 11.18.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(NOT (LESSP Y (SUB1 (NEGATIVE-GUTS X))))
(NOT (TC-IN-RANGEP (DIFFERENCE Y
(SUB1 (NEGATIVE-GUTS X)))
N))
(NOT (LESSP Y (NEGATIVE-GUTS X)))
(NOT (LESSP 1 (TIMES 2 (EXP 2 (SUB1 N)))))
(EQUAL (EXP 2 (SUB1 N)) 0)
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(EQUAL (NAT-TO-TC (ADD1 Y) N)
(ADD X (ADD Y 1)))),
which again simplifies, using linear arithmetic, to:
T.
Case 11.17.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(NOT (LESSP Y (SUB1 (NEGATIVE-GUTS X))))
(NOT (TC-IN-RANGEP (DIFFERENCE Y
(SUB1 (NEGATIVE-GUTS X)))
N))
(NOT (LESSP Y (NEGATIVE-GUTS X)))
(NOT (LESSP 1 (TIMES 2 (EXP 2 (SUB1 N)))))
(EQUAL (EXP 2 (SUB1 N)) 0)
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(NOT (LESSP (SUB1 (NEGATIVE-GUTS X)) Y)))
(EQUAL (NAT-TO-TC 0 N)
(ADD X (ADD Y 1)))),
which again simplifies, using linear arithmetic, to:
T.
Case 11.16.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(NOT (LESSP Y (SUB1 (NEGATIVE-GUTS X))))
(NOT (TC-IN-RANGEP (DIFFERENCE Y
(SUB1 (NEGATIVE-GUTS X)))
N))
(NOT (LESSP Y (NEGATIVE-GUTS X)))
(NOT (LESSP 1 (TIMES 2 (EXP 2 (SUB1 N)))))
(EQUAL (EXP 2 (SUB1 N)) 0)
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(LESSP (SUB1 (NEGATIVE-GUTS X)) Y))
(EQUAL (NAT-TO-TC (ADD1 (DIFFERENCE Y (NEGATIVE-GUTS X)))
N)
(ADD X (ADD Y 1)))),
which again simplifies, using linear arithmetic, to:
T.
Case 11.15.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(NOT (LESSP Y (SUB1 (NEGATIVE-GUTS X))))
(NOT (TC-IN-RANGEP (DIFFERENCE Y
(SUB1 (NEGATIVE-GUTS X)))
N))
(NOT (LESSP Y (NEGATIVE-GUTS X)))
(NOT (LESSP 1 (TIMES 2 (EXP 2 (SUB1 N)))))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(NOT (LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X))
(LESSP Y
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL (NAT-TO-TC (ADD1 Y) N)
(ADD X (ADD Y 0)))),
which again simplifies, using linear arithmetic, to:
T.
Case 11.14.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(NOT (LESSP Y (SUB1 (NEGATIVE-GUTS X))))
(NOT (TC-IN-RANGEP (DIFFERENCE Y
(SUB1 (NEGATIVE-GUTS X)))
N))
(NOT (LESSP Y (NEGATIVE-GUTS X)))
(NOT (LESSP 1 (TIMES 2 (EXP 2 (SUB1 N)))))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(NOT (LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(NOT (LESSP (DIFFERENCE Y (NEGATIVE-GUTS X))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N)))))))
(EQUAL (NAT-TO-TC 0 N)
(ADD X (ADD Y 0)))),
which again simplifies, using linear arithmetic, to:
T.
Case 11.13.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(NOT (LESSP Y (SUB1 (NEGATIVE-GUTS X))))
(NOT (TC-IN-RANGEP (DIFFERENCE Y
(SUB1 (NEGATIVE-GUTS X)))
N))
(NOT (LESSP Y (NEGATIVE-GUTS X)))
(NOT (LESSP 1 (TIMES 2 (EXP 2 (SUB1 N)))))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(NOT (LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(NOT (LESSP (SUB1 (NEGATIVE-GUTS X)) Y)))
(EQUAL (NAT-TO-TC 0 N)
(ADD X (ADD Y 0)))),
which again simplifies, using linear arithmetic, to:
T.
Case 11.12.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(NOT (LESSP Y (SUB1 (NEGATIVE-GUTS X))))
(NOT (TC-IN-RANGEP (DIFFERENCE Y
(SUB1 (NEGATIVE-GUTS X)))
N))
(NOT (LESSP Y (NEGATIVE-GUTS X)))
(NOT (LESSP 1 (TIMES 2 (EXP 2 (SUB1 N)))))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(NOT (LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X))
(NOT (LESSP Y
(SUB1 (TIMES 2 (EXP 2 (SUB1 N)))))))
(EQUAL (NAT-TO-TC 0 N)
(ADD X (ADD Y 0)))),
which again simplifies, using linear arithmetic, to:
T.
Case 11.11.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(NOT (LESSP Y (SUB1 (NEGATIVE-GUTS X))))
(NOT (TC-IN-RANGEP (DIFFERENCE Y
(SUB1 (NEGATIVE-GUTS X)))
N))
(NOT (LESSP Y (NEGATIVE-GUTS X)))
(NOT (LESSP 1 (TIMES 2 (EXP 2 (SUB1 N)))))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(NOT (LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(LESSP (SUB1 (NEGATIVE-GUTS X)) Y)
(LESSP (DIFFERENCE Y (NEGATIVE-GUTS X))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL (NAT-TO-TC (ADD1 (DIFFERENCE Y (NEGATIVE-GUTS X)))
N)
(ADD X (ADD Y 0)))),
which again simplifies, using linear arithmetic, to:
T.
Case 11.10.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(NOT (LESSP Y (SUB1 (NEGATIVE-GUTS X))))
(NOT (TC-IN-RANGEP (DIFFERENCE Y
(SUB1 (NEGATIVE-GUTS X)))
N))
(NOT (LESSP Y (NEGATIVE-GUTS X)))
(NOT (LESSP 1 (TIMES 2 (EXP 2 (SUB1 N)))))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL (NAT-TO-TC (ADD1 (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X))))
N)
(ADD X (ADD Y 0)))),
which again simplifies, using linear arithmetic, to:
T.
Case 11.9.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(NOT (LESSP Y (SUB1 (NEGATIVE-GUTS X))))
(NOT (TC-IN-RANGEP (DIFFERENCE Y
(SUB1 (NEGATIVE-GUTS X)))
N))
(NOT (LESSP Y (NEGATIVE-GUTS X)))
(LESSP 1 (TIMES 2 (EXP 2 (SUB1 N))))
(NOT (LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X))
(LESSP Y
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL (NAT-TO-TC (ADD1 Y) N)
(ADD X
(ADD Y
(MINUS (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1)))))),
which again simplifies, using linear arithmetic, to:
T.
Case 11.8.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(NOT (LESSP Y (SUB1 (NEGATIVE-GUTS X))))
(NOT (TC-IN-RANGEP (DIFFERENCE Y
(SUB1 (NEGATIVE-GUTS X)))
N))
(NOT (LESSP Y (NEGATIVE-GUTS X)))
(LESSP 1 (TIMES 2 (EXP 2 (SUB1 N))))
(EQUAL (EXP 2 (SUB1 N)) 0)
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(EQUAL (NAT-TO-TC (ADD1 Y) N)
(ADD X
(ADD Y
(MINUS (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1)))))),
which again simplifies, using linear arithmetic, to:
T.
Case 11.7.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(NOT (LESSP Y (SUB1 (NEGATIVE-GUTS X))))
(NOT (TC-IN-RANGEP (DIFFERENCE Y
(SUB1 (NEGATIVE-GUTS X)))
N))
(NOT (LESSP Y (NEGATIVE-GUTS X)))
(LESSP 1 (TIMES 2 (EXP 2 (SUB1 N))))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(NOT (LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(NOT (LESSP (DIFFERENCE Y (NEGATIVE-GUTS X))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N)))))))
(EQUAL (NAT-TO-TC 0 N)
(ADD X
(ADD Y
(MINUS (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1)))))),
which again simplifies, using linear arithmetic, to:
T.
Case 11.6.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(NOT (LESSP Y (SUB1 (NEGATIVE-GUTS X))))
(NOT (TC-IN-RANGEP (DIFFERENCE Y
(SUB1 (NEGATIVE-GUTS X)))
N))
(NOT (LESSP Y (NEGATIVE-GUTS X)))
(LESSP 1 (TIMES 2 (EXP 2 (SUB1 N))))
(NOT (LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(NOT (LESSP (SUB1 (NEGATIVE-GUTS X)) Y)))
(EQUAL (NAT-TO-TC 0 N)
(ADD X
(ADD Y
(MINUS (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1)))))),
which again simplifies, using linear arithmetic, to:
T.
Case 11.5.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(NOT (LESSP Y (SUB1 (NEGATIVE-GUTS X))))
(NOT (TC-IN-RANGEP (DIFFERENCE Y
(SUB1 (NEGATIVE-GUTS X)))
N))
(NOT (LESSP Y (NEGATIVE-GUTS X)))
(LESSP 1 (TIMES 2 (EXP 2 (SUB1 N))))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(NOT (LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X))
(NOT (LESSP Y
(SUB1 (TIMES 2 (EXP 2 (SUB1 N)))))))
(EQUAL (NAT-TO-TC 0 N)
(ADD X
(ADD Y
(MINUS (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1)))))),
which again simplifies, using linear arithmetic, to:
T.
Case 11.4.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(NOT (LESSP Y (SUB1 (NEGATIVE-GUTS X))))
(NOT (TC-IN-RANGEP (DIFFERENCE Y
(SUB1 (NEGATIVE-GUTS X)))
N))
(NOT (LESSP Y (NEGATIVE-GUTS X)))
(LESSP 1 (TIMES 2 (EXP 2 (SUB1 N))))
(EQUAL (EXP 2 (SUB1 N)) 0)
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(NOT (LESSP (SUB1 (NEGATIVE-GUTS X)) Y)))
(EQUAL (NAT-TO-TC 0 N)
(ADD X
(ADD Y
(MINUS (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1)))))),
which again simplifies, using linear arithmetic, to:
T.
Case 11.3.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(NOT (LESSP Y (SUB1 (NEGATIVE-GUTS X))))
(NOT (TC-IN-RANGEP (DIFFERENCE Y
(SUB1 (NEGATIVE-GUTS X)))
N))
(NOT (LESSP Y (NEGATIVE-GUTS X)))
(LESSP 1 (TIMES 2 (EXP 2 (SUB1 N))))
(NOT (LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(LESSP (SUB1 (NEGATIVE-GUTS X)) Y)
(LESSP (DIFFERENCE Y (NEGATIVE-GUTS X))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL (NAT-TO-TC (ADD1 (DIFFERENCE Y (NEGATIVE-GUTS X)))
N)
(ADD X
(ADD Y
(MINUS (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1)))))),
which again simplifies, using linear arithmetic, applying EQUAL-TIMES-0,
SUB1-ADD1, PATHOLOGICAL-DIFFERENCE, DIFFERENCE-DIFFERENCE, PLUS-1, and
NEGATIVE-GUTS-MINUS, and expanding TC-IN-RANGEP, DIFFERENCE, EQUAL,
NUMBERP, EXP, LESSP, NAT-TO-TC, and ADD, to the following 12 new formulas:
Case 11.3.12.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(NOT (LESSP Y (SUB1 (NEGATIVE-GUTS X))))
(NOT (LESSP (DIFFERENCE Y
(SUB1 (NEGATIVE-GUTS X)))
(EXP 2 (SUB1 N))))
(NOT (LESSP Y (NEGATIVE-GUTS X)))
(LESSP 1 (TIMES 2 (EXP 2 (SUB1 N))))
(NOT (LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(LESSP (SUB1 (NEGATIVE-GUTS X)) Y)
(LESSP (DIFFERENCE Y (NEGATIVE-GUTS X))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N)))))
(NOT (LESSP Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1)))
(NOT (EQUAL (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1)
0))
(EQUAL (EXP 2 (SUB1 N)) 0))
(EQUAL (MINUS 0) (ADD X 0))).
This again simplifies, using linear arithmetic, to:
T.
Case 11.3.11.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(NOT (LESSP Y (SUB1 (NEGATIVE-GUTS X))))
(NOT (LESSP (DIFFERENCE Y
(SUB1 (NEGATIVE-GUTS X)))
(EXP 2 (SUB1 N))))
(NOT (LESSP Y (NEGATIVE-GUTS X)))
(LESSP 1 (TIMES 2 (EXP 2 (SUB1 N))))
(NOT (LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(LESSP (SUB1 (NEGATIVE-GUTS X)) Y)
(LESSP (DIFFERENCE Y (NEGATIVE-GUTS X))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N)))))
(NOT (LESSP Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1)))
(EQUAL Y 0)
(EQUAL (EXP 2 (SUB1 N)) 0))
(EQUAL (MINUS 0) (ADD X 0))),
which again simplifies, using linear arithmetic, to:
T.
Case 11.3.10.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(NOT (LESSP Y (SUB1 (NEGATIVE-GUTS X))))
(NOT (LESSP (DIFFERENCE Y
(SUB1 (NEGATIVE-GUTS X)))
(EXP 2 (SUB1 N))))
(NOT (LESSP Y (NEGATIVE-GUTS X)))
(LESSP 1 (TIMES 2 (EXP 2 (SUB1 N))))
(NOT (LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(LESSP (SUB1 (NEGATIVE-GUTS X)) Y)
(LESSP (DIFFERENCE Y (NEGATIVE-GUTS X))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N)))))
(NOT (LESSP Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1)))
(NOT (EQUAL (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1)
0))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(NOT (LESSP (DIFFERENCE Y (NEGATIVE-GUTS X))
(SUB1 (EXP 2 (SUB1 N))))))
(EQUAL (MINUS (DIFFERENCE (SUB1 (TIMES 2 (EXP 2 (SUB1 N))))
(DIFFERENCE Y (NEGATIVE-GUTS X))))
(ADD X 0))),
which again simplifies, using linear arithmetic, to:
T.
Case 11.3.9.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(NOT (LESSP Y (SUB1 (NEGATIVE-GUTS X))))
(NOT (LESSP (DIFFERENCE Y
(SUB1 (NEGATIVE-GUTS X)))
(EXP 2 (SUB1 N))))
(NOT (LESSP Y (NEGATIVE-GUTS X)))
(LESSP 1 (TIMES 2 (EXP 2 (SUB1 N))))
(NOT (LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(LESSP (SUB1 (NEGATIVE-GUTS X)) Y)
(LESSP (DIFFERENCE Y (NEGATIVE-GUTS X))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N)))))
(NOT (LESSP Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1)))
(EQUAL Y 0)
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(NOT (LESSP (DIFFERENCE Y (NEGATIVE-GUTS X))
(SUB1 (EXP 2 (SUB1 N))))))
(EQUAL (MINUS (DIFFERENCE (SUB1 (TIMES 2 (EXP 2 (SUB1 N))))
(DIFFERENCE Y (NEGATIVE-GUTS X))))
(ADD X 0))),
which again simplifies, using linear arithmetic, to:
T.
Case 11.3.8.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(NOT (LESSP Y (SUB1 (NEGATIVE-GUTS X))))
(NOT (LESSP (DIFFERENCE Y
(SUB1 (NEGATIVE-GUTS X)))
(EXP 2 (SUB1 N))))
(NOT (LESSP Y (NEGATIVE-GUTS X)))
(LESSP 1 (TIMES 2 (EXP 2 (SUB1 N))))
(NOT (LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(LESSP (SUB1 (NEGATIVE-GUTS X)) Y)
(LESSP (DIFFERENCE Y (NEGATIVE-GUTS X))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N)))))
(NOT (LESSP Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1)))
(NOT (EQUAL (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1)
0))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(LESSP (DIFFERENCE Y (NEGATIVE-GUTS X))
(SUB1 (EXP 2 (SUB1 N)))))
(EQUAL (ADD1 (DIFFERENCE Y (NEGATIVE-GUTS X)))
(ADD X 0))),
which again simplifies, using linear arithmetic, to:
T.
Case 11.3.7.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(NOT (LESSP Y (SUB1 (NEGATIVE-GUTS X))))
(NOT (LESSP (DIFFERENCE Y
(SUB1 (NEGATIVE-GUTS X)))
(EXP 2 (SUB1 N))))
(NOT (LESSP Y (NEGATIVE-GUTS X)))
(LESSP 1 (TIMES 2 (EXP 2 (SUB1 N))))
(NOT (LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(LESSP (SUB1 (NEGATIVE-GUTS X)) Y)
(LESSP (DIFFERENCE Y (NEGATIVE-GUTS X))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N)))))
(NOT (LESSP Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1)))
(EQUAL Y 0)
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(LESSP (DIFFERENCE Y (NEGATIVE-GUTS X))
(SUB1 (EXP 2 (SUB1 N)))))
(EQUAL (ADD1 (DIFFERENCE Y (NEGATIVE-GUTS X)))
(ADD X 0))),
which again simplifies, using linear arithmetic, to:
T.
Case 11.3.6.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(NOT (LESSP Y (SUB1 (NEGATIVE-GUTS X))))
(NOT (LESSP (DIFFERENCE Y
(SUB1 (NEGATIVE-GUTS X)))
(EXP 2 (SUB1 N))))
(NOT (LESSP Y (NEGATIVE-GUTS X)))
(LESSP 1 (TIMES 2 (EXP 2 (SUB1 N))))
(NOT (LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(LESSP (SUB1 (NEGATIVE-GUTS X)) Y)
(LESSP (DIFFERENCE Y (NEGATIVE-GUTS X))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N)))))
(NOT (LESSP Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1)))
(NOT (EQUAL Y 0))
(EQUAL (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1)
0)
(EQUAL (EXP 2 (SUB1 N)) 0))
(EQUAL (MINUS 0) (ADD X Y))),
which again simplifies, clearly, to:
T.
Case 11.3.5.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(NOT (LESSP Y (SUB1 (NEGATIVE-GUTS X))))
(NOT (LESSP (DIFFERENCE Y
(SUB1 (NEGATIVE-GUTS X)))
(EXP 2 (SUB1 N))))
(NOT (LESSP Y (NEGATIVE-GUTS X)))
(LESSP 1 (TIMES 2 (EXP 2 (SUB1 N))))
(NOT (LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(LESSP (SUB1 (NEGATIVE-GUTS X)) Y)
(LESSP (DIFFERENCE Y (NEGATIVE-GUTS X))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N)))))
(NOT (LESSP Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1)))
(NOT (EQUAL Y 0))
(EQUAL (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1)
0)
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(NOT (LESSP (DIFFERENCE Y (NEGATIVE-GUTS X))
(SUB1 (EXP 2 (SUB1 N))))))
(EQUAL (MINUS (DIFFERENCE (SUB1 (TIMES 2 (EXP 2 (SUB1 N))))
(DIFFERENCE Y (NEGATIVE-GUTS X))))
(ADD X Y))).
But this again simplifies, using linear arithmetic, to:
T.
Case 11.3.4.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(NOT (LESSP Y (SUB1 (NEGATIVE-GUTS X))))
(NOT (LESSP (DIFFERENCE Y
(SUB1 (NEGATIVE-GUTS X)))
(EXP 2 (SUB1 N))))
(NOT (LESSP Y (NEGATIVE-GUTS X)))
(LESSP 1 (TIMES 2 (EXP 2 (SUB1 N))))
(NOT (LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(LESSP (SUB1 (NEGATIVE-GUTS X)) Y)
(LESSP (DIFFERENCE Y (NEGATIVE-GUTS X))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N)))))
(NOT (LESSP Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1)))
(NOT (EQUAL Y 0))
(EQUAL (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1)
0)
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(LESSP (DIFFERENCE Y (NEGATIVE-GUTS X))
(SUB1 (EXP 2 (SUB1 N)))))
(EQUAL (ADD1 (DIFFERENCE Y (NEGATIVE-GUTS X)))
(ADD X Y))),
which again simplifies, using linear arithmetic, to:
T.
Case 11.3.3.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(NOT (LESSP Y (SUB1 (NEGATIVE-GUTS X))))
(NOT (LESSP (DIFFERENCE Y
(SUB1 (NEGATIVE-GUTS X)))
(EXP 2 (SUB1 N))))
(NOT (LESSP Y (NEGATIVE-GUTS X)))
(LESSP 1 (TIMES 2 (EXP 2 (SUB1 N))))
(NOT (LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(LESSP (SUB1 (NEGATIVE-GUTS X)) Y)
(LESSP (DIFFERENCE Y (NEGATIVE-GUTS X))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N)))))
(LESSP Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1))
(EQUAL (EXP 2 (SUB1 N)) 0))
(EQUAL (MINUS 0) (ADD X (MINUS 0)))),
which again simplifies, using linear arithmetic, to:
T.
Case 11.3.2.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(NOT (LESSP Y (SUB1 (NEGATIVE-GUTS X))))
(NOT (LESSP (DIFFERENCE Y
(SUB1 (NEGATIVE-GUTS X)))
(EXP 2 (SUB1 N))))
(NOT (LESSP Y (NEGATIVE-GUTS X)))
(LESSP 1 (TIMES 2 (EXP 2 (SUB1 N))))
(NOT (LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(LESSP (SUB1 (NEGATIVE-GUTS X)) Y)
(LESSP (DIFFERENCE Y (NEGATIVE-GUTS X))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N)))))
(LESSP Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(NOT (LESSP (DIFFERENCE Y (NEGATIVE-GUTS X))
(SUB1 (EXP 2 (SUB1 N))))))
(EQUAL (MINUS (DIFFERENCE (SUB1 (TIMES 2 (EXP 2 (SUB1 N))))
(DIFFERENCE Y (NEGATIVE-GUTS X))))
(ADD X
(MINUS (DIFFERENCE (SUB1 (TIMES 2 (EXP 2 (SUB1 N))))
Y))))),
which again simplifies, using linear arithmetic, to:
T.
Case 11.3.1.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(NOT (LESSP Y (SUB1 (NEGATIVE-GUTS X))))
(NOT (LESSP (DIFFERENCE Y
(SUB1 (NEGATIVE-GUTS X)))
(EXP 2 (SUB1 N))))
(NOT (LESSP Y (NEGATIVE-GUTS X)))
(LESSP 1 (TIMES 2 (EXP 2 (SUB1 N))))
(NOT (LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(LESSP (SUB1 (NEGATIVE-GUTS X)) Y)
(LESSP (DIFFERENCE Y (NEGATIVE-GUTS X))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N)))))
(LESSP Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(LESSP (DIFFERENCE Y (NEGATIVE-GUTS X))
(SUB1 (EXP 2 (SUB1 N)))))
(EQUAL (ADD1 (DIFFERENCE Y (NEGATIVE-GUTS X)))
(ADD X
(MINUS (DIFFERENCE (SUB1 (TIMES 2 (EXP 2 (SUB1 N))))
Y))))),
which again simplifies, using linear arithmetic, to:
T.
Case 11.2.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(NOT (LESSP Y (SUB1 (NEGATIVE-GUTS X))))
(NOT (TC-IN-RANGEP (DIFFERENCE Y
(SUB1 (NEGATIVE-GUTS X)))
N))
(NOT (LESSP Y (NEGATIVE-GUTS X)))
(LESSP 1 (TIMES 2 (EXP 2 (SUB1 N))))
(EQUAL (EXP 2 (SUB1 N)) 0)
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(LESSP (SUB1 (NEGATIVE-GUTS X)) Y))
(EQUAL (NAT-TO-TC (ADD1 (DIFFERENCE Y (NEGATIVE-GUTS X)))
N)
(ADD X
(ADD Y
(MINUS (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1)))))),
which again simplifies, using linear arithmetic, to:
T.
Case 11.1.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(NOT (LESSP Y (SUB1 (NEGATIVE-GUTS X))))
(NOT (TC-IN-RANGEP (DIFFERENCE Y
(SUB1 (NEGATIVE-GUTS X)))
N))
(NOT (LESSP Y (NEGATIVE-GUTS X)))
(LESSP 1 (TIMES 2 (EXP 2 (SUB1 N))))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL (NAT-TO-TC (ADD1 (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X))))
N)
(ADD X
(ADD Y
(MINUS (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1)))))),
which again simplifies, using linear arithmetic, to:
(IMPLIES
(AND (EQUAL (TIMES 2 (EXP 2 (SUB1 N))) 0)
(NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(NOT (LESSP Y (SUB1 (NEGATIVE-GUTS X))))
(NOT (TC-IN-RANGEP (DIFFERENCE Y
(SUB1 (NEGATIVE-GUTS X)))
N))
(NOT (LESSP Y (NEGATIVE-GUTS X)))
(LESSP 1 (TIMES 2 (EXP 2 (SUB1 N))))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL (NAT-TO-TC (ADD1 (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X))))
N)
(ADD X
(ADD Y
(MINUS (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1)))))).
However this again simplifies, using linear arithmetic, to:
T.
Case 10.(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(TC-IN-RANGEP (ADD X (PLUS Y 1)) N))
(EQUAL
(NAT-TO-TC (REMAINDER (PLUS Y 1
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(TIMES 2 (EXP 2 (SUB1 N))))
N)
(ADD X (PLUS Y 1)))),
which again simplifies, using linear arithmetic, applying PLUS-1,
COMMUTATIVITY-OF-PLUS, SUB1-ADD1, PLUS-ADD1, EQUAL-TIMES-0, REMAINDER-OF-0,
PATHOLOGICAL-DIFFERENCE, and REMAINDER-CROCK4, and expanding DIFFERENCE,
LESSP, ADD, NUMBERP, EQUAL, and REMAINDER, to the following 20 new formulas:
Case 10.20.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(NOT (LESSP Y (SUB1 (NEGATIVE-GUTS X))))
(TC-IN-RANGEP (DIFFERENCE Y
(SUB1 (NEGATIVE-GUTS X)))
N)
(LESSP Y (NEGATIVE-GUTS X)))
(EQUAL
(NAT-TO-TC (REMAINDER (PLUS Y 1
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(TIMES 2 (EXP 2 (SUB1 N))))
N)
(ADD X (PLUS Y 1)))).
But this again simplifies, using linear arithmetic, to:
(IMPLIES
(AND (EQUAL (NEGATIVE-GUTS X) (PLUS 1 Y))
(NEGATIVEP X)
(NOT (EQUAL (PLUS 1 Y) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N)) (PLUS 1 Y)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(NOT (LESSP Y (SUB1 (PLUS 1 Y))))
(TC-IN-RANGEP (DIFFERENCE Y (SUB1 (PLUS 1 Y)))
N)
(LESSP Y (PLUS 1 Y)))
(EQUAL
(NAT-TO-TC (REMAINDER (PLUS Y 1
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(PLUS 1 Y)))
(TIMES 2 (EXP 2 (SUB1 N))))
N)
(ADD X (PLUS Y 1)))).
This again simplifies, using linear arithmetic, rewriting with PLUS-1,
SUB1-ADD1, DIFFERENCE-X-X, PLUS-ADD1, REMAINDER-OF-0,
DIFFERENCE-DIFFERENCE, ADD1-SUB1, EQUAL-TIMES-0, COMMUTATIVITY-OF-ADD,
DIFFERENCE-CROCK1, PATHOLOGICAL-DIFFERENCE, and COMMUTATIVITY-OF-PLUS, and
unfolding LESSP, EQUAL, NEGATIVEP, TC-IN-RANGEP, PLUS, DIFFERENCE, NUMBERP,
REMAINDER, SUB1, and ADD, to the following four new goals:
Case 10.20.4.
(IMPLIES (AND (EQUAL (NEGATIVE-GUTS X) (ADD1 Y))
(NEGATIVEP X)
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(NOT (LESSP (SUB1 (EXP 2 (SUB1 N))) Y))
(LESSP Y (EXP 2 (SUB1 N)))
C
(NOT (LESSP Y Y))
(EQUAL Y 0)
(NOT (LESSP (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1)
(SUB1 (TIMES 2 (EXP 2 (SUB1 N)))))))
(EQUAL (NAT-TO-TC 0 N) 0)).
But this again simplifies, opening up the definitions of NUMBERP, EQUAL,
LESSP, and NAT-TO-TC, to:
T.
Case 10.20.3.
(IMPLIES
(AND (EQUAL (NEGATIVE-GUTS X) (ADD1 Y))
(NEGATIVEP X)
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(NOT (LESSP (SUB1 (EXP 2 (SUB1 N))) Y))
(LESSP Y (EXP 2 (SUB1 N)))
C
(NOT (LESSP Y Y))
(EQUAL Y 0)
(LESSP (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1)
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL (NAT-TO-TC (ADD1 (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1))
N)
0)),
which again simplifies, using linear arithmetic, to:
(IMPLIES
(AND (EQUAL (TIMES 2 (EXP 2 (SUB1 N))) 0)
(EQUAL (NEGATIVE-GUTS X) 1)
(NEGATIVEP X)
(NUMBERP 0)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(NOT (LESSP (SUB1 (EXP 2 (SUB1 N))) 0))
(LESSP 0 (EXP 2 (SUB1 N)))
C
(NOT (LESSP 0 0))
(LESSP (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1)
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL (NAT-TO-TC (ADD1 (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1))
N)
0)).
But this again simplifies, using linear arithmetic, to:
T.
Case 10.20.2.
(IMPLIES
(AND
(EQUAL (NEGATIVE-GUTS X) (ADD1 Y))
(NEGATIVEP X)
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(NOT (LESSP (SUB1 (EXP 2 (SUB1 N))) Y))
(LESSP Y (EXP 2 (SUB1 N)))
C
(NOT (LESSP Y Y))
(LESSP (SUB1 Y) Y)
(NOT (LESSP (PLUS Y
(DIFFERENCE (SUB1 (TIMES 2 (EXP 2 (SUB1 N))))
Y))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N)))))))
(EQUAL (NAT-TO-TC 0 N) 0)),
which again simplifies, expanding the definitions of LESSP, EQUAL, and
NAT-TO-TC, to:
T.
Case 10.20.1.
(IMPLIES
(AND (EQUAL (NEGATIVE-GUTS X) (ADD1 Y))
(NEGATIVEP X)
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(NOT (LESSP (SUB1 (EXP 2 (SUB1 N))) Y))
(LESSP Y (EXP 2 (SUB1 N)))
C
(NOT (LESSP Y Y))
(LESSP (SUB1 Y) Y)
(LESSP (PLUS Y
(DIFFERENCE (SUB1 (TIMES 2 (EXP 2 (SUB1 N))))
Y))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL
(NAT-TO-TC
(ADD1 (PLUS Y
(DIFFERENCE (SUB1 (TIMES 2 (EXP 2 (SUB1 N))))
Y)))
N)
0)),
which again simplifies, using linear arithmetic, to:
(IMPLIES
(AND (EQUAL (TIMES 2 (EXP 2 (SUB1 N))) 0)
(EQUAL (NEGATIVE-GUTS X) (ADD1 Y))
(NEGATIVEP X)
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(NOT (LESSP (SUB1 (EXP 2 (SUB1 N))) Y))
(LESSP Y (EXP 2 (SUB1 N)))
C
(NOT (LESSP Y Y))
(LESSP (SUB1 Y) Y)
(LESSP (PLUS Y
(DIFFERENCE (SUB1 (TIMES 2 (EXP 2 (SUB1 N))))
Y))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL
(NAT-TO-TC
(ADD1 (PLUS Y
(DIFFERENCE (SUB1 (TIMES 2 (EXP 2 (SUB1 N))))
Y)))
N)
0)).
This again simplifies, using linear arithmetic, to:
T.
Case 10.19.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(NOT (LESSP Y (SUB1 (NEGATIVE-GUTS X))))
(TC-IN-RANGEP (DIFFERENCE Y
(SUB1 (NEGATIVE-GUTS X)))
N)
(NOT (LESSP Y (NEGATIVE-GUTS X)))
(NOT (LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X))
(LESSP Y
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL (NAT-TO-TC (ADD1 Y) N)
(DIFFERENCE Y
(SUB1 (NEGATIVE-GUTS X))))),
which again simplifies, using linear arithmetic, to:
T.
Case 10.18.
(IMPLIES (AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(NOT (LESSP Y (SUB1 (NEGATIVE-GUTS X))))
(TC-IN-RANGEP (DIFFERENCE Y
(SUB1 (NEGATIVE-GUTS X)))
N)
(NOT (LESSP Y (NEGATIVE-GUTS X)))
(EQUAL (EXP 2 (SUB1 N)) 0)
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(EQUAL (NAT-TO-TC (ADD1 Y) N)
(DIFFERENCE Y
(SUB1 (NEGATIVE-GUTS X))))),
which again simplifies, using linear arithmetic, to:
T.
Case 10.17.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(NOT (LESSP Y (SUB1 (NEGATIVE-GUTS X))))
(TC-IN-RANGEP (DIFFERENCE Y
(SUB1 (NEGATIVE-GUTS X)))
N)
(NOT (LESSP Y (NEGATIVE-GUTS X)))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(NOT (LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(NOT (LESSP (DIFFERENCE Y (NEGATIVE-GUTS X))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N)))))))
(EQUAL (NAT-TO-TC 0 N)
(DIFFERENCE Y
(SUB1 (NEGATIVE-GUTS X))))),
which again simplifies, using linear arithmetic, to:
T.
Case 10.16.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(NOT (LESSP Y (SUB1 (NEGATIVE-GUTS X))))
(TC-IN-RANGEP (DIFFERENCE Y
(SUB1 (NEGATIVE-GUTS X)))
N)
(NOT (LESSP Y (NEGATIVE-GUTS X)))
(NOT (LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(NOT (LESSP (SUB1 (NEGATIVE-GUTS X)) Y)))
(EQUAL (NAT-TO-TC 0 N)
(DIFFERENCE Y
(SUB1 (NEGATIVE-GUTS X))))),
which again simplifies, using linear arithmetic, to:
T.
Case 10.15.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(NOT (LESSP Y (SUB1 (NEGATIVE-GUTS X))))
(TC-IN-RANGEP (DIFFERENCE Y
(SUB1 (NEGATIVE-GUTS X)))
N)
(NOT (LESSP Y (NEGATIVE-GUTS X)))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(NOT (LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X))
(NOT (LESSP Y
(SUB1 (TIMES 2 (EXP 2 (SUB1 N)))))))
(EQUAL (NAT-TO-TC 0 N)
(DIFFERENCE Y
(SUB1 (NEGATIVE-GUTS X))))),
which again simplifies, using linear arithmetic, to:
T.
Case 10.14.
(IMPLIES (AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(NOT (LESSP Y (SUB1 (NEGATIVE-GUTS X))))
(TC-IN-RANGEP (DIFFERENCE Y
(SUB1 (NEGATIVE-GUTS X)))
N)
(NOT (LESSP Y (NEGATIVE-GUTS X)))
(EQUAL (EXP 2 (SUB1 N)) 0)
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(NOT (LESSP (SUB1 (NEGATIVE-GUTS X)) Y)))
(EQUAL (NAT-TO-TC 0 N)
(DIFFERENCE Y
(SUB1 (NEGATIVE-GUTS X))))),
which again simplifies, using linear arithmetic, to:
T.
Case 10.13.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(NOT (LESSP Y (SUB1 (NEGATIVE-GUTS X))))
(TC-IN-RANGEP (DIFFERENCE Y
(SUB1 (NEGATIVE-GUTS X)))
N)
(NOT (LESSP Y (NEGATIVE-GUTS X)))
(NOT (LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(LESSP (SUB1 (NEGATIVE-GUTS X)) Y)
(LESSP (DIFFERENCE Y (NEGATIVE-GUTS X))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL (NAT-TO-TC (ADD1 (DIFFERENCE Y (NEGATIVE-GUTS X)))
N)
(DIFFERENCE Y
(SUB1 (NEGATIVE-GUTS X))))),
which again simplifies, applying the lemmas EQUAL-TIMES-0 and SUB1-ADD1,
and unfolding the definitions of TC-IN-RANGEP, DIFFERENCE, EQUAL, NUMBERP,
EXP, LESSP, and NAT-TO-TC, to three new goals:
Case 10.13.3.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(NOT (LESSP Y (SUB1 (NEGATIVE-GUTS X))))
(LESSP (DIFFERENCE Y
(SUB1 (NEGATIVE-GUTS X)))
(EXP 2 (SUB1 N)))
(NOT (LESSP Y (NEGATIVE-GUTS X)))
(NOT (LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(LESSP (SUB1 (NEGATIVE-GUTS X)) Y)
(LESSP (DIFFERENCE Y (NEGATIVE-GUTS X))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))),
which again simplifies, using linear arithmetic, to:
T.
Case 10.13.2.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(NOT (LESSP Y (SUB1 (NEGATIVE-GUTS X))))
(LESSP (DIFFERENCE Y
(SUB1 (NEGATIVE-GUTS X)))
(EXP 2 (SUB1 N)))
(NOT (LESSP Y (NEGATIVE-GUTS X)))
(NOT (LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(LESSP (SUB1 (NEGATIVE-GUTS X)) Y)
(LESSP (DIFFERENCE Y (NEGATIVE-GUTS X))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(LESSP (DIFFERENCE Y (NEGATIVE-GUTS X))
(SUB1 (EXP 2 (SUB1 N))))),
which again simplifies, using linear arithmetic, to:
T.
Case 10.13.1.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(NOT (LESSP Y (SUB1 (NEGATIVE-GUTS X))))
(LESSP (DIFFERENCE Y
(SUB1 (NEGATIVE-GUTS X)))
(EXP 2 (SUB1 N)))
(NOT (LESSP Y (NEGATIVE-GUTS X)))
(NOT (LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(LESSP (SUB1 (NEGATIVE-GUTS X)) Y)
(LESSP (DIFFERENCE Y (NEGATIVE-GUTS X))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL (ADD1 (DIFFERENCE Y (NEGATIVE-GUTS X)))
(DIFFERENCE Y
(SUB1 (NEGATIVE-GUTS X))))),
which again simplifies, using linear arithmetic, to:
T.
Case 10.12.
(IMPLIES (AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(NOT (LESSP Y (SUB1 (NEGATIVE-GUTS X))))
(TC-IN-RANGEP (DIFFERENCE Y
(SUB1 (NEGATIVE-GUTS X)))
N)
(NOT (LESSP Y (NEGATIVE-GUTS X)))
(EQUAL (EXP 2 (SUB1 N)) 0)
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(LESSP (SUB1 (NEGATIVE-GUTS X)) Y))
(EQUAL (NAT-TO-TC (ADD1 (DIFFERENCE Y (NEGATIVE-GUTS X)))
N)
(DIFFERENCE Y
(SUB1 (NEGATIVE-GUTS X))))),
which again simplifies, using linear arithmetic, to:
T.
Case 10.11.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(NOT (LESSP Y (SUB1 (NEGATIVE-GUTS X))))
(TC-IN-RANGEP (DIFFERENCE Y
(SUB1 (NEGATIVE-GUTS X)))
N)
(NOT (LESSP Y (NEGATIVE-GUTS X)))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL (NAT-TO-TC (ADD1 (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X))))
N)
(DIFFERENCE Y
(SUB1 (NEGATIVE-GUTS X))))),
which again simplifies, using linear arithmetic, to the formula:
(IMPLIES
(AND (EQUAL (TIMES 2 (EXP 2 (SUB1 N))) 0)
(NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(NOT (LESSP Y (SUB1 (NEGATIVE-GUTS X))))
(TC-IN-RANGEP (DIFFERENCE Y
(SUB1 (NEGATIVE-GUTS X)))
N)
(NOT (LESSP Y (NEGATIVE-GUTS X)))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL (NAT-TO-TC (ADD1 (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X))))
N)
(DIFFERENCE Y
(SUB1 (NEGATIVE-GUTS X))))).
But this again simplifies, using linear arithmetic, to:
T.
Case 10.10.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(LESSP Y (SUB1 (NEGATIVE-GUTS X)))
(TC-IN-RANGEP (MINUS (DIFFERENCE (SUB1 (NEGATIVE-GUTS X))
Y))
N)
(LESSP Y (NEGATIVE-GUTS X)))
(EQUAL
(NAT-TO-TC (REMAINDER (PLUS Y 1
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(TIMES 2 (EXP 2 (SUB1 N))))
N)
(ADD X (PLUS Y 1)))),
which again simplifies, using linear arithmetic, rewriting with
NEGATIVE-GUTS-MINUS, PLUS-1, PLUS-ADD1, SUB1-ADD1, EQUAL-TIMES-0,
REMAINDER-OF-0, PATHOLOGICAL-DIFFERENCE, TIMES-2-NOT-1, REMAINDER-OF-1,
REMAINDER-CROCK4, and COMMUTATIVITY-OF-PLUS, and opening up the
definitions of TC-IN-RANGEP, NUMBERP, EQUAL, LESSP, REMAINDER, ADD1,
DIFFERENCE, and ADD, to the following eight new goals:
Case 10.10.8.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(LESSP Y (SUB1 (NEGATIVE-GUTS X)))
(NOT (LESSP (EXP 2 (SUB1 N))
(DIFFERENCE (SUB1 (NEGATIVE-GUTS X))
Y)))
(LESSP Y (NEGATIVE-GUTS X))
(NOT (LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X))
(LESSP Y
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL (NAT-TO-TC (ADD1 Y) N)
(MINUS (DIFFERENCE (SUB1 (NEGATIVE-GUTS X))
Y)))).
However this again simplifies, using linear arithmetic, to:
T.
Case 10.10.7.
(IMPLIES (AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(LESSP Y (SUB1 (NEGATIVE-GUTS X)))
(NOT (LESSP (EXP 2 (SUB1 N))
(DIFFERENCE (SUB1 (NEGATIVE-GUTS X))
Y)))
(LESSP Y (NEGATIVE-GUTS X))
(EQUAL (EXP 2 (SUB1 N)) 0)
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(EQUAL (NAT-TO-TC (ADD1 Y) N)
(MINUS (DIFFERENCE (SUB1 (NEGATIVE-GUTS X))
Y)))),
which again simplifies, using linear arithmetic, to:
T.
Case 10.10.6.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(LESSP Y (SUB1 (NEGATIVE-GUTS X)))
(NOT (LESSP (EXP 2 (SUB1 N))
(DIFFERENCE (SUB1 (NEGATIVE-GUTS X))
Y)))
(LESSP Y (NEGATIVE-GUTS X))
(NOT (LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(NOT (LESSP (SUB1 (NEGATIVE-GUTS X)) Y)))
(EQUAL (NAT-TO-TC 0 N)
(MINUS (DIFFERENCE (SUB1 (NEGATIVE-GUTS X))
Y)))),
which again simplifies, using linear arithmetic, to:
T.
Case 10.10.5.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(LESSP Y (SUB1 (NEGATIVE-GUTS X)))
(NOT (LESSP (EXP 2 (SUB1 N))
(DIFFERENCE (SUB1 (NEGATIVE-GUTS X))
Y)))
(LESSP Y (NEGATIVE-GUTS X))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(NOT (LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X))
(NOT (LESSP Y
(SUB1 (TIMES 2 (EXP 2 (SUB1 N)))))))
(EQUAL (NAT-TO-TC 0 N)
(MINUS (DIFFERENCE (SUB1 (NEGATIVE-GUTS X))
Y)))),
which again simplifies, using linear arithmetic, to:
T.
Case 10.10.4.
(IMPLIES (AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(LESSP Y (SUB1 (NEGATIVE-GUTS X)))
(NOT (LESSP (EXP 2 (SUB1 N))
(DIFFERENCE (SUB1 (NEGATIVE-GUTS X))
Y)))
(LESSP Y (NEGATIVE-GUTS X))
(EQUAL (EXP 2 (SUB1 N)) 0)
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(NOT (LESSP (SUB1 (NEGATIVE-GUTS X)) Y)))
(EQUAL (NAT-TO-TC 0 N)
(MINUS (DIFFERENCE (SUB1 (NEGATIVE-GUTS X))
Y)))),
which again simplifies, using linear arithmetic, to:
T.
Case 10.10.3.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(LESSP Y (SUB1 (NEGATIVE-GUTS X)))
(NOT (LESSP (EXP 2 (SUB1 N))
(DIFFERENCE (SUB1 (NEGATIVE-GUTS X))
Y)))
(LESSP Y (NEGATIVE-GUTS X))
(NOT (LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(LESSP (SUB1 (NEGATIVE-GUTS X)) Y))
(EQUAL (NAT-TO-TC 1 N)
(MINUS (DIFFERENCE (SUB1 (NEGATIVE-GUTS X))
Y)))),
which again simplifies, using linear arithmetic, to:
T.
Case 10.10.2.
(IMPLIES (AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(LESSP Y (SUB1 (NEGATIVE-GUTS X)))
(NOT (LESSP (EXP 2 (SUB1 N))
(DIFFERENCE (SUB1 (NEGATIVE-GUTS X))
Y)))
(LESSP Y (NEGATIVE-GUTS X))
(EQUAL (EXP 2 (SUB1 N)) 0)
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(LESSP (SUB1 (NEGATIVE-GUTS X)) Y))
(EQUAL (NAT-TO-TC 1 N)
(MINUS (DIFFERENCE (SUB1 (NEGATIVE-GUTS X))
Y)))),
which again simplifies, using linear arithmetic, to:
T.
Case 10.10.1.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(LESSP Y (SUB1 (NEGATIVE-GUTS X)))
(NOT (LESSP (EXP 2 (SUB1 N))
(DIFFERENCE (SUB1 (NEGATIVE-GUTS X))
Y)))
(LESSP Y (NEGATIVE-GUTS X))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL
(NAT-TO-TC (ADD1 (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X))))
N)
(MINUS (DIFFERENCE (SUB1 (NEGATIVE-GUTS X))
Y)))),
which again simplifies, applying EQUAL-TIMES-0 and SUB1-ADD1, and
expanding DIFFERENCE, EQUAL, NUMBERP, EXP, LESSP, and NAT-TO-TC, to the
following two new formulas:
Case 10.10.1.2.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(LESSP Y (SUB1 (NEGATIVE-GUTS X)))
(NOT (LESSP (EXP 2 (SUB1 N))
(DIFFERENCE (SUB1 (NEGATIVE-GUTS X))
Y)))
(LESSP Y (NEGATIVE-GUTS X))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL
(MINUS (DIFFERENCE (SUB1 (TIMES 2 (EXP 2 (SUB1 N))))
(PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))))
(MINUS (DIFFERENCE (SUB1 (NEGATIVE-GUTS X))
Y)))).
But this again simplifies, rewriting with NEGATIVE-GUTS-MINUS and
MINUS-EQUAL, to:
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(LESSP Y (SUB1 (NEGATIVE-GUTS X)))
(NOT (LESSP (EXP 2 (SUB1 N))
(DIFFERENCE (SUB1 (NEGATIVE-GUTS X))
Y)))
(LESSP Y (NEGATIVE-GUTS X))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL (DIFFERENCE (SUB1 (TIMES 2 (EXP 2 (SUB1 N))))
(PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X))))
(DIFFERENCE (SUB1 (NEGATIVE-GUTS X))
Y))),
which again simplifies, using linear arithmetic, to four new goals:
Case 10.10.1.2.4.
(IMPLIES
(AND (LESSP (SUB1 (TIMES 2 (EXP 2 (SUB1 N))))
(PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X))))
(NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(LESSP Y (SUB1 (NEGATIVE-GUTS X)))
(NOT (LESSP (EXP 2 (SUB1 N))
(DIFFERENCE (SUB1 (NEGATIVE-GUTS X))
Y)))
(LESSP Y (NEGATIVE-GUTS X))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL
(DIFFERENCE (SUB1 (TIMES 2 (EXP 2 (SUB1 N))))
(PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X))))
(DIFFERENCE (SUB1 (NEGATIVE-GUTS X))
Y))),
which again simplifies, using linear arithmetic, to the conjecture:
(IMPLIES
(AND (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X))
(LESSP (SUB1 (TIMES 2 (EXP 2 (SUB1 N))))
(PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X))))
(NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(LESSP Y (SUB1 (NEGATIVE-GUTS X)))
(NOT (LESSP (EXP 2 (SUB1 N))
(DIFFERENCE (SUB1 (NEGATIVE-GUTS X))
Y)))
(LESSP Y (NEGATIVE-GUTS X))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL
(DIFFERENCE (SUB1 (TIMES 2 (EXP 2 (SUB1 N))))
(PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X))))
(DIFFERENCE (SUB1 (NEGATIVE-GUTS X))
Y))).
However this finally simplifies, using linear arithmetic, to:
T.
Case 10.10.1.2.3.
(IMPLIES
(AND (EQUAL (TIMES 2 (EXP 2 (SUB1 N))) 0)
(NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(LESSP Y (SUB1 (NEGATIVE-GUTS X)))
(NOT (LESSP (EXP 2 (SUB1 N))
(DIFFERENCE (SUB1 (NEGATIVE-GUTS X))
Y)))
(LESSP Y (NEGATIVE-GUTS X))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL
(DIFFERENCE (SUB1 (TIMES 2 (EXP 2 (SUB1 N))))
(PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X))))
(DIFFERENCE (SUB1 (NEGATIVE-GUTS X))
Y))),
which finally simplifies, using linear arithmetic, to:
T.
Case 10.10.1.2.2.
(IMPLIES
(AND (LESSP (SUB1 (NEGATIVE-GUTS X)) Y)
(NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(LESSP Y (SUB1 (NEGATIVE-GUTS X)))
(NOT (LESSP (EXP 2 (SUB1 N))
(DIFFERENCE (SUB1 (NEGATIVE-GUTS X))
Y)))
(LESSP Y (NEGATIVE-GUTS X))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL
(DIFFERENCE (SUB1 (TIMES 2 (EXP 2 (SUB1 N))))
(PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X))))
(DIFFERENCE (SUB1 (NEGATIVE-GUTS X))
Y))),
which finally simplifies, using linear arithmetic, to:
T.
Case 10.10.1.2.1.
(IMPLIES
(AND (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X))
(NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(LESSP Y (SUB1 (NEGATIVE-GUTS X)))
(NOT (LESSP (EXP 2 (SUB1 N))
(DIFFERENCE (SUB1 (NEGATIVE-GUTS X))
Y)))
(LESSP Y (NEGATIVE-GUTS X))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL
(DIFFERENCE (SUB1 (TIMES 2 (EXP 2 (SUB1 N))))
(PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X))))
(DIFFERENCE (SUB1 (NEGATIVE-GUTS X))
Y))),
which finally simplifies, using linear arithmetic, to:
T.
Case 10.10.1.1.
(IMPLIES (AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(LESSP Y (SUB1 (NEGATIVE-GUTS X)))
(NOT (LESSP (EXP 2 (SUB1 N))
(DIFFERENCE (SUB1 (NEGATIVE-GUTS X))
Y)))
(LESSP Y (NEGATIVE-GUTS X))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(SUB1 (EXP 2 (SUB1 N)))))),
which again simplifies, using linear arithmetic, to:
T.
Case 10.9.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(LESSP Y (SUB1 (NEGATIVE-GUTS X)))
(TC-IN-RANGEP (MINUS (DIFFERENCE (SUB1 (NEGATIVE-GUTS X))
Y))
N)
(NOT (LESSP Y (NEGATIVE-GUTS X)))
(NOT (LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X))
(LESSP Y
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL (NAT-TO-TC (ADD1 Y) N)
(MINUS (DIFFERENCE (SUB1 (NEGATIVE-GUTS X))
Y)))),
which again simplifies, using linear arithmetic, to:
T.
Case 10.8.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(LESSP Y (SUB1 (NEGATIVE-GUTS X)))
(TC-IN-RANGEP (MINUS (DIFFERENCE (SUB1 (NEGATIVE-GUTS X))
Y))
N)
(NOT (LESSP Y (NEGATIVE-GUTS X)))
(EQUAL (EXP 2 (SUB1 N)) 0)
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(EQUAL (NAT-TO-TC (ADD1 Y) N)
(MINUS (DIFFERENCE (SUB1 (NEGATIVE-GUTS X))
Y)))),
which again simplifies, using linear arithmetic, to:
T.
Case 10.7.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(LESSP Y (SUB1 (NEGATIVE-GUTS X)))
(TC-IN-RANGEP (MINUS (DIFFERENCE (SUB1 (NEGATIVE-GUTS X))
Y))
N)
(NOT (LESSP Y (NEGATIVE-GUTS X)))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(NOT (LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(NOT (LESSP (DIFFERENCE Y (NEGATIVE-GUTS X))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N)))))))
(EQUAL (NAT-TO-TC 0 N)
(MINUS (DIFFERENCE (SUB1 (NEGATIVE-GUTS X))
Y)))),
which again simplifies, using linear arithmetic, to:
T.
Case 10.6.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(LESSP Y (SUB1 (NEGATIVE-GUTS X)))
(TC-IN-RANGEP (MINUS (DIFFERENCE (SUB1 (NEGATIVE-GUTS X))
Y))
N)
(NOT (LESSP Y (NEGATIVE-GUTS X)))
(NOT (LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(NOT (LESSP (SUB1 (NEGATIVE-GUTS X)) Y)))
(EQUAL (NAT-TO-TC 0 N)
(MINUS (DIFFERENCE (SUB1 (NEGATIVE-GUTS X))
Y)))),
which again simplifies, using linear arithmetic, to:
T.
Case 10.5.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(LESSP Y (SUB1 (NEGATIVE-GUTS X)))
(TC-IN-RANGEP (MINUS (DIFFERENCE (SUB1 (NEGATIVE-GUTS X))
Y))
N)
(NOT (LESSP Y (NEGATIVE-GUTS X)))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(NOT (LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X))
(NOT (LESSP Y
(SUB1 (TIMES 2 (EXP 2 (SUB1 N)))))))
(EQUAL (NAT-TO-TC 0 N)
(MINUS (DIFFERENCE (SUB1 (NEGATIVE-GUTS X))
Y)))),
which again simplifies, using linear arithmetic, to:
T.
Case 10.4.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(LESSP Y (SUB1 (NEGATIVE-GUTS X)))
(TC-IN-RANGEP (MINUS (DIFFERENCE (SUB1 (NEGATIVE-GUTS X))
Y))
N)
(NOT (LESSP Y (NEGATIVE-GUTS X)))
(EQUAL (EXP 2 (SUB1 N)) 0)
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(NOT (LESSP (SUB1 (NEGATIVE-GUTS X)) Y)))
(EQUAL (NAT-TO-TC 0 N)
(MINUS (DIFFERENCE (SUB1 (NEGATIVE-GUTS X))
Y)))),
which again simplifies, using linear arithmetic, to:
T.
Case 10.3.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(LESSP Y (SUB1 (NEGATIVE-GUTS X)))
(TC-IN-RANGEP (MINUS (DIFFERENCE (SUB1 (NEGATIVE-GUTS X))
Y))
N)
(NOT (LESSP Y (NEGATIVE-GUTS X)))
(NOT (LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(LESSP (SUB1 (NEGATIVE-GUTS X)) Y)
(LESSP (DIFFERENCE Y (NEGATIVE-GUTS X))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL (NAT-TO-TC (ADD1 (DIFFERENCE Y (NEGATIVE-GUTS X)))
N)
(MINUS (DIFFERENCE (SUB1 (NEGATIVE-GUTS X))
Y)))),
which again simplifies, using linear arithmetic, to:
T.
Case 10.2.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(LESSP Y (SUB1 (NEGATIVE-GUTS X)))
(TC-IN-RANGEP (MINUS (DIFFERENCE (SUB1 (NEGATIVE-GUTS X))
Y))
N)
(NOT (LESSP Y (NEGATIVE-GUTS X)))
(EQUAL (EXP 2 (SUB1 N)) 0)
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(LESSP (SUB1 (NEGATIVE-GUTS X)) Y))
(EQUAL (NAT-TO-TC (ADD1 (DIFFERENCE Y (NEGATIVE-GUTS X)))
N)
(MINUS (DIFFERENCE (SUB1 (NEGATIVE-GUTS X))
Y)))),
which again simplifies, using linear arithmetic, to:
T.
Case 10.1.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(LESSP Y (SUB1 (NEGATIVE-GUTS X)))
(TC-IN-RANGEP (MINUS (DIFFERENCE (SUB1 (NEGATIVE-GUTS X))
Y))
N)
(NOT (LESSP Y (NEGATIVE-GUTS X)))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL (NAT-TO-TC (ADD1 (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X))))
N)
(MINUS (DIFFERENCE (SUB1 (NEGATIVE-GUTS X))
Y)))),
which again simplifies, using linear arithmetic, to:
(IMPLIES
(AND (EQUAL (TIMES 2 (EXP 2 (SUB1 N))) 0)
(NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
C
(LESSP Y (SUB1 (NEGATIVE-GUTS X)))
(TC-IN-RANGEP (MINUS (DIFFERENCE (SUB1 (NEGATIVE-GUTS X))
Y))
N)
(NOT (LESSP Y (NEGATIVE-GUTS X)))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL (NAT-TO-TC (ADD1 (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X))))
N)
(MINUS (DIFFERENCE (SUB1 (NEGATIVE-GUTS X))
Y)))).
However this again simplifies, using linear arithmetic, to:
T.
Case 9. (IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
(NOT C)
(NOT (TC-IN-RANGEP (ADD X (PLUS Y 0)) N))
(NEGATIVEP (ADD X (PLUS Y 0))))
(EQUAL
(NAT-TO-TC (REMAINDER (PLUS Y 0
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(TIMES 2 (EXP 2 (SUB1 N))))
N)
(ADD X
(PLUS Y 0
(TIMES 2 (EXP 2 (SUB1 N))))))),
which again simplifies, using linear arithmetic, applying
COMMUTATIVITY-OF-PLUS, REMAINDER-OF-0, PATHOLOGICAL-DIFFERENCE,
EQUAL-TIMES-0, REMAINDER-CROCK3, and EXP-2-NEVER-0, and opening up the
definitions of EQUAL, PLUS, ADD, DIFFERENCE, NUMBERP, REMAINDER, and MINUS,
to the following ten new formulas:
Case 9.10.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
(LESSP Y (NEGATIVE-GUTS X))
(NOT (TC-IN-RANGEP (MINUS (DIFFERENCE (NEGATIVE-GUTS X) Y))
N))
(NOT (LESSP (PLUS Y (TIMES 2 (EXP 2 (SUB1 N))))
(NEGATIVE-GUTS X)))
(NOT (LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(TIMES 2 (EXP 2 (SUB1 N)))))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X))
(EQUAL (EXP 2 (SUB1 N)) 0))
(EQUAL (NAT-TO-TC Y N)
(DIFFERENCE (PLUS Y (TIMES 2 (EXP 2 (SUB1 N))))
(NEGATIVE-GUTS X)))).
But this again simplifies, using linear arithmetic, to:
T.
Case 9.9.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
(LESSP Y (NEGATIVE-GUTS X))
(NOT (TC-IN-RANGEP (MINUS (DIFFERENCE (NEGATIVE-GUTS X) Y))
N))
(NOT (LESSP (PLUS Y (TIMES 2 (EXP 2 (SUB1 N))))
(NEGATIVE-GUTS X)))
(NOT (LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(TIMES 2 (EXP 2 (SUB1 N)))))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X))
(LESSP Y (TIMES 2 (EXP 2 (SUB1 N)))))
(EQUAL (NAT-TO-TC Y N)
(DIFFERENCE (PLUS Y (TIMES 2 (EXP 2 (SUB1 N))))
(NEGATIVE-GUTS X)))),
which again simplifies, using linear arithmetic, to:
T.
Case 9.8.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
(LESSP Y (NEGATIVE-GUTS X))
(NOT (TC-IN-RANGEP (MINUS (DIFFERENCE (NEGATIVE-GUTS X) Y))
N))
(NOT (LESSP (PLUS Y (TIMES 2 (EXP 2 (SUB1 N))))
(NEGATIVE-GUTS X)))
(NOT (LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(TIMES 2 (EXP 2 (SUB1 N)))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X))))
(EQUAL (NAT-TO-TC 0 N)
(DIFFERENCE (PLUS Y (TIMES 2 (EXP 2 (SUB1 N))))
(NEGATIVE-GUTS X)))),
which again simplifies, using linear arithmetic, to:
T.
Case 9.7.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
(LESSP Y (NEGATIVE-GUTS X))
(NOT (TC-IN-RANGEP (MINUS (DIFFERENCE (NEGATIVE-GUTS X) Y))
N))
(NOT (LESSP (PLUS Y (TIMES 2 (EXP 2 (SUB1 N))))
(NEGATIVE-GUTS X)))
(NOT (LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(TIMES 2 (EXP 2 (SUB1 N)))))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(NOT (LESSP Y (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL (NAT-TO-TC 0 N)
(DIFFERENCE (PLUS Y (TIMES 2 (EXP 2 (SUB1 N))))
(NEGATIVE-GUTS X)))),
which again simplifies, using linear arithmetic, to:
(IMPLIES
(AND (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X))
(NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
(LESSP Y (NEGATIVE-GUTS X))
(NOT (TC-IN-RANGEP (MINUS (DIFFERENCE (NEGATIVE-GUTS X) Y))
N))
(NOT (LESSP (PLUS Y (TIMES 2 (EXP 2 (SUB1 N))))
(NEGATIVE-GUTS X)))
(NOT (LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(TIMES 2 (EXP 2 (SUB1 N)))))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(NOT (LESSP Y (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL (NAT-TO-TC 0 N)
(DIFFERENCE (PLUS Y (TIMES 2 (EXP 2 (SUB1 N))))
(NEGATIVE-GUTS X)))).
This again simplifies, using linear arithmetic, to:
T.
Case 9.6.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
(LESSP Y (NEGATIVE-GUTS X))
(NOT (TC-IN-RANGEP (MINUS (DIFFERENCE (NEGATIVE-GUTS X) Y))
N))
(NOT (LESSP (PLUS Y (TIMES 2 (EXP 2 (SUB1 N))))
(NEGATIVE-GUTS X)))
(LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(TIMES 2 (EXP 2 (SUB1 N)))))
(EQUAL (NAT-TO-TC (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
N)
(DIFFERENCE (PLUS Y (TIMES 2 (EXP 2 (SUB1 N))))
(NEGATIVE-GUTS X)))),
which again simplifies, applying NEGATIVE-GUTS-MINUS, and expanding the
functions TC-IN-RANGEP, EXP, and NAT-TO-TC, to the following two new goals:
Case 9.6.2.
(IMPLIES (AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
(LESSP Y (NEGATIVE-GUTS X))
(LESSP (EXP 2 (SUB1 N))
(DIFFERENCE (NEGATIVE-GUTS X) Y))
(NOT (LESSP (PLUS Y (TIMES 2 (EXP 2 (SUB1 N))))
(NEGATIVE-GUTS X)))
(LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(TIMES 2 (EXP 2 (SUB1 N)))))
(EQUAL (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(DIFFERENCE (PLUS Y (TIMES 2 (EXP 2 (SUB1 N))))
(NEGATIVE-GUTS X)))).
However this again simplifies, using linear arithmetic, to:
(IMPLIES (AND (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X))
(NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
(LESSP Y (NEGATIVE-GUTS X))
(LESSP (EXP 2 (SUB1 N))
(DIFFERENCE (NEGATIVE-GUTS X) Y))
(NOT (LESSP (PLUS Y (TIMES 2 (EXP 2 (SUB1 N))))
(NEGATIVE-GUTS X)))
(LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(TIMES 2 (EXP 2 (SUB1 N)))))
(EQUAL (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(DIFFERENCE (PLUS Y (TIMES 2 (EXP 2 (SUB1 N))))
(NEGATIVE-GUTS X)))).
However this again simplifies, using linear arithmetic, to:
(IMPLIES (AND (LESSP (NEGATIVE-GUTS X) Y)
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X))
(NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
(LESSP Y (NEGATIVE-GUTS X))
(LESSP (EXP 2 (SUB1 N))
(DIFFERENCE (NEGATIVE-GUTS X) Y))
(NOT (LESSP (PLUS Y (TIMES 2 (EXP 2 (SUB1 N))))
(NEGATIVE-GUTS X)))
(LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(TIMES 2 (EXP 2 (SUB1 N)))))
(EQUAL (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(DIFFERENCE (PLUS Y (TIMES 2 (EXP 2 (SUB1 N))))
(NEGATIVE-GUTS X)))).
But this again simplifies, using linear arithmetic, to:
T.
Case 9.6.1.
(IMPLIES (AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
(LESSP Y (NEGATIVE-GUTS X))
(LESSP (EXP 2 (SUB1 N))
(DIFFERENCE (NEGATIVE-GUTS X) Y))
(NOT (LESSP (PLUS Y (TIMES 2 (EXP 2 (SUB1 N))))
(NEGATIVE-GUTS X)))
(LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(TIMES 2 (EXP 2 (SUB1 N)))))
(LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(EXP 2 (SUB1 N)))),
which again simplifies, using linear arithmetic, to two new goals:
Case 9.6.1.2.
(IMPLIES (AND (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X))
(NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
(LESSP Y (NEGATIVE-GUTS X))
(LESSP (EXP 2 (SUB1 N))
(DIFFERENCE (NEGATIVE-GUTS X) Y))
(NOT (LESSP (PLUS Y (TIMES 2 (EXP 2 (SUB1 N))))
(NEGATIVE-GUTS X)))
(LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(TIMES 2 (EXP 2 (SUB1 N)))))
(LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(EXP 2 (SUB1 N)))),
which again simplifies, using linear arithmetic, to:
(IMPLIES (AND (LESSP (NEGATIVE-GUTS X) Y)
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X))
(NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
(LESSP Y (NEGATIVE-GUTS X))
(LESSP (EXP 2 (SUB1 N))
(DIFFERENCE (NEGATIVE-GUTS X) Y))
(NOT (LESSP (PLUS Y (TIMES 2 (EXP 2 (SUB1 N))))
(NEGATIVE-GUTS X)))
(LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(TIMES 2 (EXP 2 (SUB1 N)))))
(LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(EXP 2 (SUB1 N)))).
However this again simplifies, using linear arithmetic, to:
T.
Case 9.6.1.1.
(IMPLIES (AND (LESSP (NEGATIVE-GUTS X) Y)
(NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
(LESSP Y (NEGATIVE-GUTS X))
(LESSP (EXP 2 (SUB1 N))
(DIFFERENCE (NEGATIVE-GUTS X) Y))
(NOT (LESSP (PLUS Y (TIMES 2 (EXP 2 (SUB1 N))))
(NEGATIVE-GUTS X)))
(LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(TIMES 2 (EXP 2 (SUB1 N)))))
(LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(EXP 2 (SUB1 N)))),
which again simplifies, using linear arithmetic, to:
T.
Case 9.5.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
(LESSP Y (NEGATIVE-GUTS X))
(NOT (TC-IN-RANGEP (MINUS (DIFFERENCE (NEGATIVE-GUTS X) Y))
N))
(LESSP (PLUS Y (TIMES 2 (EXP 2 (SUB1 N))))
(NEGATIVE-GUTS X))
(NOT (LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(TIMES 2 (EXP 2 (SUB1 N)))))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X))
(EQUAL (EXP 2 (SUB1 N)) 0))
(EQUAL (NAT-TO-TC Y N) (MINUS 0))),
which again simplifies, using linear arithmetic, to:
T.
Case 9.4.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
(LESSP Y (NEGATIVE-GUTS X))
(NOT (TC-IN-RANGEP (MINUS (DIFFERENCE (NEGATIVE-GUTS X) Y))
N))
(LESSP (PLUS Y (TIMES 2 (EXP 2 (SUB1 N))))
(NEGATIVE-GUTS X))
(NOT (LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(TIMES 2 (EXP 2 (SUB1 N)))))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X))
(LESSP Y (TIMES 2 (EXP 2 (SUB1 N)))))
(EQUAL (NAT-TO-TC Y N) (MINUS 0))),
which again simplifies, using linear arithmetic, to:
T.
Case 9.3.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
(LESSP Y (NEGATIVE-GUTS X))
(NOT (TC-IN-RANGEP (MINUS (DIFFERENCE (NEGATIVE-GUTS X) Y))
N))
(LESSP (PLUS Y (TIMES 2 (EXP 2 (SUB1 N))))
(NEGATIVE-GUTS X))
(NOT (LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(TIMES 2 (EXP 2 (SUB1 N)))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X))))
(EQUAL (NAT-TO-TC 0 N) (MINUS 0))),
which again simplifies, using linear arithmetic, to:
T.
Case 9.2.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
(LESSP Y (NEGATIVE-GUTS X))
(NOT (TC-IN-RANGEP (MINUS (DIFFERENCE (NEGATIVE-GUTS X) Y))
N))
(LESSP (PLUS Y (TIMES 2 (EXP 2 (SUB1 N))))
(NEGATIVE-GUTS X))
(NOT (LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(TIMES 2 (EXP 2 (SUB1 N)))))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(NOT (LESSP Y (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL (NAT-TO-TC 0 N) (MINUS 0))),
which again simplifies, using linear arithmetic, to the goal:
(IMPLIES
(AND (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X))
(NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
(LESSP Y (NEGATIVE-GUTS X))
(NOT (TC-IN-RANGEP (MINUS (DIFFERENCE (NEGATIVE-GUTS X) Y))
N))
(LESSP (PLUS Y (TIMES 2 (EXP 2 (SUB1 N))))
(NEGATIVE-GUTS X))
(NOT (LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(TIMES 2 (EXP 2 (SUB1 N)))))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(NOT (LESSP Y (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL (NAT-TO-TC 0 N) (MINUS 0))).
But this again simplifies, using linear arithmetic, to:
T.
Case 9.1.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
(LESSP Y (NEGATIVE-GUTS X))
(NOT (TC-IN-RANGEP (MINUS (DIFFERENCE (NEGATIVE-GUTS X) Y))
N))
(LESSP (PLUS Y (TIMES 2 (EXP 2 (SUB1 N))))
(NEGATIVE-GUTS X))
(LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(TIMES 2 (EXP 2 (SUB1 N)))))
(EQUAL (NAT-TO-TC (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
N)
(MINUS 0))),
which again simplifies, using linear arithmetic, to:
T.
Case 8. (IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
(NOT C)
(NOT (TC-IN-RANGEP (ADD X (PLUS Y 0)) N))
(NOT (NEGATIVEP (ADD X (PLUS Y 0)))))
(EQUAL
(NAT-TO-TC (REMAINDER (PLUS Y 0
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(TIMES 2 (EXP 2 (SUB1 N))))
N)
(ADD X
(ADD Y
(ADD 0
(MINUS (TIMES 2 (EXP 2 (SUB1 N))))))))),
which again simplifies, using linear arithmetic, rewriting with
COMMUTATIVITY-OF-PLUS, REMAINDER-OF-0, PATHOLOGICAL-DIFFERENCE,
EQUAL-TIMES-0, DIFFERENCE-DIFFERENCE, REMAINDER-CROCK3, EXP-2-NEVER-0, and
NEGATIVE-GUTS-MINUS, and opening up EQUAL, PLUS, ADD, DIFFERENCE, NUMBERP,
REMAINDER, LESSP, and NEGATIVEP, to the following eight new formulas:
Case 8.8.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
(NOT (LESSP Y (NEGATIVE-GUTS X)))
(NOT (TC-IN-RANGEP (DIFFERENCE Y (NEGATIVE-GUTS X))
N))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(NOT (LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(TIMES 2 (EXP 2 (SUB1 N)))))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X))
(LESSP Y (TIMES 2 (EXP 2 (SUB1 N)))))
(EQUAL (NAT-TO-TC Y N)
(ADD X
(ADD Y
(MINUS (TIMES 2 (EXP 2 (SUB1 N)))))))).
But this again simplifies, using linear arithmetic, to:
T.
Case 8.7.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
(NOT (LESSP Y (NEGATIVE-GUTS X)))
(NOT (TC-IN-RANGEP (DIFFERENCE Y (NEGATIVE-GUTS X))
N))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(NOT (LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(TIMES 2 (EXP 2 (SUB1 N)))))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X))
(NOT (LESSP Y (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL (NAT-TO-TC 0 N)
(ADD X
(ADD Y
(MINUS (TIMES 2 (EXP 2 (SUB1 N)))))))),
which again simplifies, using linear arithmetic, to:
T.
Case 8.6.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
(NOT (LESSP Y (NEGATIVE-GUTS X)))
(NOT (TC-IN-RANGEP (DIFFERENCE Y (NEGATIVE-GUTS X))
N))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(NOT (LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(TIMES 2 (EXP 2 (SUB1 N)))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(NOT (LESSP (DIFFERENCE Y (NEGATIVE-GUTS X))
(TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL (NAT-TO-TC 0 N)
(ADD X
(ADD Y
(MINUS (TIMES 2 (EXP 2 (SUB1 N)))))))),
which again simplifies, using linear arithmetic, to:
T.
Case 8.5.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
(NOT (LESSP Y (NEGATIVE-GUTS X)))
(NOT (TC-IN-RANGEP (DIFFERENCE Y (NEGATIVE-GUTS X))
N))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(NOT (LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(TIMES 2 (EXP 2 (SUB1 N)))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(LESSP (DIFFERENCE Y (NEGATIVE-GUTS X))
(TIMES 2 (EXP 2 (SUB1 N)))))
(EQUAL (NAT-TO-TC (DIFFERENCE Y (NEGATIVE-GUTS X))
N)
(ADD X
(ADD Y
(MINUS (TIMES 2 (EXP 2 (SUB1 N)))))))),
which again simplifies, using linear arithmetic, applying the lemmas
EQUAL-TIMES-0, PATHOLOGICAL-DIFFERENCE, and NEGATIVE-GUTS-MINUS, and
expanding the definitions of TC-IN-RANGEP, EXP, NAT-TO-TC, DIFFERENCE,
EQUAL, NUMBERP, and ADD, to two new goals:
Case 8.5.2.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
(NOT (LESSP Y (NEGATIVE-GUTS X)))
(NOT (LESSP (DIFFERENCE Y (NEGATIVE-GUTS X))
(EXP 2 (SUB1 N))))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(NOT (LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(TIMES 2 (EXP 2 (SUB1 N)))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(LESSP (DIFFERENCE Y (NEGATIVE-GUTS X))
(TIMES 2 (EXP 2 (SUB1 N))))
(NOT (LESSP Y (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL (MINUS (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(DIFFERENCE Y (NEGATIVE-GUTS X))))
(ADD X 0))),
which again simplifies, using linear arithmetic, to:
T.
Case 8.5.1.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
(NOT (LESSP Y (NEGATIVE-GUTS X)))
(NOT (LESSP (DIFFERENCE Y (NEGATIVE-GUTS X))
(EXP 2 (SUB1 N))))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(NOT (LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(TIMES 2 (EXP 2 (SUB1 N)))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(LESSP (DIFFERENCE Y (NEGATIVE-GUTS X))
(TIMES 2 (EXP 2 (SUB1 N))))
(LESSP Y (TIMES 2 (EXP 2 (SUB1 N)))))
(EQUAL (MINUS (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(DIFFERENCE Y (NEGATIVE-GUTS X))))
(ADD X
(MINUS (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
Y))))),
which again simplifies, using linear arithmetic, to:
T.
Case 8.4.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
(NOT (LESSP Y (NEGATIVE-GUTS X)))
(NOT (TC-IN-RANGEP (DIFFERENCE Y (NEGATIVE-GUTS X))
N))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(TIMES 2 (EXP 2 (SUB1 N)))))
(EQUAL (NAT-TO-TC (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
N)
(ADD X
(ADD Y
(MINUS (TIMES 2 (EXP 2 (SUB1 N)))))))),
which again simplifies, using linear arithmetic, to:
T.
Case 8.3.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
(NOT (LESSP Y (NEGATIVE-GUTS X)))
(NOT (TC-IN-RANGEP (DIFFERENCE Y (NEGATIVE-GUTS X))
N))
(EQUAL (EXP 2 (SUB1 N)) 0)
(NOT (LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(TIMES 2 (EXP 2 (SUB1 N)))))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(EQUAL (NAT-TO-TC Y N)
(ADD X (ADD Y 0)))),
which again simplifies, using linear arithmetic, to:
T.
Case 8.2.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
(NOT (LESSP Y (NEGATIVE-GUTS X)))
(NOT (TC-IN-RANGEP (DIFFERENCE Y (NEGATIVE-GUTS X))
N))
(EQUAL (EXP 2 (SUB1 N)) 0)
(NOT (LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(TIMES 2 (EXP 2 (SUB1 N)))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X))))
(EQUAL (NAT-TO-TC (DIFFERENCE Y (NEGATIVE-GUTS X))
N)
(ADD X (ADD Y 0)))),
which again simplifies, using linear arithmetic, to:
T.
Case 8.1.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
(NOT (LESSP Y (NEGATIVE-GUTS X)))
(NOT (TC-IN-RANGEP (DIFFERENCE Y (NEGATIVE-GUTS X))
N))
(EQUAL (EXP 2 (SUB1 N)) 0)
(LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(TIMES 2 (EXP 2 (SUB1 N)))))
(EQUAL (NAT-TO-TC (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
N)
(ADD X (ADD Y 0)))),
which again simplifies, using linear arithmetic, to:
T.
Case 7. (IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
(NOT C)
(TC-IN-RANGEP (ADD X (PLUS Y 0)) N))
(EQUAL
(NAT-TO-TC (REMAINDER (PLUS Y 0
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(TIMES 2 (EXP 2 (SUB1 N))))
N)
(ADD X (PLUS Y 0)))),
which again simplifies, using linear arithmetic, rewriting with the lemmas
COMMUTATIVITY-OF-PLUS, REMAINDER-OF-0, PATHOLOGICAL-DIFFERENCE,
EQUAL-TIMES-0, DIFFERENCE-DIFFERENCE, and REMAINDER-CROCK3, and expanding
EQUAL, PLUS, ADD, DIFFERENCE, NUMBERP, and REMAINDER, to 12 new conjectures:
Case 7.12.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
(NOT (LESSP Y (NEGATIVE-GUTS X)))
(TC-IN-RANGEP (DIFFERENCE Y (NEGATIVE-GUTS X))
N)
(NOT (LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(TIMES 2 (EXP 2 (SUB1 N)))))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X))
(EQUAL (EXP 2 (SUB1 N)) 0))
(EQUAL (NAT-TO-TC Y N)
(DIFFERENCE Y (NEGATIVE-GUTS X)))),
which again simplifies, using linear arithmetic, to:
T.
Case 7.11.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
(NOT (LESSP Y (NEGATIVE-GUTS X)))
(TC-IN-RANGEP (DIFFERENCE Y (NEGATIVE-GUTS X))
N)
(NOT (LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(TIMES 2 (EXP 2 (SUB1 N)))))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X))
(LESSP Y (TIMES 2 (EXP 2 (SUB1 N)))))
(EQUAL (NAT-TO-TC Y N)
(DIFFERENCE Y (NEGATIVE-GUTS X)))),
which again simplifies, using linear arithmetic, to:
T.
Case 7.10.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
(NOT (LESSP Y (NEGATIVE-GUTS X)))
(TC-IN-RANGEP (DIFFERENCE Y (NEGATIVE-GUTS X))
N)
(NOT (LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(TIMES 2 (EXP 2 (SUB1 N)))))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(NOT (LESSP Y (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL (NAT-TO-TC 0 N)
(DIFFERENCE Y (NEGATIVE-GUTS X)))),
which again simplifies, using linear arithmetic, to:
T.
Case 7.9.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
(NOT (LESSP Y (NEGATIVE-GUTS X)))
(TC-IN-RANGEP (DIFFERENCE Y (NEGATIVE-GUTS X))
N)
(NOT (LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(TIMES 2 (EXP 2 (SUB1 N)))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(NOT (LESSP (DIFFERENCE Y (NEGATIVE-GUTS X))
(TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL (NAT-TO-TC 0 N)
(DIFFERENCE Y (NEGATIVE-GUTS X)))),
which again simplifies, using linear arithmetic, to:
T.
Case 7.8.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
(NOT (LESSP Y (NEGATIVE-GUTS X)))
(TC-IN-RANGEP (DIFFERENCE Y (NEGATIVE-GUTS X))
N)
(NOT (LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(TIMES 2 (EXP 2 (SUB1 N)))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(EQUAL (EXP 2 (SUB1 N)) 0))
(EQUAL (NAT-TO-TC (DIFFERENCE Y (NEGATIVE-GUTS X))
N)
(DIFFERENCE Y (NEGATIVE-GUTS X)))),
which again simplifies, using linear arithmetic, to:
T.
Case 7.7.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
(NOT (LESSP Y (NEGATIVE-GUTS X)))
(TC-IN-RANGEP (DIFFERENCE Y (NEGATIVE-GUTS X))
N)
(NOT (LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(TIMES 2 (EXP 2 (SUB1 N)))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(LESSP (DIFFERENCE Y (NEGATIVE-GUTS X))
(TIMES 2 (EXP 2 (SUB1 N)))))
(EQUAL (NAT-TO-TC (DIFFERENCE Y (NEGATIVE-GUTS X))
N)
(DIFFERENCE Y (NEGATIVE-GUTS X)))),
which again simplifies, unfolding the definitions of TC-IN-RANGEP and
NAT-TO-TC, to:
T.
Case 7.6.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
(NOT (LESSP Y (NEGATIVE-GUTS X)))
(TC-IN-RANGEP (DIFFERENCE Y (NEGATIVE-GUTS X))
N)
(LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(TIMES 2 (EXP 2 (SUB1 N)))))
(EQUAL (NAT-TO-TC (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
N)
(DIFFERENCE Y (NEGATIVE-GUTS X)))),
which again simplifies, using linear arithmetic, to:
T.
Case 7.5.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
(LESSP Y (NEGATIVE-GUTS X))
(TC-IN-RANGEP (MINUS (DIFFERENCE (NEGATIVE-GUTS X) Y))
N)
(NOT (LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(TIMES 2 (EXP 2 (SUB1 N)))))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X))
(EQUAL (EXP 2 (SUB1 N)) 0))
(EQUAL (NAT-TO-TC Y N)
(MINUS (DIFFERENCE (NEGATIVE-GUTS X) Y)))),
which again simplifies, using linear arithmetic, to:
T.
Case 7.4.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
(LESSP Y (NEGATIVE-GUTS X))
(TC-IN-RANGEP (MINUS (DIFFERENCE (NEGATIVE-GUTS X) Y))
N)
(NOT (LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(TIMES 2 (EXP 2 (SUB1 N)))))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X))
(LESSP Y (TIMES 2 (EXP 2 (SUB1 N)))))
(EQUAL (NAT-TO-TC Y N)
(MINUS (DIFFERENCE (NEGATIVE-GUTS X) Y)))),
which again simplifies, using linear arithmetic, to:
T.
Case 7.3.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
(LESSP Y (NEGATIVE-GUTS X))
(TC-IN-RANGEP (MINUS (DIFFERENCE (NEGATIVE-GUTS X) Y))
N)
(NOT (LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(TIMES 2 (EXP 2 (SUB1 N)))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X))))
(EQUAL (NAT-TO-TC 0 N)
(MINUS (DIFFERENCE (NEGATIVE-GUTS X) Y)))),
which again simplifies, using linear arithmetic, to:
T.
Case 7.2.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
(LESSP Y (NEGATIVE-GUTS X))
(TC-IN-RANGEP (MINUS (DIFFERENCE (NEGATIVE-GUTS X) Y))
N)
(NOT (LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(TIMES 2 (EXP 2 (SUB1 N)))))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(NOT (LESSP Y (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL (NAT-TO-TC 0 N)
(MINUS (DIFFERENCE (NEGATIVE-GUTS X) Y)))),
which again simplifies, using linear arithmetic, to:
(IMPLIES
(AND (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X))
(NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
(LESSP Y (NEGATIVE-GUTS X))
(TC-IN-RANGEP (MINUS (DIFFERENCE (NEGATIVE-GUTS X) Y))
N)
(NOT (LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(TIMES 2 (EXP 2 (SUB1 N)))))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(NOT (LESSP Y (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL (NAT-TO-TC 0 N)
(MINUS (DIFFERENCE (NEGATIVE-GUTS X) Y)))).
This again simplifies, using linear arithmetic, to:
T.
Case 7.1.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
(LESSP Y (NEGATIVE-GUTS X))
(TC-IN-RANGEP (MINUS (DIFFERENCE (NEGATIVE-GUTS X) Y))
N)
(LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(TIMES 2 (EXP 2 (SUB1 N)))))
(EQUAL (NAT-TO-TC (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
N)
(MINUS (DIFFERENCE (NEGATIVE-GUTS X) Y)))),
which again simplifies, appealing to the lemma NEGATIVE-GUTS-MINUS, and
expanding the functions TC-IN-RANGEP, EXP, and NAT-TO-TC, to two new
conjectures:
Case 7.1.2.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
(LESSP Y (NEGATIVE-GUTS X))
(NOT (LESSP (EXP 2 (SUB1 N))
(DIFFERENCE (NEGATIVE-GUTS X) Y)))
(LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(TIMES 2 (EXP 2 (SUB1 N)))))
(EQUAL
(MINUS (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))))
(MINUS (DIFFERENCE (NEGATIVE-GUTS X) Y)))),
which again simplifies, rewriting with NEGATIVE-GUTS-MINUS and
MINUS-EQUAL, to:
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
(LESSP Y (NEGATIVE-GUTS X))
(NOT (LESSP (EXP 2 (SUB1 N))
(DIFFERENCE (NEGATIVE-GUTS X) Y)))
(LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(TIMES 2 (EXP 2 (SUB1 N)))))
(EQUAL (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X))))
(DIFFERENCE (NEGATIVE-GUTS X) Y))),
which again simplifies, using linear arithmetic, to three new
conjectures:
Case 7.1.2.3.
(IMPLIES
(AND (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X))))
(NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
(LESSP Y (NEGATIVE-GUTS X))
(NOT (LESSP (EXP 2 (SUB1 N))
(DIFFERENCE (NEGATIVE-GUTS X) Y)))
(LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(TIMES 2 (EXP 2 (SUB1 N)))))
(EQUAL (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X))))
(DIFFERENCE (NEGATIVE-GUTS X) Y))),
which again simplifies, using linear arithmetic, to:
(IMPLIES
(AND (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X))))
(NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
(LESSP Y (NEGATIVE-GUTS X))
(NOT (LESSP (EXP 2 (SUB1 N))
(DIFFERENCE (NEGATIVE-GUTS X) Y)))
(LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(TIMES 2 (EXP 2 (SUB1 N)))))
(EQUAL (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X))))
(DIFFERENCE (NEGATIVE-GUTS X) Y))).
But this finally simplifies, using linear arithmetic, to:
T.
Case 7.1.2.2.
(IMPLIES
(AND (LESSP (NEGATIVE-GUTS X) Y)
(NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
(LESSP Y (NEGATIVE-GUTS X))
(NOT (LESSP (EXP 2 (SUB1 N))
(DIFFERENCE (NEGATIVE-GUTS X) Y)))
(LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(TIMES 2 (EXP 2 (SUB1 N)))))
(EQUAL (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X))))
(DIFFERENCE (NEGATIVE-GUTS X) Y))),
which again simplifies, using linear arithmetic, to:
T.
Case 7.1.2.1.
(IMPLIES
(AND (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X))
(NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
(LESSP Y (NEGATIVE-GUTS X))
(NOT (LESSP (EXP 2 (SUB1 N))
(DIFFERENCE (NEGATIVE-GUTS X) Y)))
(LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(TIMES 2 (EXP 2 (SUB1 N)))))
(EQUAL (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X))))
(DIFFERENCE (NEGATIVE-GUTS X) Y))),
which again simplifies, using linear arithmetic, to:
T.
Case 7.1.1.
(IMPLIES (AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NUMBERP Y)
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(LESSP Y (EXP 2 (SUB1 N)))
(LESSP Y (NEGATIVE-GUTS X))
(NOT (LESSP (EXP 2 (SUB1 N))
(DIFFERENCE (NEGATIVE-GUTS X) Y)))
(LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(TIMES 2 (EXP 2 (SUB1 N)))))
(NOT (LESSP (PLUS Y
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(EXP 2 (SUB1 N))))),
which again simplifies, using linear arithmetic, to:
T.
Case 6. (IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(NOT (TC-IN-RANGEP (ADD X (ADD Y 1)) N))
(NEGATIVEP (ADD X (ADD Y 1))))
(EQUAL
(NAT-TO-TC (REMAINDER (PLUS 1
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X))
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(TIMES 2 (EXP 2 (SUB1 N))))
N)
(ADD X
(ADD Y
(PLUS 1
(TIMES 2 (EXP 2 (SUB1 N)))))))),
which again simplifies, using linear arithmetic, applying the lemmas
COMMUTATIVITY-OF-ADD, DIFFERENCE-DIFFERENCE, PATHOLOGICAL-DIFFERENCE,
COMMUTATIVITY-OF-PLUS, PLUS-1, SUB1-ADD1, EQUAL-TIMES-0, REMAINDER-OF-0,
REMAINDER-CROCK4, and NEGATIVE-GUTS-MINUS, and unfolding the definitions of
NEGATIVEP, ADD, NUMBERP, EQUAL, LESSP, REMAINDER, DIFFERENCE, and MINUS, to
34 new goals:
Case 6.34.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(NOT (LESSP 1 (NEGATIVE-GUTS Y)))
(NOT (TC-IN-RANGEP (ADD X
(DIFFERENCE 1 (NEGATIVE-GUTS Y)))
N))
(LESSP (DIFFERENCE 1 (NEGATIVE-GUTS Y))
(NEGATIVE-GUTS X))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(PLUS (NEGATIVE-GUTS X)
(NEGATIVE-GUTS Y))))
(EQUAL
(NAT-TO-TC (REMAINDER (PLUS 1
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X))
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(TIMES 2 (EXP 2 (SUB1 N))))
N)
(ADD X
(ADD Y
(PLUS 1
(TIMES 2 (EXP 2 (SUB1 N)))))))),
which again simplifies, using linear arithmetic, to:
T.
Case 6.33.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(NOT (LESSP 1 (NEGATIVE-GUTS Y)))
(NOT (TC-IN-RANGEP (ADD X
(DIFFERENCE 1 (NEGATIVE-GUTS Y)))
N))
(LESSP (DIFFERENCE 1 (NEGATIVE-GUTS Y))
(NEGATIVE-GUTS X))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(PLUS (NEGATIVE-GUTS X)
(NEGATIVE-GUTS Y))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y))))
(NOT (LESSP (PLUS (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X))
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(EQUAL
(NAT-TO-TC (REMAINDER (ADD1 (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(TIMES 2 (EXP 2 (SUB1 N))))
N)
(ADD X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y)))))),
which again simplifies, using linear arithmetic, to:
T.
Case 6.32.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(NOT (LESSP 1 (NEGATIVE-GUTS Y)))
(NOT (TC-IN-RANGEP (ADD X
(DIFFERENCE 1 (NEGATIVE-GUTS Y)))
N))
(LESSP (DIFFERENCE 1 (NEGATIVE-GUTS Y))
(NEGATIVE-GUTS X))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(PLUS (NEGATIVE-GUTS X)
(NEGATIVE-GUTS Y))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y))))
(EQUAL (EXP 2 (SUB1 N)) 0)
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(EQUAL
(NAT-TO-TC (REMAINDER (ADD1 (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(TIMES 2 (EXP 2 (SUB1 N))))
N)
(ADD X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y)))))),
which again simplifies, using linear arithmetic, to:
T.
Case 6.31.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(NOT (LESSP 1 (NEGATIVE-GUTS Y)))
(NOT (TC-IN-RANGEP (ADD X
(DIFFERENCE 1 (NEGATIVE-GUTS Y)))
N))
(LESSP (DIFFERENCE 1 (NEGATIVE-GUTS Y))
(NEGATIVE-GUTS X))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(PLUS (NEGATIVE-GUTS X)
(NEGATIVE-GUTS Y))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y))))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(NOT (LESSP (PLUS (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X))
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(NOT (LESSP (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(PLUS (NEGATIVE-GUTS X)
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N)))))))
(EQUAL (NAT-TO-TC 0 N)
(ADD X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y)))))),
which again simplifies, using linear arithmetic, to:
T.
Case 6.30.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(NOT (LESSP 1 (NEGATIVE-GUTS Y)))
(NOT (TC-IN-RANGEP (ADD X
(DIFFERENCE 1 (NEGATIVE-GUTS Y)))
N))
(LESSP (DIFFERENCE 1 (NEGATIVE-GUTS Y))
(NEGATIVE-GUTS X))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(PLUS (NEGATIVE-GUTS X)
(NEGATIVE-GUTS Y))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y))))
(NOT (LESSP (PLUS (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X))
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(NOT (LESSP (SUB1 (NEGATIVE-GUTS Y))
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))))
(EQUAL (NAT-TO-TC 0 N)
(ADD X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y)))))),
which again simplifies, using linear arithmetic, to:
T.
Case 6.29.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(NOT (LESSP 1 (NEGATIVE-GUTS Y)))
(NOT (TC-IN-RANGEP (ADD X
(DIFFERENCE 1 (NEGATIVE-GUTS Y)))
N))
(LESSP (DIFFERENCE 1 (NEGATIVE-GUTS Y))
(NEGATIVE-GUTS X))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(PLUS (NEGATIVE-GUTS X)
(NEGATIVE-GUTS Y))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y))))
(EQUAL (EXP 2 (SUB1 N)) 0)
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(NOT (LESSP (SUB1 (NEGATIVE-GUTS Y))
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))))
(EQUAL (NAT-TO-TC 0 N)
(ADD X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y)))))),
which again simplifies, using linear arithmetic, to:
T.
Case 6.28.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(NOT (LESSP 1 (NEGATIVE-GUTS Y)))
(NOT (TC-IN-RANGEP (ADD X
(DIFFERENCE 1 (NEGATIVE-GUTS Y)))
N))
(LESSP (DIFFERENCE 1 (NEGATIVE-GUTS Y))
(NEGATIVE-GUTS X))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(PLUS (NEGATIVE-GUTS X)
(NEGATIVE-GUTS Y))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y))))
(NOT (LESSP (PLUS (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X))
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(LESSP (SUB1 (NEGATIVE-GUTS Y))
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(LESSP (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(PLUS (NEGATIVE-GUTS X)
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL (NAT-TO-TC (ADD1 (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(PLUS (NEGATIVE-GUTS X)
(NEGATIVE-GUTS Y))))
N)
(ADD X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y)))))),
which again simplifies, using linear arithmetic, to:
(IMPLIES
(AND (EQUAL (NEGATIVE-GUTS Y) 1)
(NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NEGATIVEP Y)
(NOT (EQUAL 1 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(NOT (LESSP (EXP 2 (SUB1 N)) 1))
C
(NOT (LESSP 1 1))
(NOT (TC-IN-RANGEP (ADD X (DIFFERENCE 1 1))
N))
(LESSP (DIFFERENCE 1 1)
(NEGATIVE-GUTS X))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(PLUS (NEGATIVE-GUTS X) 1)))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 1)))
(NOT (LESSP (PLUS (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X))
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
1))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N))) 1))
(LESSP (SUB1 1)
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(LESSP (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(PLUS (NEGATIVE-GUTS X) 1))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL (NAT-TO-TC (ADD1 (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(PLUS (NEGATIVE-GUTS X) 1)))
N)
(ADD X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 1))))).
This again simplifies, rewriting with MINUS-NEGATIVE-GUTS and
COMMUTATIVITY-OF-ADD, and expanding the functions EQUAL, LESSP, DIFFERENCE,
NEGATIVEP, ADD, and TC-IN-RANGEP, to:
T.
Case 6.27.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(NOT (LESSP 1 (NEGATIVE-GUTS Y)))
(NOT (TC-IN-RANGEP (ADD X
(DIFFERENCE 1 (NEGATIVE-GUTS Y)))
N))
(LESSP (DIFFERENCE 1 (NEGATIVE-GUTS Y))
(NEGATIVE-GUTS X))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(PLUS (NEGATIVE-GUTS X)
(NEGATIVE-GUTS Y))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y))))
(EQUAL (EXP 2 (SUB1 N)) 0)
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(LESSP (SUB1 (NEGATIVE-GUTS Y))
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X))))
(EQUAL (NAT-TO-TC (ADD1 (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(PLUS (NEGATIVE-GUTS X)
(NEGATIVE-GUTS Y))))
N)
(ADD X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y)))))).
This again simplifies, using linear arithmetic, to:
T.
Case 6.26.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(NOT (LESSP 1 (NEGATIVE-GUTS Y)))
(NOT (TC-IN-RANGEP (ADD X
(DIFFERENCE 1 (NEGATIVE-GUTS Y)))
N))
(LESSP (DIFFERENCE 1 (NEGATIVE-GUTS Y))
(NEGATIVE-GUTS X))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(PLUS (NEGATIVE-GUTS X)
(NEGATIVE-GUTS Y))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y))))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(LESSP (PLUS (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X))
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL (NAT-TO-TC (ADD1 (PLUS (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X))
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y))))
N)
(ADD X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y)))))),
which again simplifies, using linear arithmetic, to:
(IMPLIES
(AND (EQUAL (TIMES 2 (EXP 2 (SUB1 N))) 0)
(NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(NOT (LESSP 1 (NEGATIVE-GUTS Y)))
(NOT (TC-IN-RANGEP (ADD X
(DIFFERENCE 1 (NEGATIVE-GUTS Y)))
N))
(LESSP (DIFFERENCE 1 (NEGATIVE-GUTS Y))
(NEGATIVE-GUTS X))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(PLUS (NEGATIVE-GUTS X)
(NEGATIVE-GUTS Y))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y))))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(LESSP (PLUS (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X))
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL (NAT-TO-TC (ADD1 (PLUS (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X))
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y))))
N)
(ADD X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y)))))).
However this again simplifies, using linear arithmetic, to:
T.
Case 6.25.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(NOT (LESSP 1 (NEGATIVE-GUTS Y)))
(NOT (TC-IN-RANGEP (ADD X
(DIFFERENCE 1 (NEGATIVE-GUTS Y)))
N))
(LESSP (DIFFERENCE 1 (NEGATIVE-GUTS Y))
(NEGATIVE-GUTS X))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(PLUS (NEGATIVE-GUTS X)
(NEGATIVE-GUTS Y))))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y)))
(NOT (LESSP (PLUS (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X))
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(EQUAL
(NAT-TO-TC (REMAINDER (ADD1 (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(TIMES 2 (EXP 2 (SUB1 N))))
N)
(ADD X (MINUS 0)))),
which again simplifies, using linear arithmetic, to:
T.
Case 6.24.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(NOT (LESSP 1 (NEGATIVE-GUTS Y)))
(NOT (TC-IN-RANGEP (ADD X
(DIFFERENCE 1 (NEGATIVE-GUTS Y)))
N))
(LESSP (DIFFERENCE 1 (NEGATIVE-GUTS Y))
(NEGATIVE-GUTS X))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(PLUS (NEGATIVE-GUTS X)
(NEGATIVE-GUTS Y))))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y)))
(EQUAL (EXP 2 (SUB1 N)) 0)
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(EQUAL
(NAT-TO-TC (REMAINDER (ADD1 (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(TIMES 2 (EXP 2 (SUB1 N))))
N)
(ADD X (MINUS 0)))),
which again simplifies, using linear arithmetic, to:
T.
Case 6.23.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(NOT (LESSP 1 (NEGATIVE-GUTS Y)))
(NOT (TC-IN-RANGEP (ADD X
(DIFFERENCE 1 (NEGATIVE-GUTS Y)))
N))
(LESSP (DIFFERENCE 1 (NEGATIVE-GUTS Y))
(NEGATIVE-GUTS X))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(PLUS (NEGATIVE-GUTS X)
(NEGATIVE-GUTS Y))))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y)))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(NOT (LESSP (PLUS (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X))
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(NOT (LESSP (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(PLUS (NEGATIVE-GUTS X)
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N)))))))
(EQUAL (NAT-TO-TC 0 N)
(ADD X (MINUS 0)))),
which again simplifies, using linear arithmetic, to:
(IMPLIES
(AND (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X))
(NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(NOT (LESSP 1 (NEGATIVE-GUTS Y)))
(NOT (TC-IN-RANGEP (ADD X
(DIFFERENCE 1 (NEGATIVE-GUTS Y)))
N))
(LESSP (DIFFERENCE 1 (NEGATIVE-GUTS Y))
(NEGATIVE-GUTS X))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(PLUS (NEGATIVE-GUTS X)
(NEGATIVE-GUTS Y))))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y)))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(NOT (LESSP (PLUS (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X))
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(NOT (LESSP (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(PLUS (NEGATIVE-GUTS X)
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N)))))))
(EQUAL (NAT-TO-TC 0 N)
(ADD X (MINUS 0)))).
This again simplifies, using linear arithmetic, to:
T.
Case 6.22.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(NOT (LESSP 1 (NEGATIVE-GUTS Y)))
(NOT (TC-IN-RANGEP (ADD X
(DIFFERENCE 1 (NEGATIVE-GUTS Y)))
N))
(LESSP (DIFFERENCE 1 (NEGATIVE-GUTS Y))
(NEGATIVE-GUTS X))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(PLUS (NEGATIVE-GUTS X)
(NEGATIVE-GUTS Y))))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y)))
(NOT (LESSP (PLUS (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X))
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(NOT (LESSP (SUB1 (NEGATIVE-GUTS Y))
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))))
(EQUAL (NAT-TO-TC 0 N)
(ADD X (MINUS 0)))),
which again simplifies, using linear arithmetic, to the conjecture:
(IMPLIES
(AND (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X))
(NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(NOT (LESSP 1 (NEGATIVE-GUTS Y)))
(NOT (TC-IN-RANGEP (ADD X
(DIFFERENCE 1 (NEGATIVE-GUTS Y)))
N))
(LESSP (DIFFERENCE 1 (NEGATIVE-GUTS Y))
(NEGATIVE-GUTS X))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(PLUS (NEGATIVE-GUTS X)
(NEGATIVE-GUTS Y))))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y)))
(NOT (LESSP (PLUS (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X))
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(NOT (LESSP (SUB1 (NEGATIVE-GUTS Y))
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))))
(EQUAL (NAT-TO-TC 0 N)
(ADD X (MINUS 0)))).
This again simplifies, using linear arithmetic, to:
T.
Case 6.21.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(NOT (LESSP 1 (NEGATIVE-GUTS Y)))
(NOT (TC-IN-RANGEP (ADD X
(DIFFERENCE 1 (NEGATIVE-GUTS Y)))
N))
(LESSP (DIFFERENCE 1 (NEGATIVE-GUTS Y))
(NEGATIVE-GUTS X))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(PLUS (NEGATIVE-GUTS X)
(NEGATIVE-GUTS Y))))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y)))
(EQUAL (EXP 2 (SUB1 N)) 0)
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(NOT (LESSP (SUB1 (NEGATIVE-GUTS Y))
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))))
(EQUAL (NAT-TO-TC 0 N)
(ADD X (MINUS 0)))),
which again simplifies, using linear arithmetic, to:
T.
Case 6.20.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(NOT (LESSP 1 (NEGATIVE-GUTS Y)))
(NOT (TC-IN-RANGEP (ADD X
(DIFFERENCE 1 (NEGATIVE-GUTS Y)))
N))
(LESSP (DIFFERENCE 1 (NEGATIVE-GUTS Y))
(NEGATIVE-GUTS X))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(PLUS (NEGATIVE-GUTS X)
(NEGATIVE-GUTS Y))))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y)))
(NOT (LESSP (PLUS (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X))
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(LESSP (SUB1 (NEGATIVE-GUTS Y))
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(LESSP (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(PLUS (NEGATIVE-GUTS X)
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL (NAT-TO-TC (ADD1 (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(PLUS (NEGATIVE-GUTS X)
(NEGATIVE-GUTS Y))))
N)
(ADD X (MINUS 0)))),
which again simplifies, using linear arithmetic, to:
(IMPLIES
(AND (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X))
(NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(NOT (LESSP 1 (NEGATIVE-GUTS Y)))
(NOT (TC-IN-RANGEP (ADD X
(DIFFERENCE 1 (NEGATIVE-GUTS Y)))
N))
(LESSP (DIFFERENCE 1 (NEGATIVE-GUTS Y))
(NEGATIVE-GUTS X))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(PLUS (NEGATIVE-GUTS X)
(NEGATIVE-GUTS Y))))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y)))
(NOT (LESSP (PLUS (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X))
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(LESSP (SUB1 (NEGATIVE-GUTS Y))
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(LESSP (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(PLUS (NEGATIVE-GUTS X)
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL (NAT-TO-TC (ADD1 (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(PLUS (NEGATIVE-GUTS X)
(NEGATIVE-GUTS Y))))
N)
(ADD X (MINUS 0)))).
This again simplifies, using linear arithmetic, to:
T.
Case 6.19.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(NOT (LESSP 1 (NEGATIVE-GUTS Y)))
(NOT (TC-IN-RANGEP (ADD X
(DIFFERENCE 1 (NEGATIVE-GUTS Y)))
N))
(LESSP (DIFFERENCE 1 (NEGATIVE-GUTS Y))
(NEGATIVE-GUTS X))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(PLUS (NEGATIVE-GUTS X)
(NEGATIVE-GUTS Y))))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y)))
(EQUAL (EXP 2 (SUB1 N)) 0)
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(LESSP (SUB1 (NEGATIVE-GUTS Y))
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X))))
(EQUAL (NAT-TO-TC (ADD1 (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(PLUS (NEGATIVE-GUTS X)
(NEGATIVE-GUTS Y))))
N)
(ADD X (MINUS 0)))),
which again simplifies, using linear arithmetic, to:
T.
Case 6.18.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(NOT (LESSP 1 (NEGATIVE-GUTS Y)))
(NOT (TC-IN-RANGEP (ADD X
(DIFFERENCE 1 (NEGATIVE-GUTS Y)))
N))
(LESSP (DIFFERENCE 1 (NEGATIVE-GUTS Y))
(NEGATIVE-GUTS X))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(PLUS (NEGATIVE-GUTS X)
(NEGATIVE-GUTS Y))))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y)))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(LESSP (PLUS (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X))
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL (NAT-TO-TC (ADD1 (PLUS (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X))
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y))))
N)
(ADD X (MINUS 0)))),
which again simplifies, using linear arithmetic, to:
T.
Case 6.17.
(IMPLIES
(AND
(NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(NOT (TC-IN-RANGEP (ADD X
(MINUS (DIFFERENCE (NEGATIVE-GUTS Y) 1)))
N))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(PLUS (NEGATIVE-GUTS X)
(NEGATIVE-GUTS Y))))
(EQUAL
(NAT-TO-TC (REMAINDER (PLUS 1
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X))
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(TIMES 2 (EXP 2 (SUB1 N))))
N)
(ADD X
(ADD Y
(PLUS 1
(TIMES 2 (EXP 2 (SUB1 N)))))))),
which again simplifies, using linear arithmetic, to:
T.
Case 6.16.
(IMPLIES
(AND
(NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(NOT (TC-IN-RANGEP (ADD X
(MINUS (DIFFERENCE (NEGATIVE-GUTS Y) 1)))
N))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(PLUS (NEGATIVE-GUTS X)
(NEGATIVE-GUTS Y))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y))))
(NOT (LESSP (PLUS (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X))
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(EQUAL
(NAT-TO-TC (REMAINDER (ADD1 (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(TIMES 2 (EXP 2 (SUB1 N))))
N)
(ADD X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y)))))),
which again simplifies, using linear arithmetic, to:
T.
Case 6.15.
(IMPLIES
(AND
(NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(NOT (TC-IN-RANGEP (ADD X
(MINUS (DIFFERENCE (NEGATIVE-GUTS Y) 1)))
N))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(PLUS (NEGATIVE-GUTS X)
(NEGATIVE-GUTS Y))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y))))
(EQUAL (EXP 2 (SUB1 N)) 0)
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(EQUAL
(NAT-TO-TC (REMAINDER (ADD1 (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(TIMES 2 (EXP 2 (SUB1 N))))
N)
(ADD X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y)))))),
which again simplifies, using linear arithmetic, to:
T.
Case 6.14.
(IMPLIES
(AND
(NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(NOT (TC-IN-RANGEP (ADD X
(MINUS (DIFFERENCE (NEGATIVE-GUTS Y) 1)))
N))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(PLUS (NEGATIVE-GUTS X)
(NEGATIVE-GUTS Y))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y))))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))
(NOT (LESSP (PLUS (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X))
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(NOT (LESSP (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(PLUS (NEGATIVE-GUTS X)
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N)))))))
(EQUAL (NAT-TO-TC 0 N)
(ADD X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y)))))),
which again simplifies, using linear arithmetic, to:
T.
Case 6.13.
(IMPLIES
(AND
(NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(NOT (TC-IN-RANGEP (ADD X
(MINUS (DIFFERENCE (NEGATIVE-GUTS Y) 1)))
N))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(PLUS (NEGATIVE-GUTS X)
(NEGATIVE-GUTS Y))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y))))
(NOT (LESSP (PLUS (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X))
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(NOT (LESSP (SUB1 (NEGATIVE-GUTS Y))
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))))
(EQUAL (NAT-TO-TC 0 N)
(ADD X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y)))))),
which again simplifies, using linear arithmetic, to:
T.
Case 6.12.
(IMPLIES
(AND
(NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(NOT (TC-IN-RANGEP (ADD X
(MINUS (DIFFERENCE (NEGATIVE-GUTS Y) 1)))
N))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(PLUS (NEGATIVE-GUTS X)
(NEGATIVE-GUTS Y))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y))))
(EQUAL (EXP 2 (SUB1 N)) 0)
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(NOT (LESSP (SUB1 (NEGATIVE-GUTS Y))
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))))
(EQUAL (NAT-TO-TC 0 N)
(ADD X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y)))))),
which again simplifies, using linear arithmetic, to:
T.
Case 6.11.
(IMPLIES
(AND
(NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(NOT (TC-IN-RANGEP (ADD X
(MINUS (DIFFERENCE (NEGATIVE-GUTS Y) 1)))
N))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(PLUS (NEGATIVE-GUTS X)
(NEGATIVE-GUTS Y))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y))))
(NOT (LESSP (PLUS (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X))
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(LESSP (SUB1 (NEGATIVE-GUTS Y))
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(LESSP (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(PLUS (NEGATIVE-GUTS X)
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(EQUAL (NAT-TO-TC (ADD1 (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(PLUS (NEGATIVE-GUTS X)
(NEGATIVE-GUTS Y))))
N)
(ADD X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y)))))),
which again simplifies, using linear arithmetic, rewriting with
NEGATIVE-GUTS-MINUS, EQUAL-TIMES-0, SUB1-ADD1, DIFFERENCE-DIFFERENCE,
COMMUTATIVITY-OF-PLUS, and PATHOLOGICAL-DIFFERENCE, and unfolding the
definitions of ADD, TC-IN-RANGEP, DIFFERENCE, EQUAL, NUMBERP, EXP, LESSP,
NAT-TO-TC, and MINUS, to the following six new conjectures:
Case 6.11.6.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(LESSP (EXP 2 (SUB1 N))
(PLUS (NEGATIVE-GUTS X)
(DIFFERENCE (NEGATIVE-GUTS Y) 1)))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(PLUS (NEGATIVE-GUTS X)
(NEGATIVE-GUTS Y))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y))))
(NOT (LESSP (PLUS (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X))
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(LESSP (SUB1 (NEGATIVE-GUTS Y))
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(LESSP (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(PLUS (NEGATIVE-GUTS X)
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N)))))
(LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(EQUAL (NAT-TO-TC (ADD1 (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(PLUS (NEGATIVE-GUTS X)
(NEGATIVE-GUTS Y))))
N)
(ADD X
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y)))))).
But this again simplifies, using linear arithmetic, to:
T.
Case 6.11.5.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(LESSP (EXP 2 (SUB1 N))
(PLUS (NEGATIVE-GUTS X)
(DIFFERENCE (NEGATIVE-GUTS Y) 1)))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(PLUS (NEGATIVE-GUTS X)
(NEGATIVE-GUTS Y))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y))))
(NOT (LESSP (PLUS (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X))
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(LESSP (SUB1 (NEGATIVE-GUTS Y))
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(LESSP (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(PLUS (NEGATIVE-GUTS X)
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N)))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(NOT (LESSP (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y)))
(NEGATIVE-GUTS X))))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0))),
which again simplifies, using linear arithmetic, to:
T.
Case 6.11.4.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(LESSP (EXP 2 (SUB1 N))
(PLUS (NEGATIVE-GUTS X)
(DIFFERENCE (NEGATIVE-GUTS Y) 1)))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(PLUS (NEGATIVE-GUTS X)
(NEGATIVE-GUTS Y))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y))))
(NOT (LESSP (PLUS (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X))
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(LESSP (SUB1 (NEGATIVE-GUTS Y))
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(LESSP (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(PLUS (NEGATIVE-GUTS X)
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N)))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(NOT (LESSP (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y)))
(NEGATIVE-GUTS X))))
(LESSP (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(PLUS (NEGATIVE-GUTS X)
(NEGATIVE-GUTS Y)))
(SUB1 (EXP 2 (SUB1 N))))),
which again simplifies, using linear arithmetic, to:
T.
Case 6.11.3.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(LESSP (EXP 2 (SUB1 N))
(PLUS (NEGATIVE-GUTS X)
(DIFFERENCE (NEGATIVE-GUTS Y) 1)))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(PLUS (NEGATIVE-GUTS X)
(NEGATIVE-GUTS Y))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y))))
(NOT (LESSP (PLUS (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X))
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(LESSP (SUB1 (NEGATIVE-GUTS Y))
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(LESSP (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(PLUS (NEGATIVE-GUTS X)
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N)))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(LESSP (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y)))
(NEGATIVE-GUTS X))
(NOT (EQUAL (EXP 2 (SUB1 N)) 0)))
(NOT (LESSP (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(PLUS (NEGATIVE-GUTS X)
(NEGATIVE-GUTS Y)))
(SUB1 (EXP 2 (SUB1 N)))))),
which again simplifies, using linear arithmetic, to:
T.
Case 6.11.2.
(IMPLIES
(AND (NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(LESSP (EXP 2 (SUB1 N))
(PLUS (NEGATIVE-GUTS X)
(DIFFERENCE (NEGATIVE-GUTS Y) 1)))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(PLUS (NEGATIVE-GUTS X)
(NEGATIVE-GUTS Y))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y))))
(NOT (LESSP (PLUS (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X))
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N))))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS Y)))
(LESSP (SUB1 (NEGATIVE-GUTS Y))
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(LESSP (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(PLUS (NEGATIVE-GUTS X)
(NEGATIVE-GUTS Y)))
(SUB1 (TIMES 2 (EXP 2 (SUB1 N)))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(NEGATIVE-GUTS X)))
(NOT (LESSP (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(SUB1 (NEGATIVE-GUTS Y)))
(NEGATIVE-GUTS X))))
(EQUAL (ADD1 (DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(PLUS (NEGATIVE-GUTS X)
(NEGATIVE-GUTS Y))))
(DIFFERENCE (TIMES 2 (EXP 2 (SUB1 N)))
(PLUS (NEGATIVE-GUTS X)
(SUB1 (NEGATIVE-GUTS Y)))))),
which again simplifies, using linear arithmetic, to the goal:
(IMPLIES
(AND (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(PLUS (NEGATIVE-GUTS X)
(SUB1 (NEGATIVE-GUTS Y))))
(NEGATIVEP X)
(NOT (EQUAL (NEGATIVE-GUTS X) 0))
(NEGATIVEP Y)
(NOT (EQUAL (NEGATIVE-GUTS Y) 0))
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS X)))
(NOT (LESSP (EXP 2 (SUB1 N))
(NEGATIVE-GUTS Y)))
C
(LESSP 1 (NEGATIVE-GUTS Y))
(LESSP (EXP 2 (SUB1 N))
(PLUS (NEGATIVE-GUTS X)
(DIFFERENCE (NEGATIVE-GUTS Y) 1)))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))
(PLUS (NEGATIVE-GUTS X)
(NEGATIVE-GUTS Y))))
(NOT (LESSP (TIMES 2 (EXP 2 (SUB1 N)))