(NOTE-LIB "mlp" T) Loading ./bronstein/mlp.lib Finished loading ./bronstein/mlp.lib Loading ./bronstein/mlp.o Finished loading ./bronstein/mlp.o (#./bronstein/mlp.lib #./bronstein/mlp) (DEFN BAND (U V) (IF (OR (EQUAL U 0) (EQUAL V 0)) 0 1)) Note that (NUMBERP (BAND U V)) is a theorem. [ 0.0 0.0 0.0 ] BAND (DEFN S-BAND (X Y) (IF (EMPTY X) (E) (A (S-BAND (P X) (P Y)) (BAND (L X) (L Y))))) Linear arithmetic and the lemmas P-LESSEQP and STR-EMPTY-COUNT inform us that the measure (COUNT X) decreases according to the well-founded relation LESSP in each recursive call. Hence, S-BAND is accepted under the principle of definition. Note that (STRINGP (S-BAND X Y)) is a theorem. [ 0.0 0.0 0.0 ] S-BAND (PROVE-LEMMA A2-EMPTY-S-BAND (REWRITE) (EQUAL (EMPTY (S-BAND X Y)) (EMPTY X)) ((DISABLE BAND))) 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 (EMPTY X) (p X Y)) (IMPLIES (AND (NOT (EMPTY X)) (p (P X) (P Y))) (p X Y))). Linear arithmetic and the lemmas P-LESSEQP and STR-EMPTY-COUNT 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. Note, however, the inductive instance chosen for Y. The above induction scheme generates the following two new formulas: Case 2. (IMPLIES (EMPTY X) (EQUAL (EMPTY (S-BAND X Y)) (EMPTY X))). This simplifies, expanding the definitions of S-BAND, EMPTY, and EQUAL, to: T. Case 1. (IMPLIES (AND (NOT (EMPTY X)) (EQUAL (EMPTY (S-BAND (P X) (P Y))) (EMPTY (P X)))) (EQUAL (EMPTY (S-BAND X Y)) (EMPTY X))). This simplifies, appealing to the lemma STR-NOT-EMPTY-A, and opening up S-BAND and EQUAL, to: T. That finishes the proof of *1. Q.E.D. [ 0.0 0.0 0.0 ] A2-EMPTY-S-BAND (PROVE-LEMMA A2-E-S-BAND (REWRITE) (EQUAL (EQUAL (S-BAND X Y) (E)) (EMPTY X)) ((DISABLE S-BAND A2-EMPTY-S-BAND) (ENABLE EMPTY) (USE (A2-EMPTY-S-BAND)))) This formula simplifies, opening up the functions EMPTY and EQUAL, to: T. Q.E.D. [ 0.0 0.0 0.0 ] A2-E-S-BAND (PROVE-LEMMA A2-LP-S-BAND (REWRITE) (EQUAL (LEN (S-BAND X Y)) (LEN X)) ((DISABLE BAND) (ENABLE LEN))) 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 (EMPTY X) (p X Y)) (IMPLIES (AND (NOT (EMPTY X)) (p (P X) (P Y))) (p X Y))). Linear arithmetic and the lemmas P-LESSEQP and STR-EMPTY-COUNT 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. Note, however, the inductive instance chosen for Y. The above induction scheme generates the following two new formulas: Case 2. (IMPLIES (EMPTY X) (EQUAL (LEN (S-BAND X Y)) (LEN X))). This simplifies, expanding the definitions of S-BAND, LEN, and EQUAL, to: T. Case 1. (IMPLIES (AND (NOT (EMPTY X)) (EQUAL (LEN (S-BAND (P X) (P Y))) (LEN (P X)))) (EQUAL (LEN (S-BAND X Y)) (LEN X))). This simplifies, appealing to the lemmas P-A and STR-NOT-EMPTY-A, and opening up S-BAND and LEN, to: T. That finishes the proof of *1. Q.E.D. [ 0.0 0.0 0.0 ] A2-LP-S-BAND (PROVE-LEMMA A2-LPE-S-BAND (REWRITE) (EQLEN (S-BAND X Y) X) ((ENABLE EQLEN-IS-EQUAL-LEN) (DISABLE LEN S-BAND))) This conjecture can be simplified, using the abbreviations A2-LP-S-BAND and EQLEN-IS-EQUAL-LEN, to: (EQUAL (LEN X) (LEN X)). This simplifies, obviously, to: T. Q.E.D. [ 0.0 0.0 0.0 ] A2-LPE-S-BAND (PROVE-LEMMA A2-IC-S-BAND (REWRITE) (IMPLIES (EQUAL (LEN X) (LEN Y)) (EQUAL (S-BAND (I C_X X) (I C_Y Y)) (I (BAND C_X C_Y) (S-BAND X Y)))) ((ENABLE I LEN) (DISABLE STR-A-I BAND))) Give the conjecture the name *1. Perhaps we can prove it by induction. There are five plausible inductions. However, they merge into one likely candidate induction. We will induct according to the following scheme: (AND (IMPLIES (EMPTY X) (p C_X X C_Y Y)) (IMPLIES (AND (NOT (EMPTY X)) (p C_X (P X) C_Y (P Y))) (p C_X X C_Y Y))). Linear arithmetic and the lemmas P-LESSEQP and STR-EMPTY-COUNT 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. Note, however, the inductive instance chosen for Y. The above induction scheme generates three new conjectures: Case 3. (IMPLIES (AND (EMPTY X) (EQUAL (LEN X) (LEN Y))) (EQUAL (S-BAND (I C_X X) (I C_Y Y)) (I (BAND C_X C_Y) (S-BAND X Y)))), which simplifies, rewriting with L-A, P-A, STR-NOT-EMPTY-A, STR-I-E, and A-EQUAL, and expanding the definitions of LEN, I, STRINGP, S-BAND, EMPTY, and EQUAL, to the following two new formulas: Case 3.2. (IMPLIES (AND (EMPTY X) (EQUAL 0 (ADD1 (LEN (P Y)))) (NOT (EMPTY Y))) (EQUAL (BAND C_X (L (A (I C_Y (P Y)) (L Y)))) (BAND C_X C_Y))). This again simplifies, using linear arithmetic, to: T. Case 3.1. (IMPLIES (AND (EMPTY X) (EQUAL 0 (ADD1 (LEN (P Y)))) (EMPTY Y)) (EQUAL (BAND C_X (L (A (E) C_Y))) (BAND C_X C_Y))), which again simplifies, using linear arithmetic, to: T. Case 2. (IMPLIES (AND (NOT (EMPTY X)) (NOT (EQUAL (LEN (P X)) (LEN (P Y)))) (EQUAL (LEN X) (LEN Y))) (EQUAL (S-BAND (I C_X X) (I C_Y Y)) (I (BAND C_X C_Y) (S-BAND X Y)))), which simplifies, applying STR-EQUAL-LEN-P, to: T. Case 1. (IMPLIES (AND (NOT (EMPTY X)) (EQUAL (S-BAND (I C_X (P X)) (I C_Y (P Y))) (I (BAND C_X C_Y) (S-BAND (P X) (P Y)))) (EQUAL (LEN X) (LEN Y))) (EQUAL (S-BAND (I C_X X) (I C_Y Y)) (I (BAND C_X C_Y) (S-BAND X Y)))). This simplifies, rewriting with the lemmas L-A, P-A, STR-NOT-EMPTY-A, and A-EQUAL, and opening up LEN, I, S-BAND, and STRINGP, to the following two new conjectures: Case 1.2. (IMPLIES (AND (NOT (EMPTY X)) (EQUAL (S-BAND (I C_X (P X)) (I C_Y (P Y))) (I (BAND C_X C_Y) (S-BAND (P X) (P Y)))) (EMPTY Y) (EQUAL (ADD1 (LEN (P X))) 0)) (EQUAL (S-BAND (I C_X (P X)) (E)) (I (BAND C_X C_Y) (S-BAND (P X) (P Y))))). However this again simplifies, using linear arithmetic, to: T. Case 1.1. (IMPLIES (AND (NOT (EMPTY X)) (EQUAL (S-BAND (I C_X (P X)) (I C_Y (P Y))) (I (BAND C_X C_Y) (S-BAND (P X) (P Y)))) (EMPTY Y) (EQUAL (ADD1 (LEN (P X))) 0)) (EQUAL (BAND (L X) C_Y) (BAND (L X) (L Y)))), which again simplifies, using linear arithmetic, to: T. That finishes the proof of *1. Q.E.D. [ 0.0 0.0 0.0 ] A2-IC-S-BAND (PROVE-LEMMA A2-LC-S-BAND (REWRITE) (IMPLIES (NOT (EMPTY X)) (EQUAL (L (S-BAND X Y)) (BAND (L X) (L Y)))) ((DISABLE BAND) (EXPAND (S-BAND X Y)))) This conjecture simplifies, rewriting with L-A, and expanding the definition of S-BAND, to: T. Q.E.D. [ 0.0 0.0 0.0 ] A2-LC-S-BAND (PROVE-LEMMA A2-PC-S-BAND (REWRITE) (EQUAL (P (S-BAND X Y)) (S-BAND (P X) (P Y))) ((DISABLE BAND))) This simplifies, unfolding the definition of S-BAND, to the following two new goals: Case 2. (IMPLIES (NOT (EMPTY X)) (EQUAL (P (A (S-BAND (P X) (P Y)) (BAND (L X) (L Y)))) (S-BAND (P X) (P Y)))). This again simplifies, applying the lemma P-A, to: T. Case 1. (IMPLIES (EMPTY X) (EQUAL (P (E)) (S-BAND (P X) (P Y)))), which again simplifies, applying the lemma STR-EMPTY-P, and expanding P, S-BAND, and EQUAL, to: T. Q.E.D. [ 0.0 0.0 0.0 ] A2-PC-S-BAND (PROVE-LEMMA A2-HC-S-BAND (REWRITE) (IMPLIES (AND (NOT (EMPTY X)) (EQUAL (LEN X) (LEN Y))) (EQUAL (H (S-BAND X Y)) (BAND (H X) (H Y)))) ((DISABLE BAND S-BAND) (ENABLE H LEN) (INDUCT (S-BAND X Y)))) This conjecture can be simplified, using the abbreviations IMPLIES, NOT, OR, and AND, to two new formulas: Case 2. T, which simplifies, clearly, to: T. Case 1. (IMPLIES (AND (NOT (EMPTY X)) (IMPLIES (AND (NOT (EMPTY (P X))) (EQUAL (LEN (P X)) (LEN (P Y)))) (EQUAL (H (S-BAND (P X) (P Y))) (BAND (H (P X)) (H (P Y))))) (EQUAL (LEN X) (LEN Y))) (EQUAL (H (S-BAND X Y)) (BAND (H X) (H Y)))). This simplifies, rewriting with STR-EQUAL-LEN-P, A2-LC-S-BAND, A2-PC-S-BAND, and A2-EMPTY-S-BAND, and expanding the functions NOT, AND, IMPLIES, LEN, ADD1, and H, to six new goals: Case 1.6. (IMPLIES (AND (NOT (EMPTY X)) (EMPTY (P X)) (NOT (EMPTY Y)) (EQUAL 1 (ADD1 (LEN (P Y)))) (NOT (EMPTY (P Y)))) (EQUAL (BAND (L X) (L Y)) (BAND (L X) (H (P Y))))), which again simplifies, applying the lemmas STR-LEN0-EMPTY and ADD1-EQUAL, and expanding the definition of NUMBERP, to: T. Case 1.5. (IMPLIES (AND (NOT (EMPTY X)) (EQUAL (H (S-BAND (P X) (P Y))) (BAND (H (P X)) (H (P Y)))) (NOT (EMPTY Y)) (EQUAL (ADD1 (LEN (P X))) (ADD1 (LEN (P Y)))) (NOT (EMPTY (P Y))) (NOT (EMPTY (P X)))) (EQUAL (H (S-BAND (P X) (P Y))) (BAND (H (P X)) (H (P Y))))), which again simplifies, obviously, to: T. Case 1.4. (IMPLIES (AND (NOT (EMPTY X)) (EQUAL (H (S-BAND (P X) (P Y))) (BAND (H (P X)) (H (P Y)))) (NOT (EMPTY Y)) (EQUAL (ADD1 (LEN (P X))) (ADD1 (LEN (P Y)))) (NOT (EMPTY (P Y))) (EMPTY (P X))) (EQUAL (BAND (L X) (L Y)) (BAND (L X) (H (P Y))))). But this again simplifies, applying A2-EMPTY-S-BAND, and expanding H, to: T. Case 1.3. (IMPLIES (AND (NOT (EMPTY X)) (EQUAL (H (S-BAND (P X) (P Y))) (BAND (H (P X)) (H (P Y)))) (NOT (EMPTY Y)) (EQUAL (ADD1 (LEN (P X))) (ADD1 (LEN (P Y)))) (EMPTY (P Y)) (NOT (EMPTY (P X)))) (EQUAL (H (S-BAND (P X) (P Y))) (BAND (H (P X)) (L Y)))). However this again simplifies, rewriting with STR-LEN0-EMPTY and ADD1-EQUAL, and expanding H, LEN, ADD1, and NUMBERP, to: T. Case 1.2. (IMPLIES (AND (NOT (EMPTY X)) (EQUAL (H (S-BAND (P X) (P Y))) (BAND (H (P X)) (H (P Y)))) (EMPTY Y) (EQUAL (ADD1 (LEN (P X))) 0) (NOT (EMPTY (P X)))) (EQUAL (H (S-BAND (P X) (P Y))) (BAND (H (P X)) (E)))). However this again simplifies, using linear arithmetic, to: T. Case 1.1. (IMPLIES (AND (NOT (EMPTY X)) (EQUAL (H (S-BAND (P X) (P Y))) (BAND (H (P X)) (H (P Y)))) (EMPTY Y) (EQUAL (ADD1 (LEN (P X))) 0) (EMPTY (P X))) (EQUAL (BAND (L X) (L Y)) (BAND (L X) (E)))), which again simplifies, using linear arithmetic, to: T. Q.E.D. [ 0.0 0.0 0.0 ] A2-HC-S-BAND (PROVE-LEMMA A2-BC-S-BAND (REWRITE) (IMPLIES (EQUAL (LEN X) (LEN Y)) (EQUAL (B (S-BAND X Y)) (S-BAND (B X) (B Y)))) ((DISABLE BAND) (ENABLE B LEN) (INDUCT (S-BAND X Y)))) This formula can be simplified, using the abbreviations IMPLIES, NOT, OR, and AND, to the following two new formulas: Case 2. (IMPLIES (AND (EMPTY X) (EQUAL (LEN X) (LEN Y))) (EQUAL (B (S-BAND X Y)) (S-BAND (B X) (B Y)))). This simplifies, applying STR-LEN0-EMPTY, and unfolding the definitions of LEN, S-BAND, B, and EQUAL, to: T. Case 1. (IMPLIES (AND (NOT (EMPTY X)) (IMPLIES (EQUAL (LEN (P X)) (LEN (P Y))) (EQUAL (B (S-BAND (P X) (P Y))) (S-BAND (B (P X)) (B (P Y))))) (EQUAL (LEN X) (LEN Y))) (EQUAL (B (S-BAND X Y)) (S-BAND (B X) (B Y)))), which simplifies, applying STR-EQUAL-LEN-P, L-A, A2-EMPTY-S-BAND, P-A, and STR-NOT-EMPTY-A, and unfolding the functions IMPLIES, LEN, S-BAND, and B, to the following six new goals: Case 1.6. (IMPLIES (AND (NOT (EMPTY X)) (EQUAL (B (S-BAND (P X) (P Y))) (S-BAND (B (P X)) (B (P Y)))) (NOT (EMPTY Y)) (EQUAL (ADD1 (LEN (P X))) (ADD1 (LEN (P Y)))) (NOT (EMPTY (P Y))) (NOT (EMPTY (P X)))) (EQUAL (A (B (S-BAND (P X) (P Y))) (BAND (L X) (L Y))) (S-BAND (A (B (P X)) (L X)) (A (B (P Y)) (L Y))))). This again simplifies, rewriting with ADD1-EQUAL, L-A, P-A, and STR-NOT-EMPTY-A, and opening up the function S-BAND, to: T. Case 1.5. (IMPLIES (AND (NOT (EMPTY X)) (EQUAL (B (S-BAND (P X) (P Y))) (S-BAND (B (P X)) (B (P Y)))) (NOT (EMPTY Y)) (EQUAL (ADD1 (LEN (P X))) (ADD1 (LEN (P Y)))) (NOT (EMPTY (P Y))) (EMPTY (P X))) (EQUAL (E) (S-BAND (E) (A (B (P Y)) (L Y))))). This again simplifies, applying STR-LEN0-EMPTY and ADD1-EQUAL, and opening up the definitions of S-BAND, B, EMPTY, EQUAL, LEN, ADD1, and NUMBERP, to: T. Case 1.4. (IMPLIES (AND (NOT (EMPTY X)) (EQUAL (B (S-BAND (P X) (P Y))) (S-BAND (B (P X)) (B (P Y)))) (NOT (EMPTY Y)) (EQUAL (ADD1 (LEN (P X))) (ADD1 (LEN (P Y)))) (EMPTY (P Y)) (NOT (EMPTY (P X)))) (EQUAL (A (B (S-BAND (P X) (P Y))) (BAND (L X) (L Y))) (S-BAND (A (B (P X)) (L X)) (E)))). However this again simplifies, rewriting with STR-LEN0-EMPTY and ADD1-EQUAL, and unfolding the definitions of B, LEN, ADD1, and NUMBERP, to: T. Case 1.3. (IMPLIES (AND (NOT (EMPTY X)) (EQUAL (B (S-BAND (P X) (P Y))) (S-BAND (B (P X)) (B (P Y)))) (NOT (EMPTY Y)) (EQUAL (ADD1 (LEN (P X))) (ADD1 (LEN (P Y)))) (EMPTY (P Y)) (EMPTY (P X))) (EQUAL (E) (S-BAND (E) (E)))). But this again simplifies, opening up the functions S-BAND, B, EQUAL, LEN, and ADD1, to: T. Case 1.2. (IMPLIES (AND (NOT (EMPTY X)) (EQUAL (B (S-BAND (P X) (P Y))) (S-BAND (B (P X)) (B (P Y)))) (EMPTY Y) (EQUAL (ADD1 (LEN (P X))) 0) (NOT (EMPTY (P X)))) (EQUAL (A (B (S-BAND (P X) (P Y))) (BAND (L X) (L Y))) (S-BAND (A (B (P X)) (L X)) (E)))), which again simplifies, using linear arithmetic, to: T. Case 1.1. (IMPLIES (AND (NOT (EMPTY X)) (EQUAL (B (S-BAND (P X) (P Y))) (S-BAND (B (P X)) (B (P Y)))) (EMPTY Y) (EQUAL (ADD1 (LEN (P X))) 0) (EMPTY (P X))) (EQUAL (E) (S-BAND (E) (E)))), which again simplifies, using linear arithmetic, to: T. Q.E.D. [ 0.0 0.0 0.0 ] A2-BC-S-BAND (PROVE-LEMMA A2-BNC-S-BAND (REWRITE) (IMPLIES (EQUAL (LEN X) (LEN Y)) (EQUAL (BN N (S-BAND X Y)) (S-BAND (BN N X) (BN N Y)))) ((DISABLE BAND S-BAND))) Give the conjecture the name *1. Let us appeal to the induction principle. 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 N X Y)) (IMPLIES (AND (NOT (ZEROP N)) (p (SUB1 N) X Y)) (p N X Y))). 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 induction step of the scheme. The above induction scheme produces two new goals: Case 2. (IMPLIES (AND (ZEROP N) (EQUAL (LEN X) (LEN Y))) (EQUAL (BN N (S-BAND X Y)) (S-BAND (BN N X) (BN N Y)))), which simplifies, opening up ZEROP, EQUAL, and BN, to: T. Case 1. (IMPLIES (AND (NOT (ZEROP N)) (EQUAL (BN (SUB1 N) (S-BAND X Y)) (S-BAND (BN (SUB1 N) X) (BN (SUB1 N) Y))) (EQUAL (LEN X) (LEN Y))) (EQUAL (BN N (S-BAND X Y)) (S-BAND (BN N X) (BN N Y)))), which simplifies, unfolding the definitions of ZEROP and BN, to the formula: (IMPLIES (AND (NOT (EQUAL N 0)) (NUMBERP N) (EQUAL (BN (SUB1 N) (S-BAND X Y)) (S-BAND (BN (SUB1 N) X) (BN (SUB1 N) Y))) (EQUAL (LEN X) (LEN Y))) (EQUAL (B (BN (SUB1 N) (S-BAND X Y))) (S-BAND (B (BN (SUB1 N) X)) (B (BN (SUB1 N) Y))))). Appealing to the lemma SUB1-ELIM, we now replace N by (ADD1 Z) to eliminate (SUB1 N). We rely upon the type restriction lemma noted when SUB1 was introduced to constrain the new variable. This generates: (IMPLIES (AND (NUMBERP Z) (NOT (EQUAL (ADD1 Z) 0)) (EQUAL (BN Z (S-BAND X Y)) (S-BAND (BN Z X) (BN Z Y))) (EQUAL (LEN X) (LEN Y))) (EQUAL (B (BN Z (S-BAND X Y))) (S-BAND (B (BN Z X)) (B (BN Z Y))))). This further simplifies, obviously, to the new formula: (IMPLIES (AND (NUMBERP Z) (EQUAL (BN Z (S-BAND X Y)) (S-BAND (BN Z X) (BN Z Y))) (EQUAL (LEN X) (LEN Y))) (EQUAL (B (BN Z (S-BAND X Y))) (S-BAND (B (BN Z X)) (B (BN Z Y))))). We now use the first equality hypothesis by substituting: (S-BAND (BN Z X) (BN Z Y)) for (BN Z (S-BAND X Y)) and throwing away the equality. The result is the conjecture: (IMPLIES (AND (NUMBERP Z) (EQUAL (LEN X) (LEN Y))) (EQUAL (B (S-BAND (BN Z X) (BN Z Y))) (S-BAND (B (BN Z X)) (B (BN Z Y))))). But this further simplifies, applying STR-LEN-BN and A2-BC-S-BAND, to: T. That finishes the proof of *1. Q.E.D. [ 0.0 0.0 0.0 ] A2-BNC-S-BAND (DEFN BAND3 (U1 U2 U3) (IF (OR (EQUAL U1 0) (EQUAL U2 0) (EQUAL U3 0)) 0 1)) Note that (NUMBERP (BAND3 U1 U2 U3)) is a theorem. [ 0.0 0.0 0.0 ] BAND3 (DEFN S-BAND3 (X1 X2 X3) (IF (EMPTY X1) (E) (A (S-BAND3 (P X1) (P X2) (P X3)) (BAND3 (L X1) (L X2) (L X3))))) Linear arithmetic and the lemmas P-LESSEQP and STR-EMPTY-COUNT establish that the measure (COUNT X1) decreases according to the well-founded relation LESSP in each recursive call. Hence, S-BAND3 is accepted under the definitional principle. Note that (STRINGP (S-BAND3 X1 X2 X3)) is a theorem. [ 0.0 0.0 0.0 ] S-BAND3 (PROVE-LEMMA A2-EMPTY-S-BAND3 (REWRITE) (EQUAL (EMPTY (S-BAND3 X1 X2 X3)) (EMPTY X1)) ((DISABLE BAND3))) Name 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 (EMPTY X1) (p X1 X2 X3)) (IMPLIES (AND (NOT (EMPTY X1)) (p (P X1) (P X2) (P X3))) (p X1 X2 X3))). Linear arithmetic and the lemmas P-LESSEQP and STR-EMPTY-COUNT establish that the measure (COUNT X1) decreases according to the well-founded relation LESSP in each induction step of the scheme. Note, however, the inductive instances chosen for X2 and X3. The above induction scheme produces the following two new goals: Case 2. (IMPLIES (EMPTY X1) (EQUAL (EMPTY (S-BAND3 X1 X2 X3)) (EMPTY X1))). This simplifies, expanding S-BAND3, EMPTY, and EQUAL, to: T. Case 1. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (EMPTY (S-BAND3 (P X1) (P X2) (P X3))) (EMPTY (P X1)))) (EQUAL (EMPTY (S-BAND3 X1 X2 X3)) (EMPTY X1))). This simplifies, rewriting with STR-NOT-EMPTY-A, and unfolding the definitions of S-BAND3 and EQUAL, to: T. That finishes the proof of *1. Q.E.D. [ 0.0 0.0 0.0 ] A2-EMPTY-S-BAND3 (PROVE-LEMMA A2-E-S-BAND3 (REWRITE) (EQUAL (EQUAL (S-BAND3 X1 X2 X3) (E)) (EMPTY X1)) ((DISABLE S-BAND3 A2-EMPTY-S-BAND3) (ENABLE EMPTY) (USE (A2-EMPTY-S-BAND3)))) This conjecture simplifies, expanding EMPTY and EQUAL, to: T. Q.E.D. [ 0.0 0.0 0.0 ] A2-E-S-BAND3 (PROVE-LEMMA A2-LP-S-BAND3 (REWRITE) (EQUAL (LEN (S-BAND3 X1 X2 X3)) (LEN X1)) ((DISABLE BAND3) (ENABLE LEN))) Name the conjecture *1. Perhaps we can prove it by induction. There are two plausible inductions. However, they merge into one likely candidate induction. We will induct according to the following scheme: (AND (IMPLIES (EMPTY X1) (p X1 X2 X3)) (IMPLIES (AND (NOT (EMPTY X1)) (p (P X1) (P X2) (P X3))) (p X1 X2 X3))). Linear arithmetic and the lemmas P-LESSEQP and STR-EMPTY-COUNT establish that the measure (COUNT X1) decreases according to the well-founded relation LESSP in each induction step of the scheme. Note, however, the inductive instances chosen for X2 and X3. The above induction scheme produces the following two new goals: Case 2. (IMPLIES (EMPTY X1) (EQUAL (LEN (S-BAND3 X1 X2 X3)) (LEN X1))). This simplifies, expanding S-BAND3, LEN, and EQUAL, to: T. Case 1. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (LEN (S-BAND3 (P X1) (P X2) (P X3))) (LEN (P X1)))) (EQUAL (LEN (S-BAND3 X1 X2 X3)) (LEN X1))). This simplifies, rewriting with P-A and STR-NOT-EMPTY-A, and unfolding the definitions of S-BAND3 and LEN, to: T. That finishes the proof of *1. Q.E.D. [ 0.0 0.0 0.0 ] A2-LP-S-BAND3 (PROVE-LEMMA A2-LPE-S-BAND3 (REWRITE) (EQLEN (S-BAND3 X1 X2 X3) X1) ((ENABLE EQLEN-IS-EQUAL-LEN) (DISABLE LEN S-BAND3))) This formula can be simplified, using the abbreviations A2-LP-S-BAND3 and EQLEN-IS-EQUAL-LEN, to: (EQUAL (LEN X1) (LEN X1)), which simplifies, trivially, to: T. Q.E.D. [ 0.0 0.0 0.0 ] A2-LPE-S-BAND3 (PROVE-LEMMA A2-IC-S-BAND3 (REWRITE) (IMPLIES (AND (EQUAL (LEN X1) (LEN X2)) (EQUAL (LEN X2) (LEN X3))) (EQUAL (S-BAND3 (I C_X1 X1) (I C_X2 X2) (I C_X3 X3)) (I (BAND3 C_X1 C_X2 C_X3) (S-BAND3 X1 X2 X3)))) ((ENABLE I LEN) (DISABLE STR-A-I BAND3) (INDUCT (S-BAND3 X1 X2 X3)))) This formula can be simplified, using the abbreviations IMPLIES, NOT, OR, and AND, to the following two new goals: Case 2. (IMPLIES (AND (EMPTY X1) (EQUAL (LEN X1) (LEN X2)) (EQUAL (LEN X2) (LEN X3))) (EQUAL (S-BAND3 (I C_X1 X1) (I C_X2 X2) (I C_X3 X3)) (I (BAND3 C_X1 C_X2 C_X3) (S-BAND3 X1 X2 X3)))). This simplifies, rewriting with STR-LEN0-EMPTY, L-A, P-A, STR-NOT-EMPTY-A, and STR-I-E, and opening up the functions LEN, I, S-BAND3, and STRINGP, to: T. Case 1. (IMPLIES (AND (NOT (EMPTY X1)) (IMPLIES (AND (EQUAL (LEN (P X1)) (LEN (P X2))) (EQUAL (LEN (P X2)) (LEN (P X3)))) (EQUAL (S-BAND3 (I C_X1 (P X1)) (I C_X2 (P X2)) (I C_X3 (P X3))) (I (BAND3 C_X1 C_X2 C_X3) (S-BAND3 (P X1) (P X2) (P X3))))) (EQUAL (LEN X1) (LEN X2)) (EQUAL (LEN X2) (LEN X3))) (EQUAL (S-BAND3 (I C_X1 X1) (I C_X2 X2) (I C_X3 X3)) (I (BAND3 C_X1 C_X2 C_X3) (S-BAND3 X1 X2 X3)))), which simplifies, applying STR-EQUAL-LEN-P, L-A, P-A, STR-NOT-EMPTY-A, and A-EQUAL, and unfolding the functions AND, IMPLIES, LEN, I, S-BAND3, and STRINGP, to the following eight new conjectures: Case 1.8. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (S-BAND3 (I C_X1 (P X1)) (I C_X2 (P X2)) (I C_X3 (P X3))) (I (BAND3 C_X1 C_X2 C_X3) (S-BAND3 (P X1) (P X2) (P X3)))) (NOT (EMPTY X2)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X2)))) (EMPTY X3) (EQUAL (ADD1 (LEN (P X1))) 0)) (EQUAL (S-BAND3 (I C_X1 (P X1)) (I C_X2 (P X2)) (E)) (I (BAND3 C_X1 C_X2 C_X3) (S-BAND3 (P X1) (P X2) (P X3))))). However this again simplifies, using linear arithmetic, to: T. Case 1.7. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (S-BAND3 (I C_X1 (P X1)) (I C_X2 (P X2)) (I C_X3 (P X3))) (I (BAND3 C_X1 C_X2 C_X3) (S-BAND3 (P X1) (P X2) (P X3)))) (NOT (EMPTY X2)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X2)))) (EMPTY X3) (EQUAL (ADD1 (LEN (P X1))) 0)) (EQUAL (BAND3 (L X1) (L X2) C_X3) (BAND3 (L X1) (L X2) (L X3)))), which again simplifies, using linear arithmetic, to: T. Case 1.6. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (S-BAND3 (I C_X1 (P X1)) (I C_X2 (P X2)) (I C_X3 (P X3))) (I (BAND3 C_X1 C_X2 C_X3) (S-BAND3 (P X1) (P X2) (P X3)))) (EMPTY X2) (EQUAL (ADD1 (LEN (P X1))) 0) (EQUAL 0 (ADD1 (LEN (P X3)))) (NOT (EMPTY X3))) (EQUAL (S-BAND3 (I C_X1 (P X1)) (E) (P (A (I C_X3 (P X3)) (L X3)))) (I (BAND3 C_X1 C_X2 C_X3) (S-BAND3 (P X1) (P X2) (P X3))))), which again simplifies, using linear arithmetic, to: T. Case 1.5. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (S-BAND3 (I C_X1 (P X1)) (I C_X2 (P X2)) (I C_X3 (P X3))) (I (BAND3 C_X1 C_X2 C_X3) (S-BAND3 (P X1) (P X2) (P X3)))) (EMPTY X2) (EQUAL (ADD1 (LEN (P X1))) 0) (EQUAL 0 (ADD1 (LEN (P X3)))) (EMPTY X3)) (EQUAL (S-BAND3 (I C_X1 (P X1)) (E) (P (A (E) C_X3))) (I (BAND3 C_X1 C_X2 C_X3) (S-BAND3 (P X1) (P X2) (P X3))))), which again simplifies, using linear arithmetic, to: T. Case 1.4. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (S-BAND3 (I C_X1 (P X1)) (I C_X2 (P X2)) (I C_X3 (P X3))) (I (BAND3 C_X1 C_X2 C_X3) (S-BAND3 (P X1) (P X2) (P X3)))) (EMPTY X2) (EQUAL (ADD1 (LEN (P X1))) 0) (EQUAL 0 (ADD1 (LEN (P X3)))) (NOT (EMPTY X3))) (EQUAL (BAND3 (L X1) C_X2 (L (A (I C_X3 (P X3)) (L X3)))) (BAND3 (L X1) (L X2) (L X3)))), which again simplifies, using linear arithmetic, to: T. Case 1.3. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (S-BAND3 (I C_X1 (P X1)) (I C_X2 (P X2)) (I C_X3 (P X3))) (I (BAND3 C_X1 C_X2 C_X3) (S-BAND3 (P X1) (P X2) (P X3)))) (EMPTY X2) (EQUAL (ADD1 (LEN (P X1))) 0) (EQUAL 0 (ADD1 (LEN (P X3)))) (EMPTY X3)) (EQUAL (BAND3 (L X1) C_X2 (L (A (E) C_X3))) (BAND3 (L X1) (L X2) (L X3)))), which again simplifies, using linear arithmetic, to: T. Case 1.2. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (S-BAND3 (I C_X1 (P X1)) (I C_X2 (P X2)) (I C_X3 (P X3))) (I (BAND3 C_X1 C_X2 C_X3) (S-BAND3 (P X1) (P X2) (P X3)))) (EMPTY X2) (EQUAL (ADD1 (LEN (P X1))) 0) (EMPTY X3)) (EQUAL (S-BAND3 (I C_X1 (P X1)) (E) (E)) (I (BAND3 C_X1 C_X2 C_X3) (S-BAND3 (P X1) (P X2) (P X3))))), which again simplifies, using linear arithmetic, to: T. Case 1.1. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (S-BAND3 (I C_X1 (P X1)) (I C_X2 (P X2)) (I C_X3 (P X3))) (I (BAND3 C_X1 C_X2 C_X3) (S-BAND3 (P X1) (P X2) (P X3)))) (EMPTY X2) (EQUAL (ADD1 (LEN (P X1))) 0) (EMPTY X3)) (EQUAL (BAND3 (L X1) C_X2 C_X3) (BAND3 (L X1) (L X2) (L X3)))), which again simplifies, using linear arithmetic, to: T. Q.E.D. [ 0.0 0.1 0.0 ] A2-IC-S-BAND3 (PROVE-LEMMA A2-LC-S-BAND3 (REWRITE) (IMPLIES (NOT (EMPTY X1)) (EQUAL (L (S-BAND3 X1 X2 X3)) (BAND3 (L X1) (L X2) (L X3)))) ((DISABLE BAND3) (EXPAND (S-BAND3 X1 X2 X3)))) This simplifies, applying L-A, and unfolding S-BAND3, to: T. Q.E.D. [ 0.0 0.0 0.0 ] A2-LC-S-BAND3 (PROVE-LEMMA A2-PC-S-BAND3 (REWRITE) (EQUAL (P (S-BAND3 X1 X2 X3)) (S-BAND3 (P X1) (P X2) (P X3))) ((DISABLE BAND3))) This conjecture simplifies, expanding the definition of S-BAND3, to the following two new formulas: Case 2. (IMPLIES (NOT (EMPTY X1)) (EQUAL (P (A (S-BAND3 (P X1) (P X2) (P X3)) (BAND3 (L X1) (L X2) (L X3)))) (S-BAND3 (P X1) (P X2) (P X3)))). This again simplifies, applying P-A, to: T. Case 1. (IMPLIES (EMPTY X1) (EQUAL (P (E)) (S-BAND3 (P X1) (P X2) (P X3)))). However this again simplifies, applying STR-EMPTY-P, and unfolding the definitions of P, S-BAND3, and EQUAL, to: T. Q.E.D. [ 0.0 0.0 0.0 ] A2-PC-S-BAND3 (PROVE-LEMMA A2-HC-S-BAND3 (REWRITE) (IMPLIES (AND (NOT (EMPTY X1)) (AND (EQUAL (LEN X1) (LEN X2)) (EQUAL (LEN X2) (LEN X3)))) (EQUAL (H (S-BAND3 X1 X2 X3)) (BAND3 (H X1) (H X2) (H X3)))) ((DISABLE BAND3 S-BAND3) (ENABLE H LEN) (INDUCT (S-BAND3 X1 X2 X3)))) This conjecture can be simplified, using the abbreviations IMPLIES, NOT, OR, and AND, to two new formulas: Case 2. T, which simplifies, obviously, to: T. Case 1. (IMPLIES (AND (NOT (EMPTY X1)) (IMPLIES (AND (NOT (EMPTY (P X1))) (EQUAL (LEN (P X1)) (LEN (P X2))) (EQUAL (LEN (P X2)) (LEN (P X3)))) (EQUAL (H (S-BAND3 (P X1) (P X2) (P X3))) (BAND3 (H (P X1)) (H (P X2)) (H (P X3))))) (EQUAL (LEN X1) (LEN X2)) (EQUAL (LEN X2) (LEN X3))) (EQUAL (H (S-BAND3 X1 X2 X3)) (BAND3 (H X1) (H X2) (H X3)))). This simplifies, applying the lemmas STR-EQUAL-LEN-P, A2-LC-S-BAND3, A2-PC-S-BAND3, and A2-EMPTY-S-BAND3, and opening up the definitions of NOT, AND, IMPLIES, LEN, ADD1, and H, to the following 22 new formulas: Case 1.22. (IMPLIES (AND (NOT (EMPTY X1)) (EMPTY (P X1)) (NOT (EMPTY X2)) (EQUAL 1 (ADD1 (LEN (P X2)))) (NOT (EMPTY X3)) (EQUAL 1 (ADD1 (LEN (P X3)))) (NOT (EMPTY (P X3))) (NOT (EMPTY (P X2)))) (EQUAL (BAND3 (L X1) (L X2) (L X3)) (BAND3 (L X1) (H (P X2)) (H (P X3))))). But this again simplifies, rewriting with STR-LEN0-EMPTY and ADD1-EQUAL, and unfolding the function NUMBERP, to: T. Case 1.21. (IMPLIES (AND (NOT (EMPTY X1)) (EMPTY (P X1)) (NOT (EMPTY X2)) (EQUAL 1 (ADD1 (LEN (P X2)))) (NOT (EMPTY X3)) (EQUAL 1 (ADD1 (LEN (P X3)))) (NOT (EMPTY (P X3))) (EMPTY (P X2))) (EQUAL (BAND3 (L X1) (L X2) (L X3)) (BAND3 (L X1) (L X2) (H (P X3))))). This again simplifies, rewriting with the lemmas STR-LEN0-EMPTY and ADD1-EQUAL, and unfolding LEN, ADD1, EQUAL, and NUMBERP, to: T. Case 1.20. (IMPLIES (AND (NOT (EMPTY X1)) (EMPTY (P X1)) (NOT (EMPTY X2)) (EQUAL 1 (ADD1 (LEN (P X2)))) (NOT (EMPTY X3)) (EQUAL 1 (ADD1 (LEN (P X3)))) (EMPTY (P X3)) (NOT (EMPTY (P X2)))) (EQUAL (BAND3 (L X1) (L X2) (L X3)) (BAND3 (L X1) (H (P X2)) (L X3)))), which again simplifies, applying STR-LEN0-EMPTY and ADD1-EQUAL, and expanding the function NUMBERP, to: T. Case 1.19. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (H (S-BAND3 (P X1) (P X2) (P X3))) (BAND3 (H (P X1)) (H (P X2)) (H (P X3)))) (NOT (EMPTY X2)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X2)))) (NOT (EMPTY X3)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X3)))) (NOT (EMPTY (P X3))) (NOT (EMPTY (P X2))) (NOT (EMPTY (P X1)))) (EQUAL (H (S-BAND3 (P X1) (P X2) (P X3))) (BAND3 (H (P X1)) (H (P X2)) (H (P X3))))). This again simplifies, obviously, to: T. Case 1.18. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (H (S-BAND3 (P X1) (P X2) (P X3))) (BAND3 (H (P X1)) (H (P X2)) (H (P X3)))) (NOT (EMPTY X2)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X2)))) (NOT (EMPTY X3)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X3)))) (NOT (EMPTY (P X3))) (NOT (EMPTY (P X2))) (EMPTY (P X1))) (EQUAL (BAND3 (L X1) (L X2) (L X3)) (BAND3 (L X1) (H (P X2)) (H (P X3))))). But this again simplifies, applying the lemma A2-EMPTY-S-BAND3, and unfolding the definition of H, to: T. Case 1.17. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (H (S-BAND3 (P X1) (P X2) (P X3))) (BAND3 (H (P X1)) (H (P X2)) (H (P X3)))) (NOT (EMPTY X2)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X2)))) (NOT (EMPTY X3)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X3)))) (NOT (EMPTY (P X3))) (EMPTY (P X2)) (NOT (EMPTY (P X1)))) (EQUAL (H (S-BAND3 (P X1) (P X2) (P X3))) (BAND3 (H (P X1)) (L X2) (H (P X3))))), which again simplifies, applying STR-LEN0-EMPTY and ADD1-EQUAL, and opening up the definitions of H, LEN, ADD1, and NUMBERP, to: T. Case 1.16. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (H (S-BAND3 (P X1) (P X2) (P X3))) (BAND3 (H (P X1)) (H (P X2)) (H (P X3)))) (NOT (EMPTY X2)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X2)))) (NOT (EMPTY X3)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X3)))) (NOT (EMPTY (P X3))) (EMPTY (P X2)) (EMPTY (P X1))) (EQUAL (BAND3 (L X1) (L X2) (L X3)) (BAND3 (L X1) (L X2) (H (P X3))))). This again simplifies, applying A2-EMPTY-S-BAND3, and expanding the function H, to: T. Case 1.15. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (H (S-BAND3 (P X1) (P X2) (P X3))) (BAND3 (H (P X1)) (H (P X2)) (H (P X3)))) (NOT (EMPTY X2)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X2)))) (NOT (EMPTY X3)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X3)))) (EMPTY (P X3)) (NOT (EMPTY (P X2))) (NOT (EMPTY (P X1)))) (EQUAL (H (S-BAND3 (P X1) (P X2) (P X3))) (BAND3 (H (P X1)) (H (P X2)) (L X3)))). This again simplifies, rewriting with ADD1-EQUAL and STR-LEN0-EMPTY, and expanding the definitions of H, LEN, ADD1, and NUMBERP, to: T. Case 1.14. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (H (S-BAND3 (P X1) (P X2) (P X3))) (BAND3 (H (P X1)) (H (P X2)) (H (P X3)))) (NOT (EMPTY X2)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X2)))) (NOT (EMPTY X3)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X3)))) (EMPTY (P X3)) (NOT (EMPTY (P X2))) (EMPTY (P X1))) (EQUAL (BAND3 (L X1) (L X2) (L X3)) (BAND3 (L X1) (H (P X2)) (L X3)))). This again simplifies, rewriting with A2-EMPTY-S-BAND3, and unfolding the definition of H, to: T. Case 1.13. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (H (S-BAND3 (P X1) (P X2) (P X3))) (BAND3 (H (P X1)) (H (P X2)) (H (P X3)))) (NOT (EMPTY X2)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X2)))) (NOT (EMPTY X3)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X3)))) (EMPTY (P X3)) (EMPTY (P X2)) (NOT (EMPTY (P X1)))) (EQUAL (H (S-BAND3 (P X1) (P X2) (P X3))) (BAND3 (H (P X1)) (L X2) (L X3)))). However this again simplifies, applying STR-LEN0-EMPTY and ADD1-EQUAL, and expanding the functions H, LEN, ADD1, and NUMBERP, to: T. Case 1.12. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (H (S-BAND3 (P X1) (P X2) (P X3))) (BAND3 (H (P X1)) (H (P X2)) (H (P X3)))) (NOT (EMPTY X2)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X2)))) (EMPTY X3) (EQUAL (ADD1 (LEN (P X1))) 0) (NOT (EMPTY (P X2))) (NOT (EMPTY (P X1)))) (EQUAL (H (S-BAND3 (P X1) (P X2) (P X3))) (BAND3 (H (P X1)) (H (P X2)) (E)))). But this again simplifies, using linear arithmetic, to: T. Case 1.11. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (H (S-BAND3 (P X1) (P X2) (P X3))) (BAND3 (H (P X1)) (H (P X2)) (H (P X3)))) (NOT (EMPTY X2)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X2)))) (EMPTY X3) (EQUAL (ADD1 (LEN (P X1))) 0) (NOT (EMPTY (P X2))) (EMPTY (P X1))) (EQUAL (BAND3 (L X1) (L X2) (L X3)) (BAND3 (L X1) (H (P X2)) (E)))), which again simplifies, using linear arithmetic, to: T. Case 1.10. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (H (S-BAND3 (P X1) (P X2) (P X3))) (BAND3 (H (P X1)) (H (P X2)) (H (P X3)))) (NOT (EMPTY X2)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X2)))) (EMPTY X3) (EQUAL (ADD1 (LEN (P X1))) 0) (EMPTY (P X2)) (NOT (EMPTY (P X1)))) (EQUAL (H (S-BAND3 (P X1) (P X2) (P X3))) (BAND3 (H (P X1)) (L X2) (E)))), which again simplifies, using linear arithmetic, to: T. Case 1.9. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (H (S-BAND3 (P X1) (P X2) (P X3))) (BAND3 (H (P X1)) (H (P X2)) (H (P X3)))) (NOT (EMPTY X2)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X2)))) (EMPTY X3) (EQUAL (ADD1 (LEN (P X1))) 0) (EMPTY (P X2)) (EMPTY (P X1))) (EQUAL (BAND3 (L X1) (L X2) (L X3)) (BAND3 (L X1) (L X2) (E)))), which again simplifies, using linear arithmetic, to: T. Case 1.8. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (H (S-BAND3 (P X1) (P X2) (P X3))) (BAND3 (H (P X1)) (H (P X2)) (H (P X3)))) (EMPTY X2) (EQUAL (ADD1 (LEN (P X1))) 0) (EQUAL 0 (ADD1 (LEN (P X3)))) (NOT (EMPTY X3)) (EMPTY (P X3)) (NOT (EMPTY (P X1)))) (EQUAL (H (S-BAND3 (P X1) (P X2) (P X3))) (BAND3 (H (P X1)) (E) (L X3)))), which again simplifies, using linear arithmetic, to: T. Case 1.7. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (H (S-BAND3 (P X1) (P X2) (P X3))) (BAND3 (H (P X1)) (H (P X2)) (H (P X3)))) (EMPTY X2) (EQUAL (ADD1 (LEN (P X1))) 0) (EQUAL 0 (ADD1 (LEN (P X3)))) (NOT (EMPTY X3)) (EMPTY (P X3)) (EMPTY (P X1))) (EQUAL (BAND3 (L X1) (L X2) (L X3)) (BAND3 (L X1) (E) (L X3)))), which again simplifies, using linear arithmetic, to: T. Case 1.6. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (H (S-BAND3 (P X1) (P X2) (P X3))) (BAND3 (H (P X1)) (H (P X2)) (H (P X3)))) (EMPTY X2) (EQUAL (ADD1 (LEN (P X1))) 0) (EQUAL 0 (ADD1 (LEN (P X3)))) (NOT (EMPTY X3)) (NOT (EMPTY (P X3))) (NOT (EMPTY (P X1)))) (EQUAL (H (S-BAND3 (P X1) (P X2) (P X3))) (BAND3 (H (P X1)) (E) (H (P X3))))), which again simplifies, using linear arithmetic, to: T. Case 1.5. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (H (S-BAND3 (P X1) (P X2) (P X3))) (BAND3 (H (P X1)) (H (P X2)) (H (P X3)))) (EMPTY X2) (EQUAL (ADD1 (LEN (P X1))) 0) (EQUAL 0 (ADD1 (LEN (P X3)))) (NOT (EMPTY X3)) (NOT (EMPTY (P X3))) (EMPTY (P X1))) (EQUAL (BAND3 (L X1) (L X2) (L X3)) (BAND3 (L X1) (E) (H (P X3))))), which again simplifies, using linear arithmetic, to: T. Case 1.4. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (H (S-BAND3 (P X1) (P X2) (P X3))) (BAND3 (H (P X1)) (H (P X2)) (H (P X3)))) (EMPTY X2) (EQUAL (ADD1 (LEN (P X1))) 0) (EQUAL 0 (ADD1 (LEN (P X3)))) (EMPTY X3) (NOT (EMPTY (P X1)))) (EQUAL (H (S-BAND3 (P X1) (P X2) (P X3))) (BAND3 (H (P X1)) (E) (E)))), which again simplifies, using linear arithmetic, to: T. Case 1.3. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (H (S-BAND3 (P X1) (P X2) (P X3))) (BAND3 (H (P X1)) (H (P X2)) (H (P X3)))) (EMPTY X2) (EQUAL (ADD1 (LEN (P X1))) 0) (EQUAL 0 (ADD1 (LEN (P X3)))) (EMPTY X3) (EMPTY (P X1))) (EQUAL (BAND3 (L X1) (L X2) (L X3)) (BAND3 (L X1) (E) (E)))), which again simplifies, using linear arithmetic, to: T. Case 1.2. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (H (S-BAND3 (P X1) (P X2) (P X3))) (BAND3 (H (P X1)) (H (P X2)) (H (P X3)))) (EMPTY X2) (EQUAL (ADD1 (LEN (P X1))) 0) (EMPTY X3) (NOT (EMPTY (P X1)))) (EQUAL (H (S-BAND3 (P X1) (P X2) (P X3))) (BAND3 (H (P X1)) (E) (E)))), which again simplifies, using linear arithmetic, to: T. Case 1.1. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (H (S-BAND3 (P X1) (P X2) (P X3))) (BAND3 (H (P X1)) (H (P X2)) (H (P X3)))) (EMPTY X2) (EQUAL (ADD1 (LEN (P X1))) 0) (EMPTY X3) (EMPTY (P X1))) (EQUAL (BAND3 (L X1) (L X2) (L X3)) (BAND3 (L X1) (E) (E)))), which again simplifies, using linear arithmetic, to: T. Q.E.D. [ 0.0 0.1 0.0 ] A2-HC-S-BAND3 (PROVE-LEMMA A2-BC-S-BAND3 (REWRITE) (IMPLIES (AND (EQUAL (LEN X1) (LEN X2)) (EQUAL (LEN X2) (LEN X3))) (EQUAL (B (S-BAND3 X1 X2 X3)) (S-BAND3 (B X1) (B X2) (B X3)))) ((DISABLE BAND3) (ENABLE B LEN) (INDUCT (S-BAND3 X1 X2 X3)))) This formula can be simplified, using the abbreviations IMPLIES, NOT, OR, and AND, to the following two new formulas: Case 2. (IMPLIES (AND (EMPTY X1) (EQUAL (LEN X1) (LEN X2)) (EQUAL (LEN X2) (LEN X3))) (EQUAL (B (S-BAND3 X1 X2 X3)) (S-BAND3 (B X1) (B X2) (B X3)))). This simplifies, appealing to the lemma STR-LEN0-EMPTY, and opening up the functions LEN, S-BAND3, B, and EQUAL, to: T. Case 1. (IMPLIES (AND (NOT (EMPTY X1)) (IMPLIES (AND (EQUAL (LEN (P X1)) (LEN (P X2))) (EQUAL (LEN (P X2)) (LEN (P X3)))) (EQUAL (B (S-BAND3 (P X1) (P X2) (P X3))) (S-BAND3 (B (P X1)) (B (P X2)) (B (P X3))))) (EQUAL (LEN X1) (LEN X2)) (EQUAL (LEN X2) (LEN X3))) (EQUAL (B (S-BAND3 X1 X2 X3)) (S-BAND3 (B X1) (B X2) (B X3)))). This simplifies, applying the lemmas STR-EQUAL-LEN-P, L-A, A2-EMPTY-S-BAND3, P-A, and STR-NOT-EMPTY-A, and unfolding the definitions of AND, IMPLIES, LEN, S-BAND3, and B, to the following 20 new formulas: Case 1.20. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (B (S-BAND3 (P X1) (P X2) (P X3))) (S-BAND3 (B (P X1)) (B (P X2)) (B (P X3)))) (NOT (EMPTY X2)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X2)))) (NOT (EMPTY X3)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X3)))) (NOT (EMPTY (P X3))) (NOT (EMPTY (P X2))) (NOT (EMPTY (P X1)))) (EQUAL (A (B (S-BAND3 (P X1) (P X2) (P X3))) (BAND3 (L X1) (L X2) (L X3))) (S-BAND3 (A (B (P X1)) (L X1)) (A (B (P X2)) (L X2)) (A (B (P X3)) (L X3))))). But this again simplifies, applying ADD1-EQUAL, L-A, P-A, and STR-NOT-EMPTY-A, and opening up the definition of S-BAND3, to: T. Case 1.19. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (B (S-BAND3 (P X1) (P X2) (P X3))) (S-BAND3 (B (P X1)) (B (P X2)) (B (P X3)))) (NOT (EMPTY X2)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X2)))) (NOT (EMPTY X3)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X3)))) (NOT (EMPTY (P X3))) (NOT (EMPTY (P X2))) (EMPTY (P X1))) (EQUAL (E) (S-BAND3 (E) (A (B (P X2)) (L X2)) (A (B (P X3)) (L X3))))). But this again simplifies, rewriting with STR-LEN0-EMPTY and ADD1-EQUAL, and unfolding S-BAND3, B, EMPTY, EQUAL, LEN, ADD1, and NUMBERP, to: T. Case 1.18. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (B (S-BAND3 (P X1) (P X2) (P X3))) (S-BAND3 (B (P X1)) (B (P X2)) (B (P X3)))) (NOT (EMPTY X2)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X2)))) (NOT (EMPTY X3)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X3)))) (NOT (EMPTY (P X3))) (EMPTY (P X2)) (NOT (EMPTY (P X1)))) (EQUAL (A (B (S-BAND3 (P X1) (P X2) (P X3))) (BAND3 (L X1) (L X2) (L X3))) (S-BAND3 (A (B (P X1)) (L X1)) (E) (A (B (P X3)) (L X3))))). But this again simplifies, rewriting with STR-LEN0-EMPTY and ADD1-EQUAL, and unfolding the functions B, LEN, ADD1, and NUMBERP, to: T. Case 1.17. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (B (S-BAND3 (P X1) (P X2) (P X3))) (S-BAND3 (B (P X1)) (B (P X2)) (B (P X3)))) (NOT (EMPTY X2)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X2)))) (NOT (EMPTY X3)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X3)))) (NOT (EMPTY (P X3))) (EMPTY (P X2)) (EMPTY (P X1))) (EQUAL (E) (S-BAND3 (E) (E) (A (B (P X3)) (L X3))))). But this again simplifies, applying STR-LEN0-EMPTY and ADD1-EQUAL, and unfolding the functions S-BAND3, B, EMPTY, EQUAL, LEN, ADD1, and NUMBERP, to: T. Case 1.16. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (B (S-BAND3 (P X1) (P X2) (P X3))) (S-BAND3 (B (P X1)) (B (P X2)) (B (P X3)))) (NOT (EMPTY X2)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X2)))) (NOT (EMPTY X3)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X3)))) (EMPTY (P X3)) (NOT (EMPTY (P X2))) (NOT (EMPTY (P X1)))) (EQUAL (A (B (S-BAND3 (P X1) (P X2) (P X3))) (BAND3 (L X1) (L X2) (L X3))) (S-BAND3 (A (B (P X1)) (L X1)) (A (B (P X2)) (L X2)) (E)))). However this again simplifies, applying ADD1-EQUAL and STR-LEN0-EMPTY, and unfolding the functions B, LEN, ADD1, and NUMBERP, to: T. Case 1.15. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (B (S-BAND3 (P X1) (P X2) (P X3))) (S-BAND3 (B (P X1)) (B (P X2)) (B (P X3)))) (NOT (EMPTY X2)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X2)))) (NOT (EMPTY X3)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X3)))) (EMPTY (P X3)) (NOT (EMPTY (P X2))) (EMPTY (P X1))) (EQUAL (E) (S-BAND3 (E) (A (B (P X2)) (L X2)) (E)))). However this again simplifies, rewriting with STR-LEN0-EMPTY and ADD1-EQUAL, and unfolding S-BAND3, B, EMPTY, EQUAL, LEN, ADD1, and NUMBERP, to: T. Case 1.14. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (B (S-BAND3 (P X1) (P X2) (P X3))) (S-BAND3 (B (P X1)) (B (P X2)) (B (P X3)))) (NOT (EMPTY X2)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X2)))) (NOT (EMPTY X3)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X3)))) (EMPTY (P X3)) (EMPTY (P X2)) (NOT (EMPTY (P X1)))) (EQUAL (A (B (S-BAND3 (P X1) (P X2) (P X3))) (BAND3 (L X1) (L X2) (L X3))) (S-BAND3 (A (B (P X1)) (L X1)) (E) (E)))). This again simplifies, rewriting with STR-LEN0-EMPTY and ADD1-EQUAL, and expanding B, LEN, ADD1, and NUMBERP, to: T. Case 1.13. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (B (S-BAND3 (P X1) (P X2) (P X3))) (S-BAND3 (B (P X1)) (B (P X2)) (B (P X3)))) (NOT (EMPTY X2)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X2)))) (NOT (EMPTY X3)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X3)))) (EMPTY (P X3)) (EMPTY (P X2)) (EMPTY (P X1))) (EQUAL (E) (S-BAND3 (E) (E) (E)))). This again simplifies, opening up S-BAND3, B, EQUAL, LEN, and ADD1, to: T. Case 1.12. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (B (S-BAND3 (P X1) (P X2) (P X3))) (S-BAND3 (B (P X1)) (B (P X2)) (B (P X3)))) (NOT (EMPTY X2)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X2)))) (EMPTY X3) (EQUAL (ADD1 (LEN (P X1))) 0) (NOT (EMPTY (P X2))) (NOT (EMPTY (P X1)))) (EQUAL (A (B (S-BAND3 (P X1) (P X2) (P X3))) (BAND3 (L X1) (L X2) (L X3))) (S-BAND3 (A (B (P X1)) (L X1)) (A (B (P X2)) (L X2)) (E)))), which again simplifies, using linear arithmetic, to: T. Case 1.11. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (B (S-BAND3 (P X1) (P X2) (P X3))) (S-BAND3 (B (P X1)) (B (P X2)) (B (P X3)))) (NOT (EMPTY X2)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X2)))) (EMPTY X3) (EQUAL (ADD1 (LEN (P X1))) 0) (NOT (EMPTY (P X2))) (EMPTY (P X1))) (EQUAL (E) (S-BAND3 (E) (A (B (P X2)) (L X2)) (E)))), which again simplifies, using linear arithmetic, to: T. Case 1.10. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (B (S-BAND3 (P X1) (P X2) (P X3))) (S-BAND3 (B (P X1)) (B (P X2)) (B (P X3)))) (NOT (EMPTY X2)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X2)))) (EMPTY X3) (EQUAL (ADD1 (LEN (P X1))) 0) (EMPTY (P X2)) (NOT (EMPTY (P X1)))) (EQUAL (A (B (S-BAND3 (P X1) (P X2) (P X3))) (BAND3 (L X1) (L X2) (L X3))) (S-BAND3 (A (B (P X1)) (L X1)) (E) (E)))), which again simplifies, using linear arithmetic, to: T. Case 1.9. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (B (S-BAND3 (P X1) (P X2) (P X3))) (S-BAND3 (B (P X1)) (B (P X2)) (B (P X3)))) (NOT (EMPTY X2)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X2)))) (EMPTY X3) (EQUAL (ADD1 (LEN (P X1))) 0) (EMPTY (P X2)) (EMPTY (P X1))) (EQUAL (E) (S-BAND3 (E) (E) (E)))), which again simplifies, using linear arithmetic, to: T. Case 1.8. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (B (S-BAND3 (P X1) (P X2) (P X3))) (S-BAND3 (B (P X1)) (B (P X2)) (B (P X3)))) (EMPTY X2) (EQUAL (ADD1 (LEN (P X1))) 0) (EQUAL 0 (ADD1 (LEN (P X3)))) (EMPTY X3) (NOT (EMPTY (P X1)))) (EQUAL (A (B (S-BAND3 (P X1) (P X2) (P X3))) (BAND3 (L X1) (L X2) (L X3))) (S-BAND3 (A (B (P X1)) (L X1)) (E) (E)))), which again simplifies, using linear arithmetic, to: T. Case 1.7. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (B (S-BAND3 (P X1) (P X2) (P X3))) (S-BAND3 (B (P X1)) (B (P X2)) (B (P X3)))) (EMPTY X2) (EQUAL (ADD1 (LEN (P X1))) 0) (EQUAL 0 (ADD1 (LEN (P X3)))) (EMPTY (P X3)) (NOT (EMPTY (P X1)))) (EQUAL (A (B (S-BAND3 (P X1) (P X2) (P X3))) (BAND3 (L X1) (L X2) (L X3))) (S-BAND3 (A (B (P X1)) (L X1)) (E) (E)))), which again simplifies, using linear arithmetic, to: T. Case 1.6. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (B (S-BAND3 (P X1) (P X2) (P X3))) (S-BAND3 (B (P X1)) (B (P X2)) (B (P X3)))) (EMPTY X2) (EQUAL (ADD1 (LEN (P X1))) 0) (EQUAL 0 (ADD1 (LEN (P X3)))) (EMPTY X3) (EMPTY (P X1))) (EQUAL (E) (S-BAND3 (E) (E) (E)))), which again simplifies, using linear arithmetic, to: T. Case 1.5. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (B (S-BAND3 (P X1) (P X2) (P X3))) (S-BAND3 (B (P X1)) (B (P X2)) (B (P X3)))) (EMPTY X2) (EQUAL (ADD1 (LEN (P X1))) 0) (EQUAL 0 (ADD1 (LEN (P X3)))) (EMPTY (P X3)) (EMPTY (P X1))) (EQUAL (E) (S-BAND3 (E) (E) (E)))), which again simplifies, using linear arithmetic, to: T. Case 1.4. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (B (S-BAND3 (P X1) (P X2) (P X3))) (S-BAND3 (B (P X1)) (B (P X2)) (B (P X3)))) (EMPTY X2) (EQUAL (ADD1 (LEN (P X1))) 0) (EQUAL 0 (ADD1 (LEN (P X3)))) (NOT (EMPTY X3)) (NOT (EMPTY (P X3))) (NOT (EMPTY (P X1)))) (EQUAL (A (B (S-BAND3 (P X1) (P X2) (P X3))) (BAND3 (L X1) (L X2) (L X3))) (S-BAND3 (A (B (P X1)) (L X1)) (E) (A (B (P X3)) (L X3))))), which again simplifies, using linear arithmetic, to: T. Case 1.3. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (B (S-BAND3 (P X1) (P X2) (P X3))) (S-BAND3 (B (P X1)) (B (P X2)) (B (P X3)))) (EMPTY X2) (EQUAL (ADD1 (LEN (P X1))) 0) (EQUAL 0 (ADD1 (LEN (P X3)))) (NOT (EMPTY X3)) (NOT (EMPTY (P X3))) (EMPTY (P X1))) (EQUAL (E) (S-BAND3 (E) (E) (A (B (P X3)) (L X3))))), which again simplifies, using linear arithmetic, to: T. Case 1.2. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (B (S-BAND3 (P X1) (P X2) (P X3))) (S-BAND3 (B (P X1)) (B (P X2)) (B (P X3)))) (EMPTY X2) (EQUAL (ADD1 (LEN (P X1))) 0) (EMPTY X3) (NOT (EMPTY (P X1)))) (EQUAL (A (B (S-BAND3 (P X1) (P X2) (P X3))) (BAND3 (L X1) (L X2) (L X3))) (S-BAND3 (A (B (P X1)) (L X1)) (E) (E)))), which again simplifies, using linear arithmetic, to: T. Case 1.1. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (B (S-BAND3 (P X1) (P X2) (P X3))) (S-BAND3 (B (P X1)) (B (P X2)) (B (P X3)))) (EMPTY X2) (EQUAL (ADD1 (LEN (P X1))) 0) (EMPTY X3) (EMPTY (P X1))) (EQUAL (E) (S-BAND3 (E) (E) (E)))), which again simplifies, using linear arithmetic, to: T. Q.E.D. [ 0.0 0.1 0.0 ] A2-BC-S-BAND3 (PROVE-LEMMA A2-BNC-S-BAND3 (REWRITE) (IMPLIES (AND (EQUAL (LEN X1) (LEN X2)) (EQUAL (LEN X2) (LEN X3))) (EQUAL (BN N (S-BAND3 X1 X2 X3)) (S-BAND3 (BN N X1) (BN N X2) (BN N X3)))) ((DISABLE BAND3 S-BAND3))) . We now use the first equality hypothesis by substituting (LEN X2) for (LEN X1) and keeping the equality hypothesis. This generates: (IMPLIES (AND (EQUAL (LEN X1) (LEN X2)) (EQUAL (LEN X2) (LEN X3))) (EQUAL (BN N (S-BAND3 X1 X2 X3)) (S-BAND3 (BN N X1) (BN N X2) (BN N X3)))). This further simplifies, clearly, to: (IMPLIES (AND (EQUAL (LEN X1) (LEN X2)) (EQUAL (LEN X1) (LEN X3))) (EQUAL (BN N (S-BAND3 X1 X2 X3)) (S-BAND3 (BN N X1) (BN N X2) (BN N X3)))). We use the second equality hypothesis by substituting (LEN X3) for (LEN X1) and keeping the equality hypothesis. The result is: (IMPLIES (AND (EQUAL (LEN X3) (LEN X2)) (EQUAL (LEN X1) (LEN X3))) (EQUAL (BN N (S-BAND3 X1 X2 X3)) (S-BAND3 (BN N X1) (BN N X2) (BN N X3)))). This further simplifies, using linear arithmetic, to the conjecture: (IMPLIES (AND (EQUAL (LEN X2) (LEN X1)) (EQUAL (LEN X3) (LEN X1)) (EQUAL (LEN X1) (LEN X3))) (EQUAL (BN N (S-BAND3 X1 X2 X3)) (S-BAND3 (BN N X1) (BN N X2) (BN N X3)))). This again simplifies, obviously, to: (IMPLIES (AND (EQUAL (LEN X2) (LEN X1)) (EQUAL (LEN X1) (LEN X3))) (EQUAL (BN N (S-BAND3 X1 X2 X3)) (S-BAND3 (BN N X1) (BN N X2) (BN N X3)))). We now use the first equality hypothesis by substituting (LEN X2) for (LEN X1) and keeping the equality hypothesis. This generates the formula: (IMPLIES (AND (EQUAL (LEN X2) (LEN X1)) (EQUAL (LEN X2) (LEN X3))) (EQUAL (BN N (S-BAND3 X1 X2 X3)) (S-BAND3 (BN N X1) (BN N X2) (BN N X3)))). This further simplifies, obviously, to: (IMPLIES (AND (EQUAL (LEN X2) (LEN X1)) (EQUAL (LEN X1) (LEN X3))) (EQUAL (BN N (S-BAND3 X1 X2 X3)) (S-BAND3 (BN N X1) (BN N X2) (BN N X3)))), 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: (IMPLIES (AND (EQUAL (LEN X1) (LEN X2)) (EQUAL (LEN X2) (LEN X3))) (EQUAL (BN N (S-BAND3 X1 X2 X3)) (S-BAND3 (BN N X1) (BN N X2) (BN N X3)))), named *1. Let us appeal to the induction principle. There are four plausible inductions. However, they merge into one likely candidate induction. We will induct according to the following scheme: (AND (IMPLIES (ZEROP N) (p N X1 X2 X3)) (IMPLIES (AND (NOT (ZEROP N)) (p (SUB1 N) X1 X2 X3)) (p N X1 X2 X3))). 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 induction step of the scheme. The above induction scheme produces the following two new goals: Case 2. (IMPLIES (AND (ZEROP N) (EQUAL (LEN X1) (LEN X2)) (EQUAL (LEN X2) (LEN X3))) (EQUAL (BN N (S-BAND3 X1 X2 X3)) (S-BAND3 (BN N X1) (BN N X2) (BN N X3)))). This simplifies, opening up ZEROP, EQUAL, and BN, to: T. Case 1. (IMPLIES (AND (NOT (ZEROP N)) (EQUAL (BN (SUB1 N) (S-BAND3 X1 X2 X3)) (S-BAND3 (BN (SUB1 N) X1) (BN (SUB1 N) X2) (BN (SUB1 N) X3))) (EQUAL (LEN X1) (LEN X2)) (EQUAL (LEN X2) (LEN X3))) (EQUAL (BN N (S-BAND3 X1 X2 X3)) (S-BAND3 (BN N X1) (BN N X2) (BN N X3)))). This simplifies, opening up the definitions of ZEROP and BN, to: (IMPLIES (AND (NOT (EQUAL N 0)) (NUMBERP N) (EQUAL (BN (SUB1 N) (S-BAND3 X1 X2 X3)) (S-BAND3 (BN (SUB1 N) X1) (BN (SUB1 N) X2) (BN (SUB1 N) X3))) (EQUAL (LEN X1) (LEN X2)) (EQUAL (LEN X1) (LEN X3))) (EQUAL (B (BN (SUB1 N) (S-BAND3 X1 X2 X3))) (S-BAND3 (B (BN (SUB1 N) X1)) (B (BN (SUB1 N) X2)) (B (BN (SUB1 N) X3))))). Applying the lemma SUB1-ELIM, replace N by (ADD1 X) to eliminate (SUB1 N). We employ the type restriction lemma noted when SUB1 was introduced to restrict the new variable. We would thus like to prove: (IMPLIES (AND (NUMBERP X) (NOT (EQUAL (ADD1 X) 0)) (EQUAL (BN X (S-BAND3 X1 X2 X3)) (S-BAND3 (BN X X1) (BN X X2) (BN X X3))) (EQUAL (LEN X1) (LEN X2)) (EQUAL (LEN X1) (LEN X3))) (EQUAL (B (BN X (S-BAND3 X1 X2 X3))) (S-BAND3 (B (BN X X1)) (B (BN X X2)) (B (BN X X3))))), which further simplifies, clearly, to: (IMPLIES (AND (NUMBERP X) (EQUAL (BN X (S-BAND3 X1 X2 X3)) (S-BAND3 (BN X X1) (BN X X2) (BN X X3))) (EQUAL (LEN X1) (LEN X2)) (EQUAL (LEN X1) (LEN X3))) (EQUAL (B (BN X (S-BAND3 X1 X2 X3))) (S-BAND3 (B (BN X X1)) (B (BN X X2)) (B (BN X X3))))). We use the first equality hypothesis by substituting: (S-BAND3 (BN X X1) (BN X X2) (BN X X3)) for (BN X (S-BAND3 X1 X2 X3)) and throwing away the equality. We must thus prove: (IMPLIES (AND (NUMBERP X) (EQUAL (LEN X1) (LEN X2)) (EQUAL (LEN X1) (LEN X3))) (EQUAL (B (S-BAND3 (BN X X1) (BN X X2) (BN X X3))) (S-BAND3 (B (BN X X1)) (B (BN X X2)) (B (BN X X3))))). This further simplifies, applying STR-LEN-BN and A2-BC-S-BAND3, to: T. That finishes the proof of *1. Q.E.D. [ 0.0 0.1 0.0 ] A2-BNC-S-BAND3 (DEFN BOR (U V) (IF (AND (EQUAL U 0) (EQUAL V 0)) 0 1)) Note that (NUMBERP (BOR U V)) is a theorem. [ 0.0 0.0 0.0 ] BOR (DEFN S-BOR (X Y) (IF (EMPTY X) (E) (A (S-BOR (P X) (P Y)) (BOR (L X) (L Y))))) Linear arithmetic and the lemmas P-LESSEQP and STR-EMPTY-COUNT inform us that the measure (COUNT X) decreases according to the well-founded relation LESSP in each recursive call. Hence, S-BOR is accepted under the principle of definition. Note that (STRINGP (S-BOR X Y)) is a theorem. [ 0.0 0.0 0.0 ] S-BOR (PROVE-LEMMA A2-EMPTY-S-BOR (REWRITE) (EQUAL (EMPTY (S-BOR X Y)) (EMPTY X)) ((DISABLE BOR))) 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 (EMPTY X) (p X Y)) (IMPLIES (AND (NOT (EMPTY X)) (p (P X) (P Y))) (p X Y))). Linear arithmetic and the lemmas P-LESSEQP and STR-EMPTY-COUNT 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. Note, however, the inductive instance chosen for Y. The above induction scheme generates the following two new formulas: Case 2. (IMPLIES (EMPTY X) (EQUAL (EMPTY (S-BOR X Y)) (EMPTY X))). This simplifies, expanding the definitions of S-BOR, EMPTY, and EQUAL, to: T. Case 1. (IMPLIES (AND (NOT (EMPTY X)) (EQUAL (EMPTY (S-BOR (P X) (P Y))) (EMPTY (P X)))) (EQUAL (EMPTY (S-BOR X Y)) (EMPTY X))). This simplifies, appealing to the lemma STR-NOT-EMPTY-A, and opening up S-BOR and EQUAL, to: T. That finishes the proof of *1. Q.E.D. [ 0.0 0.0 0.0 ] A2-EMPTY-S-BOR (PROVE-LEMMA A2-E-S-BOR (REWRITE) (EQUAL (EQUAL (S-BOR X Y) (E)) (EMPTY X)) ((DISABLE S-BOR A2-EMPTY-S-BOR) (ENABLE EMPTY) (USE (A2-EMPTY-S-BOR)))) This formula simplifies, opening up the functions EMPTY and EQUAL, to: T. Q.E.D. [ 0.0 0.0 0.0 ] A2-E-S-BOR (PROVE-LEMMA A2-LP-S-BOR (REWRITE) (EQUAL (LEN (S-BOR X Y)) (LEN X)) ((DISABLE BOR) (ENABLE LEN))) 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 (EMPTY X) (p X Y)) (IMPLIES (AND (NOT (EMPTY X)) (p (P X) (P Y))) (p X Y))). Linear arithmetic and the lemmas P-LESSEQP and STR-EMPTY-COUNT 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. Note, however, the inductive instance chosen for Y. The above induction scheme generates the following two new formulas: Case 2. (IMPLIES (EMPTY X) (EQUAL (LEN (S-BOR X Y)) (LEN X))). This simplifies, expanding the definitions of S-BOR, LEN, and EQUAL, to: T. Case 1. (IMPLIES (AND (NOT (EMPTY X)) (EQUAL (LEN (S-BOR (P X) (P Y))) (LEN (P X)))) (EQUAL (LEN (S-BOR X Y)) (LEN X))). This simplifies, appealing to the lemmas P-A and STR-NOT-EMPTY-A, and opening up S-BOR and LEN, to: T. That finishes the proof of *1. Q.E.D. [ 0.0 0.0 0.0 ] A2-LP-S-BOR (PROVE-LEMMA A2-LPE-S-BOR (REWRITE) (EQLEN (S-BOR X Y) X) ((ENABLE EQLEN-IS-EQUAL-LEN) (DISABLE LEN S-BOR))) This conjecture can be simplified, using the abbreviations A2-LP-S-BOR and EQLEN-IS-EQUAL-LEN, to: (EQUAL (LEN X) (LEN X)). This simplifies, obviously, to: T. Q.E.D. [ 0.0 0.0 0.0 ] A2-LPE-S-BOR (PROVE-LEMMA A2-IC-S-BOR (REWRITE) (IMPLIES (EQUAL (LEN X) (LEN Y)) (EQUAL (S-BOR (I C_X X) (I C_Y Y)) (I (BOR C_X C_Y) (S-BOR X Y)))) ((ENABLE I LEN) (DISABLE STR-A-I BOR))) Give the conjecture the name *1. Perhaps we can prove it by induction. There are five plausible inductions. However, they merge into one likely candidate induction. We will induct according to the following scheme: (AND (IMPLIES (EMPTY X) (p C_X X C_Y Y)) (IMPLIES (AND (NOT (EMPTY X)) (p C_X (P X) C_Y (P Y))) (p C_X X C_Y Y))). Linear arithmetic and the lemmas P-LESSEQP and STR-EMPTY-COUNT 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. Note, however, the inductive instance chosen for Y. The above induction scheme generates three new conjectures: Case 3. (IMPLIES (AND (EMPTY X) (EQUAL (LEN X) (LEN Y))) (EQUAL (S-BOR (I C_X X) (I C_Y Y)) (I (BOR C_X C_Y) (S-BOR X Y)))), which simplifies, rewriting with L-A, P-A, STR-NOT-EMPTY-A, STR-I-E, and A-EQUAL, and expanding the definitions of LEN, I, STRINGP, S-BOR, EMPTY, and EQUAL, to the following two new formulas: Case 3.2. (IMPLIES (AND (EMPTY X) (EQUAL 0 (ADD1 (LEN (P Y)))) (NOT (EMPTY Y))) (EQUAL (BOR C_X (L (A (I C_Y (P Y)) (L Y)))) (BOR C_X C_Y))). This again simplifies, using linear arithmetic, to: T. Case 3.1. (IMPLIES (AND (EMPTY X) (EQUAL 0 (ADD1 (LEN (P Y)))) (EMPTY Y)) (EQUAL (BOR C_X (L (A (E) C_Y))) (BOR C_X C_Y))), which again simplifies, using linear arithmetic, to: T. Case 2. (IMPLIES (AND (NOT (EMPTY X)) (NOT (EQUAL (LEN (P X)) (LEN (P Y)))) (EQUAL (LEN X) (LEN Y))) (EQUAL (S-BOR (I C_X X) (I C_Y Y)) (I (BOR C_X C_Y) (S-BOR X Y)))), which simplifies, applying STR-EQUAL-LEN-P, to: T. Case 1. (IMPLIES (AND (NOT (EMPTY X)) (EQUAL (S-BOR (I C_X (P X)) (I C_Y (P Y))) (I (BOR C_X C_Y) (S-BOR (P X) (P Y)))) (EQUAL (LEN X) (LEN Y))) (EQUAL (S-BOR (I C_X X) (I C_Y Y)) (I (BOR C_X C_Y) (S-BOR X Y)))). This simplifies, rewriting with the lemmas L-A, P-A, STR-NOT-EMPTY-A, and A-EQUAL, and opening up LEN, I, S-BOR, and STRINGP, to the following two new conjectures: Case 1.2. (IMPLIES (AND (NOT (EMPTY X)) (EQUAL (S-BOR (I C_X (P X)) (I C_Y (P Y))) (I (BOR C_X C_Y) (S-BOR (P X) (P Y)))) (EMPTY Y) (EQUAL (ADD1 (LEN (P X))) 0)) (EQUAL (S-BOR (I C_X (P X)) (E)) (I (BOR C_X C_Y) (S-BOR (P X) (P Y))))). However this again simplifies, using linear arithmetic, to: T. Case 1.1. (IMPLIES (AND (NOT (EMPTY X)) (EQUAL (S-BOR (I C_X (P X)) (I C_Y (P Y))) (I (BOR C_X C_Y) (S-BOR (P X) (P Y)))) (EMPTY Y) (EQUAL (ADD1 (LEN (P X))) 0)) (EQUAL (BOR (L X) C_Y) (BOR (L X) (L Y)))), which again simplifies, using linear arithmetic, to: T. That finishes the proof of *1. Q.E.D. [ 0.0 0.0 0.0 ] A2-IC-S-BOR (PROVE-LEMMA A2-LC-S-BOR (REWRITE) (IMPLIES (NOT (EMPTY X)) (EQUAL (L (S-BOR X Y)) (BOR (L X) (L Y)))) ((DISABLE BOR) (EXPAND (S-BOR X Y)))) This conjecture simplifies, rewriting with L-A, and expanding the definition of S-BOR, to: T. Q.E.D. [ 0.0 0.0 0.0 ] A2-LC-S-BOR (PROVE-LEMMA A2-PC-S-BOR (REWRITE) (EQUAL (P (S-BOR X Y)) (S-BOR (P X) (P Y))) ((DISABLE BOR))) This simplifies, unfolding the definition of S-BOR, to the following two new goals: Case 2. (IMPLIES (NOT (EMPTY X)) (EQUAL (P (A (S-BOR (P X) (P Y)) (BOR (L X) (L Y)))) (S-BOR (P X) (P Y)))). This again simplifies, applying the lemma P-A, to: T. Case 1. (IMPLIES (EMPTY X) (EQUAL (P (E)) (S-BOR (P X) (P Y)))), which again simplifies, applying the lemma STR-EMPTY-P, and expanding P, S-BOR, and EQUAL, to: T. Q.E.D. [ 0.0 0.0 0.0 ] A2-PC-S-BOR (PROVE-LEMMA A2-HC-S-BOR (REWRITE) (IMPLIES (AND (NOT (EMPTY X)) (EQUAL (LEN X) (LEN Y))) (EQUAL (H (S-BOR X Y)) (BOR (H X) (H Y)))) ((DISABLE BOR S-BOR) (ENABLE H LEN) (INDUCT (S-BOR X Y)))) This conjecture can be simplified, using the abbreviations IMPLIES, NOT, OR, and AND, to two new formulas: Case 2. T, which simplifies, clearly, to: T. Case 1. (IMPLIES (AND (NOT (EMPTY X)) (IMPLIES (AND (NOT (EMPTY (P X))) (EQUAL (LEN (P X)) (LEN (P Y)))) (EQUAL (H (S-BOR (P X) (P Y))) (BOR (H (P X)) (H (P Y))))) (EQUAL (LEN X) (LEN Y))) (EQUAL (H (S-BOR X Y)) (BOR (H X) (H Y)))). This simplifies, rewriting with STR-EQUAL-LEN-P, A2-LC-S-BOR, A2-PC-S-BOR, and A2-EMPTY-S-BOR, and expanding the functions NOT, AND, IMPLIES, LEN, ADD1, and H, to six new goals: Case 1.6. (IMPLIES (AND (NOT (EMPTY X)) (EMPTY (P X)) (NOT (EMPTY Y)) (EQUAL 1 (ADD1 (LEN (P Y)))) (NOT (EMPTY (P Y)))) (EQUAL (BOR (L X) (L Y)) (BOR (L X) (H (P Y))))), which again simplifies, applying the lemmas STR-LEN0-EMPTY and ADD1-EQUAL, and expanding the definition of NUMBERP, to: T. Case 1.5. (IMPLIES (AND (NOT (EMPTY X)) (EQUAL (H (S-BOR (P X) (P Y))) (BOR (H (P X)) (H (P Y)))) (NOT (EMPTY Y)) (EQUAL (ADD1 (LEN (P X))) (ADD1 (LEN (P Y)))) (NOT (EMPTY (P Y))) (NOT (EMPTY (P X)))) (EQUAL (H (S-BOR (P X) (P Y))) (BOR (H (P X)) (H (P Y))))), which again simplifies, obviously, to: T. Case 1.4. (IMPLIES (AND (NOT (EMPTY X)) (EQUAL (H (S-BOR (P X) (P Y))) (BOR (H (P X)) (H (P Y)))) (NOT (EMPTY Y)) (EQUAL (ADD1 (LEN (P X))) (ADD1 (LEN (P Y)))) (NOT (EMPTY (P Y))) (EMPTY (P X))) (EQUAL (BOR (L X) (L Y)) (BOR (L X) (H (P Y))))). But this again simplifies, applying A2-EMPTY-S-BOR, and expanding H, to: T. Case 1.3. (IMPLIES (AND (NOT (EMPTY X)) (EQUAL (H (S-BOR (P X) (P Y))) (BOR (H (P X)) (H (P Y)))) (NOT (EMPTY Y)) (EQUAL (ADD1 (LEN (P X))) (ADD1 (LEN (P Y)))) (EMPTY (P Y)) (NOT (EMPTY (P X)))) (EQUAL (H (S-BOR (P X) (P Y))) (BOR (H (P X)) (L Y)))). However this again simplifies, rewriting with STR-LEN0-EMPTY and ADD1-EQUAL, and expanding H, LEN, ADD1, and NUMBERP, to: T. Case 1.2. (IMPLIES (AND (NOT (EMPTY X)) (EQUAL (H (S-BOR (P X) (P Y))) (BOR (H (P X)) (H (P Y)))) (EMPTY Y) (EQUAL (ADD1 (LEN (P X))) 0) (NOT (EMPTY (P X)))) (EQUAL (H (S-BOR (P X) (P Y))) (BOR (H (P X)) (E)))). However this again simplifies, using linear arithmetic, to: T. Case 1.1. (IMPLIES (AND (NOT (EMPTY X)) (EQUAL (H (S-BOR (P X) (P Y))) (BOR (H (P X)) (H (P Y)))) (EMPTY Y) (EQUAL (ADD1 (LEN (P X))) 0) (EMPTY (P X))) (EQUAL (BOR (L X) (L Y)) (BOR (L X) (E)))), which again simplifies, using linear arithmetic, to: T. Q.E.D. [ 0.0 0.0 0.0 ] A2-HC-S-BOR (PROVE-LEMMA A2-BC-S-BOR (REWRITE) (IMPLIES (EQUAL (LEN X) (LEN Y)) (EQUAL (B (S-BOR X Y)) (S-BOR (B X) (B Y)))) ((DISABLE BOR) (ENABLE B LEN) (INDUCT (S-BOR X Y)))) This formula can be simplified, using the abbreviations IMPLIES, NOT, OR, and AND, to the following two new formulas: Case 2. (IMPLIES (AND (EMPTY X) (EQUAL (LEN X) (LEN Y))) (EQUAL (B (S-BOR X Y)) (S-BOR (B X) (B Y)))). This simplifies, applying STR-LEN0-EMPTY, and unfolding the definitions of LEN, S-BOR, B, and EQUAL, to: T. Case 1. (IMPLIES (AND (NOT (EMPTY X)) (IMPLIES (EQUAL (LEN (P X)) (LEN (P Y))) (EQUAL (B (S-BOR (P X) (P Y))) (S-BOR (B (P X)) (B (P Y))))) (EQUAL (LEN X) (LEN Y))) (EQUAL (B (S-BOR X Y)) (S-BOR (B X) (B Y)))), which simplifies, applying STR-EQUAL-LEN-P, L-A, A2-EMPTY-S-BOR, P-A, and STR-NOT-EMPTY-A, and unfolding the functions IMPLIES, LEN, S-BOR, and B, to the following six new goals: Case 1.6. (IMPLIES (AND (NOT (EMPTY X)) (EQUAL (B (S-BOR (P X) (P Y))) (S-BOR (B (P X)) (B (P Y)))) (NOT (EMPTY Y)) (EQUAL (ADD1 (LEN (P X))) (ADD1 (LEN (P Y)))) (NOT (EMPTY (P Y))) (NOT (EMPTY (P X)))) (EQUAL (A (B (S-BOR (P X) (P Y))) (BOR (L X) (L Y))) (S-BOR (A (B (P X)) (L X)) (A (B (P Y)) (L Y))))). This again simplifies, rewriting with ADD1-EQUAL, L-A, P-A, and STR-NOT-EMPTY-A, and opening up the function S-BOR, to: T. Case 1.5. (IMPLIES (AND (NOT (EMPTY X)) (EQUAL (B (S-BOR (P X) (P Y))) (S-BOR (B (P X)) (B (P Y)))) (NOT (EMPTY Y)) (EQUAL (ADD1 (LEN (P X))) (ADD1 (LEN (P Y)))) (NOT (EMPTY (P Y))) (EMPTY (P X))) (EQUAL (E) (S-BOR (E) (A (B (P Y)) (L Y))))). This again simplifies, applying STR-LEN0-EMPTY and ADD1-EQUAL, and opening up the definitions of S-BOR, B, EMPTY, EQUAL, LEN, ADD1, and NUMBERP, to: T. Case 1.4. (IMPLIES (AND (NOT (EMPTY X)) (EQUAL (B (S-BOR (P X) (P Y))) (S-BOR (B (P X)) (B (P Y)))) (NOT (EMPTY Y)) (EQUAL (ADD1 (LEN (P X))) (ADD1 (LEN (P Y)))) (EMPTY (P Y)) (NOT (EMPTY (P X)))) (EQUAL (A (B (S-BOR (P X) (P Y))) (BOR (L X) (L Y))) (S-BOR (A (B (P X)) (L X)) (E)))). However this again simplifies, rewriting with STR-LEN0-EMPTY and ADD1-EQUAL, and unfolding the definitions of B, LEN, ADD1, and NUMBERP, to: T. Case 1.3. (IMPLIES (AND (NOT (EMPTY X)) (EQUAL (B (S-BOR (P X) (P Y))) (S-BOR (B (P X)) (B (P Y)))) (NOT (EMPTY Y)) (EQUAL (ADD1 (LEN (P X))) (ADD1 (LEN (P Y)))) (EMPTY (P Y)) (EMPTY (P X))) (EQUAL (E) (S-BOR (E) (E)))). But this again simplifies, opening up the functions S-BOR, B, EQUAL, LEN, and ADD1, to: T. Case 1.2. (IMPLIES (AND (NOT (EMPTY X)) (EQUAL (B (S-BOR (P X) (P Y))) (S-BOR (B (P X)) (B (P Y)))) (EMPTY Y) (EQUAL (ADD1 (LEN (P X))) 0) (NOT (EMPTY (P X)))) (EQUAL (A (B (S-BOR (P X) (P Y))) (BOR (L X) (L Y))) (S-BOR (A (B (P X)) (L X)) (E)))), which again simplifies, using linear arithmetic, to: T. Case 1.1. (IMPLIES (AND (NOT (EMPTY X)) (EQUAL (B (S-BOR (P X) (P Y))) (S-BOR (B (P X)) (B (P Y)))) (EMPTY Y) (EQUAL (ADD1 (LEN (P X))) 0) (EMPTY (P X))) (EQUAL (E) (S-BOR (E) (E)))), which again simplifies, using linear arithmetic, to: T. Q.E.D. [ 0.0 0.1 0.0 ] A2-BC-S-BOR (PROVE-LEMMA A2-BNC-S-BOR (REWRITE) (IMPLIES (EQUAL (LEN X) (LEN Y)) (EQUAL (BN N (S-BOR X Y)) (S-BOR (BN N X) (BN N Y)))) ((DISABLE BOR S-BOR))) Give the conjecture the name *1. Let us appeal to the induction principle. 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 N X Y)) (IMPLIES (AND (NOT (ZEROP N)) (p (SUB1 N) X Y)) (p N X Y))). 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 induction step of the scheme. The above induction scheme produces two new goals: Case 2. (IMPLIES (AND (ZEROP N) (EQUAL (LEN X) (LEN Y))) (EQUAL (BN N (S-BOR X Y)) (S-BOR (BN N X) (BN N Y)))), which simplifies, opening up ZEROP, EQUAL, and BN, to: T. Case 1. (IMPLIES (AND (NOT (ZEROP N)) (EQUAL (BN (SUB1 N) (S-BOR X Y)) (S-BOR (BN (SUB1 N) X) (BN (SUB1 N) Y))) (EQUAL (LEN X) (LEN Y))) (EQUAL (BN N (S-BOR X Y)) (S-BOR (BN N X) (BN N Y)))), which simplifies, unfolding the definitions of ZEROP and BN, to the formula: (IMPLIES (AND (NOT (EQUAL N 0)) (NUMBERP N) (EQUAL (BN (SUB1 N) (S-BOR X Y)) (S-BOR (BN (SUB1 N) X) (BN (SUB1 N) Y))) (EQUAL (LEN X) (LEN Y))) (EQUAL (B (BN (SUB1 N) (S-BOR X Y))) (S-BOR (B (BN (SUB1 N) X)) (B (BN (SUB1 N) Y))))). Appealing to the lemma SUB1-ELIM, we now replace N by (ADD1 Z) to eliminate (SUB1 N). We rely upon the type restriction lemma noted when SUB1 was introduced to constrain the new variable. This generates: (IMPLIES (AND (NUMBERP Z) (NOT (EQUAL (ADD1 Z) 0)) (EQUAL (BN Z (S-BOR X Y)) (S-BOR (BN Z X) (BN Z Y))) (EQUAL (LEN X) (LEN Y))) (EQUAL (B (BN Z (S-BOR X Y))) (S-BOR (B (BN Z X)) (B (BN Z Y))))). This further simplifies, obviously, to the new formula: (IMPLIES (AND (NUMBERP Z) (EQUAL (BN Z (S-BOR X Y)) (S-BOR (BN Z X) (BN Z Y))) (EQUAL (LEN X) (LEN Y))) (EQUAL (B (BN Z (S-BOR X Y))) (S-BOR (B (BN Z X)) (B (BN Z Y))))). We now use the first equality hypothesis by substituting: (S-BOR (BN Z X) (BN Z Y)) for (BN Z (S-BOR X Y)) and throwing away the equality. The result is the conjecture: (IMPLIES (AND (NUMBERP Z) (EQUAL (LEN X) (LEN Y))) (EQUAL (B (S-BOR (BN Z X) (BN Z Y))) (S-BOR (B (BN Z X)) (B (BN Z Y))))). But this further simplifies, applying STR-LEN-BN and A2-BC-S-BOR, to: T. That finishes the proof of *1. Q.E.D. [ 0.0 0.0 0.0 ] A2-BNC-S-BOR (DEFN BAND4 (U1 U2 U3 U4) (IF (OR (EQUAL U1 0) (EQUAL U2 0) (EQUAL U3 0) (EQUAL U4 0)) 0 1)) From the definition we can conclude that (NUMBERP (BAND4 U1 U2 U3 U4)) is a theorem. [ 0.0 0.0 0.0 ] BAND4 (DEFN S-BAND4 (X1 X2 X3 X4) (IF (EMPTY X1) (E) (A (S-BAND4 (P X1) (P X2) (P X3) (P X4)) (BAND4 (L X1) (L X2) (L X3) (L X4))))) Linear arithmetic and the lemmas P-LESSEQP and STR-EMPTY-COUNT inform us that the measure (COUNT X1) decreases according to the well-founded relation LESSP in each recursive call. Hence, S-BAND4 is accepted under the principle of definition. Note that (STRINGP (S-BAND4 X1 X2 X3 X4)) is a theorem. [ 0.0 0.0 0.0 ] S-BAND4 (PROVE-LEMMA A2-EMPTY-S-BAND4 (REWRITE) (EQUAL (EMPTY (S-BAND4 X1 X2 X3 X4)) (EMPTY X1)) ((DISABLE BAND4))) Give the conjecture the name *1. Let us appeal to the induction principle. There is only one suggested induction. We will induct according to the following scheme: (AND (IMPLIES (EMPTY X1) (p X1 X2 X3 X4)) (IMPLIES (AND (NOT (EMPTY X1)) (p (P X1) (P X2) (P X3) (P X4))) (p X1 X2 X3 X4))). Linear arithmetic and the lemmas P-LESSEQP and STR-EMPTY-COUNT establish that the measure (COUNT X1) decreases according to the well-founded relation LESSP in each induction step of the scheme. Note, however, the inductive instances chosen for X2, X3, and X4. The above induction scheme generates two new conjectures: Case 2. (IMPLIES (EMPTY X1) (EQUAL (EMPTY (S-BAND4 X1 X2 X3 X4)) (EMPTY X1))), which simplifies, expanding the functions S-BAND4, EMPTY, and EQUAL, to: T. Case 1. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (EMPTY (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (EMPTY (P X1)))) (EQUAL (EMPTY (S-BAND4 X1 X2 X3 X4)) (EMPTY X1))), which simplifies, appealing to the lemma STR-NOT-EMPTY-A, and expanding S-BAND4 and EQUAL, to: T. That finishes the proof of *1. Q.E.D. [ 0.0 0.0 0.0 ] A2-EMPTY-S-BAND4 (PROVE-LEMMA A2-E-S-BAND4 (REWRITE) (EQUAL (EQUAL (S-BAND4 X1 X2 X3 X4) (E)) (EMPTY X1)) ((DISABLE S-BAND4 A2-EMPTY-S-BAND4) (ENABLE EMPTY) (USE (A2-EMPTY-S-BAND4)))) This simplifies, unfolding the definitions of EMPTY and EQUAL, to: T. Q.E.D. [ 0.0 0.0 0.0 ] A2-E-S-BAND4 (PROVE-LEMMA A2-LP-S-BAND4 (REWRITE) (EQUAL (LEN (S-BAND4 X1 X2 X3 X4)) (LEN X1)) ((DISABLE BAND4) (ENABLE LEN))) 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 (EMPTY X1) (p X1 X2 X3 X4)) (IMPLIES (AND (NOT (EMPTY X1)) (p (P X1) (P X2) (P X3) (P X4))) (p X1 X2 X3 X4))). Linear arithmetic and the lemmas P-LESSEQP and STR-EMPTY-COUNT establish that the measure (COUNT X1) decreases according to the well-founded relation LESSP in each induction step of the scheme. Note, however, the inductive instances chosen for X2, X3, and X4. The above induction scheme generates two new conjectures: Case 2. (IMPLIES (EMPTY X1) (EQUAL (LEN (S-BAND4 X1 X2 X3 X4)) (LEN X1))), which simplifies, expanding the functions S-BAND4, LEN, and EQUAL, to: T. Case 1. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (LEN (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (LEN (P X1)))) (EQUAL (LEN (S-BAND4 X1 X2 X3 X4)) (LEN X1))), which simplifies, appealing to the lemmas P-A and STR-NOT-EMPTY-A, and expanding S-BAND4 and LEN, to: T. That finishes the proof of *1. Q.E.D. [ 0.0 0.0 0.0 ] A2-LP-S-BAND4 (PROVE-LEMMA A2-LPE-S-BAND4 (REWRITE) (EQLEN (S-BAND4 X1 X2 X3 X4) X1) ((ENABLE EQLEN-IS-EQUAL-LEN) (DISABLE LEN S-BAND4))) This conjecture can be simplified, using the abbreviations A2-LP-S-BAND4 and EQLEN-IS-EQUAL-LEN, to: (EQUAL (LEN X1) (LEN X1)). This simplifies, clearly, to: T. Q.E.D. [ 0.0 0.0 0.0 ] A2-LPE-S-BAND4 (PROVE-LEMMA A2-IC-S-BAND4 (REWRITE) (IMPLIES (AND (EQUAL (LEN X1) (LEN X2)) (EQUAL (LEN X2) (LEN X3)) (EQUAL (LEN X3) (LEN X4))) (EQUAL (S-BAND4 (I C_X1 X1) (I C_X2 X2) (I C_X3 X3) (I C_X4 X4)) (I (BAND4 C_X1 C_X2 C_X3 C_X4) (S-BAND4 X1 X2 X3 X4)))) ((ENABLE I LEN) (DISABLE STR-A-I BAND4) (INDUCT (S-BAND4 X1 X2 X3 X4)))) This formula can be simplified, using the abbreviations IMPLIES, NOT, OR, and AND, to the following two new formulas: Case 2. (IMPLIES (AND (EMPTY X1) (EQUAL (LEN X1) (LEN X2)) (EQUAL (LEN X2) (LEN X3)) (EQUAL (LEN X3) (LEN X4))) (EQUAL (S-BAND4 (I C_X1 X1) (I C_X2 X2) (I C_X3 X3) (I C_X4 X4)) (I (BAND4 C_X1 C_X2 C_X3 C_X4) (S-BAND4 X1 X2 X3 X4)))). This simplifies, rewriting with STR-LEN0-EMPTY, L-A, P-A, STR-NOT-EMPTY-A, and STR-I-E, and opening up the definitions of LEN, I, S-BAND4, and STRINGP, to: T. Case 1. (IMPLIES (AND (NOT (EMPTY X1)) (IMPLIES (AND (EQUAL (LEN (P X1)) (LEN (P X2))) (EQUAL (LEN (P X2)) (LEN (P X3))) (EQUAL (LEN (P X3)) (LEN (P X4)))) (EQUAL (S-BAND4 (I C_X1 (P X1)) (I C_X2 (P X2)) (I C_X3 (P X3)) (I C_X4 (P X4))) (I (BAND4 C_X1 C_X2 C_X3 C_X4) (S-BAND4 (P X1) (P X2) (P X3) (P X4))))) (EQUAL (LEN X1) (LEN X2)) (EQUAL (LEN X2) (LEN X3)) (EQUAL (LEN X3) (LEN X4))) (EQUAL (S-BAND4 (I C_X1 X1) (I C_X2 X2) (I C_X3 X3) (I C_X4 X4)) (I (BAND4 C_X1 C_X2 C_X3 C_X4) (S-BAND4 X1 X2 X3 X4)))), which simplifies, applying STR-EQUAL-LEN-P, L-A, P-A, STR-NOT-EMPTY-A, and A-EQUAL, and opening up the functions AND, IMPLIES, LEN, I, S-BAND4, and STRINGP, to the following 26 new formulas: Case 1.26. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (S-BAND4 (I C_X1 (P X1)) (I C_X2 (P X2)) (I C_X3 (P X3)) (I C_X4 (P X4))) (I (BAND4 C_X1 C_X2 C_X3 C_X4) (S-BAND4 (P X1) (P X2) (P X3) (P X4)))) (NOT (EMPTY X2)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X2)))) (NOT (EMPTY X3)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X3)))) (EMPTY X4) (EQUAL (ADD1 (LEN (P X1))) 0)) (EQUAL (S-BAND4 (I C_X1 (P X1)) (I C_X2 (P X2)) (I C_X3 (P X3)) (E)) (I (BAND4 C_X1 C_X2 C_X3 C_X4) (S-BAND4 (P X1) (P X2) (P X3) (P X4))))). But this again simplifies, using linear arithmetic, to: T. Case 1.25. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (S-BAND4 (I C_X1 (P X1)) (I C_X2 (P X2)) (I C_X3 (P X3)) (I C_X4 (P X4))) (I (BAND4 C_X1 C_X2 C_X3 C_X4) (S-BAND4 (P X1) (P X2) (P X3) (P X4)))) (NOT (EMPTY X2)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X2)))) (NOT (EMPTY X3)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X3)))) (EMPTY X4) (EQUAL (ADD1 (LEN (P X1))) 0)) (EQUAL (BAND4 (L X1) (L X2) (L X3) C_X4) (BAND4 (L X1) (L X2) (L X3) (L X4)))), which again simplifies, using linear arithmetic, to: T. Case 1.24. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (S-BAND4 (I C_X1 (P X1)) (I C_X2 (P X2)) (I C_X3 (P X3)) (I C_X4 (P X4))) (I (BAND4 C_X1 C_X2 C_X3 C_X4) (S-BAND4 (P X1) (P X2) (P X3) (P X4)))) (NOT (EMPTY X2)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X2)))) (EMPTY X3) (EQUAL (ADD1 (LEN (P X1))) 0) (EQUAL 0 (ADD1 (LEN (P X4)))) (NOT (EMPTY X4))) (EQUAL (S-BAND4 (I C_X1 (P X1)) (I C_X2 (P X2)) (E) (P (A (I C_X4 (P X4)) (L X4)))) (I (BAND4 C_X1 C_X2 C_X3 C_X4) (S-BAND4 (P X1) (P X2) (P X3) (P X4))))), which again simplifies, using linear arithmetic, to: T. Case 1.23. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (S-BAND4 (I C_X1 (P X1)) (I C_X2 (P X2)) (I C_X3 (P X3)) (I C_X4 (P X4))) (I (BAND4 C_X1 C_X2 C_X3 C_X4) (S-BAND4 (P X1) (P X2) (P X3) (P X4)))) (NOT (EMPTY X2)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X2)))) (EMPTY X3) (EQUAL (ADD1 (LEN (P X1))) 0) (EQUAL 0 (ADD1 (LEN (P X4)))) (EMPTY X4)) (EQUAL (S-BAND4 (I C_X1 (P X1)) (I C_X2 (P X2)) (E) (P (A (E) C_X4))) (I (BAND4 C_X1 C_X2 C_X3 C_X4) (S-BAND4 (P X1) (P X2) (P X3) (P X4))))), which again simplifies, using linear arithmetic, to: T. Case 1.22. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (S-BAND4 (I C_X1 (P X1)) (I C_X2 (P X2)) (I C_X3 (P X3)) (I C_X4 (P X4))) (I (BAND4 C_X1 C_X2 C_X3 C_X4) (S-BAND4 (P X1) (P X2) (P X3) (P X4)))) (NOT (EMPTY X2)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X2)))) (EMPTY X3) (EQUAL (ADD1 (LEN (P X1))) 0) (EQUAL 0 (ADD1 (LEN (P X4)))) (NOT (EMPTY X4))) (EQUAL (BAND4 (L X1) (L X2) C_X3 (L (A (I C_X4 (P X4)) (L X4)))) (BAND4 (L X1) (L X2) (L X3) (L X4)))), which again simplifies, using linear arithmetic, to: T. Case 1.21. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (S-BAND4 (I C_X1 (P X1)) (I C_X2 (P X2)) (I C_X3 (P X3)) (I C_X4 (P X4))) (I (BAND4 C_X1 C_X2 C_X3 C_X4) (S-BAND4 (P X1) (P X2) (P X3) (P X4)))) (NOT (EMPTY X2)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X2)))) (EMPTY X3) (EQUAL (ADD1 (LEN (P X1))) 0) (EQUAL 0 (ADD1 (LEN (P X4)))) (EMPTY X4)) (EQUAL (BAND4 (L X1) (L X2) C_X3 (L (A (E) C_X4))) (BAND4 (L X1) (L X2) (L X3) (L X4)))), which again simplifies, using linear arithmetic, to: T. Case 1.20. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (S-BAND4 (I C_X1 (P X1)) (I C_X2 (P X2)) (I C_X3 (P X3)) (I C_X4 (P X4))) (I (BAND4 C_X1 C_X2 C_X3 C_X4) (S-BAND4 (P X1) (P X2) (P X3) (P X4)))) (NOT (EMPTY X2)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X2)))) (EMPTY X3) (EQUAL (ADD1 (LEN (P X1))) 0) (EMPTY X4)) (EQUAL (S-BAND4 (I C_X1 (P X1)) (I C_X2 (P X2)) (E) (E)) (I (BAND4 C_X1 C_X2 C_X3 C_X4) (S-BAND4 (P X1) (P X2) (P X3) (P X4))))), which again simplifies, using linear arithmetic, to: T. Case 1.19. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (S-BAND4 (I C_X1 (P X1)) (I C_X2 (P X2)) (I C_X3 (P X3)) (I C_X4 (P X4))) (I (BAND4 C_X1 C_X2 C_X3 C_X4) (S-BAND4 (P X1) (P X2) (P X3) (P X4)))) (NOT (EMPTY X2)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X2)))) (EMPTY X3) (EQUAL (ADD1 (LEN (P X1))) 0) (EMPTY X4)) (EQUAL (BAND4 (L X1) (L X2) C_X3 C_X4) (BAND4 (L X1) (L X2) (L X3) (L X4)))), which again simplifies, using linear arithmetic, to: T. Case 1.18. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (S-BAND4 (I C_X1 (P X1)) (I C_X2 (P X2)) (I C_X3 (P X3)) (I C_X4 (P X4))) (I (BAND4 C_X1 C_X2 C_X3 C_X4) (S-BAND4 (P X1) (P X2) (P X3) (P X4)))) (EMPTY X2) (EQUAL (ADD1 (LEN (P X1))) 0) (EQUAL 0 (ADD1 (LEN (P X3)))) (EQUAL 0 (ADD1 (LEN (P X4)))) (NOT (EMPTY X4)) (NOT (EMPTY X3))) (EQUAL (S-BAND4 (I C_X1 (P X1)) (E) (P (A (I C_X3 (P X3)) (L X3))) (P (A (I C_X4 (P X4)) (L X4)))) (I (BAND4 C_X1 C_X2 C_X3 C_X4) (S-BAND4 (P X1) (P X2) (P X3) (P X4))))), which again simplifies, using linear arithmetic, to: T. Case 1.17. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (S-BAND4 (I C_X1 (P X1)) (I C_X2 (P X2)) (I C_X3 (P X3)) (I C_X4 (P X4))) (I (BAND4 C_X1 C_X2 C_X3 C_X4) (S-BAND4 (P X1) (P X2) (P X3) (P X4)))) (EMPTY X2) (EQUAL (ADD1 (LEN (P X1))) 0) (EQUAL 0 (ADD1 (LEN (P X3)))) (EQUAL 0 (ADD1 (LEN (P X4)))) (NOT (EMPTY X4)) (EMPTY X3)) (EQUAL (S-BAND4 (I C_X1 (P X1)) (E) (P (A (E) C_X3)) (P (A (I C_X4 (P X4)) (L X4)))) (I (BAND4 C_X1 C_X2 C_X3 C_X4) (S-BAND4 (P X1) (P X2) (P X3) (P X4))))), which again simplifies, using linear arithmetic, to: T. Case 1.16. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (S-BAND4 (I C_X1 (P X1)) (I C_X2 (P X2)) (I C_X3 (P X3)) (I C_X4 (P X4))) (I (BAND4 C_X1 C_X2 C_X3 C_X4) (S-BAND4 (P X1) (P X2) (P X3) (P X4)))) (EMPTY X2) (EQUAL (ADD1 (LEN (P X1))) 0) (EQUAL 0 (ADD1 (LEN (P X3)))) (EQUAL 0 (ADD1 (LEN (P X4)))) (EMPTY X4) (NOT (EMPTY X3))) (EQUAL (S-BAND4 (I C_X1 (P X1)) (E) (P (A (I C_X3 (P X3)) (L X3))) (P (A (E) C_X4))) (I (BAND4 C_X1 C_X2 C_X3 C_X4) (S-BAND4 (P X1) (P X2) (P X3) (P X4))))), which again simplifies, using linear arithmetic, to: T. Case 1.15. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (S-BAND4 (I C_X1 (P X1)) (I C_X2 (P X2)) (I C_X3 (P X3)) (I C_X4 (P X4))) (I (BAND4 C_X1 C_X2 C_X3 C_X4) (S-BAND4 (P X1) (P X2) (P X3) (P X4)))) (EMPTY X2) (EQUAL (ADD1 (LEN (P X1))) 0) (EQUAL 0 (ADD1 (LEN (P X3)))) (EQUAL 0 (ADD1 (LEN (P X4)))) (EMPTY X4) (EMPTY X3)) (EQUAL (S-BAND4 (I C_X1 (P X1)) (E) (P (A (E) C_X3)) (P (A (E) C_X4))) (I (BAND4 C_X1 C_X2 C_X3 C_X4) (S-BAND4 (P X1) (P X2) (P X3) (P X4))))), which again simplifies, using linear arithmetic, to: T. Case 1.14. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (S-BAND4 (I C_X1 (P X1)) (I C_X2 (P X2)) (I C_X3 (P X3)) (I C_X4 (P X4))) (I (BAND4 C_X1 C_X2 C_X3 C_X4) (S-BAND4 (P X1) (P X2) (P X3) (P X4)))) (EMPTY X2) (EQUAL (ADD1 (LEN (P X1))) 0) (EQUAL 0 (ADD1 (LEN (P X3)))) (EQUAL 0 (ADD1 (LEN (P X4)))) (NOT (EMPTY X4)) (NOT (EMPTY X3))) (EQUAL (BAND4 (L X1) C_X2 (L (A (I C_X3 (P X3)) (L X3))) (L (A (I C_X4 (P X4)) (L X4)))) (BAND4 (L X1) (L X2) (L X3) (L X4)))), which again simplifies, using linear arithmetic, to: T. Case 1.13. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (S-BAND4 (I C_X1 (P X1)) (I C_X2 (P X2)) (I C_X3 (P X3)) (I C_X4 (P X4))) (I (BAND4 C_X1 C_X2 C_X3 C_X4) (S-BAND4 (P X1) (P X2) (P X3) (P X4)))) (EMPTY X2) (EQUAL (ADD1 (LEN (P X1))) 0) (EQUAL 0 (ADD1 (LEN (P X3)))) (EQUAL 0 (ADD1 (LEN (P X4)))) (NOT (EMPTY X4)) (EMPTY X3)) (EQUAL (BAND4 (L X1) C_X2 (L (A (E) C_X3)) (L (A (I C_X4 (P X4)) (L X4)))) (BAND4 (L X1) (L X2) (L X3) (L X4)))), which again simplifies, using linear arithmetic, to: T. Case 1.12. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (S-BAND4 (I C_X1 (P X1)) (I C_X2 (P X2)) (I C_X3 (P X3)) (I C_X4 (P X4))) (I (BAND4 C_X1 C_X2 C_X3 C_X4) (S-BAND4 (P X1) (P X2) (P X3) (P X4)))) (EMPTY X2) (EQUAL (ADD1 (LEN (P X1))) 0) (EQUAL 0 (ADD1 (LEN (P X3)))) (EQUAL 0 (ADD1 (LEN (P X4)))) (EMPTY X4) (NOT (EMPTY X3))) (EQUAL (BAND4 (L X1) C_X2 (L (A (I C_X3 (P X3)) (L X3))) (L (A (E) C_X4))) (BAND4 (L X1) (L X2) (L X3) (L X4)))), which again simplifies, using linear arithmetic, to: T. Case 1.11. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (S-BAND4 (I C_X1 (P X1)) (I C_X2 (P X2)) (I C_X3 (P X3)) (I C_X4 (P X4))) (I (BAND4 C_X1 C_X2 C_X3 C_X4) (S-BAND4 (P X1) (P X2) (P X3) (P X4)))) (EMPTY X2) (EQUAL (ADD1 (LEN (P X1))) 0) (EQUAL 0 (ADD1 (LEN (P X3)))) (EQUAL 0 (ADD1 (LEN (P X4)))) (EMPTY X4) (EMPTY X3)) (EQUAL (BAND4 (L X1) C_X2 (L (A (E) C_X3)) (L (A (E) C_X4))) (BAND4 (L X1) (L X2) (L X3) (L X4)))), which again simplifies, using linear arithmetic, to: T. Case 1.10. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (S-BAND4 (I C_X1 (P X1)) (I C_X2 (P X2)) (I C_X3 (P X3)) (I C_X4 (P X4))) (I (BAND4 C_X1 C_X2 C_X3 C_X4) (S-BAND4 (P X1) (P X2) (P X3) (P X4)))) (EMPTY X2) (EQUAL (ADD1 (LEN (P X1))) 0) (EQUAL 0 (ADD1 (LEN (P X3)))) (EMPTY X4) (NOT (EMPTY X3))) (EQUAL (S-BAND4 (I C_X1 (P X1)) (E) (P (A (I C_X3 (P X3)) (L X3))) (E)) (I (BAND4 C_X1 C_X2 C_X3 C_X4) (S-BAND4 (P X1) (P X2) (P X3) (P X4))))), which again simplifies, using linear arithmetic, to: T. Case 1.9. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (S-BAND4 (I C_X1 (P X1)) (I C_X2 (P X2)) (I C_X3 (P X3)) (I C_X4 (P X4))) (I (BAND4 C_X1 C_X2 C_X3 C_X4) (S-BAND4 (P X1) (P X2) (P X3) (P X4)))) (EMPTY X2) (EQUAL (ADD1 (LEN (P X1))) 0) (EQUAL 0 (ADD1 (LEN (P X3)))) (EMPTY X4) (EMPTY X3)) (EQUAL (S-BAND4 (I C_X1 (P X1)) (E) (P (A (E) C_X3)) (E)) (I (BAND4 C_X1 C_X2 C_X3 C_X4) (S-BAND4 (P X1) (P X2) (P X3) (P X4))))), which again simplifies, using linear arithmetic, to: T. Case 1.8. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (S-BAND4 (I C_X1 (P X1)) (I C_X2 (P X2)) (I C_X3 (P X3)) (I C_X4 (P X4))) (I (BAND4 C_X1 C_X2 C_X3 C_X4) (S-BAND4 (P X1) (P X2) (P X3) (P X4)))) (EMPTY X2) (EQUAL (ADD1 (LEN (P X1))) 0) (EQUAL 0 (ADD1 (LEN (P X3)))) (EMPTY X4) (NOT (EMPTY X3))) (EQUAL (BAND4 (L X1) C_X2 (L (A (I C_X3 (P X3)) (L X3))) C_X4) (BAND4 (L X1) (L X2) (L X3) (L X4)))), which again simplifies, using linear arithmetic, to: T. Case 1.7. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (S-BAND4 (I C_X1 (P X1)) (I C_X2 (P X2)) (I C_X3 (P X3)) (I C_X4 (P X4))) (I (BAND4 C_X1 C_X2 C_X3 C_X4) (S-BAND4 (P X1) (P X2) (P X3) (P X4)))) (EMPTY X2) (EQUAL (ADD1 (LEN (P X1))) 0) (EQUAL 0 (ADD1 (LEN (P X3)))) (EMPTY X4) (EMPTY X3)) (EQUAL (BAND4 (L X1) C_X2 (L (A (E) C_X3)) C_X4) (BAND4 (L X1) (L X2) (L X3) (L X4)))), which again simplifies, using linear arithmetic, to: T. Case 1.6. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (S-BAND4 (I C_X1 (P X1)) (I C_X2 (P X2)) (I C_X3 (P X3)) (I C_X4 (P X4))) (I (BAND4 C_X1 C_X2 C_X3 C_X4) (S-BAND4 (P X1) (P X2) (P X3) (P X4)))) (EMPTY X2) (EQUAL (ADD1 (LEN (P X1))) 0) (EMPTY X3) (EQUAL 0 (ADD1 (LEN (P X4)))) (NOT (EMPTY X4))) (EQUAL (S-BAND4 (I C_X1 (P X1)) (E) (E) (P (A (I C_X4 (P X4)) (L X4)))) (I (BAND4 C_X1 C_X2 C_X3 C_X4) (S-BAND4 (P X1) (P X2) (P X3) (P X4))))), which again simplifies, using linear arithmetic, to: T. Case 1.5. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (S-BAND4 (I C_X1 (P X1)) (I C_X2 (P X2)) (I C_X3 (P X3)) (I C_X4 (P X4))) (I (BAND4 C_X1 C_X2 C_X3 C_X4) (S-BAND4 (P X1) (P X2) (P X3) (P X4)))) (EMPTY X2) (EQUAL (ADD1 (LEN (P X1))) 0) (EMPTY X3) (EQUAL 0 (ADD1 (LEN (P X4)))) (EMPTY X4)) (EQUAL (S-BAND4 (I C_X1 (P X1)) (E) (E) (P (A (E) C_X4))) (I (BAND4 C_X1 C_X2 C_X3 C_X4) (S-BAND4 (P X1) (P X2) (P X3) (P X4))))), which again simplifies, using linear arithmetic, to: T. Case 1.4. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (S-BAND4 (I C_X1 (P X1)) (I C_X2 (P X2)) (I C_X3 (P X3)) (I C_X4 (P X4))) (I (BAND4 C_X1 C_X2 C_X3 C_X4) (S-BAND4 (P X1) (P X2) (P X3) (P X4)))) (EMPTY X2) (EQUAL (ADD1 (LEN (P X1))) 0) (EMPTY X3) (EQUAL 0 (ADD1 (LEN (P X4)))) (NOT (EMPTY X4))) (EQUAL (BAND4 (L X1) C_X2 C_X3 (L (A (I C_X4 (P X4)) (L X4)))) (BAND4 (L X1) (L X2) (L X3) (L X4)))), which again simplifies, using linear arithmetic, to: T. Case 1.3. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (S-BAND4 (I C_X1 (P X1)) (I C_X2 (P X2)) (I C_X3 (P X3)) (I C_X4 (P X4))) (I (BAND4 C_X1 C_X2 C_X3 C_X4) (S-BAND4 (P X1) (P X2) (P X3) (P X4)))) (EMPTY X2) (EQUAL (ADD1 (LEN (P X1))) 0) (EMPTY X3) (EQUAL 0 (ADD1 (LEN (P X4)))) (EMPTY X4)) (EQUAL (BAND4 (L X1) C_X2 C_X3 (L (A (E) C_X4))) (BAND4 (L X1) (L X2) (L X3) (L X4)))), which again simplifies, using linear arithmetic, to: T. Case 1.2. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (S-BAND4 (I C_X1 (P X1)) (I C_X2 (P X2)) (I C_X3 (P X3)) (I C_X4 (P X4))) (I (BAND4 C_X1 C_X2 C_X3 C_X4) (S-BAND4 (P X1) (P X2) (P X3) (P X4)))) (EMPTY X2) (EQUAL (ADD1 (LEN (P X1))) 0) (EMPTY X3) (EMPTY X4)) (EQUAL (S-BAND4 (I C_X1 (P X1)) (E) (E) (E)) (I (BAND4 C_X1 C_X2 C_X3 C_X4) (S-BAND4 (P X1) (P X2) (P X3) (P X4))))), which again simplifies, using linear arithmetic, to: T. Case 1.1. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (S-BAND4 (I C_X1 (P X1)) (I C_X2 (P X2)) (I C_X3 (P X3)) (I C_X4 (P X4))) (I (BAND4 C_X1 C_X2 C_X3 C_X4) (S-BAND4 (P X1) (P X2) (P X3) (P X4)))) (EMPTY X2) (EQUAL (ADD1 (LEN (P X1))) 0) (EMPTY X3) (EMPTY X4)) (EQUAL (BAND4 (L X1) C_X2 C_X3 C_X4) (BAND4 (L X1) (L X2) (L X3) (L X4)))), which again simplifies, using linear arithmetic, to: T. Q.E.D. [ 0.0 0.1 0.0 ] A2-IC-S-BAND4 (PROVE-LEMMA A2-LC-S-BAND4 (REWRITE) (IMPLIES (NOT (EMPTY X1)) (EQUAL (L (S-BAND4 X1 X2 X3 X4)) (BAND4 (L X1) (L X2) (L X3) (L X4)))) ((DISABLE BAND4) (EXPAND (S-BAND4 X1 X2 X3 X4)))) This conjecture simplifies, rewriting with the lemma L-A, and unfolding the function S-BAND4, to: T. Q.E.D. [ 0.0 0.0 0.0 ] A2-LC-S-BAND4 (PROVE-LEMMA A2-PC-S-BAND4 (REWRITE) (EQUAL (P (S-BAND4 X1 X2 X3 X4)) (S-BAND4 (P X1) (P X2) (P X3) (P X4))) ((DISABLE BAND4))) This formula simplifies, opening up S-BAND4, to the following two new formulas: Case 2. (IMPLIES (NOT (EMPTY X1)) (EQUAL (P (A (S-BAND4 (P X1) (P X2) (P X3) (P X4)) (BAND4 (L X1) (L X2) (L X3) (L X4)))) (S-BAND4 (P X1) (P X2) (P X3) (P X4)))). This again simplifies, appealing to the lemma P-A, to: T. Case 1. (IMPLIES (EMPTY X1) (EQUAL (P (E)) (S-BAND4 (P X1) (P X2) (P X3) (P X4)))), which again simplifies, rewriting with STR-EMPTY-P, and opening up the functions P, S-BAND4, and EQUAL, to: T. Q.E.D. [ 0.0 0.0 0.0 ] A2-PC-S-BAND4 (PROVE-LEMMA A2-HC-S-BAND4 (REWRITE) (IMPLIES (AND (NOT (EMPTY X1)) (AND (EQUAL (LEN X1) (LEN X2)) (EQUAL (LEN X2) (LEN X3)) (EQUAL (LEN X3) (LEN X4)))) (EQUAL (H (S-BAND4 X1 X2 X3 X4)) (BAND4 (H X1) (H X2) (H X3) (H X4)))) ((DISABLE BAND4 S-BAND4) (ENABLE H LEN) (INDUCT (S-BAND4 X1 X2 X3 X4)))) This conjecture can be simplified, using the abbreviations IMPLIES, NOT, OR, and AND, to two new formulas: Case 2. T, which simplifies, clearly, to: T. Case 1. (IMPLIES (AND (NOT (EMPTY X1)) (IMPLIES (AND (NOT (EMPTY (P X1))) (EQUAL (LEN (P X1)) (LEN (P X2))) (EQUAL (LEN (P X2)) (LEN (P X3))) (EQUAL (LEN (P X3)) (LEN (P X4)))) (EQUAL (H (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (H (P X1)) (H (P X2)) (H (P X3)) (H (P X4))))) (EQUAL (LEN X1) (LEN X2)) (EQUAL (LEN X2) (LEN X3)) (EQUAL (LEN X3) (LEN X4))) (EQUAL (H (S-BAND4 X1 X2 X3 X4)) (BAND4 (H X1) (H X2) (H X3) (H X4)))). This simplifies, applying STR-EQUAL-LEN-P, A2-LC-S-BAND4, A2-PC-S-BAND4, and A2-EMPTY-S-BAND4, and opening up the functions NOT, AND, IMPLIES, LEN, ADD1, and H, to 78 new conjectures: Case 1.78. (IMPLIES (AND (NOT (EMPTY X1)) (EMPTY (P X1)) (NOT (EMPTY X2)) (EQUAL 1 (ADD1 (LEN (P X2)))) (NOT (EMPTY X3)) (EQUAL 1 (ADD1 (LEN (P X3)))) (NOT (EMPTY X4)) (EQUAL 1 (ADD1 (LEN (P X4)))) (NOT (EMPTY (P X4))) (NOT (EMPTY (P X3))) (NOT (EMPTY (P X2)))) (EQUAL (BAND4 (L X1) (L X2) (L X3) (L X4)) (BAND4 (L X1) (H (P X2)) (H (P X3)) (H (P X4))))), which again simplifies, rewriting with the lemmas STR-LEN0-EMPTY and ADD1-EQUAL, and opening up the function NUMBERP, to: T. Case 1.77. (IMPLIES (AND (NOT (EMPTY X1)) (EMPTY (P X1)) (NOT (EMPTY X2)) (EQUAL 1 (ADD1 (LEN (P X2)))) (NOT (EMPTY X3)) (EQUAL 1 (ADD1 (LEN (P X3)))) (NOT (EMPTY X4)) (EQUAL 1 (ADD1 (LEN (P X4)))) (NOT (EMPTY (P X4))) (NOT (EMPTY (P X3))) (EMPTY (P X2))) (EQUAL (BAND4 (L X1) (L X2) (L X3) (L X4)) (BAND4 (L X1) (L X2) (H (P X3)) (H (P X4))))), which again simplifies, rewriting with STR-LEN0-EMPTY and ADD1-EQUAL, and unfolding LEN, ADD1, EQUAL, and NUMBERP, to: T. Case 1.76. (IMPLIES (AND (NOT (EMPTY X1)) (EMPTY (P X1)) (NOT (EMPTY X2)) (EQUAL 1 (ADD1 (LEN (P X2)))) (NOT (EMPTY X3)) (EQUAL 1 (ADD1 (LEN (P X3)))) (NOT (EMPTY X4)) (EQUAL 1 (ADD1 (LEN (P X4)))) (NOT (EMPTY (P X4))) (EMPTY (P X3)) (NOT (EMPTY (P X2)))) (EQUAL (BAND4 (L X1) (L X2) (L X3) (L X4)) (BAND4 (L X1) (H (P X2)) (L X3) (H (P X4))))). But this again simplifies, appealing to the lemmas STR-LEN0-EMPTY and ADD1-EQUAL, and opening up NUMBERP, to: T. Case 1.75. (IMPLIES (AND (NOT (EMPTY X1)) (EMPTY (P X1)) (NOT (EMPTY X2)) (EQUAL 1 (ADD1 (LEN (P X2)))) (NOT (EMPTY X3)) (EQUAL 1 (ADD1 (LEN (P X3)))) (NOT (EMPTY X4)) (EQUAL 1 (ADD1 (LEN (P X4)))) (NOT (EMPTY (P X4))) (EMPTY (P X3)) (EMPTY (P X2))) (EQUAL (BAND4 (L X1) (L X2) (L X3) (L X4)) (BAND4 (L X1) (L X2) (L X3) (H (P X4))))), which again simplifies, applying STR-LEN0-EMPTY and ADD1-EQUAL, and unfolding the definitions of LEN, ADD1, EQUAL, and NUMBERP, to: T. Case 1.74. (IMPLIES (AND (NOT (EMPTY X1)) (EMPTY (P X1)) (NOT (EMPTY X2)) (EQUAL 1 (ADD1 (LEN (P X2)))) (NOT (EMPTY X3)) (EQUAL 1 (ADD1 (LEN (P X3)))) (NOT (EMPTY X4)) (EQUAL 1 (ADD1 (LEN (P X4)))) (EMPTY (P X4)) (NOT (EMPTY (P X3))) (NOT (EMPTY (P X2)))) (EQUAL (BAND4 (L X1) (L X2) (L X3) (L X4)) (BAND4 (L X1) (H (P X2)) (H (P X3)) (L X4)))). However this again simplifies, appealing to the lemmas STR-LEN0-EMPTY and ADD1-EQUAL, and expanding the function NUMBERP, to: T. Case 1.73. (IMPLIES (AND (NOT (EMPTY X1)) (EMPTY (P X1)) (NOT (EMPTY X2)) (EQUAL 1 (ADD1 (LEN (P X2)))) (NOT (EMPTY X3)) (EQUAL 1 (ADD1 (LEN (P X3)))) (NOT (EMPTY X4)) (EQUAL 1 (ADD1 (LEN (P X4)))) (EMPTY (P X4)) (NOT (EMPTY (P X3))) (EMPTY (P X2))) (EQUAL (BAND4 (L X1) (L X2) (L X3) (L X4)) (BAND4 (L X1) (L X2) (H (P X3)) (L X4)))), which again simplifies, applying the lemmas STR-LEN0-EMPTY and ADD1-EQUAL, and unfolding LEN, ADD1, EQUAL, and NUMBERP, to: T. Case 1.72. (IMPLIES (AND (NOT (EMPTY X1)) (EMPTY (P X1)) (NOT (EMPTY X2)) (EQUAL 1 (ADD1 (LEN (P X2)))) (NOT (EMPTY X3)) (EQUAL 1 (ADD1 (LEN (P X3)))) (NOT (EMPTY X4)) (EQUAL 1 (ADD1 (LEN (P X4)))) (EMPTY (P X4)) (EMPTY (P X3)) (NOT (EMPTY (P X2)))) (EQUAL (BAND4 (L X1) (L X2) (L X3) (L X4)) (BAND4 (L X1) (H (P X2)) (L X3) (L X4)))), which again simplifies, appealing to the lemmas STR-LEN0-EMPTY and ADD1-EQUAL, and unfolding NUMBERP, to: T. Case 1.71. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (H (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (H (P X1)) (H (P X2)) (H (P X3)) (H (P X4)))) (NOT (EMPTY X2)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X2)))) (NOT (EMPTY X3)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X3)))) (NOT (EMPTY X4)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X4)))) (NOT (EMPTY (P X4))) (NOT (EMPTY (P X3))) (NOT (EMPTY (P X2))) (NOT (EMPTY (P X1)))) (EQUAL (H (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (H (P X1)) (H (P X2)) (H (P X3)) (H (P X4))))), which again simplifies, trivially, to: T. Case 1.70. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (H (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (H (P X1)) (H (P X2)) (H (P X3)) (H (P X4)))) (NOT (EMPTY X2)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X2)))) (NOT (EMPTY X3)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X3)))) (NOT (EMPTY X4)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X4)))) (NOT (EMPTY (P X4))) (NOT (EMPTY (P X3))) (NOT (EMPTY (P X2))) (EMPTY (P X1))) (EQUAL (BAND4 (L X1) (L X2) (L X3) (L X4)) (BAND4 (L X1) (H (P X2)) (H (P X3)) (H (P X4))))). This again simplifies, appealing to the lemma A2-EMPTY-S-BAND4, and unfolding the definition of H, to: T. Case 1.69. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (H (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (H (P X1)) (H (P X2)) (H (P X3)) (H (P X4)))) (NOT (EMPTY X2)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X2)))) (NOT (EMPTY X3)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X3)))) (NOT (EMPTY X4)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X4)))) (NOT (EMPTY (P X4))) (NOT (EMPTY (P X3))) (EMPTY (P X2)) (NOT (EMPTY (P X1)))) (EQUAL (H (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (H (P X1)) (L X2) (H (P X3)) (H (P X4))))), which again simplifies, rewriting with the lemmas STR-LEN0-EMPTY and ADD1-EQUAL, and unfolding the definitions of H, LEN, ADD1, and NUMBERP, to: T. Case 1.68. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (H (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (H (P X1)) (H (P X2)) (H (P X3)) (H (P X4)))) (NOT (EMPTY X2)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X2)))) (NOT (EMPTY X3)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X3)))) (NOT (EMPTY X4)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X4)))) (NOT (EMPTY (P X4))) (NOT (EMPTY (P X3))) (EMPTY (P X2)) (EMPTY (P X1))) (EQUAL (BAND4 (L X1) (L X2) (L X3) (L X4)) (BAND4 (L X1) (L X2) (H (P X3)) (H (P X4))))), which again simplifies, rewriting with A2-EMPTY-S-BAND4, and expanding the definition of H, to: T. Case 1.67. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (H (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (H (P X1)) (H (P X2)) (H (P X3)) (H (P X4)))) (NOT (EMPTY X2)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X2)))) (NOT (EMPTY X3)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X3)))) (NOT (EMPTY X4)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X4)))) (NOT (EMPTY (P X4))) (EMPTY (P X3)) (NOT (EMPTY (P X2))) (NOT (EMPTY (P X1)))) (EQUAL (H (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (H (P X1)) (H (P X2)) (L X3) (H (P X4))))). However this again simplifies, rewriting with ADD1-EQUAL and STR-LEN0-EMPTY, and unfolding the definitions of H, LEN, ADD1, and NUMBERP, to: T. Case 1.66. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (H (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (H (P X1)) (H (P X2)) (H (P X3)) (H (P X4)))) (NOT (EMPTY X2)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X2)))) (NOT (EMPTY X3)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X3)))) (NOT (EMPTY X4)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X4)))) (NOT (EMPTY (P X4))) (EMPTY (P X3)) (NOT (EMPTY (P X2))) (EMPTY (P X1))) (EQUAL (BAND4 (L X1) (L X2) (L X3) (L X4)) (BAND4 (L X1) (H (P X2)) (L X3) (H (P X4))))). But this again simplifies, applying A2-EMPTY-S-BAND4, and opening up the function H, to: T. Case 1.65. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (H (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (H (P X1)) (H (P X2)) (H (P X3)) (H (P X4)))) (NOT (EMPTY X2)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X2)))) (NOT (EMPTY X3)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X3)))) (NOT (EMPTY X4)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X4)))) (NOT (EMPTY (P X4))) (EMPTY (P X3)) (EMPTY (P X2)) (NOT (EMPTY (P X1)))) (EQUAL (H (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (H (P X1)) (L X2) (L X3) (H (P X4))))). But this again simplifies, applying STR-LEN0-EMPTY and ADD1-EQUAL, and unfolding the definitions of H, LEN, ADD1, and NUMBERP, to: T. Case 1.64. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (H (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (H (P X1)) (H (P X2)) (H (P X3)) (H (P X4)))) (NOT (EMPTY X2)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X2)))) (NOT (EMPTY X3)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X3)))) (NOT (EMPTY X4)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X4)))) (NOT (EMPTY (P X4))) (EMPTY (P X3)) (EMPTY (P X2)) (EMPTY (P X1))) (EQUAL (BAND4 (L X1) (L X2) (L X3) (L X4)) (BAND4 (L X1) (L X2) (L X3) (H (P X4))))). But this again simplifies, rewriting with A2-EMPTY-S-BAND4, and unfolding the definition of H, to: T. Case 1.63. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (H (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (H (P X1)) (H (P X2)) (H (P X3)) (H (P X4)))) (NOT (EMPTY X2)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X2)))) (NOT (EMPTY X3)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X3)))) (NOT (EMPTY X4)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X4)))) (EMPTY (P X4)) (NOT (EMPTY (P X3))) (NOT (EMPTY (P X2))) (NOT (EMPTY (P X1)))) (EQUAL (H (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (H (P X1)) (H (P X2)) (H (P X3)) (L X4)))). But this again simplifies, applying ADD1-EQUAL and STR-LEN0-EMPTY, and unfolding the definitions of H, LEN, ADD1, and NUMBERP, to: T. Case 1.62. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (H (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (H (P X1)) (H (P X2)) (H (P X3)) (H (P X4)))) (NOT (EMPTY X2)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X2)))) (NOT (EMPTY X3)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X3)))) (NOT (EMPTY X4)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X4)))) (EMPTY (P X4)) (NOT (EMPTY (P X3))) (NOT (EMPTY (P X2))) (EMPTY (P X1))) (EQUAL (BAND4 (L X1) (L X2) (L X3) (L X4)) (BAND4 (L X1) (H (P X2)) (H (P X3)) (L X4)))). But this again simplifies, appealing to the lemma A2-EMPTY-S-BAND4, and expanding the definition of H, to: T. Case 1.61. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (H (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (H (P X1)) (H (P X2)) (H (P X3)) (H (P X4)))) (NOT (EMPTY X2)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X2)))) (NOT (EMPTY X3)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X3)))) (NOT (EMPTY X4)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X4)))) (EMPTY (P X4)) (NOT (EMPTY (P X3))) (EMPTY (P X2)) (NOT (EMPTY (P X1)))) (EQUAL (H (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (H (P X1)) (L X2) (H (P X3)) (L X4)))), which again simplifies, applying the lemmas STR-LEN0-EMPTY and ADD1-EQUAL, and opening up the functions H, LEN, ADD1, and NUMBERP, to: T. Case 1.60. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (H (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (H (P X1)) (H (P X2)) (H (P X3)) (H (P X4)))) (NOT (EMPTY X2)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X2)))) (NOT (EMPTY X3)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X3)))) (NOT (EMPTY X4)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X4)))) (EMPTY (P X4)) (NOT (EMPTY (P X3))) (EMPTY (P X2)) (EMPTY (P X1))) (EQUAL (BAND4 (L X1) (L X2) (L X3) (L X4)) (BAND4 (L X1) (L X2) (H (P X3)) (L X4)))), which again simplifies, rewriting with A2-EMPTY-S-BAND4, and opening up H, to: T. Case 1.59. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (H (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (H (P X1)) (H (P X2)) (H (P X3)) (H (P X4)))) (NOT (EMPTY X2)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X2)))) (NOT (EMPTY X3)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X3)))) (NOT (EMPTY X4)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X4)))) (EMPTY (P X4)) (EMPTY (P X3)) (NOT (EMPTY (P X2))) (NOT (EMPTY (P X1)))) (EQUAL (H (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (H (P X1)) (H (P X2)) (L X3) (L X4)))). This again simplifies, applying ADD1-EQUAL and STR-LEN0-EMPTY, and expanding H, LEN, ADD1, and NUMBERP, to: T. Case 1.58. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (H (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (H (P X1)) (H (P X2)) (H (P X3)) (H (P X4)))) (NOT (EMPTY X2)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X2)))) (NOT (EMPTY X3)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X3)))) (NOT (EMPTY X4)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X4)))) (EMPTY (P X4)) (EMPTY (P X3)) (NOT (EMPTY (P X2))) (EMPTY (P X1))) (EQUAL (BAND4 (L X1) (L X2) (L X3) (L X4)) (BAND4 (L X1) (H (P X2)) (L X3) (L X4)))). But this again simplifies, applying A2-EMPTY-S-BAND4, and unfolding the function H, to: T. Case 1.57. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (H (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (H (P X1)) (H (P X2)) (H (P X3)) (H (P X4)))) (NOT (EMPTY X2)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X2)))) (NOT (EMPTY X3)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X3)))) (NOT (EMPTY X4)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X4)))) (EMPTY (P X4)) (EMPTY (P X3)) (EMPTY (P X2)) (NOT (EMPTY (P X1)))) (EQUAL (H (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (H (P X1)) (L X2) (L X3) (L X4)))). However this again simplifies, rewriting with STR-LEN0-EMPTY and ADD1-EQUAL, and unfolding H, LEN, ADD1, and NUMBERP, to: T. Case 1.56. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (H (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (H (P X1)) (H (P X2)) (H (P X3)) (H (P X4)))) (NOT (EMPTY X2)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X2)))) (NOT (EMPTY X3)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X3)))) (EMPTY X4) (EQUAL (ADD1 (LEN (P X1))) 0) (NOT (EMPTY (P X3))) (NOT (EMPTY (P X2))) (NOT (EMPTY (P X1)))) (EQUAL (H (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (H (P X1)) (H (P X2)) (H (P X3)) (E)))). This again simplifies, using linear arithmetic, to: T. Case 1.55. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (H (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (H (P X1)) (H (P X2)) (H (P X3)) (H (P X4)))) (NOT (EMPTY X2)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X2)))) (NOT (EMPTY X3)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X3)))) (EMPTY X4) (EQUAL (ADD1 (LEN (P X1))) 0) (NOT (EMPTY (P X3))) (NOT (EMPTY (P X2))) (EMPTY (P X1))) (EQUAL (BAND4 (L X1) (L X2) (L X3) (L X4)) (BAND4 (L X1) (H (P X2)) (H (P X3)) (E)))), which again simplifies, using linear arithmetic, to: T. Case 1.54. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (H (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (H (P X1)) (H (P X2)) (H (P X3)) (H (P X4)))) (NOT (EMPTY X2)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X2)))) (NOT (EMPTY X3)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X3)))) (EMPTY X4) (EQUAL (ADD1 (LEN (P X1))) 0) (NOT (EMPTY (P X3))) (EMPTY (P X2)) (NOT (EMPTY (P X1)))) (EQUAL (H (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (H (P X1)) (L X2) (H (P X3)) (E)))), which again simplifies, using linear arithmetic, to: T. Case 1.53. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (H (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (H (P X1)) (H (P X2)) (H (P X3)) (H (P X4)))) (NOT (EMPTY X2)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X2)))) (NOT (EMPTY X3)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X3)))) (EMPTY X4) (EQUAL (ADD1 (LEN (P X1))) 0) (NOT (EMPTY (P X3))) (EMPTY (P X2)) (EMPTY (P X1))) (EQUAL (BAND4 (L X1) (L X2) (L X3) (L X4)) (BAND4 (L X1) (L X2) (H (P X3)) (E)))), which again simplifies, using linear arithmetic, to: T. Case 1.52. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (H (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (H (P X1)) (H (P X2)) (H (P X3)) (H (P X4)))) (NOT (EMPTY X2)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X2)))) (NOT (EMPTY X3)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X3)))) (EMPTY X4) (EQUAL (ADD1 (LEN (P X1))) 0) (EMPTY (P X3)) (NOT (EMPTY (P X2))) (NOT (EMPTY (P X1)))) (EQUAL (H (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (H (P X1)) (H (P X2)) (L X3) (E)))), which again simplifies, using linear arithmetic, to: T. Case 1.51. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (H (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (H (P X1)) (H (P X2)) (H (P X3)) (H (P X4)))) (NOT (EMPTY X2)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X2)))) (NOT (EMPTY X3)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X3)))) (EMPTY X4) (EQUAL (ADD1 (LEN (P X1))) 0) (EMPTY (P X3)) (NOT (EMPTY (P X2))) (EMPTY (P X1))) (EQUAL (BAND4 (L X1) (L X2) (L X3) (L X4)) (BAND4 (L X1) (H (P X2)) (L X3) (E)))), which again simplifies, using linear arithmetic, to: T. Case 1.50. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (H (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (H (P X1)) (H (P X2)) (H (P X3)) (H (P X4)))) (NOT (EMPTY X2)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X2)))) (NOT (EMPTY X3)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X3)))) (EMPTY X4) (EQUAL (ADD1 (LEN (P X1))) 0) (EMPTY (P X3)) (EMPTY (P X2)) (NOT (EMPTY (P X1)))) (EQUAL (H (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (H (P X1)) (L X2) (L X3) (E)))), which again simplifies, using linear arithmetic, to: T. Case 1.49. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (H (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (H (P X1)) (H (P X2)) (H (P X3)) (H (P X4)))) (NOT (EMPTY X2)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X2)))) (NOT (EMPTY X3)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X3)))) (EMPTY X4) (EQUAL (ADD1 (LEN (P X1))) 0) (EMPTY (P X3)) (EMPTY (P X2)) (EMPTY (P X1))) (EQUAL (BAND4 (L X1) (L X2) (L X3) (L X4)) (BAND4 (L X1) (L X2) (L X3) (E)))), which again simplifies, using linear arithmetic, to: T. Case 1.48. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (H (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (H (P X1)) (H (P X2)) (H (P X3)) (H (P X4)))) (NOT (EMPTY X2)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X2)))) (EMPTY X3) (EQUAL (ADD1 (LEN (P X1))) 0) (EQUAL 0 (ADD1 (LEN (P X4)))) (NOT (EMPTY X4)) (EMPTY (P X4)) (NOT (EMPTY (P X2))) (NOT (EMPTY (P X1)))) (EQUAL (H (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (H (P X1)) (H (P X2)) (E) (L X4)))), which again simplifies, using linear arithmetic, to: T. Case 1.47. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (H (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (H (P X1)) (H (P X2)) (H (P X3)) (H (P X4)))) (NOT (EMPTY X2)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X2)))) (EMPTY X3) (EQUAL (ADD1 (LEN (P X1))) 0) (EQUAL 0 (ADD1 (LEN (P X4)))) (NOT (EMPTY X4)) (EMPTY (P X4)) (NOT (EMPTY (P X2))) (EMPTY (P X1))) (EQUAL (BAND4 (L X1) (L X2) (L X3) (L X4)) (BAND4 (L X1) (H (P X2)) (E) (L X4)))), which again simplifies, using linear arithmetic, to: T. Case 1.46. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (H (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (H (P X1)) (H (P X2)) (H (P X3)) (H (P X4)))) (NOT (EMPTY X2)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X2)))) (EMPTY X3) (EQUAL (ADD1 (LEN (P X1))) 0) (EQUAL 0 (ADD1 (LEN (P X4)))) (NOT (EMPTY X4)) (EMPTY (P X4)) (EMPTY (P X2)) (NOT (EMPTY (P X1)))) (EQUAL (H (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (H (P X1)) (L X2) (E) (L X4)))), which again simplifies, using linear arithmetic, to: T. Case 1.45. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (H (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (H (P X1)) (H (P X2)) (H (P X3)) (H (P X4)))) (NOT (EMPTY X2)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X2)))) (EMPTY X3) (EQUAL (ADD1 (LEN (P X1))) 0) (EQUAL 0 (ADD1 (LEN (P X4)))) (NOT (EMPTY X4)) (EMPTY (P X4)) (EMPTY (P X2)) (EMPTY (P X1))) (EQUAL (BAND4 (L X1) (L X2) (L X3) (L X4)) (BAND4 (L X1) (L X2) (E) (L X4)))), which again simplifies, using linear arithmetic, to: T. Case 1.44. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (H (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (H (P X1)) (H (P X2)) (H (P X3)) (H (P X4)))) (NOT (EMPTY X2)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X2)))) (EMPTY X3) (EQUAL (ADD1 (LEN (P X1))) 0) (EQUAL 0 (ADD1 (LEN (P X4)))) (NOT (EMPTY X4)) (NOT (EMPTY (P X4))) (NOT (EMPTY (P X2))) (NOT (EMPTY (P X1)))) (EQUAL (H (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (H (P X1)) (H (P X2)) (E) (H (P X4))))), which again simplifies, using linear arithmetic, to: T. Case 1.43. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (H (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (H (P X1)) (H (P X2)) (H (P X3)) (H (P X4)))) (NOT (EMPTY X2)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X2)))) (EMPTY X3) (EQUAL (ADD1 (LEN (P X1))) 0) (EQUAL 0 (ADD1 (LEN (P X4)))) (NOT (EMPTY X4)) (NOT (EMPTY (P X4))) (NOT (EMPTY (P X2))) (EMPTY (P X1))) (EQUAL (BAND4 (L X1) (L X2) (L X3) (L X4)) (BAND4 (L X1) (H (P X2)) (E) (H (P X4))))), which again simplifies, using linear arithmetic, to: T. Case 1.42. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (H (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (H (P X1)) (H (P X2)) (H (P X3)) (H (P X4)))) (NOT (EMPTY X2)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X2)))) (EMPTY X3) (EQUAL (ADD1 (LEN (P X1))) 0) (EQUAL 0 (ADD1 (LEN (P X4)))) (NOT (EMPTY X4)) (NOT (EMPTY (P X4))) (EMPTY (P X2)) (NOT (EMPTY (P X1)))) (EQUAL (H (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (H (P X1)) (L X2) (E) (H (P X4))))), which again simplifies, using linear arithmetic, to: T. Case 1.41. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (H (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (H (P X1)) (H (P X2)) (H (P X3)) (H (P X4)))) (NOT (EMPTY X2)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X2)))) (EMPTY X3) (EQUAL (ADD1 (LEN (P X1))) 0) (EQUAL 0 (ADD1 (LEN (P X4)))) (NOT (EMPTY X4)) (NOT (EMPTY (P X4))) (EMPTY (P X2)) (EMPTY (P X1))) (EQUAL (BAND4 (L X1) (L X2) (L X3) (L X4)) (BAND4 (L X1) (L X2) (E) (H (P X4))))), which again simplifies, using linear arithmetic, to: T. Case 1.40. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (H (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (H (P X1)) (H (P X2)) (H (P X3)) (H (P X4)))) (NOT (EMPTY X2)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X2)))) (EMPTY X3) (EQUAL (ADD1 (LEN (P X1))) 0) (EQUAL 0 (ADD1 (LEN (P X4)))) (EMPTY X4) (NOT (EMPTY (P X2))) (NOT (EMPTY (P X1)))) (EQUAL (H (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (H (P X1)) (H (P X2)) (E) (E)))), which again simplifies, using linear arithmetic, to: T. Case 1.39. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (H (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (H (P X1)) (H (P X2)) (H (P X3)) (H (P X4)))) (NOT (EMPTY X2)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X2)))) (EMPTY X3) (EQUAL (ADD1 (LEN (P X1))) 0) (EQUAL 0 (ADD1 (LEN (P X4)))) (EMPTY X4) (NOT (EMPTY (P X2))) (EMPTY (P X1))) (EQUAL (BAND4 (L X1) (L X2) (L X3) (L X4)) (BAND4 (L X1) (H (P X2)) (E) (E)))), which again simplifies, using linear arithmetic, to: T. Case 1.38. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (H (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (H (P X1)) (H (P X2)) (H (P X3)) (H (P X4)))) (NOT (EMPTY X2)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X2)))) (EMPTY X3) (EQUAL (ADD1 (LEN (P X1))) 0) (EQUAL 0 (ADD1 (LEN (P X4)))) (EMPTY X4) (EMPTY (P X2)) (NOT (EMPTY (P X1)))) (EQUAL (H (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (H (P X1)) (L X2) (E) (E)))), which again simplifies, using linear arithmetic, to: T. Case 1.37. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (H (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (H (P X1)) (H (P X2)) (H (P X3)) (H (P X4)))) (NOT (EMPTY X2)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X2)))) (EMPTY X3) (EQUAL (ADD1 (LEN (P X1))) 0) (EQUAL 0 (ADD1 (LEN (P X4)))) (EMPTY X4) (EMPTY (P X2)) (EMPTY (P X1))) (EQUAL (BAND4 (L X1) (L X2) (L X3) (L X4)) (BAND4 (L X1) (L X2) (E) (E)))), which again simplifies, using linear arithmetic, to: T. Case 1.36. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (H (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (H (P X1)) (H (P X2)) (H (P X3)) (H (P X4)))) (NOT (EMPTY X2)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X2)))) (EMPTY X3) (EQUAL (ADD1 (LEN (P X1))) 0) (EMPTY X4) (NOT (EMPTY (P X2))) (NOT (EMPTY (P X1)))) (EQUAL (H (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (H (P X1)) (H (P X2)) (E) (E)))), which again simplifies, using linear arithmetic, to: T. Case 1.35. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (H (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (H (P X1)) (H (P X2)) (H (P X3)) (H (P X4)))) (NOT (EMPTY X2)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X2)))) (EMPTY X3) (EQUAL (ADD1 (LEN (P X1))) 0) (EMPTY X4) (NOT (EMPTY (P X2))) (EMPTY (P X1))) (EQUAL (BAND4 (L X1) (L X2) (L X3) (L X4)) (BAND4 (L X1) (H (P X2)) (E) (E)))), which again simplifies, using linear arithmetic, to: T. Case 1.34. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (H (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (H (P X1)) (H (P X2)) (H (P X3)) (H (P X4)))) (NOT (EMPTY X2)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X2)))) (EMPTY X3) (EQUAL (ADD1 (LEN (P X1))) 0) (EMPTY X4) (EMPTY (P X2)) (NOT (EMPTY (P X1)))) (EQUAL (H (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (H (P X1)) (L X2) (E) (E)))), which again simplifies, using linear arithmetic, to: T. Case 1.33. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (H (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (H (P X1)) (H (P X2)) (H (P X3)) (H (P X4)))) (NOT (EMPTY X2)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X2)))) (EMPTY X3) (EQUAL (ADD1 (LEN (P X1))) 0) (EMPTY X4) (EMPTY (P X2)) (EMPTY (P X1))) (EQUAL (BAND4 (L X1) (L X2) (L X3) (L X4)) (BAND4 (L X1) (L X2) (E) (E)))), which again simplifies, using linear arithmetic, to: T. Case 1.32. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (H (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (H (P X1)) (H (P X2)) (H (P X3)) (H (P X4)))) (EMPTY X2) (EQUAL (ADD1 (LEN (P X1))) 0) (EQUAL 0 (ADD1 (LEN (P X3)))) (EQUAL 0 (ADD1 (LEN (P X4)))) (NOT (EMPTY X4)) (EMPTY (P X4)) (NOT (EMPTY X3)) (EMPTY (P X3)) (NOT (EMPTY (P X1)))) (EQUAL (H (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (H (P X1)) (E) (L X3) (L X4)))), which again simplifies, using linear arithmetic, to: T. Case 1.31. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (H (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (H (P X1)) (H (P X2)) (H (P X3)) (H (P X4)))) (EMPTY X2) (EQUAL (ADD1 (LEN (P X1))) 0) (EQUAL 0 (ADD1 (LEN (P X3)))) (EQUAL 0 (ADD1 (LEN (P X4)))) (NOT (EMPTY X4)) (EMPTY (P X4)) (NOT (EMPTY X3)) (EMPTY (P X3)) (EMPTY (P X1))) (EQUAL (BAND4 (L X1) (L X2) (L X3) (L X4)) (BAND4 (L X1) (E) (L X3) (L X4)))), which again simplifies, using linear arithmetic, to: T. Case 1.30. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (H (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (H (P X1)) (H (P X2)) (H (P X3)) (H (P X4)))) (EMPTY X2) (EQUAL (ADD1 (LEN (P X1))) 0) (EQUAL 0 (ADD1 (LEN (P X3)))) (EQUAL 0 (ADD1 (LEN (P X4)))) (NOT (EMPTY X4)) (EMPTY (P X4)) (NOT (EMPTY X3)) (NOT (EMPTY (P X3))) (NOT (EMPTY (P X1)))) (EQUAL (H (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (H (P X1)) (E) (H (P X3)) (L X4)))), which again simplifies, using linear arithmetic, to: T. Case 1.29. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (H (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (H (P X1)) (H (P X2)) (H (P X3)) (H (P X4)))) (EMPTY X2) (EQUAL (ADD1 (LEN (P X1))) 0) (EQUAL 0 (ADD1 (LEN (P X3)))) (EQUAL 0 (ADD1 (LEN (P X4)))) (NOT (EMPTY X4)) (EMPTY (P X4)) (NOT (EMPTY X3)) (NOT (EMPTY (P X3))) (EMPTY (P X1))) (EQUAL (BAND4 (L X1) (L X2) (L X3) (L X4)) (BAND4 (L X1) (E) (H (P X3)) (L X4)))), which again simplifies, using linear arithmetic, to: T. Case 1.28. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (H (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (H (P X1)) (H (P X2)) (H (P X3)) (H (P X4)))) (EMPTY X2) (EQUAL (ADD1 (LEN (P X1))) 0) (EQUAL 0 (ADD1 (LEN (P X3)))) (EQUAL 0 (ADD1 (LEN (P X4)))) (NOT (EMPTY X4)) (EMPTY (P X4)) (EMPTY X3) (NOT (EMPTY (P X1)))) (EQUAL (H (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (H (P X1)) (E) (E) (L X4)))), which again simplifies, using linear arithmetic, to: T. Case 1.27. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (H (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (H (P X1)) (H (P X2)) (H (P X3)) (H (P X4)))) (EMPTY X2) (EQUAL (ADD1 (LEN (P X1))) 0) (EQUAL 0 (ADD1 (LEN (P X3)))) (EQUAL 0 (ADD1 (LEN (P X4)))) (NOT (EMPTY X4)) (EMPTY (P X4)) (EMPTY X3) (EMPTY (P X1))) (EQUAL (BAND4 (L X1) (L X2) (L X3) (L X4)) (BAND4 (L X1) (E) (E) (L X4)))), which again simplifies, using linear arithmetic, to: T. Case 1.26. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (H (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (H (P X1)) (H (P X2)) (H (P X3)) (H (P X4)))) (EMPTY X2) (EQUAL (ADD1 (LEN (P X1))) 0) (EQUAL 0 (ADD1 (LEN (P X3)))) (EQUAL 0 (ADD1 (LEN (P X4)))) (NOT (EMPTY X4)) (NOT (EMPTY (P X4))) (NOT (EMPTY X3)) (EMPTY (P X3)) (NOT (EMPTY (P X1)))) (EQUAL (H (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (H (P X1)) (E) (L X3) (H (P X4))))), which again simplifies, using linear arithmetic, to: T. Case 1.25. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (H (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (H (P X1)) (H (P X2)) (H (P X3)) (H (P X4)))) (EMPTY X2) (EQUAL (ADD1 (LEN (P X1))) 0) (EQUAL 0 (ADD1 (LEN (P X3)))) (EQUAL 0 (ADD1 (LEN (P X4)))) (NOT (EMPTY X4)) (NOT (EMPTY (P X4))) (NOT (EMPTY X3)) (EMPTY (P X3)) (EMPTY (P X1))) (EQUAL (BAND4 (L X1) (L X2) (L X3) (L X4)) (BAND4 (L X1) (E) (L X3) (H (P X4))))), which again simplifies, using linear arithmetic, to: T. Case 1.24. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (H (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (H (P X1)) (H (P X2)) (H (P X3)) (H (P X4)))) (EMPTY X2) (EQUAL (ADD1 (LEN (P X1))) 0) (EQUAL 0 (ADD1 (LEN (P X3)))) (EQUAL 0 (ADD1 (LEN (P X4)))) (NOT (EMPTY X4)) (NOT (EMPTY (P X4))) (NOT (EMPTY X3)) (NOT (EMPTY (P X3))) (NOT (EMPTY (P X1)))) (EQUAL (H (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (H (P X1)) (E) (H (P X3)) (H (P X4))))), which again simplifies, using linear arithmetic, to: T. Case 1.23. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (H (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (H (P X1)) (H (P X2)) (H (P X3)) (H (P X4)))) (EMPTY X2) (EQUAL (ADD1 (LEN (P X1))) 0) (EQUAL 0 (ADD1 (LEN (P X3)))) (EQUAL 0 (ADD1 (LEN (P X4)))) (NOT (EMPTY X4)) (NOT (EMPTY (P X4))) (NOT (EMPTY X3)) (NOT (EMPTY (P X3))) (EMPTY (P X1))) (EQUAL (BAND4 (L X1) (L X2) (L X3) (L X4)) (BAND4 (L X1) (E) (H (P X3)) (H (P X4))))), which again simplifies, using linear arithmetic, to: T. Case 1.22. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (H (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (H (P X1)) (H (P X2)) (H (P X3)) (H (P X4)))) (EMPTY X2) (EQUAL (ADD1 (LEN (P X1))) 0) (EQUAL 0 (ADD1 (LEN (P X3)))) (EQUAL 0 (ADD1 (LEN (P X4)))) (NOT (EMPTY X4)) (NOT (EMPTY (P X4))) (EMPTY X3) (NOT (EMPTY (P X1)))) (EQUAL (H (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (H (P X1)) (E) (E) (H (P X4))))), which again simplifies, using linear arithmetic, to: T. Case 1.21. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (H (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (H (P X1)) (H (P X2)) (H (P X3)) (H (P X4)))) (EMPTY X2) (EQUAL (ADD1 (LEN (P X1))) 0) (EQUAL 0 (ADD1 (LEN (P X3)))) (EQUAL 0 (ADD1 (LEN (P X4)))) (NOT (EMPTY X4)) (NOT (EMPTY (P X4))) (EMPTY X3) (EMPTY (P X1))) (EQUAL (BAND4 (L X1) (L X2) (L X3) (L X4)) (BAND4 (L X1) (E) (E) (H (P X4))))), which again simplifies, using linear arithmetic, to: T. Case 1.20. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (H (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (H (P X1)) (H (P X2)) (H (P X3)) (H (P X4)))) (EMPTY X2) (EQUAL (ADD1 (LEN (P X1))) 0) (EQUAL 0 (ADD1 (LEN (P X3)))) (EQUAL 0 (ADD1 (LEN (P X4)))) (EMPTY X4) (NOT (EMPTY X3)) (EMPTY (P X3)) (NOT (EMPTY (P X1)))) (EQUAL (H (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (H (P X1)) (E) (L X3) (E)))), which again simplifies, using linear arithmetic, to: T. Case 1.19. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (H (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (H (P X1)) (H (P X2)) (H (P X3)) (H (P X4)))) (EMPTY X2) (EQUAL (ADD1 (LEN (P X1))) 0) (EQUAL 0 (ADD1 (LEN (P X3)))) (EQUAL 0 (ADD1 (LEN (P X4)))) (EMPTY X4) (NOT (EMPTY X3)) (EMPTY (P X3)) (EMPTY (P X1))) (EQUAL (BAND4 (L X1) (L X2) (L X3) (L X4)) (BAND4 (L X1) (E) (L X3) (E)))), which again simplifies, using linear arithmetic, to: T. Case 1.18. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (H (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (H (P X1)) (H (P X2)) (H (P X3)) (H (P X4)))) (EMPTY X2) (EQUAL (ADD1 (LEN (P X1))) 0) (EQUAL 0 (ADD1 (LEN (P X3)))) (EQUAL 0 (ADD1 (LEN (P X4)))) (EMPTY X4) (NOT (EMPTY X3)) (NOT (EMPTY (P X3))) (NOT (EMPTY (P X1)))) (EQUAL (H (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (H (P X1)) (E) (H (P X3)) (E)))), which again simplifies, using linear arithmetic, to: T. Case 1.17. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (H (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (H (P X1)) (H (P X2)) (H (P X3)) (H (P X4)))) (EMPTY X2) (EQUAL (ADD1 (LEN (P X1))) 0) (EQUAL 0 (ADD1 (LEN (P X3)))) (EQUAL 0 (ADD1 (LEN (P X4)))) (EMPTY X4) (NOT (EMPTY X3)) (NOT (EMPTY (P X3))) (EMPTY (P X1))) (EQUAL (BAND4 (L X1) (L X2) (L X3) (L X4)) (BAND4 (L X1) (E) (H (P X3)) (E)))), which again simplifies, using linear arithmetic, to: T. Case 1.16. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (H (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (H (P X1)) (H (P X2)) (H (P X3)) (H (P X4)))) (EMPTY X2) (EQUAL (ADD1 (LEN (P X1))) 0) (EQUAL 0 (ADD1 (LEN (P X3)))) (EQUAL 0 (ADD1 (LEN (P X4)))) (EMPTY X4) (EMPTY X3) (NOT (EMPTY (P X1)))) (EQUAL (H (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (H (P X1)) (E) (E) (E)))), which again simplifies, using linear arithmetic, to: T. Case 1.15. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (H (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (H (P X1)) (H (P X2)) (H (P X3)) (H (P X4)))) (EMPTY X2) (EQUAL (ADD1 (LEN (P X1))) 0) (EQUAL 0 (ADD1 (LEN (P X3)))) (EQUAL 0 (ADD1 (LEN (P X4)))) (EMPTY X4) (EMPTY X3) (EMPTY (P X1))) (EQUAL (BAND4 (L X1) (L X2) (L X3) (L X4)) (BAND4 (L X1) (E) (E) (E)))), which again simplifies, using linear arithmetic, to: T. Case 1.14. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (H (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (H (P X1)) (H (P X2)) (H (P X3)) (H (P X4)))) (EMPTY X2) (EQUAL (ADD1 (LEN (P X1))) 0) (EQUAL 0 (ADD1 (LEN (P X3)))) (EMPTY X4) (NOT (EMPTY X3)) (EMPTY (P X3)) (NOT (EMPTY (P X1)))) (EQUAL (H (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (H (P X1)) (E) (L X3) (E)))), which again simplifies, using linear arithmetic, to: T. Case 1.13. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (H (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (H (P X1)) (H (P X2)) (H (P X3)) (H (P X4)))) (EMPTY X2) (EQUAL (ADD1 (LEN (P X1))) 0) (EQUAL 0 (ADD1 (LEN (P X3)))) (EMPTY X4) (NOT (EMPTY X3)) (EMPTY (P X3)) (EMPTY (P X1))) (EQUAL (BAND4 (L X1) (L X2) (L X3) (L X4)) (BAND4 (L X1) (E) (L X3) (E)))), which again simplifies, using linear arithmetic, to: T. Case 1.12. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (H (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (H (P X1)) (H (P X2)) (H (P X3)) (H (P X4)))) (EMPTY X2) (EQUAL (ADD1 (LEN (P X1))) 0) (EQUAL 0 (ADD1 (LEN (P X3)))) (EMPTY X4) (NOT (EMPTY X3)) (NOT (EMPTY (P X3))) (NOT (EMPTY (P X1)))) (EQUAL (H (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (H (P X1)) (E) (H (P X3)) (E)))), which again simplifies, using linear arithmetic, to: T. Case 1.11. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (H (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (H (P X1)) (H (P X2)) (H (P X3)) (H (P X4)))) (EMPTY X2) (EQUAL (ADD1 (LEN (P X1))) 0) (EQUAL 0 (ADD1 (LEN (P X3)))) (EMPTY X4) (NOT (EMPTY X3)) (NOT (EMPTY (P X3))) (EMPTY (P X1))) (EQUAL (BAND4 (L X1) (L X2) (L X3) (L X4)) (BAND4 (L X1) (E) (H (P X3)) (E)))), which again simplifies, using linear arithmetic, to: T. Case 1.10. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (H (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (H (P X1)) (H (P X2)) (H (P X3)) (H (P X4)))) (EMPTY X2) (EQUAL (ADD1 (LEN (P X1))) 0) (EQUAL 0 (ADD1 (LEN (P X3)))) (EMPTY X4) (EMPTY X3) (NOT (EMPTY (P X1)))) (EQUAL (H (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (H (P X1)) (E) (E) (E)))), which again simplifies, using linear arithmetic, to: T. Case 1.9. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (H (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (H (P X1)) (H (P X2)) (H (P X3)) (H (P X4)))) (EMPTY X2) (EQUAL (ADD1 (LEN (P X1))) 0) (EQUAL 0 (ADD1 (LEN (P X3)))) (EMPTY X4) (EMPTY X3) (EMPTY (P X1))) (EQUAL (BAND4 (L X1) (L X2) (L X3) (L X4)) (BAND4 (L X1) (E) (E) (E)))), which again simplifies, using linear arithmetic, to: T. Case 1.8. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (H (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (H (P X1)) (H (P X2)) (H (P X3)) (H (P X4)))) (EMPTY X2) (EQUAL (ADD1 (LEN (P X1))) 0) (EMPTY X3) (EQUAL 0 (ADD1 (LEN (P X4)))) (NOT (EMPTY X4)) (EMPTY (P X4)) (NOT (EMPTY (P X1)))) (EQUAL (H (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (H (P X1)) (E) (E) (L X4)))), which again simplifies, using linear arithmetic, to: T. Case 1.7. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (H (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (H (P X1)) (H (P X2)) (H (P X3)) (H (P X4)))) (EMPTY X2) (EQUAL (ADD1 (LEN (P X1))) 0) (EMPTY X3) (EQUAL 0 (ADD1 (LEN (P X4)))) (NOT (EMPTY X4)) (EMPTY (P X4)) (EMPTY (P X1))) (EQUAL (BAND4 (L X1) (L X2) (L X3) (L X4)) (BAND4 (L X1) (E) (E) (L X4)))), which again simplifies, using linear arithmetic, to: T. Case 1.6. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (H (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (H (P X1)) (H (P X2)) (H (P X3)) (H (P X4)))) (EMPTY X2) (EQUAL (ADD1 (LEN (P X1))) 0) (EMPTY X3) (EQUAL 0 (ADD1 (LEN (P X4)))) (NOT (EMPTY X4)) (NOT (EMPTY (P X4))) (NOT (EMPTY (P X1)))) (EQUAL (H (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (H (P X1)) (E) (E) (H (P X4))))), which again simplifies, using linear arithmetic, to: T. Case 1.5. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (H (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (H (P X1)) (H (P X2)) (H (P X3)) (H (P X4)))) (EMPTY X2) (EQUAL (ADD1 (LEN (P X1))) 0) (EMPTY X3) (EQUAL 0 (ADD1 (LEN (P X4)))) (NOT (EMPTY X4)) (NOT (EMPTY (P X4))) (EMPTY (P X1))) (EQUAL (BAND4 (L X1) (L X2) (L X3) (L X4)) (BAND4 (L X1) (E) (E) (H (P X4))))), which again simplifies, using linear arithmetic, to: T. Case 1.4. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (H (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (H (P X1)) (H (P X2)) (H (P X3)) (H (P X4)))) (EMPTY X2) (EQUAL (ADD1 (LEN (P X1))) 0) (EMPTY X3) (EQUAL 0 (ADD1 (LEN (P X4)))) (EMPTY X4) (NOT (EMPTY (P X1)))) (EQUAL (H (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (H (P X1)) (E) (E) (E)))), which again simplifies, using linear arithmetic, to: T. Case 1.3. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (H (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (H (P X1)) (H (P X2)) (H (P X3)) (H (P X4)))) (EMPTY X2) (EQUAL (ADD1 (LEN (P X1))) 0) (EMPTY X3) (EQUAL 0 (ADD1 (LEN (P X4)))) (EMPTY X4) (EMPTY (P X1))) (EQUAL (BAND4 (L X1) (L X2) (L X3) (L X4)) (BAND4 (L X1) (E) (E) (E)))), which again simplifies, using linear arithmetic, to: T. Case 1.2. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (H (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (H (P X1)) (H (P X2)) (H (P X3)) (H (P X4)))) (EMPTY X2) (EQUAL (ADD1 (LEN (P X1))) 0) (EMPTY X3) (EMPTY X4) (NOT (EMPTY (P X1)))) (EQUAL (H (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (H (P X1)) (E) (E) (E)))), which again simplifies, using linear arithmetic, to: T. Case 1.1. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (H (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (H (P X1)) (H (P X2)) (H (P X3)) (H (P X4)))) (EMPTY X2) (EQUAL (ADD1 (LEN (P X1))) 0) (EMPTY X3) (EMPTY X4) (EMPTY (P X1))) (EQUAL (BAND4 (L X1) (L X2) (L X3) (L X4)) (BAND4 (L X1) (E) (E) (E)))), which again simplifies, using linear arithmetic, to: T. Q.E.D. [ 0.0 0.1 0.1 ] A2-HC-S-BAND4 (PROVE-LEMMA A2-BC-S-BAND4 (REWRITE) (IMPLIES (AND (EQUAL (LEN X1) (LEN X2)) (EQUAL (LEN X2) (LEN X3)) (EQUAL (LEN X3) (LEN X4))) (EQUAL (B (S-BAND4 X1 X2 X3 X4)) (S-BAND4 (B X1) (B X2) (B X3) (B X4)))) ((DISABLE BAND4) (ENABLE B LEN) (INDUCT (S-BAND4 X1 X2 X3 X4)))) This formula can be simplified, using the abbreviations IMPLIES, NOT, OR, and AND, to the following two new formulas: Case 2. (IMPLIES (AND (EMPTY X1) (EQUAL (LEN X1) (LEN X2)) (EQUAL (LEN X2) (LEN X3)) (EQUAL (LEN X3) (LEN X4))) (EQUAL (B (S-BAND4 X1 X2 X3 X4)) (S-BAND4 (B X1) (B X2) (B X3) (B X4)))). This simplifies, applying STR-LEN0-EMPTY, and expanding the definitions of LEN, S-BAND4, B, and EQUAL, to: T. Case 1. (IMPLIES (AND (NOT (EMPTY X1)) (IMPLIES (AND (EQUAL (LEN (P X1)) (LEN (P X2))) (EQUAL (LEN (P X2)) (LEN (P X3))) (EQUAL (LEN (P X3)) (LEN (P X4)))) (EQUAL (B (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (S-BAND4 (B (P X1)) (B (P X2)) (B (P X3)) (B (P X4))))) (EQUAL (LEN X1) (LEN X2)) (EQUAL (LEN X2) (LEN X3)) (EQUAL (LEN X3) (LEN X4))) (EQUAL (B (S-BAND4 X1 X2 X3 X4)) (S-BAND4 (B X1) (B X2) (B X3) (B X4)))), which simplifies, applying the lemmas STR-EQUAL-LEN-P, L-A, A2-EMPTY-S-BAND4, P-A, and STR-NOT-EMPTY-A, and expanding the definitions of AND, IMPLIES, LEN, S-BAND4, and B, to 72 new formulas: Case 1.72. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (B (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (S-BAND4 (B (P X1)) (B (P X2)) (B (P X3)) (B (P X4)))) (NOT (EMPTY X2)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X2)))) (NOT (EMPTY X3)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X3)))) (NOT (EMPTY X4)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X4)))) (NOT (EMPTY (P X4))) (NOT (EMPTY (P X3))) (NOT (EMPTY (P X2))) (NOT (EMPTY (P X1)))) (EQUAL (A (B (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (L X1) (L X2) (L X3) (L X4))) (S-BAND4 (A (B (P X1)) (L X1)) (A (B (P X2)) (L X2)) (A (B (P X3)) (L X3)) (A (B (P X4)) (L X4))))), which again simplifies, rewriting with ADD1-EQUAL, L-A, P-A, and STR-NOT-EMPTY-A, and expanding S-BAND4, to: T. Case 1.71. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (B (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (S-BAND4 (B (P X1)) (B (P X2)) (B (P X3)) (B (P X4)))) (NOT (EMPTY X2)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X2)))) (NOT (EMPTY X3)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X3)))) (NOT (EMPTY X4)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X4)))) (NOT (EMPTY (P X4))) (NOT (EMPTY (P X3))) (NOT (EMPTY (P X2))) (EMPTY (P X1))) (EQUAL (E) (S-BAND4 (E) (A (B (P X2)) (L X2)) (A (B (P X3)) (L X3)) (A (B (P X4)) (L X4))))). However this again simplifies, rewriting with STR-LEN0-EMPTY and ADD1-EQUAL, and unfolding the functions S-BAND4, B, EMPTY, EQUAL, LEN, ADD1, and NUMBERP, to: T. Case 1.70. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (B (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (S-BAND4 (B (P X1)) (B (P X2)) (B (P X3)) (B (P X4)))) (NOT (EMPTY X2)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X2)))) (NOT (EMPTY X3)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X3)))) (NOT (EMPTY X4)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X4)))) (NOT (EMPTY (P X4))) (NOT (EMPTY (P X3))) (EMPTY (P X2)) (NOT (EMPTY (P X1)))) (EQUAL (A (B (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (L X1) (L X2) (L X3) (L X4))) (S-BAND4 (A (B (P X1)) (L X1)) (E) (A (B (P X3)) (L X3)) (A (B (P X4)) (L X4))))). However this again simplifies, rewriting with STR-LEN0-EMPTY and ADD1-EQUAL, and expanding the functions B, LEN, ADD1, and NUMBERP, to: T. Case 1.69. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (B (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (S-BAND4 (B (P X1)) (B (P X2)) (B (P X3)) (B (P X4)))) (NOT (EMPTY X2)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X2)))) (NOT (EMPTY X3)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X3)))) (NOT (EMPTY X4)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X4)))) (NOT (EMPTY (P X4))) (NOT (EMPTY (P X3))) (EMPTY (P X2)) (EMPTY (P X1))) (EQUAL (E) (S-BAND4 (E) (E) (A (B (P X3)) (L X3)) (A (B (P X4)) (L X4))))). However this again simplifies, appealing to the lemmas STR-LEN0-EMPTY and ADD1-EQUAL, and expanding the functions S-BAND4, B, EMPTY, EQUAL, LEN, ADD1, and NUMBERP, to: T. Case 1.68. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (B (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (S-BAND4 (B (P X1)) (B (P X2)) (B (P X3)) (B (P X4)))) (NOT (EMPTY X2)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X2)))) (NOT (EMPTY X3)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X3)))) (NOT (EMPTY X4)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X4)))) (NOT (EMPTY (P X4))) (EMPTY (P X3)) (NOT (EMPTY (P X2))) (NOT (EMPTY (P X1)))) (EQUAL (A (B (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (L X1) (L X2) (L X3) (L X4))) (S-BAND4 (A (B (P X1)) (L X1)) (A (B (P X2)) (L X2)) (E) (A (B (P X4)) (L X4))))), which again simplifies, applying ADD1-EQUAL and STR-LEN0-EMPTY, and expanding the functions B, LEN, ADD1, and NUMBERP, to: T. Case 1.67. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (B (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (S-BAND4 (B (P X1)) (B (P X2)) (B (P X3)) (B (P X4)))) (NOT (EMPTY X2)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X2)))) (NOT (EMPTY X3)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X3)))) (NOT (EMPTY X4)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X4)))) (NOT (EMPTY (P X4))) (EMPTY (P X3)) (NOT (EMPTY (P X2))) (EMPTY (P X1))) (EQUAL (E) (S-BAND4 (E) (A (B (P X2)) (L X2)) (E) (A (B (P X4)) (L X4))))). This again simplifies, applying STR-LEN0-EMPTY and ADD1-EQUAL, and unfolding the functions S-BAND4, B, EMPTY, EQUAL, LEN, ADD1, and NUMBERP, to: T. Case 1.66. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (B (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (S-BAND4 (B (P X1)) (B (P X2)) (B (P X3)) (B (P X4)))) (NOT (EMPTY X2)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X2)))) (NOT (EMPTY X3)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X3)))) (NOT (EMPTY X4)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X4)))) (NOT (EMPTY (P X4))) (EMPTY (P X3)) (EMPTY (P X2)) (NOT (EMPTY (P X1)))) (EQUAL (A (B (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (L X1) (L X2) (L X3) (L X4))) (S-BAND4 (A (B (P X1)) (L X1)) (E) (E) (A (B (P X4)) (L X4))))). This again simplifies, applying STR-LEN0-EMPTY and ADD1-EQUAL, and expanding the definitions of B, LEN, ADD1, and NUMBERP, to: T. Case 1.65. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (B (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (S-BAND4 (B (P X1)) (B (P X2)) (B (P X3)) (B (P X4)))) (NOT (EMPTY X2)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X2)))) (NOT (EMPTY X3)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X3)))) (NOT (EMPTY X4)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X4)))) (NOT (EMPTY (P X4))) (EMPTY (P X3)) (EMPTY (P X2)) (EMPTY (P X1))) (EQUAL (E) (S-BAND4 (E) (E) (E) (A (B (P X4)) (L X4))))). However this again simplifies, rewriting with STR-LEN0-EMPTY and ADD1-EQUAL, and unfolding the definitions of S-BAND4, B, EMPTY, EQUAL, LEN, ADD1, and NUMBERP, to: T. Case 1.64. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (B (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (S-BAND4 (B (P X1)) (B (P X2)) (B (P X3)) (B (P X4)))) (NOT (EMPTY X2)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X2)))) (NOT (EMPTY X3)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X3)))) (NOT (EMPTY X4)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X4)))) (EMPTY (P X4)) (NOT (EMPTY (P X3))) (NOT (EMPTY (P X2))) (NOT (EMPTY (P X1)))) (EQUAL (A (B (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (L X1) (L X2) (L X3) (L X4))) (S-BAND4 (A (B (P X1)) (L X1)) (A (B (P X2)) (L X2)) (A (B (P X3)) (L X3)) (E)))). But this again simplifies, rewriting with ADD1-EQUAL and STR-LEN0-EMPTY, and opening up the functions B, LEN, ADD1, and NUMBERP, to: T. Case 1.63. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (B (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (S-BAND4 (B (P X1)) (B (P X2)) (B (P X3)) (B (P X4)))) (NOT (EMPTY X2)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X2)))) (NOT (EMPTY X3)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X3)))) (NOT (EMPTY X4)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X4)))) (EMPTY (P X4)) (NOT (EMPTY (P X3))) (NOT (EMPTY (P X2))) (EMPTY (P X1))) (EQUAL (E) (S-BAND4 (E) (A (B (P X2)) (L X2)) (A (B (P X3)) (L X3)) (E)))). This again simplifies, applying STR-LEN0-EMPTY and ADD1-EQUAL, and expanding the definitions of S-BAND4, B, EMPTY, EQUAL, LEN, ADD1, and NUMBERP, to: T. Case 1.62. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (B (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (S-BAND4 (B (P X1)) (B (P X2)) (B (P X3)) (B (P X4)))) (NOT (EMPTY X2)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X2)))) (NOT (EMPTY X3)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X3)))) (NOT (EMPTY X4)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X4)))) (EMPTY (P X4)) (NOT (EMPTY (P X3))) (EMPTY (P X2)) (NOT (EMPTY (P X1)))) (EQUAL (A (B (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (L X1) (L X2) (L X3) (L X4))) (S-BAND4 (A (B (P X1)) (L X1)) (E) (A (B (P X3)) (L X3)) (E)))). This again simplifies, rewriting with STR-LEN0-EMPTY and ADD1-EQUAL, and opening up the functions B, LEN, ADD1, and NUMBERP, to: T. Case 1.61. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (B (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (S-BAND4 (B (P X1)) (B (P X2)) (B (P X3)) (B (P X4)))) (NOT (EMPTY X2)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X2)))) (NOT (EMPTY X3)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X3)))) (NOT (EMPTY X4)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X4)))) (EMPTY (P X4)) (NOT (EMPTY (P X3))) (EMPTY (P X2)) (EMPTY (P X1))) (EQUAL (E) (S-BAND4 (E) (E) (A (B (P X3)) (L X3)) (E)))). This again simplifies, applying the lemmas STR-LEN0-EMPTY and ADD1-EQUAL, and opening up the definitions of S-BAND4, B, EMPTY, EQUAL, LEN, ADD1, and NUMBERP, to: T. Case 1.60. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (B (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (S-BAND4 (B (P X1)) (B (P X2)) (B (P X3)) (B (P X4)))) (NOT (EMPTY X2)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X2)))) (NOT (EMPTY X3)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X3)))) (NOT (EMPTY X4)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X4)))) (EMPTY (P X4)) (EMPTY (P X3)) (NOT (EMPTY (P X2))) (NOT (EMPTY (P X1)))) (EQUAL (A (B (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (L X1) (L X2) (L X3) (L X4))) (S-BAND4 (A (B (P X1)) (L X1)) (A (B (P X2)) (L X2)) (E) (E)))), which again simplifies, applying ADD1-EQUAL and STR-LEN0-EMPTY, and unfolding the definitions of B, LEN, ADD1, and NUMBERP, to: T. Case 1.59. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (B (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (S-BAND4 (B (P X1)) (B (P X2)) (B (P X3)) (B (P X4)))) (NOT (EMPTY X2)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X2)))) (NOT (EMPTY X3)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X3)))) (NOT (EMPTY X4)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X4)))) (EMPTY (P X4)) (EMPTY (P X3)) (NOT (EMPTY (P X2))) (EMPTY (P X1))) (EQUAL (E) (S-BAND4 (E) (A (B (P X2)) (L X2)) (E) (E)))). But this again simplifies, appealing to the lemmas STR-LEN0-EMPTY and ADD1-EQUAL, and expanding S-BAND4, B, EMPTY, EQUAL, LEN, ADD1, and NUMBERP, to: T. Case 1.58. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (B (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (S-BAND4 (B (P X1)) (B (P X2)) (B (P X3)) (B (P X4)))) (NOT (EMPTY X2)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X2)))) (NOT (EMPTY X3)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X3)))) (NOT (EMPTY X4)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X4)))) (EMPTY (P X4)) (EMPTY (P X3)) (EMPTY (P X2)) (NOT (EMPTY (P X1)))) (EQUAL (A (B (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (L X1) (L X2) (L X3) (L X4))) (S-BAND4 (A (B (P X1)) (L X1)) (E) (E) (E)))), which again simplifies, applying STR-LEN0-EMPTY and ADD1-EQUAL, and unfolding B, LEN, ADD1, and NUMBERP, to: T. Case 1.57. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (B (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (S-BAND4 (B (P X1)) (B (P X2)) (B (P X3)) (B (P X4)))) (NOT (EMPTY X2)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X2)))) (NOT (EMPTY X3)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X3)))) (NOT (EMPTY X4)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X4)))) (EMPTY (P X4)) (EMPTY (P X3)) (EMPTY (P X2)) (EMPTY (P X1))) (EQUAL (E) (S-BAND4 (E) (E) (E) (E)))). However this again simplifies, opening up S-BAND4, B, EQUAL, LEN, and ADD1, to: T. Case 1.56. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (B (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (S-BAND4 (B (P X1)) (B (P X2)) (B (P X3)) (B (P X4)))) (NOT (EMPTY X2)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X2)))) (NOT (EMPTY X3)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X3)))) (EMPTY X4) (EQUAL (ADD1 (LEN (P X1))) 0) (NOT (EMPTY (P X3))) (NOT (EMPTY (P X2))) (NOT (EMPTY (P X1)))) (EQUAL (A (B (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (L X1) (L X2) (L X3) (L X4))) (S-BAND4 (A (B (P X1)) (L X1)) (A (B (P X2)) (L X2)) (A (B (P X3)) (L X3)) (E)))), which again simplifies, using linear arithmetic, to: T. Case 1.55. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (B (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (S-BAND4 (B (P X1)) (B (P X2)) (B (P X3)) (B (P X4)))) (NOT (EMPTY X2)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X2)))) (NOT (EMPTY X3)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X3)))) (EMPTY X4) (EQUAL (ADD1 (LEN (P X1))) 0) (NOT (EMPTY (P X3))) (NOT (EMPTY (P X2))) (EMPTY (P X1))) (EQUAL (E) (S-BAND4 (E) (A (B (P X2)) (L X2)) (A (B (P X3)) (L X3)) (E)))), which again simplifies, using linear arithmetic, to: T. Case 1.54. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (B (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (S-BAND4 (B (P X1)) (B (P X2)) (B (P X3)) (B (P X4)))) (NOT (EMPTY X2)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X2)))) (NOT (EMPTY X3)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X3)))) (EMPTY X4) (EQUAL (ADD1 (LEN (P X1))) 0) (NOT (EMPTY (P X3))) (EMPTY (P X2)) (NOT (EMPTY (P X1)))) (EQUAL (A (B (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (L X1) (L X2) (L X3) (L X4))) (S-BAND4 (A (B (P X1)) (L X1)) (E) (A (B (P X3)) (L X3)) (E)))), which again simplifies, using linear arithmetic, to: T. Case 1.53. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (B (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (S-BAND4 (B (P X1)) (B (P X2)) (B (P X3)) (B (P X4)))) (NOT (EMPTY X2)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X2)))) (NOT (EMPTY X3)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X3)))) (EMPTY X4) (EQUAL (ADD1 (LEN (P X1))) 0) (NOT (EMPTY (P X3))) (EMPTY (P X2)) (EMPTY (P X1))) (EQUAL (E) (S-BAND4 (E) (E) (A (B (P X3)) (L X3)) (E)))), which again simplifies, using linear arithmetic, to: T. Case 1.52. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (B (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (S-BAND4 (B (P X1)) (B (P X2)) (B (P X3)) (B (P X4)))) (NOT (EMPTY X2)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X2)))) (NOT (EMPTY X3)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X3)))) (EMPTY X4) (EQUAL (ADD1 (LEN (P X1))) 0) (EMPTY (P X3)) (NOT (EMPTY (P X2))) (NOT (EMPTY (P X1)))) (EQUAL (A (B (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (L X1) (L X2) (L X3) (L X4))) (S-BAND4 (A (B (P X1)) (L X1)) (A (B (P X2)) (L X2)) (E) (E)))), which again simplifies, using linear arithmetic, to: T. Case 1.51. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (B (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (S-BAND4 (B (P X1)) (B (P X2)) (B (P X3)) (B (P X4)))) (NOT (EMPTY X2)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X2)))) (NOT (EMPTY X3)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X3)))) (EMPTY X4) (EQUAL (ADD1 (LEN (P X1))) 0) (EMPTY (P X3)) (NOT (EMPTY (P X2))) (EMPTY (P X1))) (EQUAL (E) (S-BAND4 (E) (A (B (P X2)) (L X2)) (E) (E)))), which again simplifies, using linear arithmetic, to: T. Case 1.50. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (B (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (S-BAND4 (B (P X1)) (B (P X2)) (B (P X3)) (B (P X4)))) (NOT (EMPTY X2)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X2)))) (NOT (EMPTY X3)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X3)))) (EMPTY X4) (EQUAL (ADD1 (LEN (P X1))) 0) (EMPTY (P X3)) (EMPTY (P X2)) (NOT (EMPTY (P X1)))) (EQUAL (A (B (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (L X1) (L X2) (L X3) (L X4))) (S-BAND4 (A (B (P X1)) (L X1)) (E) (E) (E)))), which again simplifies, using linear arithmetic, to: T. Case 1.49. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (B (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (S-BAND4 (B (P X1)) (B (P X2)) (B (P X3)) (B (P X4)))) (NOT (EMPTY X2)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X2)))) (NOT (EMPTY X3)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X3)))) (EMPTY X4) (EQUAL (ADD1 (LEN (P X1))) 0) (EMPTY (P X3)) (EMPTY (P X2)) (EMPTY (P X1))) (EQUAL (E) (S-BAND4 (E) (E) (E) (E)))), which again simplifies, using linear arithmetic, to: T. Case 1.48. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (B (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (S-BAND4 (B (P X1)) (B (P X2)) (B (P X3)) (B (P X4)))) (NOT (EMPTY X2)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X2)))) (EMPTY X3) (EQUAL (ADD1 (LEN (P X1))) 0) (EQUAL 0 (ADD1 (LEN (P X4)))) (EMPTY X4) (NOT (EMPTY (P X2))) (NOT (EMPTY (P X1)))) (EQUAL (A (B (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (L X1) (L X2) (L X3) (L X4))) (S-BAND4 (A (B (P X1)) (L X1)) (A (B (P X2)) (L X2)) (E) (E)))), which again simplifies, using linear arithmetic, to: T. Case 1.47. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (B (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (S-BAND4 (B (P X1)) (B (P X2)) (B (P X3)) (B (P X4)))) (NOT (EMPTY X2)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X2)))) (EMPTY X3) (EQUAL (ADD1 (LEN (P X1))) 0) (EQUAL 0 (ADD1 (LEN (P X4)))) (EMPTY (P X4)) (NOT (EMPTY (P X2))) (NOT (EMPTY (P X1)))) (EQUAL (A (B (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (L X1) (L X2) (L X3) (L X4))) (S-BAND4 (A (B (P X1)) (L X1)) (A (B (P X2)) (L X2)) (E) (E)))), which again simplifies, using linear arithmetic, to: T. Case 1.46. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (B (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (S-BAND4 (B (P X1)) (B (P X2)) (B (P X3)) (B (P X4)))) (NOT (EMPTY X2)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X2)))) (EMPTY X3) (EQUAL (ADD1 (LEN (P X1))) 0) (EQUAL 0 (ADD1 (LEN (P X4)))) (EMPTY X4) (NOT (EMPTY (P X2))) (EMPTY (P X1))) (EQUAL (E) (S-BAND4 (E) (A (B (P X2)) (L X2)) (E) (E)))), which again simplifies, using linear arithmetic, to: T. Case 1.45. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (B (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (S-BAND4 (B (P X1)) (B (P X2)) (B (P X3)) (B (P X4)))) (NOT (EMPTY X2)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X2)))) (EMPTY X3) (EQUAL (ADD1 (LEN (P X1))) 0) (EQUAL 0 (ADD1 (LEN (P X4)))) (EMPTY (P X4)) (NOT (EMPTY (P X2))) (EMPTY (P X1))) (EQUAL (E) (S-BAND4 (E) (A (B (P X2)) (L X2)) (E) (E)))), which again simplifies, using linear arithmetic, to: T. Case 1.44. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (B (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (S-BAND4 (B (P X1)) (B (P X2)) (B (P X3)) (B (P X4)))) (NOT (EMPTY X2)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X2)))) (EMPTY X3) (EQUAL (ADD1 (LEN (P X1))) 0) (EQUAL 0 (ADD1 (LEN (P X4)))) (EMPTY X4) (EMPTY (P X2)) (NOT (EMPTY (P X1)))) (EQUAL (A (B (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (L X1) (L X2) (L X3) (L X4))) (S-BAND4 (A (B (P X1)) (L X1)) (E) (E) (E)))), which again simplifies, using linear arithmetic, to: T. Case 1.43. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (B (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (S-BAND4 (B (P X1)) (B (P X2)) (B (P X3)) (B (P X4)))) (NOT (EMPTY X2)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X2)))) (EMPTY X3) (EQUAL (ADD1 (LEN (P X1))) 0) (EQUAL 0 (ADD1 (LEN (P X4)))) (EMPTY (P X4)) (EMPTY (P X2)) (NOT (EMPTY (P X1)))) (EQUAL (A (B (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (L X1) (L X2) (L X3) (L X4))) (S-BAND4 (A (B (P X1)) (L X1)) (E) (E) (E)))), which again simplifies, using linear arithmetic, to: T. Case 1.42. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (B (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (S-BAND4 (B (P X1)) (B (P X2)) (B (P X3)) (B (P X4)))) (NOT (EMPTY X2)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X2)))) (EMPTY X3) (EQUAL (ADD1 (LEN (P X1))) 0) (EQUAL 0 (ADD1 (LEN (P X4)))) (EMPTY X4) (EMPTY (P X2)) (EMPTY (P X1))) (EQUAL (E) (S-BAND4 (E) (E) (E) (E)))), which again simplifies, using linear arithmetic, to: T. Case 1.41. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (B (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (S-BAND4 (B (P X1)) (B (P X2)) (B (P X3)) (B (P X4)))) (NOT (EMPTY X2)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X2)))) (EMPTY X3) (EQUAL (ADD1 (LEN (P X1))) 0) (EQUAL 0 (ADD1 (LEN (P X4)))) (EMPTY (P X4)) (EMPTY (P X2)) (EMPTY (P X1))) (EQUAL (E) (S-BAND4 (E) (E) (E) (E)))), which again simplifies, using linear arithmetic, to: T. Case 1.40. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (B (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (S-BAND4 (B (P X1)) (B (P X2)) (B (P X3)) (B (P X4)))) (NOT (EMPTY X2)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X2)))) (EMPTY X3) (EQUAL (ADD1 (LEN (P X1))) 0) (EQUAL 0 (ADD1 (LEN (P X4)))) (NOT (EMPTY X4)) (NOT (EMPTY (P X4))) (NOT (EMPTY (P X2))) (NOT (EMPTY (P X1)))) (EQUAL (A (B (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (L X1) (L X2) (L X3) (L X4))) (S-BAND4 (A (B (P X1)) (L X1)) (A (B (P X2)) (L X2)) (E) (A (B (P X4)) (L X4))))), which again simplifies, using linear arithmetic, to: T. Case 1.39. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (B (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (S-BAND4 (B (P X1)) (B (P X2)) (B (P X3)) (B (P X4)))) (NOT (EMPTY X2)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X2)))) (EMPTY X3) (EQUAL (ADD1 (LEN (P X1))) 0) (EQUAL 0 (ADD1 (LEN (P X4)))) (NOT (EMPTY X4)) (NOT (EMPTY (P X4))) (NOT (EMPTY (P X2))) (EMPTY (P X1))) (EQUAL (E) (S-BAND4 (E) (A (B (P X2)) (L X2)) (E) (A (B (P X4)) (L X4))))), which again simplifies, using linear arithmetic, to: T. Case 1.38. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (B (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (S-BAND4 (B (P X1)) (B (P X2)) (B (P X3)) (B (P X4)))) (NOT (EMPTY X2)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X2)))) (EMPTY X3) (EQUAL (ADD1 (LEN (P X1))) 0) (EQUAL 0 (ADD1 (LEN (P X4)))) (NOT (EMPTY X4)) (NOT (EMPTY (P X4))) (EMPTY (P X2)) (NOT (EMPTY (P X1)))) (EQUAL (A (B (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (L X1) (L X2) (L X3) (L X4))) (S-BAND4 (A (B (P X1)) (L X1)) (E) (E) (A (B (P X4)) (L X4))))), which again simplifies, using linear arithmetic, to: T. Case 1.37. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (B (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (S-BAND4 (B (P X1)) (B (P X2)) (B (P X3)) (B (P X4)))) (NOT (EMPTY X2)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X2)))) (EMPTY X3) (EQUAL (ADD1 (LEN (P X1))) 0) (EQUAL 0 (ADD1 (LEN (P X4)))) (NOT (EMPTY X4)) (NOT (EMPTY (P X4))) (EMPTY (P X2)) (EMPTY (P X1))) (EQUAL (E) (S-BAND4 (E) (E) (E) (A (B (P X4)) (L X4))))), which again simplifies, using linear arithmetic, to: T. Case 1.36. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (B (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (S-BAND4 (B (P X1)) (B (P X2)) (B (P X3)) (B (P X4)))) (NOT (EMPTY X2)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X2)))) (EMPTY X3) (EQUAL (ADD1 (LEN (P X1))) 0) (EMPTY X4) (NOT (EMPTY (P X2))) (NOT (EMPTY (P X1)))) (EQUAL (A (B (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (L X1) (L X2) (L X3) (L X4))) (S-BAND4 (A (B (P X1)) (L X1)) (A (B (P X2)) (L X2)) (E) (E)))), which again simplifies, using linear arithmetic, to: T. Case 1.35. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (B (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (S-BAND4 (B (P X1)) (B (P X2)) (B (P X3)) (B (P X4)))) (NOT (EMPTY X2)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X2)))) (EMPTY X3) (EQUAL (ADD1 (LEN (P X1))) 0) (EMPTY X4) (NOT (EMPTY (P X2))) (EMPTY (P X1))) (EQUAL (E) (S-BAND4 (E) (A (B (P X2)) (L X2)) (E) (E)))), which again simplifies, using linear arithmetic, to: T. Case 1.34. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (B (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (S-BAND4 (B (P X1)) (B (P X2)) (B (P X3)) (B (P X4)))) (NOT (EMPTY X2)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X2)))) (EMPTY X3) (EQUAL (ADD1 (LEN (P X1))) 0) (EMPTY X4) (EMPTY (P X2)) (NOT (EMPTY (P X1)))) (EQUAL (A (B (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (L X1) (L X2) (L X3) (L X4))) (S-BAND4 (A (B (P X1)) (L X1)) (E) (E) (E)))), which again simplifies, using linear arithmetic, to: T. Case 1.33. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (B (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (S-BAND4 (B (P X1)) (B (P X2)) (B (P X3)) (B (P X4)))) (NOT (EMPTY X2)) (EQUAL (ADD1 (LEN (P X1))) (ADD1 (LEN (P X2)))) (EMPTY X3) (EQUAL (ADD1 (LEN (P X1))) 0) (EMPTY X4) (EMPTY (P X2)) (EMPTY (P X1))) (EQUAL (E) (S-BAND4 (E) (E) (E) (E)))), which again simplifies, using linear arithmetic, to: T. Case 1.32. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (B (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (S-BAND4 (B (P X1)) (B (P X2)) (B (P X3)) (B (P X4)))) (EMPTY X2) (EQUAL (ADD1 (LEN (P X1))) 0) (EQUAL 0 (ADD1 (LEN (P X3)))) (EQUAL 0 (ADD1 (LEN (P X4)))) (EMPTY X4) (EMPTY X3) (NOT (EMPTY (P X1)))) (EQUAL (A (B (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (L X1) (L X2) (L X3) (L X4))) (S-BAND4 (A (B (P X1)) (L X1)) (E) (E) (E)))), which again simplifies, using linear arithmetic, to: T. Case 1.31. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (B (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (S-BAND4 (B (P X1)) (B (P X2)) (B (P X3)) (B (P X4)))) (EMPTY X2) (EQUAL (ADD1 (LEN (P X1))) 0) (EQUAL 0 (ADD1 (LEN (P X3)))) (EQUAL 0 (ADD1 (LEN (P X4)))) (EMPTY X4) (EMPTY (P X3)) (NOT (EMPTY (P X1)))) (EQUAL (A (B (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (L X1) (L X2) (L X3) (L X4))) (S-BAND4 (A (B (P X1)) (L X1)) (E) (E) (E)))), which again simplifies, using linear arithmetic, to: T. Case 1.30. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (B (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (S-BAND4 (B (P X1)) (B (P X2)) (B (P X3)) (B (P X4)))) (EMPTY X2) (EQUAL (ADD1 (LEN (P X1))) 0) (EQUAL 0 (ADD1 (LEN (P X3)))) (EQUAL 0 (ADD1 (LEN (P X4)))) (EMPTY (P X4)) (EMPTY X3) (NOT (EMPTY (P X1)))) (EQUAL (A (B (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (L X1) (L X2) (L X3) (L X4))) (S-BAND4 (A (B (P X1)) (L X1)) (E) (E) (E)))), which again simplifies, using linear arithmetic, to: T. Case 1.29. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (B (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (S-BAND4 (B (P X1)) (B (P X2)) (B (P X3)) (B (P X4)))) (EMPTY X2) (EQUAL (ADD1 (LEN (P X1))) 0) (EQUAL 0 (ADD1 (LEN (P X3)))) (EQUAL 0 (ADD1 (LEN (P X4)))) (EMPTY (P X4)) (EMPTY (P X3)) (NOT (EMPTY (P X1)))) (EQUAL (A (B (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (L X1) (L X2) (L X3) (L X4))) (S-BAND4 (A (B (P X1)) (L X1)) (E) (E) (E)))), which again simplifies, using linear arithmetic, to: T. Case 1.28. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (B (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (S-BAND4 (B (P X1)) (B (P X2)) (B (P X3)) (B (P X4)))) (EMPTY X2) (EQUAL (ADD1 (LEN (P X1))) 0) (EQUAL 0 (ADD1 (LEN (P X3)))) (EQUAL 0 (ADD1 (LEN (P X4)))) (EMPTY X4) (EMPTY X3) (EMPTY (P X1))) (EQUAL (E) (S-BAND4 (E) (E) (E) (E)))), which again simplifies, using linear arithmetic, to: T. Case 1.27. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (B (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (S-BAND4 (B (P X1)) (B (P X2)) (B (P X3)) (B (P X4)))) (EMPTY X2) (EQUAL (ADD1 (LEN (P X1))) 0) (EQUAL 0 (ADD1 (LEN (P X3)))) (EQUAL 0 (ADD1 (LEN (P X4)))) (EMPTY X4) (EMPTY (P X3)) (EMPTY (P X1))) (EQUAL (E) (S-BAND4 (E) (E) (E) (E)))), which again simplifies, using linear arithmetic, to: T. Case 1.26. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (B (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (S-BAND4 (B (P X1)) (B (P X2)) (B (P X3)) (B (P X4)))) (EMPTY X2) (EQUAL (ADD1 (LEN (P X1))) 0) (EQUAL 0 (ADD1 (LEN (P X3)))) (EQUAL 0 (ADD1 (LEN (P X4)))) (EMPTY (P X4)) (EMPTY X3) (EMPTY (P X1))) (EQUAL (E) (S-BAND4 (E) (E) (E) (E)))), which again simplifies, using linear arithmetic, to: T. Case 1.25. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (B (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (S-BAND4 (B (P X1)) (B (P X2)) (B (P X3)) (B (P X4)))) (EMPTY X2) (EQUAL (ADD1 (LEN (P X1))) 0) (EQUAL 0 (ADD1 (LEN (P X3)))) (EQUAL 0 (ADD1 (LEN (P X4)))) (EMPTY (P X4)) (EMPTY (P X3)) (EMPTY (P X1))) (EQUAL (E) (S-BAND4 (E) (E) (E) (E)))), which again simplifies, using linear arithmetic, to: T. Case 1.24. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (B (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (S-BAND4 (B (P X1)) (B (P X2)) (B (P X3)) (B (P X4)))) (EMPTY X2) (EQUAL (ADD1 (LEN (P X1))) 0) (EQUAL 0 (ADD1 (LEN (P X3)))) (EQUAL 0 (ADD1 (LEN (P X4)))) (EMPTY X4) (NOT (EMPTY X3)) (NOT (EMPTY (P X3))) (NOT (EMPTY (P X1)))) (EQUAL (A (B (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (L X1) (L X2) (L X3) (L X4))) (S-BAND4 (A (B (P X1)) (L X1)) (E) (A (B (P X3)) (L X3)) (E)))), which again simplifies, using linear arithmetic, to: T. Case 1.23. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (B (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (S-BAND4 (B (P X1)) (B (P X2)) (B (P X3)) (B (P X4)))) (EMPTY X2) (EQUAL (ADD1 (LEN (P X1))) 0) (EQUAL 0 (ADD1 (LEN (P X3)))) (EQUAL 0 (ADD1 (LEN (P X4)))) (EMPTY (P X4)) (NOT (EMPTY X3)) (NOT (EMPTY (P X3))) (NOT (EMPTY (P X1)))) (EQUAL (A (B (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (L X1) (L X2) (L X3) (L X4))) (S-BAND4 (A (B (P X1)) (L X1)) (E) (A (B (P X3)) (L X3)) (E)))), which again simplifies, using linear arithmetic, to: T. Case 1.22. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (B (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (S-BAND4 (B (P X1)) (B (P X2)) (B (P X3)) (B (P X4)))) (EMPTY X2) (EQUAL (ADD1 (LEN (P X1))) 0) (EQUAL 0 (ADD1 (LEN (P X3)))) (EQUAL 0 (ADD1 (LEN (P X4)))) (EMPTY X4) (NOT (EMPTY X3)) (NOT (EMPTY (P X3))) (EMPTY (P X1))) (EQUAL (E) (S-BAND4 (E) (E) (A (B (P X3)) (L X3)) (E)))), which again simplifies, using linear arithmetic, to: T. Case 1.21. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (B (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (S-BAND4 (B (P X1)) (B (P X2)) (B (P X3)) (B (P X4)))) (EMPTY X2) (EQUAL (ADD1 (LEN (P X1))) 0) (EQUAL 0 (ADD1 (LEN (P X3)))) (EQUAL 0 (ADD1 (LEN (P X4)))) (EMPTY (P X4)) (NOT (EMPTY X3)) (NOT (EMPTY (P X3))) (EMPTY (P X1))) (EQUAL (E) (S-BAND4 (E) (E) (A (B (P X3)) (L X3)) (E)))), which again simplifies, using linear arithmetic, to: T. Case 1.20. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (B (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (S-BAND4 (B (P X1)) (B (P X2)) (B (P X3)) (B (P X4)))) (EMPTY X2) (EQUAL (ADD1 (LEN (P X1))) 0) (EQUAL 0 (ADD1 (LEN (P X3)))) (EQUAL 0 (ADD1 (LEN (P X4)))) (NOT (EMPTY X4)) (NOT (EMPTY (P X4))) (EMPTY X3) (NOT (EMPTY (P X1)))) (EQUAL (A (B (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (L X1) (L X2) (L X3) (L X4))) (S-BAND4 (A (B (P X1)) (L X1)) (E) (E) (A (B (P X4)) (L X4))))), which again simplifies, using linear arithmetic, to: T. Case 1.19. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (B (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (S-BAND4 (B (P X1)) (B (P X2)) (B (P X3)) (B (P X4)))) (EMPTY X2) (EQUAL (ADD1 (LEN (P X1))) 0) (EQUAL 0 (ADD1 (LEN (P X3)))) (EQUAL 0 (ADD1 (LEN (P X4)))) (NOT (EMPTY X4)) (NOT (EMPTY (P X4))) (EMPTY (P X3)) (NOT (EMPTY (P X1)))) (EQUAL (A (B (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (L X1) (L X2) (L X3) (L X4))) (S-BAND4 (A (B (P X1)) (L X1)) (E) (E) (A (B (P X4)) (L X4))))), which again simplifies, using linear arithmetic, to: T. Case 1.18. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (B (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (S-BAND4 (B (P X1)) (B (P X2)) (B (P X3)) (B (P X4)))) (EMPTY X2) (EQUAL (ADD1 (LEN (P X1))) 0) (EQUAL 0 (ADD1 (LEN (P X3)))) (EQUAL 0 (ADD1 (LEN (P X4)))) (NOT (EMPTY X4)) (NOT (EMPTY (P X4))) (EMPTY X3) (EMPTY (P X1))) (EQUAL (E) (S-BAND4 (E) (E) (E) (A (B (P X4)) (L X4))))), which again simplifies, using linear arithmetic, to: T. Case 1.17. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (B (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (S-BAND4 (B (P X1)) (B (P X2)) (B (P X3)) (B (P X4)))) (EMPTY X2) (EQUAL (ADD1 (LEN (P X1))) 0) (EQUAL 0 (ADD1 (LEN (P X3)))) (EQUAL 0 (ADD1 (LEN (P X4)))) (NOT (EMPTY X4)) (NOT (EMPTY (P X4))) (EMPTY (P X3)) (EMPTY (P X1))) (EQUAL (E) (S-BAND4 (E) (E) (E) (A (B (P X4)) (L X4))))), which again simplifies, using linear arithmetic, to: T. Case 1.16. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (B (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (S-BAND4 (B (P X1)) (B (P X2)) (B (P X3)) (B (P X4)))) (EMPTY X2) (EQUAL (ADD1 (LEN (P X1))) 0) (EQUAL 0 (ADD1 (LEN (P X3)))) (EQUAL 0 (ADD1 (LEN (P X4)))) (NOT (EMPTY X4)) (NOT (EMPTY (P X4))) (NOT (EMPTY X3)) (NOT (EMPTY (P X3))) (NOT (EMPTY (P X1)))) (EQUAL (A (B (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (L X1) (L X2) (L X3) (L X4))) (S-BAND4 (A (B (P X1)) (L X1)) (E) (A (B (P X3)) (L X3)) (A (B (P X4)) (L X4))))), which again simplifies, using linear arithmetic, to: T. Case 1.15. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (B (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (S-BAND4 (B (P X1)) (B (P X2)) (B (P X3)) (B (P X4)))) (EMPTY X2) (EQUAL (ADD1 (LEN (P X1))) 0) (EQUAL 0 (ADD1 (LEN (P X3)))) (EQUAL 0 (ADD1 (LEN (P X4)))) (NOT (EMPTY X4)) (NOT (EMPTY (P X4))) (NOT (EMPTY X3)) (NOT (EMPTY (P X3))) (EMPTY (P X1))) (EQUAL (E) (S-BAND4 (E) (E) (A (B (P X3)) (L X3)) (A (B (P X4)) (L X4))))), which again simplifies, using linear arithmetic, to: T. Case 1.14. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (B (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (S-BAND4 (B (P X1)) (B (P X2)) (B (P X3)) (B (P X4)))) (EMPTY X2) (EQUAL (ADD1 (LEN (P X1))) 0) (EQUAL 0 (ADD1 (LEN (P X3)))) (EMPTY X4) (EMPTY X3) (NOT (EMPTY (P X1)))) (EQUAL (A (B (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (L X1) (L X2) (L X3) (L X4))) (S-BAND4 (A (B (P X1)) (L X1)) (E) (E) (E)))), which again simplifies, using linear arithmetic, to: T. Case 1.13. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (B (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (S-BAND4 (B (P X1)) (B (P X2)) (B (P X3)) (B (P X4)))) (EMPTY X2) (EQUAL (ADD1 (LEN (P X1))) 0) (EQUAL 0 (ADD1 (LEN (P X3)))) (EMPTY X4) (EMPTY (P X3)) (NOT (EMPTY (P X1)))) (EQUAL (A (B (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (L X1) (L X2) (L X3) (L X4))) (S-BAND4 (A (B (P X1)) (L X1)) (E) (E) (E)))), which again simplifies, using linear arithmetic, to: T. Case 1.12. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (B (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (S-BAND4 (B (P X1)) (B (P X2)) (B (P X3)) (B (P X4)))) (EMPTY X2) (EQUAL (ADD1 (LEN (P X1))) 0) (EQUAL 0 (ADD1 (LEN (P X3)))) (EMPTY X4) (EMPTY X3) (EMPTY (P X1))) (EQUAL (E) (S-BAND4 (E) (E) (E) (E)))), which again simplifies, using linear arithmetic, to: T. Case 1.11. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (B (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (S-BAND4 (B (P X1)) (B (P X2)) (B (P X3)) (B (P X4)))) (EMPTY X2) (EQUAL (ADD1 (LEN (P X1))) 0) (EQUAL 0 (ADD1 (LEN (P X3)))) (EMPTY X4) (EMPTY (P X3)) (EMPTY (P X1))) (EQUAL (E) (S-BAND4 (E) (E) (E) (E)))), which again simplifies, using linear arithmetic, to: T. Case 1.10. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (B (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (S-BAND4 (B (P X1)) (B (P X2)) (B (P X3)) (B (P X4)))) (EMPTY X2) (EQUAL (ADD1 (LEN (P X1))) 0) (EQUAL 0 (ADD1 (LEN (P X3)))) (EMPTY X4) (NOT (EMPTY X3)) (NOT (EMPTY (P X3))) (NOT (EMPTY (P X1)))) (EQUAL (A (B (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (L X1) (L X2) (L X3) (L X4))) (S-BAND4 (A (B (P X1)) (L X1)) (E) (A (B (P X3)) (L X3)) (E)))), which again simplifies, using linear arithmetic, to: T. Case 1.9. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (B (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (S-BAND4 (B (P X1)) (B (P X2)) (B (P X3)) (B (P X4)))) (EMPTY X2) (EQUAL (ADD1 (LEN (P X1))) 0) (EQUAL 0 (ADD1 (LEN (P X3)))) (EMPTY X4) (NOT (EMPTY X3)) (NOT (EMPTY (P X3))) (EMPTY (P X1))) (EQUAL (E) (S-BAND4 (E) (E) (A (B (P X3)) (L X3)) (E)))), which again simplifies, using linear arithmetic, to: T. Case 1.8. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (B (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (S-BAND4 (B (P X1)) (B (P X2)) (B (P X3)) (B (P X4)))) (EMPTY X2) (EQUAL (ADD1 (LEN (P X1))) 0) (EMPTY X3) (EQUAL 0 (ADD1 (LEN (P X4)))) (EMPTY X4) (NOT (EMPTY (P X1)))) (EQUAL (A (B (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (L X1) (L X2) (L X3) (L X4))) (S-BAND4 (A (B (P X1)) (L X1)) (E) (E) (E)))), which again simplifies, using linear arithmetic, to: T. Case 1.7. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (B (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (S-BAND4 (B (P X1)) (B (P X2)) (B (P X3)) (B (P X4)))) (EMPTY X2) (EQUAL (ADD1 (LEN (P X1))) 0) (EMPTY X3) (EQUAL 0 (ADD1 (LEN (P X4)))) (EMPTY (P X4)) (NOT (EMPTY (P X1)))) (EQUAL (A (B (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (L X1) (L X2) (L X3) (L X4))) (S-BAND4 (A (B (P X1)) (L X1)) (E) (E) (E)))), which again simplifies, using linear arithmetic, to: T. Case 1.6. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (B (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (S-BAND4 (B (P X1)) (B (P X2)) (B (P X3)) (B (P X4)))) (EMPTY X2) (EQUAL (ADD1 (LEN (P X1))) 0) (EMPTY X3) (EQUAL 0 (ADD1 (LEN (P X4)))) (EMPTY X4) (EMPTY (P X1))) (EQUAL (E) (S-BAND4 (E) (E) (E) (E)))), which again simplifies, using linear arithmetic, to: T. Case 1.5. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (B (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (S-BAND4 (B (P X1)) (B (P X2)) (B (P X3)) (B (P X4)))) (EMPTY X2) (EQUAL (ADD1 (LEN (P X1))) 0) (EMPTY X3) (EQUAL 0 (ADD1 (LEN (P X4)))) (EMPTY (P X4)) (EMPTY (P X1))) (EQUAL (E) (S-BAND4 (E) (E) (E) (E)))), which again simplifies, using linear arithmetic, to: T. Case 1.4. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (B (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (S-BAND4 (B (P X1)) (B (P X2)) (B (P X3)) (B (P X4)))) (EMPTY X2) (EQUAL (ADD1 (LEN (P X1))) 0) (EMPTY X3) (EQUAL 0 (ADD1 (LEN (P X4)))) (NOT (EMPTY X4)) (NOT (EMPTY (P X4))) (NOT (EMPTY (P X1)))) (EQUAL (A (B (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (L X1) (L X2) (L X3) (L X4))) (S-BAND4 (A (B (P X1)) (L X1)) (E) (E) (A (B (P X4)) (L X4))))), which again simplifies, using linear arithmetic, to: T. Case 1.3. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (B (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (S-BAND4 (B (P X1)) (B (P X2)) (B (P X3)) (B (P X4)))) (EMPTY X2) (EQUAL (ADD1 (LEN (P X1))) 0) (EMPTY X3) (EQUAL 0 (ADD1 (LEN (P X4)))) (NOT (EMPTY X4)) (NOT (EMPTY (P X4))) (EMPTY (P X1))) (EQUAL (E) (S-BAND4 (E) (E) (E) (A (B (P X4)) (L X4))))), which again simplifies, using linear arithmetic, to: T. Case 1.2. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (B (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (S-BAND4 (B (P X1)) (B (P X2)) (B (P X3)) (B (P X4)))) (EMPTY X2) (EQUAL (ADD1 (LEN (P X1))) 0) (EMPTY X3) (EMPTY X4) (NOT (EMPTY (P X1)))) (EQUAL (A (B (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (BAND4 (L X1) (L X2) (L X3) (L X4))) (S-BAND4 (A (B (P X1)) (L X1)) (E) (E) (E)))), which again simplifies, using linear arithmetic, to: T. Case 1.1. (IMPLIES (AND (NOT (EMPTY X1)) (EQUAL (B (S-BAND4 (P X1) (P X2) (P X3) (P X4))) (S-BAND4 (B (P X1)) (B (P X2)) (B (P X3)) (B (P X4)))) (EMPTY X2) (EQUAL (ADD1 (LEN (P X1))) 0) (EMPTY X3) (EMPTY X4) (EMPTY (P X1))) (EQUAL (E) (S-BAND4 (E) (E) (E) (E)))), which again simplifies, using linear arithmetic, to: T. Q.E.D. [ 0.1 0.3 0.1 ] A2-BC-S-BAND4 (PROVE-LEMMA A2-BNC-S-BAND4 (REWRITE) (IMPLIES (AND (EQUAL (LEN X1) (LEN X2)) (EQUAL (LEN X2) (LEN X3)) (EQUAL (LEN X3) (LEN X4))) (EQUAL (BN N (S-BAND4 X1 X2 X3 X4)) (S-BAND4 (BN N X1) (BN N X2) (BN N X3) (BN N X4)))) ((DISABLE BAND4 S-BAND4))) . We use the first equality hypothesis by substituting (LEN X2) for (LEN X1) and keeping the equality hypothesis. We would thus like to prove the new conjecture: (IMPLIES (AND (EQUAL (LEN X1) (LEN X2)) (EQUAL (LEN X2) (LEN X3)) (EQUAL (LEN X2) (LEN X4))) (EQUAL (BN N (S-BAND4 X1 X2 X3 X4)) (S-BAND4 (BN N X1) (BN N X2) (BN N X3) (BN N X4)))), which further simplifies, trivially, to: (IMPLIES (AND (EQUAL (LEN X1) (LEN X2)) (EQUAL (LEN X1) (LEN X3)) (EQUAL (LEN X1) (LEN X4))) (EQUAL (BN N (S-BAND4 X1 X2 X3 X4)) (S-BAND4 (BN N X1) (BN N X2) (BN N X3) (BN N X4)))). We use the second equality hypothesis by substituting (LEN X3) for (LEN X1) and keeping the equality hypothesis. We must thus prove: (IMPLIES (AND (EQUAL (LEN X3) (LEN X2)) (EQUAL (LEN X1) (LEN X3)) (EQUAL (LEN X3) (LEN X4))) (EQUAL (BN N (S-BAND4 X1 X2 X3 X4)) (S-BAND4 (BN N X1) (BN N X2) (BN N X3) (BN N X4)))). This further simplifies, using linear arithmetic, to the goal: (IMPLIES (AND (EQUAL (LEN X2) (LEN X1)) (EQUAL (LEN X3) (LEN X1)) (EQUAL (LEN X1) (LEN X3)) (EQUAL (LEN X3) (LEN X4))) (EQUAL (BN N (S-BAND4 X1 X2 X3 X4)) (S-BAND4 (BN N X1) (BN N X2) (BN N X3) (BN N X4)))). This again simplifies, trivially, to: (IMPLIES (AND (EQUAL (LEN X2) (LEN X1)) (EQUAL (LEN X1) (LEN X3)) (EQUAL (LEN X1) (LEN X4))) (EQUAL (BN N (S-BAND4 X1 X2 X3 X4)) (S-BAND4 (BN N X1) (BN N X2) (BN N X3) (BN N X4)))). We use the first equality hypothesis by substituting (LEN X2) for (LEN X1) and keeping the equality hypothesis. This generates the goal: (IMPLIES (AND (EQUAL (LEN X2) (LEN X1)) (EQUAL (LEN X2) (LEN X3)) (EQUAL (LEN X2) (LEN X4))) (EQUAL (BN N (S-BAND4 X1 X2 X3 X4)) (S-BAND4 (BN N X1) (BN N X2) (BN N X3) (BN N X4)))). This further simplifies, clearly, to the new conjecture: (IMPLIES (AND (EQUAL (LEN X2) (LEN X1)) (EQUAL (LEN X1) (LEN X3)) (EQUAL (LEN X1) (LEN X4))) (EQUAL (BN N (S-BAND4 X1 X2 X3 X4)) (S-BAND4 (BN N X1) (BN N X2) (BN N X3) (BN N X4)))). We use the third equality hypothesis by substituting (LEN X4) for (LEN X1) and keeping the equality hypothesis. The result is: (IMPLIES (AND (EQUAL (LEN X2) (LEN X4)) (EQUAL (LEN X4) (LEN X3)) (EQUAL (LEN X1) (LEN X4))) (EQUAL (BN N (S-BAND4 X1 X2 X3 X4)) (S-BAND4 (BN N X1) (BN N X2) (BN N X3) (BN N X4)))). But this further simplifies, using linear arithmetic, to: (IMPLIES (AND (EQUAL (LEN X3) (LEN X1)) (EQUAL (LEN X2) (LEN X4)) (EQUAL (LEN X4) (LEN X1)) (EQUAL (LEN X1) (LEN X4))) (EQUAL (BN N (S-BAND4 X1 X2 X3 X4)) (S-BAND4 (BN N X1) (BN N X2) (BN N X3) (BN N X4)))). This again simplifies, obviously, to: (IMPLIES (AND (EQUAL (LEN X3) (LEN X1)) (EQUAL (LEN X2) (LEN X1)) (EQUAL (LEN X1) (LEN X4))) (EQUAL (BN N (S-BAND4 X1 X2 X3 X4)) (S-BAND4 (BN N X1) (BN N X2) (BN N X3) (BN N X4)))). We use the first equality hypothesis by substituting (LEN X3) for (LEN X1) and keeping the equality hypothesis. We must thus prove: (IMPLIES (AND (EQUAL (LEN X3) (LEN X1)) (EQUAL (LEN X2) (LEN X3)) (EQUAL (LEN X3) (LEN X4))) (EQUAL (BN N (S-BAND4 X1 X2 X3 X4)) (S-BAND4 (BN N X1) (BN N X2) (BN N X3) (BN N X4)))). This further simplifies, obviously, to the new conjecture: (IMPLIES (AND (EQUAL (LEN X2) (LEN X1)) (EQUAL (LEN X1) (LEN X3)) (EQUAL (LEN X1) (LEN X4))) (EQUAL (BN N (S-BAND4 X1 X2 X3 X4)) (S-BAND4 (BN N X1) (BN N X2) (BN N X3) (BN N X4)))), 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: (IMPLIES (AND (EQUAL (LEN X1) (LEN X2)) (EQUAL (LEN X2) (LEN X3)) (EQUAL (LEN X3) (LEN X4))) (EQUAL (BN N (S-BAND4 X1 X2 X3 X4)) (S-BAND4 (BN N X1) (BN N X2) (BN N X3) (BN N X4)))). We named this *1. We will try to prove it by induction. There are five plausible inductions. However, they merge into one likely candidate induction. We will induct according to the following scheme: (AND (IMPLIES (ZEROP N) (p N X1 X2 X3 X4)) (IMPLIES (AND (NOT (ZEROP N)) (p (SUB1 N) X1 X2 X3 X4)) (p N X1 X2 X3 X4))). 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 induction step of the scheme. The above induction scheme generates two new conjectures: Case 2. (IMPLIES (AND (ZEROP N) (EQUAL (LEN X1) (LEN X2)) (EQUAL (LEN X2) (LEN X3)) (EQUAL (LEN X3) (LEN X4))) (EQUAL (BN N (S-BAND4 X1 X2 X3 X4)) (S-BAND4 (BN N X1) (BN N X2) (BN N X3) (BN N X4)))), which simplifies, unfolding the functions ZEROP, EQUAL, and BN, to: T. Case 1. (IMPLIES (AND (NOT (ZEROP N)) (EQUAL (BN (SUB1 N) (S-BAND4 X1 X2 X3 X4)) (S-BAND4 (BN (SUB1 N) X1) (BN (SUB1 N) X2) (BN (SUB1 N) X3) (BN (SUB1 N) X4))) (EQUAL (LEN X1) (LEN X2)) (EQUAL (LEN X2) (LEN X3)) (EQUAL (LEN X3) (LEN X4))) (EQUAL (BN N (S-BAND4 X1 X2 X3 X4)) (S-BAND4 (BN N X1) (BN N X2) (BN N X3) (BN N X4)))), which simplifies, expanding the definitions of ZEROP and BN, to the formula: (IMPLIES (AND (NOT (EQUAL N 0)) (NUMBERP N) (EQUAL (BN (SUB1 N) (S-BAND4 X1 X2 X3 X4)) (S-BAND4 (BN (SUB1 N) X1) (BN (SUB1 N) X2) (BN (SUB1 N) X3) (BN (SUB1 N) X4))) (EQUAL (LEN X1) (LEN X2)) (EQUAL (LEN X1) (LEN X3)) (EQUAL (LEN X1) (LEN X4))) (EQUAL (B (BN (SUB1 N) (S-BAND4 X1 X2 X3 X4))) (S-BAND4 (B (BN (SUB1 N) X1)) (B (BN (SUB1 N) X2)) (B (BN (SUB1 N) X3)) (B (BN (SUB1 N) X4))))). Appealing to the lemma SUB1-ELIM, we now replace N by (ADD1 X) to eliminate (SUB1 N). We employ the type restriction lemma noted when SUB1 was introduced to constrain the new variable. The result is the goal: (IMPLIES (AND (NUMBERP X) (NOT (EQUAL (ADD1 X) 0)) (EQUAL (BN X (S-BAND4 X1 X2 X3 X4)) (S-BAND4 (BN X X1) (BN X X2) (BN X X3) (BN X X4))) (EQUAL (LEN X1) (LEN X2)) (EQUAL (LEN X1) (LEN X3)) (EQUAL (LEN X1) (LEN X4))) (EQUAL (B (BN X (S-BAND4 X1 X2 X3 X4))) (S-BAND4 (B (BN X X1)) (B (BN X X2)) (B (BN X X3)) (B (BN X X4))))). This further simplifies, trivially, to the new goal: (IMPLIES (AND (NUMBERP X) (EQUAL (BN X (S-BAND4 X1 X2 X3 X4)) (S-BAND4 (BN X X1) (BN X X2) (BN X X3) (BN X X4))) (EQUAL (LEN X1) (LEN X2)) (EQUAL (LEN X1) (LEN X3)) (EQUAL (LEN X1) (LEN X4))) (EQUAL (B (BN X (S-BAND4 X1 X2 X3 X4))) (S-BAND4 (B (BN X X1)) (B (BN X X2)) (B (BN X X3)) (B (BN X X4))))). We use the first equality hypothesis by substituting: (S-BAND4 (BN X X1) (BN X X2) (BN X X3) (BN X X4)) for (BN X (S-BAND4 X1 X2 X3 X4)) and throwing away the equality. We must thus prove: (IMPLIES (AND (NUMBERP X) (EQUAL (LEN X1) (LEN X2)) (EQUAL (LEN X1) (LEN X3)) (EQUAL (LEN X1) (LEN X4))) (EQUAL (B (S-BAND4 (BN X X1) (BN X X2) (BN X X3) (BN X X4))) (S-BAND4 (B (BN X X1)) (B (BN X X2)) (B (BN X X3)) (B (BN X X4))))). However this further simplifies, rewriting with STR-LEN-BN and A2-BC-S-BAND4, to: T. That finishes the proof of *1. Q.E.D. [ 0.0 0.1 0.0 ] A2-BNC-S-BAND4 (DEFN BNOT (U) (IF (EQUAL U 0) 1 0)) Observe that (NUMBERP (BNOT U)) is a theorem. [ 0.0 0.0 0.0 ] BNOT (DEFN S-BNOT (X) (IF (EMPTY X) (E) (A (S-BNOT (P X)) (BNOT (L X))))) Linear arithmetic and the lemmas P-LESSEQP and STR-EMPTY-COUNT establish that the measure (COUNT X) decreases according to the well-founded relation LESSP in each recursive call. Hence, S-BNOT is accepted under the definitional principle. Note that (STRINGP (S-BNOT X)) is a theorem. [ 0.0 0.0 0.0 ] S-BNOT (PROVE-LEMMA A2-EMPTY-S-BNOT (REWRITE) (EQUAL (EMPTY (S-BNOT X)) (EMPTY X)) ((DISABLE BNOT))) Give the conjecture the name *1. We will appeal to induction. There is only one plausible induction. We will induct according to the following scheme: (AND (IMPLIES (EMPTY X) (p X)) (IMPLIES (AND (NOT (EMPTY X)) (p (P X))) (p X))). Linear arithmetic and the lemmas P-LESSEQP and STR-EMPTY-COUNT 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 (EMPTY X) (EQUAL (EMPTY (S-BNOT X)) (EMPTY X))). This simplifies, expanding the functions S-BNOT, EMPTY, and EQUAL, to: T. Case 1. (IMPLIES (AND (NOT (EMPTY X)) (EQUAL (EMPTY (S-BNOT (P X))) (EMPTY (P X)))) (EQUAL (EMPTY (S-BNOT X)) (EMPTY X))). This simplifies, rewriting with the lemma STR-NOT-EMPTY-A, and opening up S-BNOT and EQUAL, to: T. That finishes the proof of *1. Q.E.D. [ 0.0 0.0 0.0 ] A2-EMPTY-S-BNOT (PROVE-LEMMA A2-E-S-BNOT (REWRITE) (EQUAL (EQUAL (S-BNOT X) (E)) (EMPTY X)) ((DISABLE S-BNOT A2-EMPTY-S-BNOT) (ENABLE EMPTY) (USE (A2-EMPTY-S-BNOT)))) This simplifies, unfolding the definitions of EMPTY and EQUAL, to: T. Q.E.D. [ 0.0 0.0 0.0 ] A2-E-S-BNOT (PROVE-LEMMA A2-LP-S-BNOT (REWRITE) (EQUAL (LEN (S-BNOT X)) (LEN X)) ((DISABLE BNOT) (ENABLE LEN))) 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 (EMPTY X) (p X)) (IMPLIES (AND (NOT (EMPTY X)) (p (P X))) (p X))). Linear arithmetic and the lemmas P-LESSEQP and STR-EMPTY-COUNT 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 (EMPTY X) (EQUAL (LEN (S-BNOT X)) (LEN X))). This simplifies, expanding the functions S-BNOT, LEN, and EQUAL, to: T. Case 1. (IMPLIES (AND (NOT (EMPTY X)) (EQUAL (LEN (S-BNOT (P X))) (LEN (P X)))) (EQUAL (LEN (S-BNOT X)) (LEN X))). This simplifies, rewriting with the lemmas P-A and STR-NOT-EMPTY-A, and opening up S-BNOT and LEN, to: T. That finishes the proof of *1. Q.E.D. [ 0.0 0.0 0.0 ] A2-LP-S-BNOT (PROVE-LEMMA A2-LPE-S-BNOT (REWRITE) (EQLEN (S-BNOT X) X) ((ENABLE EQLEN-IS-EQUAL-LEN) (DISABLE LEN S-BNOT))) This formula can be simplified, using the abbreviations A2-LP-S-BNOT and EQLEN-IS-EQUAL-LEN, to the new formula: (EQUAL (LEN X) (LEN X)), which simplifies, clearly, to: T. Q.E.D. [ 0.0 0.0 0.0 ] A2-LPE-S-BNOT (PROVE-LEMMA A2-IC-S-BNOT (REWRITE) (EQUAL (S-BNOT (I C_X X)) (I (BNOT C_X) (S-BNOT X))) ((ENABLE I) (DISABLE STR-A-I BNOT))) Call the 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 (EMPTY X) (p C_X X)) (IMPLIES (AND (NOT (EMPTY X)) (p C_X (P X))) (p C_X X))). Linear arithmetic and the lemmas P-LESSEQP and STR-EMPTY-COUNT 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 (EMPTY X) (EQUAL (S-BNOT (I C_X X)) (I (BNOT C_X) (S-BNOT X)))), which simplifies, applying the lemmas L-A, P-A, STR-NOT-EMPTY-A, and STR-I-E, and opening up the definitions of I, S-BNOT, and STRINGP, to: T. Case 1. (IMPLIES (AND (NOT (EMPTY X)) (EQUAL (S-BNOT (I C_X (P X))) (I (BNOT C_X) (S-BNOT (P X))))) (EQUAL (S-BNOT (I C_X X)) (I (BNOT C_X) (S-BNOT X)))), which simplifies, rewriting with L-A, P-A, and STR-NOT-EMPTY-A, and opening up the functions I and S-BNOT, to: T. That finishes the proof of *1. Q.E.D. [ 0.0 0.0 0.0 ] A2-IC-S-BNOT (PROVE-LEMMA A2-LC-S-BNOT (REWRITE) (IMPLIES (NOT (EMPTY X)) (EQUAL (L (S-BNOT X)) (BNOT (L X)))) ((DISABLE BNOT) (EXPAND (S-BNOT X)))) This simplifies, appealing to the lemma L-A, and opening up the definition of S-BNOT, to: T. Q.E.D. [ 0.0 0.0 0.0 ] A2-LC-S-BNOT (PROVE-LEMMA A2-PC-S-BNOT (REWRITE) (EQUAL (P (S-BNOT X)) (S-BNOT (P X))) ((DISABLE BNOT))) This conjecture simplifies, opening up the function S-BNOT, to the following two new goals: Case 2. (IMPLIES (NOT (EMPTY X)) (EQUAL (P (A (S-BNOT (P X)) (BNOT (L X)))) (S-BNOT (P X)))). But this again simplifies, applying P-A, to: T. Case 1. (IMPLIES (EMPTY X) (EQUAL (P (E)) (S-BNOT (P X)))). However this again simplifies, rewriting with STR-EMPTY-P, and unfolding P, S-BNOT, and EQUAL, to: T. Q.E.D. [ 0.0 0.0 0.0 ] A2-PC-S-BNOT (PROVE-LEMMA A2-HC-S-BNOT (REWRITE) (IMPLIES (NOT (EMPTY X)) (EQUAL (H (S-BNOT X)) (BNOT (H X)))) ((DISABLE BNOT S-BNOT) (ENABLE H))) 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 (EMPTY X) (p X)) (IMPLIES (AND (NOT (EMPTY X)) (EMPTY (P X))) (p X)) (IMPLIES (AND (NOT (EMPTY X)) (NOT (EMPTY (P X))) (p (P X))) (p X))). Linear arithmetic and the lemmas P-LESSEQP and STR-EMPTY-COUNT 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 (AND (EMPTY (P X)) (NOT (EMPTY X))) (EQUAL (H (S-BNOT X)) (BNOT (H X)))), which simplifies, appealing to the lemmas A2-LC-S-BNOT, A2-PC-S-BNOT, and A2-EMPTY-S-BNOT, and unfolding H, to: T. Case 1. (IMPLIES (AND (NOT (EMPTY (P X))) (EQUAL (H (S-BNOT (P X))) (BNOT (H (P X)))) (NOT (EMPTY X))) (EQUAL (H (S-BNOT X)) (BNOT (H X)))), which simplifies, rewriting with the lemmas A2-PC-S-BNOT and A2-EMPTY-S-BNOT, and expanding the function H, to: T. That finishes the proof of *1. Q.E.D. [ 0.0 0.0 0.0 ] A2-HC-S-BNOT (PROVE-LEMMA A2-BC-S-BNOT (REWRITE) (EQUAL (B (S-BNOT X)) (S-BNOT (B X))) ((DISABLE BNOT) (ENABLE B))) Name the conjecture *1. Perhaps we can prove it by induction. There are two plausible inductions. However, they merge into one likely candidate induction. We will induct according to the following scheme: (AND (IMPLIES (EMPTY X) (p X)) (IMPLIES (AND (NOT (EMPTY X)) (EMPTY (P X))) (p X)) (IMPLIES (AND (NOT (EMPTY X)) (NOT (EMPTY (P X))) (p (P X))) (p X))). Linear arithmetic and the lemmas P-LESSEQP and STR-EMPTY-COUNT 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 goals: Case 3. (IMPLIES (EMPTY X) (EQUAL (B (S-BNOT X)) (S-BNOT (B X)))). This simplifies, expanding S-BNOT, B, and EQUAL, to: T. Case 2. (IMPLIES (AND (NOT (EMPTY X)) (EMPTY (P X))) (EQUAL (B (S-BNOT X)) (S-BNOT (B X)))). This simplifies, rewriting with A2-EMPTY-S-BNOT, P-A, and STR-NOT-EMPTY-A, and unfolding the definitions of S-BNOT, B, and EQUAL, to: T. Case 1. (IMPLIES (AND (NOT (EMPTY X)) (NOT (EMPTY (P X))) (EQUAL (B (S-BNOT (P X))) (S-BNOT (B (P X))))) (EQUAL (B (S-BNOT X)) (S-BNOT (B X)))), which simplifies, rewriting with L-A, A2-EMPTY-S-BNOT, P-A, and STR-NOT-EMPTY-A, and expanding the definitions of S-BNOT and B, to: T. That finishes the proof of *1. Q.E.D. [ 0.0 0.0 0.0 ] A2-BC-S-BNOT (PROVE-LEMMA A2-BNC-S-BNOT (REWRITE) (EQUAL (BN N (S-BNOT X)) (S-BNOT (BN N X))) ((DISABLE BNOT S-BNOT))) Name the conjecture *1. We will appeal to 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 N) (p N X)) (IMPLIES (AND (NOT (ZEROP N)) (p (SUB1 N) X)) (p N X))). 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. The above induction scheme produces the following two new formulas: Case 2. (IMPLIES (ZEROP N) (EQUAL (BN N (S-BNOT X)) (S-BNOT (BN N X)))). This simplifies, expanding the definitions of ZEROP, EQUAL, and BN, to: T. Case 1. (IMPLIES (AND (NOT (ZEROP N)) (EQUAL (BN (SUB1 N) (S-BNOT X)) (S-BNOT (BN (SUB1 N) X)))) (EQUAL (BN N (S-BNOT X)) (S-BNOT (BN N X)))). This simplifies, expanding the definitions of ZEROP and BN, to: (IMPLIES (AND (NOT (EQUAL N 0)) (NUMBERP N) (EQUAL (BN (SUB1 N) (S-BNOT X)) (S-BNOT (BN (SUB1 N) X)))) (EQUAL (B (BN (SUB1 N) (S-BNOT X))) (S-BNOT (B (BN (SUB1 N) X))))). Applying the lemma SUB1-ELIM, replace N by (ADD1 Z) to eliminate (SUB1 N). We use the type restriction lemma noted when SUB1 was introduced to restrict the new variable. We thus obtain the new conjecture: (IMPLIES (AND (NUMBERP Z) (NOT (EQUAL (ADD1 Z) 0)) (EQUAL (BN Z (S-BNOT X)) (S-BNOT (BN Z X)))) (EQUAL (B (BN Z (S-BNOT X))) (S-BNOT (B (BN Z X))))), which further simplifies, obviously, to the new goal: (IMPLIES (AND (NUMBERP Z) (EQUAL (BN Z (S-BNOT X)) (S-BNOT (BN Z X)))) (EQUAL (B (BN Z (S-BNOT X))) (S-BNOT (B (BN Z X))))). We now use the above equality hypothesis by substituting (S-BNOT (BN Z X)) for (BN Z (S-BNOT X)) and throwing away the equality. We must thus prove: (IMPLIES (NUMBERP Z) (EQUAL (B (S-BNOT (BN Z X))) (S-BNOT (B (BN Z X))))). This further simplifies, applying A2-BC-S-BNOT, to: T. That finishes the proof of *1. Q.E.D. [ 0.0 0.0 0.0 ] A2-BNC-S-BNOT (DEFN TOPOR-SY-BCDSBI (LN) (IF (EQUAL LN 'Y01) 1 (IF (EQUAL LN 'Y02) 1 (IF (EQUAL LN 'Y03) 1 (IF (EQUAL LN 'Y04) 1 (IF (EQUAL LN 'Y05) 1 (IF (EQUAL LN 'Y06) 1 (IF (EQUAL LN 'Y07) 1 (IF (EQUAL LN 'Y08) 1 (IF (EQUAL LN 'Y11) 2 (IF (EQUAL LN 'Y12) 2 (IF (EQUAL LN 'Y13) 2 (IF (EQUAL LN 'Y14) 2 (IF (EQUAL LN 'Y15) 1 (IF (EQUAL LN 'Y21) 3 (IF (EQUAL LN 'Y22) 3 (IF (EQUAL LN 'Y23) 2 (IF (EQUAL LN 'YR1) 0 (IF (EQUAL LN 'YR2) 0 (IF (EQUAL LN 'YR3) 0 (IF (EQUAL LN 'Y31) 1 (IF (EQUAL LN 'Y32) 1 (IF (EQUAL LN 'Y41) 2 (IF (EQUAL LN 'YOUT) 3 0)))))))))))))))))))))))) Observe that (NUMBERP (TOPOR-SY-BCDSBI LN)) is a theorem. [ 0.0 0.0 0.0 ] TOPOR-SY-BCDSBI (DEFN SY-BCDSBI (LN X) (IF (EQUAL LN 'Y01) (S-BNOT X) (IF (EQUAL LN 'Y02) (S-BNOT X) (IF (EQUAL LN 'Y03) (S-BNOT (SY-BCDSBI 'YR3 X)) (IF (EQUAL LN 'Y04) (S-BNOT (SY-BCDSBI 'YR1 X)) (IF (EQUAL LN 'Y05) (S-BNOT (SY-BCDSBI 'YR2 X)) (IF (EQUAL LN 'Y06) (S-BNOT (SY-BCDSBI 'YR3 X)) (IF (EQUAL LN 'Y07) (S-BNOT (SY-BCDSBI 'YR1 X)) (IF (EQUAL LN 'Y08) (S-BNOT (SY-BCDSBI 'YR3 X)) (IF (EQUAL LN 'Y11) (S-BAND3 (SY-BCDSBI 'Y01 X) (SY-BCDSBI 'YR1 X) (SY-BCDSBI 'YR3 X)) (IF (EQUAL LN 'Y12) (S-BAND3 (SY-BCDSBI 'Y02 X) (SY-BCDSBI 'YR2 X) (SY-BCDSBI 'Y03 X)) (IF (EQUAL LN 'Y13) (S-BAND3 (SY-BCDSBI 'Y04 X) (SY-BCDSBI 'Y05 X) (SY-BCDSBI 'Y06 X)) (IF (EQUAL LN 'Y14) (S-BAND3 X (SY-BCDSBI 'Y07 X) (SY-BCDSBI 'Y08 X)) (IF (EQUAL LN 'Y15) (S-BAND3 X (SY-BCDSBI 'YR1 X) (SY-BCDSBI 'YR3 X)) (IF (EQUAL LN 'Y21) (S-BOR (SY-BCDSBI 'Y11 X) (SY-BCDSBI 'Y12 X)) (IF (EQUAL LN 'Y22) (S-BOR (SY-BCDSBI 'Y13 X) (SY-BCDSBI 'Y14 X)) (IF (EQUAL LN 'Y23) (S-BOR (SY-BCDSBI 'YR2 X) (SY-BCDSBI 'Y15 X)) (IF (EQUAL LN 'YR1) (IF (EMPTY X) (E) (I 0 (SY-BCDSBI 'Y21 (P X)))) (IF (EQUAL LN 'YR2) (IF (EMPTY X) (E) (I 0 (SY-BCDSBI 'Y22 (P X)))) (IF (EQUAL LN 'YR3) (IF (EMPTY X) (E) (I 0 (SY-BCDSBI 'Y23 (P X)))) (IF (EQUAL LN 'Y31) (S-BNOT (SY-BCDSBI 'YR1 X)) (IF (EQUAL LN 'Y32) (S-BNOT (SY-BCDSBI 'YR2 X)) (IF (EQUAL LN 'Y41) (S-BAND4 X (SY-BCDSBI 'Y31 X) (SY-BCDSBI 'Y32 X) (SY-BCDSBI 'YR3 X)) (IF (EQUAL LN 'YOUT) (S-BNOT (SY-BCDSBI 'Y41 X)) (SFIX X)))))))))))))))))))))))) ((LEX2 (LIST (COUNT X) (TOPOR-SY-BCDSBI LN))))) Linear arithmetic, the lemmas CAR-CONS, CDR-CONS, STR-EMPTY-COUNT, and P-LESSEQP, and the definitions of LEX2, CAR, LESSP, CONS, TOPOR-SY-BCDSBI, and EQUAL can be used to show that the measure: (LIST (COUNT X) (TOPOR-SY-BCDSBI LN)) decreases according to the well-founded relation LEX2 in each recursive call. Hence, SY-BCDSBI is accepted under the definitional principle. Note that: (STRINGP (SY-BCDSBI LN X)) is a theorem. [ 0.1 0.1 0.0 ] SY-BCDSBI (PROVE-LEMMA A2-EMPTY-SY-BCDSBI (REWRITE) (EQUAL (EMPTY (SY-BCDSBI LN X)) (EMPTY X)) ((DISABLE S-BAND3 S-BOR S-BAND4 S-BNOT))) 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 (EQUAL LN 'Y01) (p LN X)) (IMPLIES (AND (NOT (EQUAL LN 'Y01)) (EQUAL LN 'Y02)) (p LN X)) (IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (EQUAL LN 'Y03) (p 'YR3 X)) (p LN X)) (IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (EQUAL LN 'Y04) (p 'YR1 X)) (p LN X)) (IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (EQUAL LN 'Y05) (p 'YR2 X)) (p LN X)) (IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (EQUAL LN 'Y06) (p 'YR3 X)) (p LN X)) (IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (EQUAL LN 'Y07) (p 'YR1 X)) (p LN X)) (IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (EQUAL LN 'Y08) (p 'YR3 X)) (p LN X)) (IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (EQUAL LN 'Y11) (p 'YR3 X) (p 'YR1 X) (p 'Y01 X)) (p LN X)) (IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (NOT (EQUAL LN 'Y11)) (EQUAL LN 'Y12) (p 'Y03 X) (p 'YR2 X) (p 'Y02 X)) (p LN X)) (IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (NOT (EQUAL LN 'Y11)) (NOT (EQUAL LN 'Y12)) (EQUAL LN 'Y13) (p 'Y06 X) (p 'Y05 X) (p 'Y04 X)) (p LN X)) (IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (NOT (EQUAL LN 'Y11)) (NOT (EQUAL LN 'Y12)) (NOT (EQUAL LN 'Y13)) (EQUAL LN 'Y14) (p 'Y08 X) (p 'Y07 X)) (p LN X)) (IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (NOT (EQUAL LN 'Y11)) (NOT (EQUAL LN 'Y12)) (NOT (EQUAL LN 'Y13)) (NOT (EQUAL LN 'Y14)) (EQUAL LN 'Y15) (p 'YR3 X) (p 'YR1 X)) (p LN X)) (IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (NOT (EQUAL LN 'Y11)) (NOT (EQUAL LN 'Y12)) (NOT (EQUAL LN 'Y13)) (NOT (EQUAL LN 'Y14)) (NOT (EQUAL LN 'Y15)) (EQUAL LN 'Y21) (p 'Y12 X) (p 'Y11 X)) (p LN X)) (IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (NOT (EQUAL LN 'Y11)) (NOT (EQUAL LN 'Y12)) (NOT (EQUAL LN 'Y13)) (NOT (EQUAL LN 'Y14)) (NOT (EQUAL LN 'Y15)) (NOT (EQUAL LN 'Y21)) (EQUAL LN 'Y22) (p 'Y14 X) (p 'Y13 X)) (p LN X)) (IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (NOT (EQUAL LN 'Y11)) (NOT (EQUAL LN 'Y12)) (NOT (EQUAL LN 'Y13)) (NOT (EQUAL LN 'Y14)) (NOT (EQUAL LN 'Y15)) (NOT (EQUAL LN 'Y21)) (NOT (EQUAL LN 'Y22)) (EQUAL LN 'Y23) (p 'Y15 X) (p 'YR2 X)) (p LN X)) (IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (NOT (EQUAL LN 'Y11)) (NOT (EQUAL LN 'Y12)) (NOT (EQUAL LN 'Y13)) (NOT (EQUAL LN 'Y14)) (NOT (EQUAL LN 'Y15)) (NOT (EQUAL LN 'Y21)) (NOT (EQUAL LN 'Y22)) (NOT (EQUAL LN 'Y23)) (EQUAL LN 'YR1) (EMPTY X)) (p LN X)) (IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (NOT (EQUAL LN 'Y11)) (NOT (EQUAL LN 'Y12)) (NOT (EQUAL LN 'Y13)) (NOT (EQUAL LN 'Y14)) (NOT (EQUAL LN 'Y15)) (NOT (EQUAL LN 'Y21)) (NOT (EQUAL LN 'Y22)) (NOT (EQUAL LN 'Y23)) (EQUAL LN 'YR1) (NOT (EMPTY X)) (p 'Y21 (P X))) (p LN X)) (IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (NOT (EQUAL LN 'Y11)) (NOT (EQUAL LN 'Y12)) (NOT (EQUAL LN 'Y13)) (NOT (EQUAL LN 'Y14)) (NOT (EQUAL LN 'Y15)) (NOT (EQUAL LN 'Y21)) (NOT (EQUAL LN 'Y22)) (NOT (EQUAL LN 'Y23)) (NOT (EQUAL LN 'YR1)) (EQUAL LN 'YR2) (EMPTY X)) (p LN X)) (IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (NOT (EQUAL LN 'Y11)) (NOT (EQUAL LN 'Y12)) (NOT (EQUAL LN 'Y13)) (NOT (EQUAL LN 'Y14)) (NOT (EQUAL LN 'Y15)) (NOT (EQUAL LN 'Y21)) (NOT (EQUAL LN 'Y22)) (NOT (EQUAL LN 'Y23)) (NOT (EQUAL LN 'YR1)) (EQUAL LN 'YR2) (NOT (EMPTY X)) (p 'Y22 (P X))) (p LN X)) (IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (NOT (EQUAL LN 'Y11)) (NOT (EQUAL LN 'Y12)) (NOT (EQUAL LN 'Y13)) (NOT (EQUAL LN 'Y14)) (NOT (EQUAL LN 'Y15)) (NOT (EQUAL LN 'Y21)) (NOT (EQUAL LN 'Y22)) (NOT (EQUAL LN 'Y23)) (NOT (EQUAL LN 'YR1)) (NOT (EQUAL LN 'YR2)) (EQUAL LN 'YR3) (EMPTY X)) (p LN X)) (IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (NOT (EQUAL LN 'Y11)) (NOT (EQUAL LN 'Y12)) (NOT (EQUAL LN 'Y13)) (NOT (EQUAL LN 'Y14)) (NOT (EQUAL LN 'Y15)) (NOT (EQUAL LN 'Y21)) (NOT (EQUAL LN 'Y22)) (NOT (EQUAL LN 'Y23)) (NOT (EQUAL LN 'YR1)) (NOT (EQUAL LN 'YR2)) (EQUAL LN 'YR3) (NOT (EMPTY X)) (p 'Y23 (P X))) (p LN X)) (IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (NOT (EQUAL LN 'Y11)) (NOT (EQUAL LN 'Y12)) (NOT (EQUAL LN 'Y13)) (NOT (EQUAL LN 'Y14)) (NOT (EQUAL LN 'Y15)) (NOT (EQUAL LN 'Y21)) (NOT (EQUAL LN 'Y22)) (NOT (EQUAL LN 'Y23)) (NOT (EQUAL LN 'YR1)) (NOT (EQUAL LN 'YR2)) (NOT (EQUAL LN 'YR3)) (EQUAL LN 'Y31) (p 'YR1 X)) (p LN X)) (IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (NOT (EQUAL LN 'Y11)) (NOT (EQUAL LN 'Y12)) (NOT (EQUAL LN 'Y13)) (NOT (EQUAL LN 'Y14)) (NOT (EQUAL LN 'Y15)) (NOT (EQUAL LN 'Y21)) (NOT (EQUAL LN 'Y22)) (NOT (EQUAL LN 'Y23)) (NOT (EQUAL LN 'YR1)) (NOT (EQUAL LN 'YR2)) (NOT (EQUAL LN 'YR3)) (NOT (EQUAL LN 'Y31)) (EQUAL LN 'Y32) (p 'YR2 X)) (p LN X)) (IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (NOT (EQUAL LN 'Y11)) (NOT (EQUAL LN 'Y12)) (NOT (EQUAL LN 'Y13)) (NOT (EQUAL LN 'Y14)) (NOT (EQUAL LN 'Y15)) (NOT (EQUAL LN 'Y21)) (NOT (EQUAL LN 'Y22)) (NOT (EQUAL LN 'Y23)) (NOT (EQUAL LN 'YR1)) (NOT (EQUAL LN 'YR2)) (NOT (EQUAL LN 'YR3)) (NOT (EQUAL LN 'Y31)) (NOT (EQUAL LN 'Y32)) (EQUAL LN 'Y41) (p 'YR3 X) (p 'Y32 X) (p 'Y31 X)) (p LN X)) (IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (NOT (EQUAL LN 'Y11)) (NOT (EQUAL LN 'Y12)) (NOT (EQUAL LN 'Y13)) (NOT (EQUAL LN 'Y14)) (NOT (EQUAL LN 'Y15)) (NOT (EQUAL LN 'Y21)) (NOT (EQUAL LN 'Y22)) (NOT (EQUAL LN 'Y23)) (NOT (EQUAL LN 'YR1)) (NOT (EQUAL LN 'YR2)) (NOT (EQUAL LN 'YR3)) (NOT (EQUAL LN 'Y31)) (NOT (EQUAL LN 'Y32)) (NOT (EQUAL LN 'Y41)) (EQUAL LN 'YOUT) (p 'Y41 X)) (p LN X)) (IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (NOT (EQUAL LN 'Y11)) (NOT (EQUAL LN 'Y12)) (NOT (EQUAL LN 'Y13)) (NOT (EQUAL LN 'Y14)) (NOT (EQUAL LN 'Y15)) (NOT (EQUAL LN 'Y21)) (NOT (EQUAL LN 'Y22)) (NOT (EQUAL LN 'Y23)) (NOT (EQUAL LN 'YR1)) (NOT (EQUAL LN 'YR2)) (NOT (EQUAL LN 'YR3)) (NOT (EQUAL LN 'Y31)) (NOT (EQUAL LN 'Y32)) (NOT (EQUAL LN 'Y41)) (NOT (EQUAL LN 'YOUT))) (p LN X))). Linear arithmetic, the lemmas CAR-CONS, CDR-CONS, STR-EMPTY-COUNT, and P-LESSEQP, and the definitions of LEX2, CAR, LESSP, CONS, TOPOR-SY-BCDSBI, and EQUAL can be used to establish that the measure: (LIST (COUNT X) (TOPOR-SY-BCDSBI LN)) decreases according to the well-founded relation LEX2 in each induction step of the scheme. The above induction scheme generates the following 27 new formulas: Case 27.(IMPLIES (EQUAL LN 'Y01) (EQUAL (EMPTY (SY-BCDSBI LN X)) (EMPTY X))). This simplifies, clearly, to the new goal: (EQUAL (EMPTY (SY-BCDSBI 'Y01 X)) (EMPTY X)), which further simplifies, rewriting with A2-EMPTY-S-BNOT, and opening up the definitions of EQUAL and SY-BCDSBI, to: T. Case 26.(IMPLIES (AND (NOT (EQUAL LN 'Y01)) (EQUAL LN 'Y02)) (EQUAL (EMPTY (SY-BCDSBI LN X)) (EMPTY X))). This simplifies, expanding the definition of EQUAL, to: (EQUAL (EMPTY (SY-BCDSBI 'Y02 X)) (EMPTY X)), which further simplifies, appealing to the lemma A2-EMPTY-S-BNOT, and opening up the definitions of EQUAL and SY-BCDSBI, to: T. Case 25.(IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (EQUAL LN 'Y03) (EQUAL (EMPTY (SY-BCDSBI 'YR3 X)) (EMPTY X))) (EQUAL (EMPTY (SY-BCDSBI LN X)) (EMPTY X))), which simplifies, opening up the definition of EQUAL, to: (IMPLIES (EQUAL (EMPTY (SY-BCDSBI 'YR3 X)) (EMPTY X)) (EQUAL (EMPTY (SY-BCDSBI 'Y03 X)) (EMPTY X))). However this further simplifies, applying A2-EMPTY-S-BNOT, and opening up EQUAL and SY-BCDSBI, to: T. Case 24.(IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (EQUAL LN 'Y04) (EQUAL (EMPTY (SY-BCDSBI 'YR1 X)) (EMPTY X))) (EQUAL (EMPTY (SY-BCDSBI LN X)) (EMPTY X))). This simplifies, opening up the function EQUAL, to: (IMPLIES (EQUAL (EMPTY (SY-BCDSBI 'YR1 X)) (EMPTY X)) (EQUAL (EMPTY (SY-BCDSBI 'Y04 X)) (EMPTY X))), which further simplifies, rewriting with A2-EMPTY-S-BNOT, and opening up the definitions of EQUAL and SY-BCDSBI, to: T. Case 23.(IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (EQUAL LN 'Y05) (EQUAL (EMPTY (SY-BCDSBI 'YR2 X)) (EMPTY X))) (EQUAL (EMPTY (SY-BCDSBI LN X)) (EMPTY X))). This simplifies, opening up the definition of EQUAL, to: (IMPLIES (EQUAL (EMPTY (SY-BCDSBI 'YR2 X)) (EMPTY X)) (EQUAL (EMPTY (SY-BCDSBI 'Y05 X)) (EMPTY X))), which further simplifies, applying A2-EMPTY-S-BNOT, and expanding the definitions of EQUAL and SY-BCDSBI, to: T. Case 22.(IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (EQUAL LN 'Y06) (EQUAL (EMPTY (SY-BCDSBI 'YR3 X)) (EMPTY X))) (EQUAL (EMPTY (SY-BCDSBI LN X)) (EMPTY X))). This simplifies, unfolding the definition of EQUAL, to the new goal: (IMPLIES (EQUAL (EMPTY (SY-BCDSBI 'YR3 X)) (EMPTY X)) (EQUAL (EMPTY (SY-BCDSBI 'Y06 X)) (EMPTY X))), which further simplifies, applying the lemma A2-EMPTY-S-BNOT, and expanding the definitions of EQUAL and SY-BCDSBI, to: T. Case 21.(IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (EQUAL LN 'Y07) (EQUAL (EMPTY (SY-BCDSBI 'YR1 X)) (EMPTY X))) (EQUAL (EMPTY (SY-BCDSBI LN X)) (EMPTY X))), which simplifies, unfolding the function EQUAL, to the conjecture: (IMPLIES (EQUAL (EMPTY (SY-BCDSBI 'YR1 X)) (EMPTY X)) (EQUAL (EMPTY (SY-BCDSBI 'Y07 X)) (EMPTY X))). However this further simplifies, rewriting with A2-EMPTY-S-BNOT, and unfolding EQUAL and SY-BCDSBI, to: T. Case 20.(IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (EQUAL LN 'Y08) (EQUAL (EMPTY (SY-BCDSBI 'YR3 X)) (EMPTY X))) (EQUAL (EMPTY (SY-BCDSBI LN X)) (EMPTY X))). This simplifies, opening up EQUAL, to: (IMPLIES (EQUAL (EMPTY (SY-BCDSBI 'YR3 X)) (EMPTY X)) (EQUAL (EMPTY (SY-BCDSBI 'Y08 X)) (EMPTY X))), which further simplifies, rewriting with the lemma A2-EMPTY-S-BNOT, and unfolding EQUAL and SY-BCDSBI, to: T. Case 19.(IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (EQUAL LN 'Y11) (EQUAL (EMPTY (SY-BCDSBI 'YR3 X)) (EMPTY X)) (EQUAL (EMPTY (SY-BCDSBI 'YR1 X)) (EMPTY X)) (EQUAL (EMPTY (SY-BCDSBI 'Y01 X)) (EMPTY X))) (EQUAL (EMPTY (SY-BCDSBI LN X)) (EMPTY X))), which simplifies, expanding EQUAL, to: (IMPLIES (AND (EQUAL (EMPTY (SY-BCDSBI 'YR3 X)) (EMPTY X)) (EQUAL (EMPTY (SY-BCDSBI 'YR1 X)) (EMPTY X)) (EQUAL (EMPTY (SY-BCDSBI 'Y01 X)) (EMPTY X))) (EQUAL (EMPTY (SY-BCDSBI 'Y11 X)) (EMPTY X))). But this further simplifies, rewriting with A2-EMPTY-S-BNOT and A2-EMPTY-S-BAND3, and unfolding the definitions of EQUAL and SY-BCDSBI, to: T. Case 18.(IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (NOT (EQUAL LN 'Y11)) (EQUAL LN 'Y12) (EQUAL (EMPTY (SY-BCDSBI 'Y03 X)) (EMPTY X)) (EQUAL (EMPTY (SY-BCDSBI 'YR2 X)) (EMPTY X)) (EQUAL (EMPTY (SY-BCDSBI 'Y02 X)) (EMPTY X))) (EQUAL (EMPTY (SY-BCDSBI LN X)) (EMPTY X))). This simplifies, unfolding the definition of EQUAL, to: (IMPLIES (AND (EQUAL (EMPTY (SY-BCDSBI 'Y03 X)) (EMPTY X)) (EQUAL (EMPTY (SY-BCDSBI 'YR2 X)) (EMPTY X)) (EQUAL (EMPTY (SY-BCDSBI 'Y02 X)) (EMPTY X))) (EQUAL (EMPTY (SY-BCDSBI 'Y12 X)) (EMPTY X))), which further simplifies, applying A2-EMPTY-S-BNOT and A2-EMPTY-S-BAND3, and unfolding the functions EQUAL and SY-BCDSBI, to: T. Case 17.(IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (NOT (EQUAL LN 'Y11)) (NOT (EQUAL LN 'Y12)) (EQUAL LN 'Y13) (EQUAL (EMPTY (SY-BCDSBI 'Y06 X)) (EMPTY X)) (EQUAL (EMPTY (SY-BCDSBI 'Y05 X)) (EMPTY X)) (EQUAL (EMPTY (SY-BCDSBI 'Y04 X)) (EMPTY X))) (EQUAL (EMPTY (SY-BCDSBI LN X)) (EMPTY X))). This simplifies, expanding the function EQUAL, to: (IMPLIES (AND (EQUAL (EMPTY (SY-BCDSBI 'Y06 X)) (EMPTY X)) (EQUAL (EMPTY (SY-BCDSBI 'Y05 X)) (EMPTY X)) (EQUAL (EMPTY (SY-BCDSBI 'Y04 X)) (EMPTY X))) (EQUAL (EMPTY (SY-BCDSBI 'Y13 X)) (EMPTY X))), which further simplifies, applying A2-EMPTY-S-BAND3, and opening up the functions EQUAL and SY-BCDSBI, to: T. Case 16.(IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (NOT (EQUAL LN 'Y11)) (NOT (EQUAL LN 'Y12)) (NOT (EQUAL LN 'Y13)) (EQUAL LN 'Y14) (EQUAL (EMPTY (SY-BCDSBI 'Y08 X)) (EMPTY X)) (EQUAL (EMPTY (SY-BCDSBI 'Y07 X)) (EMPTY X))) (EQUAL (EMPTY (SY-BCDSBI LN X)) (EMPTY X))). This simplifies, expanding EQUAL, to: (IMPLIES (AND (EQUAL (EMPTY (SY-BCDSBI 'Y08 X)) (EMPTY X)) (EQUAL (EMPTY (SY-BCDSBI 'Y07 X)) (EMPTY X))) (EQUAL (EMPTY (SY-BCDSBI 'Y14 X)) (EMPTY X))), which further simplifies, applying A2-EMPTY-S-BAND3, and opening up EQUAL and SY-BCDSBI, to: T. Case 15.(IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (NOT (EQUAL LN 'Y11)) (NOT (EQUAL LN 'Y12)) (NOT (EQUAL LN 'Y13)) (NOT (EQUAL LN 'Y14)) (EQUAL LN 'Y15) (EQUAL (EMPTY (SY-BCDSBI 'YR3 X)) (EMPTY X)) (EQUAL (EMPTY (SY-BCDSBI 'YR1 X)) (EMPTY X))) (EQUAL (EMPTY (SY-BCDSBI LN X)) (EMPTY X))). This simplifies, opening up the function EQUAL, to: (IMPLIES (AND (EQUAL (EMPTY (SY-BCDSBI 'YR3 X)) (EMPTY X)) (EQUAL (EMPTY (SY-BCDSBI 'YR1 X)) (EMPTY X))) (EQUAL (EMPTY (SY-BCDSBI 'Y15 X)) (EMPTY X))), which further simplifies, rewriting with A2-EMPTY-S-BAND3, and unfolding the definitions of EQUAL and SY-BCDSBI, to: T. Case 14.(IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (NOT (EQUAL LN 'Y11)) (NOT (EQUAL LN 'Y12)) (NOT (EQUAL LN 'Y13)) (NOT (EQUAL LN 'Y14)) (NOT (EQUAL LN 'Y15)) (EQUAL LN 'Y21) (EQUAL (EMPTY (SY-BCDSBI 'Y12 X)) (EMPTY X)) (EQUAL (EMPTY (SY-BCDSBI 'Y11 X)) (EMPTY X))) (EQUAL (EMPTY (SY-BCDSBI LN X)) (EMPTY X))). This simplifies, rewriting with the lemma A2-EMPTY-S-BOR, and unfolding the definitions of EQUAL and SY-BCDSBI, to: T. Case 13.(IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (NOT (EQUAL LN 'Y11)) (NOT (EQUAL LN 'Y12)) (NOT (EQUAL LN 'Y13)) (NOT (EQUAL LN 'Y14)) (NOT (EQUAL LN 'Y15)) (NOT (EQUAL LN 'Y21)) (EQUAL LN 'Y22) (EQUAL (EMPTY (SY-BCDSBI 'Y14 X)) (EMPTY X)) (EQUAL (EMPTY (SY-BCDSBI 'Y13 X)) (EMPTY X))) (EQUAL (EMPTY (SY-BCDSBI LN X)) (EMPTY X))). This simplifies, applying A2-EMPTY-S-BOR, and opening up the functions EQUAL and SY-BCDSBI, to: T. Case 12.(IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (NOT (EQUAL LN 'Y11)) (NOT (EQUAL LN 'Y12)) (NOT (EQUAL LN 'Y13)) (NOT (EQUAL LN 'Y14)) (NOT (EQUAL LN 'Y15)) (NOT (EQUAL LN 'Y21)) (NOT (EQUAL LN 'Y22)) (EQUAL LN 'Y23) (EQUAL (EMPTY (SY-BCDSBI 'Y15 X)) (EMPTY X)) (EQUAL (EMPTY (SY-BCDSBI 'YR2 X)) (EMPTY X))) (EQUAL (EMPTY (SY-BCDSBI LN X)) (EMPTY X))), which simplifies, rewriting with A2-EMPTY-S-BOR, and opening up the definitions of EQUAL and SY-BCDSBI, to: T. Case 11.(IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (NOT (EQUAL LN 'Y11)) (NOT (EQUAL LN 'Y12)) (NOT (EQUAL LN 'Y13)) (NOT (EQUAL LN 'Y14)) (NOT (EQUAL LN 'Y15)) (NOT (EQUAL LN 'Y21)) (NOT (EQUAL LN 'Y22)) (NOT (EQUAL LN 'Y23)) (EQUAL LN 'YR1) (EMPTY X)) (EQUAL (EMPTY (SY-BCDSBI LN X)) (EMPTY X))). This simplifies, expanding the function EQUAL, to the new formula: (IMPLIES (EMPTY X) (EMPTY (SY-BCDSBI 'YR1 X))), which further simplifies, opening up EQUAL, SY-BCDSBI, and EMPTY, to: T. Case 10.(IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (NOT (EQUAL LN 'Y11)) (NOT (EQUAL LN 'Y12)) (NOT (EQUAL LN 'Y13)) (NOT (EQUAL LN 'Y14)) (NOT (EQUAL LN 'Y15)) (NOT (EQUAL LN 'Y21)) (NOT (EQUAL LN 'Y22)) (NOT (EQUAL LN 'Y23)) (EQUAL LN 'YR1) (NOT (EMPTY X)) (EQUAL (EMPTY (SY-BCDSBI 'Y21 (P X))) (EMPTY (P X)))) (EQUAL (EMPTY (SY-BCDSBI LN X)) (EMPTY X))), which simplifies, opening up EQUAL, to: (IMPLIES (AND (NOT (EMPTY X)) (EQUAL (EMPTY (SY-BCDSBI 'Y21 (P X))) (EMPTY (P X)))) (NOT (EMPTY (SY-BCDSBI 'YR1 X)))). This further simplifies, rewriting with A2-EMPTY-S-BOR and STR-NOT-EMPTY-I, and expanding EQUAL and SY-BCDSBI, to: T. Case 9. (IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (NOT (EQUAL LN 'Y11)) (NOT (EQUAL LN 'Y12)) (NOT (EQUAL LN 'Y13)) (NOT (EQUAL LN 'Y14)) (NOT (EQUAL LN 'Y15)) (NOT (EQUAL LN 'Y21)) (NOT (EQUAL LN 'Y22)) (NOT (EQUAL LN 'Y23)) (NOT (EQUAL LN 'YR1)) (EQUAL LN 'YR2) (EMPTY X)) (EQUAL (EMPTY (SY-BCDSBI LN X)) (EMPTY X))). This simplifies, expanding the definition of EQUAL, to the new formula: (IMPLIES (EMPTY X) (EMPTY (SY-BCDSBI 'YR2 X))), which further simplifies, unfolding the definitions of EQUAL, SY-BCDSBI, and EMPTY, to: T. Case 8. (IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (NOT (EQUAL LN 'Y11)) (NOT (EQUAL LN 'Y12)) (NOT (EQUAL LN 'Y13)) (NOT (EQUAL LN 'Y14)) (NOT (EQUAL LN 'Y15)) (NOT (EQUAL LN 'Y21)) (NOT (EQUAL LN 'Y22)) (NOT (EQUAL LN 'Y23)) (NOT (EQUAL LN 'YR1)) (EQUAL LN 'YR2) (NOT (EMPTY X)) (EQUAL (EMPTY (SY-BCDSBI 'Y22 (P X))) (EMPTY (P X)))) (EQUAL (EMPTY (SY-BCDSBI LN X)) (EMPTY X))), which simplifies, unfolding EQUAL, to: (IMPLIES (AND (NOT (EMPTY X)) (EQUAL (EMPTY (SY-BCDSBI 'Y22 (P X))) (EMPTY (P X)))) (NOT (EMPTY (SY-BCDSBI 'YR2 X)))). This further simplifies, applying the lemmas A2-EMPTY-S-BNOT, A2-EMPTY-S-BAND3, A2-EMPTY-S-BOR, and STR-NOT-EMPTY-I, and unfolding EQUAL and SY-BCDSBI, to: T. Case 7. (IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (NOT (EQUAL LN 'Y11)) (NOT (EQUAL LN 'Y12)) (NOT (EQUAL LN 'Y13)) (NOT (EQUAL LN 'Y14)) (NOT (EQUAL LN 'Y15)) (NOT (EQUAL LN 'Y21)) (NOT (EQUAL LN 'Y22)) (NOT (EQUAL LN 'Y23)) (NOT (EQUAL LN 'YR1)) (NOT (EQUAL LN 'YR2)) (EQUAL LN 'YR3) (EMPTY X)) (EQUAL (EMPTY (SY-BCDSBI LN X)) (EMPTY X))), which simplifies, expanding EQUAL, to: (IMPLIES (EMPTY X) (EMPTY (SY-BCDSBI 'YR3 X))). However this further simplifies, opening up EQUAL, SY-BCDSBI, and EMPTY, to: T. Case 6. (IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (NOT (EQUAL LN 'Y11)) (NOT (EQUAL LN 'Y12)) (NOT (EQUAL LN 'Y13)) (NOT (EQUAL LN 'Y14)) (NOT (EQUAL LN 'Y15)) (NOT (EQUAL LN 'Y21)) (NOT (EQUAL LN 'Y22)) (NOT (EQUAL LN 'Y23)) (NOT (EQUAL LN 'YR1)) (NOT (EQUAL LN 'YR2)) (EQUAL LN 'YR3) (NOT (EMPTY X)) (EQUAL (EMPTY (SY-BCDSBI 'Y23 (P X))) (EMPTY (P X)))) (EQUAL (EMPTY (SY-BCDSBI LN X)) (EMPTY X))), which simplifies, opening up the function EQUAL, to the goal: (IMPLIES (AND (NOT (EMPTY X)) (EQUAL (EMPTY (SY-BCDSBI 'Y23 (P X))) (EMPTY (P X)))) (NOT (EMPTY (SY-BCDSBI 'YR3 X)))). But this further simplifies, rewriting with A2-EMPTY-S-BOR and STR-NOT-EMPTY-I, and opening up the functions EQUAL and SY-BCDSBI, to: T. Case 5. (IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (NOT (EQUAL LN 'Y11)) (NOT (EQUAL LN 'Y12)) (NOT (EQUAL LN 'Y13)) (NOT (EQUAL LN 'Y14)) (NOT (EQUAL LN 'Y15)) (NOT (EQUAL LN 'Y21)) (NOT (EQUAL LN 'Y22)) (NOT (EQUAL LN 'Y23)) (NOT (EQUAL LN 'YR1)) (NOT (EQUAL LN 'YR2)) (NOT (EQUAL LN 'YR3)) (EQUAL LN 'Y31) (EQUAL (EMPTY (SY-BCDSBI 'YR1 X)) (EMPTY X))) (EQUAL (EMPTY (SY-BCDSBI LN X)) (EMPTY X))). This simplifies, unfolding the function EQUAL, to: (IMPLIES (EQUAL (EMPTY (SY-BCDSBI 'YR1 X)) (EMPTY X)) (EQUAL (EMPTY (SY-BCDSBI 'Y31 X)) (EMPTY X))), which further simplifies, applying A2-EMPTY-S-BNOT, and opening up the functions EQUAL and SY-BCDSBI, to: T. Case 4. (IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (NOT (EQUAL LN 'Y11)) (NOT (EQUAL LN 'Y12)) (NOT (EQUAL LN 'Y13)) (NOT (EQUAL LN 'Y14)) (NOT (EQUAL LN 'Y15)) (NOT (EQUAL LN 'Y21)) (NOT (EQUAL LN 'Y22)) (NOT (EQUAL LN 'Y23)) (NOT (EQUAL LN 'YR1)) (NOT (EQUAL LN 'YR2)) (NOT (EQUAL LN 'YR3)) (NOT (EQUAL LN 'Y31)) (EQUAL LN 'Y32) (EQUAL (EMPTY (SY-BCDSBI 'YR2 X)) (EMPTY X))) (EQUAL (EMPTY (SY-BCDSBI LN X)) (EMPTY X))). This simplifies, unfolding the function EQUAL, to: (IMPLIES (EQUAL (EMPTY (SY-BCDSBI 'YR2 X)) (EMPTY X)) (EQUAL (EMPTY (SY-BCDSBI 'Y32 X)) (EMPTY X))), which further simplifies, rewriting with A2-EMPTY-S-BNOT, and opening up the definitions of EQUAL and SY-BCDSBI, to: T. Case 3. (IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (NOT (EQUAL LN 'Y11)) (NOT (EQUAL LN 'Y12)) (NOT (EQUAL LN 'Y13)) (NOT (EQUAL LN 'Y14)) (NOT (EQUAL LN 'Y15)) (NOT (EQUAL LN 'Y21)) (NOT (EQUAL LN 'Y22)) (NOT (EQUAL LN 'Y23)) (NOT (EQUAL LN 'YR1)) (NOT (EQUAL LN 'YR2)) (NOT (EQUAL LN 'YR3)) (NOT (EQUAL LN 'Y31)) (NOT (EQUAL LN 'Y32)) (EQUAL LN 'Y41) (EQUAL (EMPTY (SY-BCDSBI 'YR3 X)) (EMPTY X)) (EQUAL (EMPTY (SY-BCDSBI 'Y32 X)) (EMPTY X)) (EQUAL (EMPTY (SY-BCDSBI 'Y31 X)) (EMPTY X))) (EQUAL (EMPTY (SY-BCDSBI LN X)) (EMPTY X))). This simplifies, opening up the function EQUAL, to the new goal: (IMPLIES (AND (EQUAL (EMPTY (SY-BCDSBI 'YR3 X)) (EMPTY X)) (EQUAL (EMPTY (SY-BCDSBI 'Y32 X)) (EMPTY X)) (EQUAL (EMPTY (SY-BCDSBI 'Y31 X)) (EMPTY X))) (EQUAL (EMPTY (SY-BCDSBI 'Y41 X)) (EMPTY X))), which further simplifies, applying A2-EMPTY-S-BNOT and A2-EMPTY-S-BAND4, and opening up EQUAL and SY-BCDSBI, to: T. Case 2. (IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (NOT (EQUAL LN 'Y11)) (NOT (EQUAL LN 'Y12)) (NOT (EQUAL LN 'Y13)) (NOT (EQUAL LN 'Y14)) (NOT (EQUAL LN 'Y15)) (NOT (EQUAL LN 'Y21)) (NOT (EQUAL LN 'Y22)) (NOT (EQUAL LN 'Y23)) (NOT (EQUAL LN 'YR1)) (NOT (EQUAL LN 'YR2)) (NOT (EQUAL LN 'YR3)) (NOT (EQUAL LN 'Y31)) (NOT (EQUAL LN 'Y32)) (NOT (EQUAL LN 'Y41)) (EQUAL LN 'YOUT) (EQUAL (EMPTY (SY-BCDSBI 'Y41 X)) (EMPTY X))) (EQUAL (EMPTY (SY-BCDSBI LN X)) (EMPTY X))). This simplifies, rewriting with A2-EMPTY-S-BNOT, and unfolding the definitions of EQUAL and SY-BCDSBI, to: T. Case 1. (IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (NOT (EQUAL LN 'Y11)) (NOT (EQUAL LN 'Y12)) (NOT (EQUAL LN 'Y13)) (NOT (EQUAL LN 'Y14)) (NOT (EQUAL LN 'Y15)) (NOT (EQUAL LN 'Y21)) (NOT (EQUAL LN 'Y22)) (NOT (EQUAL LN 'Y23)) (NOT (EQUAL LN 'YR1)) (NOT (EQUAL LN 'YR2)) (NOT (EQUAL LN 'YR3)) (NOT (EQUAL LN 'Y31)) (NOT (EQUAL LN 'Y32)) (NOT (EQUAL LN 'Y41)) (NOT (EQUAL LN 'YOUT))) (EQUAL (EMPTY (SY-BCDSBI LN X)) (EMPTY X))), which simplifies, appealing to the lemma A2-EMPTY-SFIX, and expanding the definition of SY-BCDSBI, to: T. That finishes the proof of *1. Q.E.D. [ 0.0 0.1 0.1 ] A2-EMPTY-SY-BCDSBI (PROVE-LEMMA A2-E-SY-BCDSBI (REWRITE) (EQUAL (EQUAL (SY-BCDSBI LN X) (E)) (EMPTY X)) ((DISABLE SY-BCDSBI A2-EMPTY-SY-BCDSBI) (ENABLE EMPTY) (USE (A2-EMPTY-SY-BCDSBI)))) This formula simplifies, opening up the functions EMPTY and EQUAL, to: T. Q.E.D. [ 0.0 0.0 0.0 ] A2-E-SY-BCDSBI (PROVE-LEMMA A2-LP-SY-BCDSBI (REWRITE) (EQUAL (LEN (SY-BCDSBI LN X)) (LEN X)) ((DISABLE LEN S-BAND3 S-BOR S-BAND4 S-BNOT) (ENABLE STR-ADD1-LEN-P))) 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 (EQUAL LN 'Y01) (p LN X)) (IMPLIES (AND (NOT (EQUAL LN 'Y01)) (EQUAL LN 'Y02)) (p LN X)) (IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (EQUAL LN 'Y03) (p 'YR3 X)) (p LN X)) (IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (EQUAL LN 'Y04) (p 'YR1 X)) (p LN X)) (IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (EQUAL LN 'Y05) (p 'YR2 X)) (p LN X)) (IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (EQUAL LN 'Y06) (p 'YR3 X)) (p LN X)) (IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (EQUAL LN 'Y07) (p 'YR1 X)) (p LN X)) (IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (EQUAL LN 'Y08) (p 'YR3 X)) (p LN X)) (IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (EQUAL LN 'Y11) (p 'YR3 X) (p 'YR1 X) (p 'Y01 X)) (p LN X)) (IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (NOT (EQUAL LN 'Y11)) (EQUAL LN 'Y12) (p 'Y03 X) (p 'YR2 X) (p 'Y02 X)) (p LN X)) (IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (NOT (EQUAL LN 'Y11)) (NOT (EQUAL LN 'Y12)) (EQUAL LN 'Y13) (p 'Y06 X) (p 'Y05 X) (p 'Y04 X)) (p LN X)) (IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (NOT (EQUAL LN 'Y11)) (NOT (EQUAL LN 'Y12)) (NOT (EQUAL LN 'Y13)) (EQUAL LN 'Y14) (p 'Y08 X) (p 'Y07 X)) (p LN X)) (IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (NOT (EQUAL LN 'Y11)) (NOT (EQUAL LN 'Y12)) (NOT (EQUAL LN 'Y13)) (NOT (EQUAL LN 'Y14)) (EQUAL LN 'Y15) (p 'YR3 X) (p 'YR1 X)) (p LN X)) (IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (NOT (EQUAL LN 'Y11)) (NOT (EQUAL LN 'Y12)) (NOT (EQUAL LN 'Y13)) (NOT (EQUAL LN 'Y14)) (NOT (EQUAL LN 'Y15)) (EQUAL LN 'Y21) (p 'Y12 X) (p 'Y11 X)) (p LN X)) (IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (NOT (EQUAL LN 'Y11)) (NOT (EQUAL LN 'Y12)) (NOT (EQUAL LN 'Y13)) (NOT (EQUAL LN 'Y14)) (NOT (EQUAL LN 'Y15)) (NOT (EQUAL LN 'Y21)) (EQUAL LN 'Y22) (p 'Y14 X) (p 'Y13 X)) (p LN X)) (IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (NOT (EQUAL LN 'Y11)) (NOT (EQUAL LN 'Y12)) (NOT (EQUAL LN 'Y13)) (NOT (EQUAL LN 'Y14)) (NOT (EQUAL LN 'Y15)) (NOT (EQUAL LN 'Y21)) (NOT (EQUAL LN 'Y22)) (EQUAL LN 'Y23) (p 'Y15 X) (p 'YR2 X)) (p LN X)) (IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (NOT (EQUAL LN 'Y11)) (NOT (EQUAL LN 'Y12)) (NOT (EQUAL LN 'Y13)) (NOT (EQUAL LN 'Y14)) (NOT (EQUAL LN 'Y15)) (NOT (EQUAL LN 'Y21)) (NOT (EQUAL LN 'Y22)) (NOT (EQUAL LN 'Y23)) (EQUAL LN 'YR1) (EMPTY X)) (p LN X)) (IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (NOT (EQUAL LN 'Y11)) (NOT (EQUAL LN 'Y12)) (NOT (EQUAL LN 'Y13)) (NOT (EQUAL LN 'Y14)) (NOT (EQUAL LN 'Y15)) (NOT (EQUAL LN 'Y21)) (NOT (EQUAL LN 'Y22)) (NOT (EQUAL LN 'Y23)) (EQUAL LN 'YR1) (NOT (EMPTY X)) (p 'Y21 (P X))) (p LN X)) (IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (NOT (EQUAL LN 'Y11)) (NOT (EQUAL LN 'Y12)) (NOT (EQUAL LN 'Y13)) (NOT (EQUAL LN 'Y14)) (NOT (EQUAL LN 'Y15)) (NOT (EQUAL LN 'Y21)) (NOT (EQUAL LN 'Y22)) (NOT (EQUAL LN 'Y23)) (NOT (EQUAL LN 'YR1)) (EQUAL LN 'YR2) (EMPTY X)) (p LN X)) (IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (NOT (EQUAL LN 'Y11)) (NOT (EQUAL LN 'Y12)) (NOT (EQUAL LN 'Y13)) (NOT (EQUAL LN 'Y14)) (NOT (EQUAL LN 'Y15)) (NOT (EQUAL LN 'Y21)) (NOT (EQUAL LN 'Y22)) (NOT (EQUAL LN 'Y23)) (NOT (EQUAL LN 'YR1)) (EQUAL LN 'YR2) (NOT (EMPTY X)) (p 'Y22 (P X))) (p LN X)) (IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (NOT (EQUAL LN 'Y11)) (NOT (EQUAL LN 'Y12)) (NOT (EQUAL LN 'Y13)) (NOT (EQUAL LN 'Y14)) (NOT (EQUAL LN 'Y15)) (NOT (EQUAL LN 'Y21)) (NOT (EQUAL LN 'Y22)) (NOT (EQUAL LN 'Y23)) (NOT (EQUAL LN 'YR1)) (NOT (EQUAL LN 'YR2)) (EQUAL LN 'YR3) (EMPTY X)) (p LN X)) (IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (NOT (EQUAL LN 'Y11)) (NOT (EQUAL LN 'Y12)) (NOT (EQUAL LN 'Y13)) (NOT (EQUAL LN 'Y14)) (NOT (EQUAL LN 'Y15)) (NOT (EQUAL LN 'Y21)) (NOT (EQUAL LN 'Y22)) (NOT (EQUAL LN 'Y23)) (NOT (EQUAL LN 'YR1)) (NOT (EQUAL LN 'YR2)) (EQUAL LN 'YR3) (NOT (EMPTY X)) (p 'Y23 (P X))) (p LN X)) (IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (NOT (EQUAL LN 'Y11)) (NOT (EQUAL LN 'Y12)) (NOT (EQUAL LN 'Y13)) (NOT (EQUAL LN 'Y14)) (NOT (EQUAL LN 'Y15)) (NOT (EQUAL LN 'Y21)) (NOT (EQUAL LN 'Y22)) (NOT (EQUAL LN 'Y23)) (NOT (EQUAL LN 'YR1)) (NOT (EQUAL LN 'YR2)) (NOT (EQUAL LN 'YR3)) (EQUAL LN 'Y31) (p 'YR1 X)) (p LN X)) (IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (NOT (EQUAL LN 'Y11)) (NOT (EQUAL LN 'Y12)) (NOT (EQUAL LN 'Y13)) (NOT (EQUAL LN 'Y14)) (NOT (EQUAL LN 'Y15)) (NOT (EQUAL LN 'Y21)) (NOT (EQUAL LN 'Y22)) (NOT (EQUAL LN 'Y23)) (NOT (EQUAL LN 'YR1)) (NOT (EQUAL LN 'YR2)) (NOT (EQUAL LN 'YR3)) (NOT (EQUAL LN 'Y31)) (EQUAL LN 'Y32) (p 'YR2 X)) (p LN X)) (IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (NOT (EQUAL LN 'Y11)) (NOT (EQUAL LN 'Y12)) (NOT (EQUAL LN 'Y13)) (NOT (EQUAL LN 'Y14)) (NOT (EQUAL LN 'Y15)) (NOT (EQUAL LN 'Y21)) (NOT (EQUAL LN 'Y22)) (NOT (EQUAL LN 'Y23)) (NOT (EQUAL LN 'YR1)) (NOT (EQUAL LN 'YR2)) (NOT (EQUAL LN 'YR3)) (NOT (EQUAL LN 'Y31)) (NOT (EQUAL LN 'Y32)) (EQUAL LN 'Y41) (p 'YR3 X) (p 'Y32 X) (p 'Y31 X)) (p LN X)) (IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (NOT (EQUAL LN 'Y11)) (NOT (EQUAL LN 'Y12)) (NOT (EQUAL LN 'Y13)) (NOT (EQUAL LN 'Y14)) (NOT (EQUAL LN 'Y15)) (NOT (EQUAL LN 'Y21)) (NOT (EQUAL LN 'Y22)) (NOT (EQUAL LN 'Y23)) (NOT (EQUAL LN 'YR1)) (NOT (EQUAL LN 'YR2)) (NOT (EQUAL LN 'YR3)) (NOT (EQUAL LN 'Y31)) (NOT (EQUAL LN 'Y32)) (NOT (EQUAL LN 'Y41)) (EQUAL LN 'YOUT) (p 'Y41 X)) (p LN X)) (IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (NOT (EQUAL LN 'Y11)) (NOT (EQUAL LN 'Y12)) (NOT (EQUAL LN 'Y13)) (NOT (EQUAL LN 'Y14)) (NOT (EQUAL LN 'Y15)) (NOT (EQUAL LN 'Y21)) (NOT (EQUAL LN 'Y22)) (NOT (EQUAL LN 'Y23)) (NOT (EQUAL LN 'YR1)) (NOT (EQUAL LN 'YR2)) (NOT (EQUAL LN 'YR3)) (NOT (EQUAL LN 'Y31)) (NOT (EQUAL LN 'Y32)) (NOT (EQUAL LN 'Y41)) (NOT (EQUAL LN 'YOUT))) (p LN X))). Linear arithmetic, the lemmas CAR-CONS, CDR-CONS, STR-EMPTY-COUNT, and P-LESSEQP, and the definitions of LEX2, CAR, LESSP, CONS, TOPOR-SY-BCDSBI, and EQUAL can be used to establish that the measure: (LIST (COUNT X) (TOPOR-SY-BCDSBI LN)) decreases according to the well-founded relation LEX2 in each induction step of the scheme. The above induction scheme generates the following 27 new formulas: Case 27.(IMPLIES (EQUAL LN 'Y01) (EQUAL (LEN (SY-BCDSBI LN X)) (LEN X))). This simplifies, clearly, to the new goal: (EQUAL (LEN (SY-BCDSBI 'Y01 X)) (LEN X)), which further simplifies, rewriting with A2-LP-S-BNOT, and opening up the definitions of EQUAL and SY-BCDSBI, to: T. Case 26.(IMPLIES (AND (NOT (EQUAL LN 'Y01)) (EQUAL LN 'Y02)) (EQUAL (LEN (SY-BCDSBI LN X)) (LEN X))). This simplifies, expanding the definition of EQUAL, to: (EQUAL (LEN (SY-BCDSBI 'Y02 X)) (LEN X)), which further simplifies, appealing to the lemma A2-LP-S-BNOT, and opening up the definitions of EQUAL and SY-BCDSBI, to: T. Case 25.(IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (EQUAL LN 'Y03) (EQUAL (LEN (SY-BCDSBI 'YR3 X)) (LEN X))) (EQUAL (LEN (SY-BCDSBI LN X)) (LEN X))), which simplifies, opening up the definition of EQUAL, to: (IMPLIES (EQUAL (LEN (SY-BCDSBI 'YR3 X)) (LEN X)) (EQUAL (LEN (SY-BCDSBI 'Y03 X)) (LEN X))). However this further simplifies, applying A2-LP-S-BNOT, and opening up EQUAL and SY-BCDSBI, to: T. Case 24.(IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (EQUAL LN 'Y04) (EQUAL (LEN (SY-BCDSBI 'YR1 X)) (LEN X))) (EQUAL (LEN (SY-BCDSBI LN X)) (LEN X))). This simplifies, opening up the function EQUAL, to: (IMPLIES (EQUAL (LEN (SY-BCDSBI 'YR1 X)) (LEN X)) (EQUAL (LEN (SY-BCDSBI 'Y04 X)) (LEN X))), which further simplifies, rewriting with A2-LP-S-BNOT, and opening up the definitions of EQUAL and SY-BCDSBI, to: T. Case 23.(IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (EQUAL LN 'Y05) (EQUAL (LEN (SY-BCDSBI 'YR2 X)) (LEN X))) (EQUAL (LEN (SY-BCDSBI LN X)) (LEN X))). This simplifies, opening up the definition of EQUAL, to: (IMPLIES (EQUAL (LEN (SY-BCDSBI 'YR2 X)) (LEN X)) (EQUAL (LEN (SY-BCDSBI 'Y05 X)) (LEN X))), which further simplifies, applying A2-LP-S-BNOT, and expanding the definitions of EQUAL and SY-BCDSBI, to: T. Case 22.(IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (EQUAL LN 'Y06) (EQUAL (LEN (SY-BCDSBI 'YR3 X)) (LEN X))) (EQUAL (LEN (SY-BCDSBI LN X)) (LEN X))). This simplifies, unfolding the definition of EQUAL, to the new goal: (IMPLIES (EQUAL (LEN (SY-BCDSBI 'YR3 X)) (LEN X)) (EQUAL (LEN (SY-BCDSBI 'Y06 X)) (LEN X))), which further simplifies, applying the lemma A2-LP-S-BNOT, and expanding the definitions of EQUAL and SY-BCDSBI, to: T. Case 21.(IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (EQUAL LN 'Y07) (EQUAL (LEN (SY-BCDSBI 'YR1 X)) (LEN X))) (EQUAL (LEN (SY-BCDSBI LN X)) (LEN X))), which simplifies, unfolding the function EQUAL, to the conjecture: (IMPLIES (EQUAL (LEN (SY-BCDSBI 'YR1 X)) (LEN X)) (EQUAL (LEN (SY-BCDSBI 'Y07 X)) (LEN X))). However this further simplifies, rewriting with A2-LP-S-BNOT, and unfolding EQUAL and SY-BCDSBI, to: T. Case 20.(IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (EQUAL LN 'Y08) (EQUAL (LEN (SY-BCDSBI 'YR3 X)) (LEN X))) (EQUAL (LEN (SY-BCDSBI LN X)) (LEN X))). This simplifies, opening up EQUAL, to: (IMPLIES (EQUAL (LEN (SY-BCDSBI 'YR3 X)) (LEN X)) (EQUAL (LEN (SY-BCDSBI 'Y08 X)) (LEN X))), which further simplifies, rewriting with the lemma A2-LP-S-BNOT, and unfolding EQUAL and SY-BCDSBI, to: T. Case 19.(IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (EQUAL LN 'Y11) (EQUAL (LEN (SY-BCDSBI 'YR3 X)) (LEN X)) (EQUAL (LEN (SY-BCDSBI 'YR1 X)) (LEN X)) (EQUAL (LEN (SY-BCDSBI 'Y01 X)) (LEN X))) (EQUAL (LEN (SY-BCDSBI LN X)) (LEN X))), which simplifies, expanding EQUAL, to: (IMPLIES (AND (EQUAL (LEN (SY-BCDSBI 'YR3 X)) (LEN X)) (EQUAL (LEN (SY-BCDSBI 'YR1 X)) (LEN X)) (EQUAL (LEN (SY-BCDSBI 'Y01 X)) (LEN X))) (EQUAL (LEN (SY-BCDSBI 'Y11 X)) (LEN X))). But this further simplifies, rewriting with A2-LP-S-BNOT and A2-LP-S-BAND3, and unfolding the definitions of EQUAL and SY-BCDSBI, to: T. Case 18.(IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (NOT (EQUAL LN 'Y11)) (EQUAL LN 'Y12) (EQUAL (LEN (SY-BCDSBI 'Y03 X)) (LEN X)) (EQUAL (LEN (SY-BCDSBI 'YR2 X)) (LEN X)) (EQUAL (LEN (SY-BCDSBI 'Y02 X)) (LEN X))) (EQUAL (LEN (SY-BCDSBI LN X)) (LEN X))). This simplifies, unfolding the definition of EQUAL, to: (IMPLIES (AND (EQUAL (LEN (SY-BCDSBI 'Y03 X)) (LEN X)) (EQUAL (LEN (SY-BCDSBI 'YR2 X)) (LEN X)) (EQUAL (LEN (SY-BCDSBI 'Y02 X)) (LEN X))) (EQUAL (LEN (SY-BCDSBI 'Y12 X)) (LEN X))), which further simplifies, applying A2-LP-S-BNOT and A2-LP-S-BAND3, and unfolding the functions EQUAL and SY-BCDSBI, to: T. Case 17.(IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (NOT (EQUAL LN 'Y11)) (NOT (EQUAL LN 'Y12)) (EQUAL LN 'Y13) (EQUAL (LEN (SY-BCDSBI 'Y06 X)) (LEN X)) (EQUAL (LEN (SY-BCDSBI 'Y05 X)) (LEN X)) (EQUAL (LEN (SY-BCDSBI 'Y04 X)) (LEN X))) (EQUAL (LEN (SY-BCDSBI LN X)) (LEN X))). This simplifies, expanding the function EQUAL, to: (IMPLIES (AND (EQUAL (LEN (SY-BCDSBI 'Y06 X)) (LEN X)) (EQUAL (LEN (SY-BCDSBI 'Y05 X)) (LEN X)) (EQUAL (LEN (SY-BCDSBI 'Y04 X)) (LEN X))) (EQUAL (LEN (SY-BCDSBI 'Y13 X)) (LEN X))), which further simplifies, applying A2-LP-S-BAND3, and opening up the functions EQUAL and SY-BCDSBI, to: T. Case 16.(IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (NOT (EQUAL LN 'Y11)) (NOT (EQUAL LN 'Y12)) (NOT (EQUAL LN 'Y13)) (EQUAL LN 'Y14) (EQUAL (LEN (SY-BCDSBI 'Y08 X)) (LEN X)) (EQUAL (LEN (SY-BCDSBI 'Y07 X)) (LEN X))) (EQUAL (LEN (SY-BCDSBI LN X)) (LEN X))). This simplifies, expanding EQUAL, to: (IMPLIES (AND (EQUAL (LEN (SY-BCDSBI 'Y08 X)) (LEN X)) (EQUAL (LEN (SY-BCDSBI 'Y07 X)) (LEN X))) (EQUAL (LEN (SY-BCDSBI 'Y14 X)) (LEN X))), which further simplifies, applying A2-LP-S-BAND3, and opening up EQUAL and SY-BCDSBI, to: T. Case 15.(IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (NOT (EQUAL LN 'Y11)) (NOT (EQUAL LN 'Y12)) (NOT (EQUAL LN 'Y13)) (NOT (EQUAL LN 'Y14)) (EQUAL LN 'Y15) (EQUAL (LEN (SY-BCDSBI 'YR3 X)) (LEN X)) (EQUAL (LEN (SY-BCDSBI 'YR1 X)) (LEN X))) (EQUAL (LEN (SY-BCDSBI LN X)) (LEN X))). This simplifies, opening up the function EQUAL, to: (IMPLIES (AND (EQUAL (LEN (SY-BCDSBI 'YR3 X)) (LEN X)) (EQUAL (LEN (SY-BCDSBI 'YR1 X)) (LEN X))) (EQUAL (LEN (SY-BCDSBI 'Y15 X)) (LEN X))), which further simplifies, rewriting with A2-LP-S-BAND3, and unfolding the definitions of EQUAL and SY-BCDSBI, to: T. Case 14.(IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (NOT (EQUAL LN 'Y11)) (NOT (EQUAL LN 'Y12)) (NOT (EQUAL LN 'Y13)) (NOT (EQUAL LN 'Y14)) (NOT (EQUAL LN 'Y15)) (EQUAL LN 'Y21) (EQUAL (LEN (SY-BCDSBI 'Y12 X)) (LEN X)) (EQUAL (LEN (SY-BCDSBI 'Y11 X)) (LEN X))) (EQUAL (LEN (SY-BCDSBI LN X)) (LEN X))). This simplifies, rewriting with the lemma A2-LP-S-BOR, and unfolding the definitions of EQUAL and SY-BCDSBI, to: T. Case 13.(IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (NOT (EQUAL LN 'Y11)) (NOT (EQUAL LN 'Y12)) (NOT (EQUAL LN 'Y13)) (NOT (EQUAL LN 'Y14)) (NOT (EQUAL LN 'Y15)) (NOT (EQUAL LN 'Y21)) (EQUAL LN 'Y22) (EQUAL (LEN (SY-BCDSBI 'Y14 X)) (LEN X)) (EQUAL (LEN (SY-BCDSBI 'Y13 X)) (LEN X))) (EQUAL (LEN (SY-BCDSBI LN X)) (LEN X))). This simplifies, applying A2-LP-S-BOR, and opening up the functions EQUAL and SY-BCDSBI, to: T. Case 12.(IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (NOT (EQUAL LN 'Y11)) (NOT (EQUAL LN 'Y12)) (NOT (EQUAL LN 'Y13)) (NOT (EQUAL LN 'Y14)) (NOT (EQUAL LN 'Y15)) (NOT (EQUAL LN 'Y21)) (NOT (EQUAL LN 'Y22)) (EQUAL LN 'Y23) (EQUAL (LEN (SY-BCDSBI 'Y15 X)) (LEN X)) (EQUAL (LEN (SY-BCDSBI 'YR2 X)) (LEN X))) (EQUAL (LEN (SY-BCDSBI LN X)) (LEN X))), which simplifies, rewriting with A2-LP-S-BOR, and opening up the definitions of EQUAL and SY-BCDSBI, to: T. Case 11.(IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (NOT (EQUAL LN 'Y11)) (NOT (EQUAL LN 'Y12)) (NOT (EQUAL LN 'Y13)) (NOT (EQUAL LN 'Y14)) (NOT (EQUAL LN 'Y15)) (NOT (EQUAL LN 'Y21)) (NOT (EQUAL LN 'Y22)) (NOT (EQUAL LN 'Y23)) (EQUAL LN 'YR1) (EMPTY X)) (EQUAL (LEN (SY-BCDSBI LN X)) (LEN X))). This simplifies, expanding the function EQUAL, to the new formula: (IMPLIES (EMPTY X) (EQUAL (LEN (SY-BCDSBI 'YR1 X)) (LEN X))), which further simplifies, rewriting with the lemma STR-LEN0-EMPTY, and unfolding EQUAL, SY-BCDSBI, and LEN, to: T. Case 10.(IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (NOT (EQUAL LN 'Y11)) (NOT (EQUAL LN 'Y12)) (NOT (EQUAL LN 'Y13)) (NOT (EQUAL LN 'Y14)) (NOT (EQUAL LN 'Y15)) (NOT (EQUAL LN 'Y21)) (NOT (EQUAL LN 'Y22)) (NOT (EQUAL LN 'Y23)) (EQUAL LN 'YR1) (NOT (EMPTY X)) (EQUAL (LEN (SY-BCDSBI 'Y21 (P X))) (LEN (P X)))) (EQUAL (LEN (SY-BCDSBI LN X)) (LEN X))), which simplifies, expanding the function EQUAL, to: (IMPLIES (AND (NOT (EMPTY X)) (EQUAL (LEN (SY-BCDSBI 'Y21 (P X))) (LEN (P X)))) (EQUAL (LEN (SY-BCDSBI 'YR1 X)) (LEN X))). However this further simplifies, rewriting with A2-LP-S-BOR, STR-ADD1-LEN-P, and STR-LEN-I, and opening up the functions EQUAL and SY-BCDSBI, to: T. Case 9. (IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (NOT (EQUAL LN 'Y11)) (NOT (EQUAL LN 'Y12)) (NOT (EQUAL LN 'Y13)) (NOT (EQUAL LN 'Y14)) (NOT (EQUAL LN 'Y15)) (NOT (EQUAL LN 'Y21)) (NOT (EQUAL LN 'Y22)) (NOT (EQUAL LN 'Y23)) (NOT (EQUAL LN 'YR1)) (EQUAL LN 'YR2) (EMPTY X)) (EQUAL (LEN (SY-BCDSBI LN X)) (LEN X))). This simplifies, opening up EQUAL, to: (IMPLIES (EMPTY X) (EQUAL (LEN (SY-BCDSBI 'YR2 X)) (LEN X))), which further simplifies, rewriting with STR-LEN0-EMPTY, and expanding the functions EQUAL, SY-BCDSBI, and LEN, to: T. Case 8. (IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (NOT (EQUAL LN 'Y11)) (NOT (EQUAL LN 'Y12)) (NOT (EQUAL LN 'Y13)) (NOT (EQUAL LN 'Y14)) (NOT (EQUAL LN 'Y15)) (NOT (EQUAL LN 'Y21)) (NOT (EQUAL LN 'Y22)) (NOT (EQUAL LN 'Y23)) (NOT (EQUAL LN 'YR1)) (EQUAL LN 'YR2) (NOT (EMPTY X)) (EQUAL (LEN (SY-BCDSBI 'Y22 (P X))) (LEN (P X)))) (EQUAL (LEN (SY-BCDSBI LN X)) (LEN X))). This simplifies, unfolding the definition of EQUAL, to: (IMPLIES (AND (NOT (EMPTY X)) (EQUAL (LEN (SY-BCDSBI 'Y22 (P X))) (LEN (P X)))) (EQUAL (LEN (SY-BCDSBI 'YR2 X)) (LEN X))), which further simplifies, applying the lemmas A2-LP-S-BNOT, A2-LP-S-BAND3, A2-LP-S-BOR, STR-ADD1-LEN-P, and STR-LEN-I, and unfolding EQUAL and SY-BCDSBI, to: T. Case 7. (IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (NOT (EQUAL LN 'Y11)) (NOT (EQUAL LN 'Y12)) (NOT (EQUAL LN 'Y13)) (NOT (EQUAL LN 'Y14)) (NOT (EQUAL LN 'Y15)) (NOT (EQUAL LN 'Y21)) (NOT (EQUAL LN 'Y22)) (NOT (EQUAL LN 'Y23)) (NOT (EQUAL LN 'YR1)) (NOT (EQUAL LN 'YR2)) (EQUAL LN 'YR3) (EMPTY X)) (EQUAL (LEN (SY-BCDSBI LN X)) (LEN X))), which simplifies, expanding EQUAL, to: (IMPLIES (EMPTY X) (EQUAL (LEN (SY-BCDSBI 'YR3 X)) (LEN X))). However this further simplifies, rewriting with the lemma STR-LEN0-EMPTY, and opening up the definitions of EQUAL, SY-BCDSBI, and LEN, to: T. Case 6. (IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (NOT (EQUAL LN 'Y11)) (NOT (EQUAL LN 'Y12)) (NOT (EQUAL LN 'Y13)) (NOT (EQUAL LN 'Y14)) (NOT (EQUAL LN 'Y15)) (NOT (EQUAL LN 'Y21)) (NOT (EQUAL LN 'Y22)) (NOT (EQUAL LN 'Y23)) (NOT (EQUAL LN 'YR1)) (NOT (EQUAL LN 'YR2)) (EQUAL LN 'YR3) (NOT (EMPTY X)) (EQUAL (LEN (SY-BCDSBI 'Y23 (P X))) (LEN (P X)))) (EQUAL (LEN (SY-BCDSBI LN X)) (LEN X))), which simplifies, opening up the definition of EQUAL, to the goal: (IMPLIES (AND (NOT (EMPTY X)) (EQUAL (LEN (SY-BCDSBI 'Y23 (P X))) (LEN (P X)))) (EQUAL (LEN (SY-BCDSBI 'YR3 X)) (LEN X))). However this further simplifies, rewriting with the lemmas A2-LP-S-BOR, STR-ADD1-LEN-P, and STR-LEN-I, and expanding EQUAL and SY-BCDSBI, to: T. Case 5. (IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (NOT (EQUAL LN 'Y11)) (NOT (EQUAL LN 'Y12)) (NOT (EQUAL LN 'Y13)) (NOT (EQUAL LN 'Y14)) (NOT (EQUAL LN 'Y15)) (NOT (EQUAL LN 'Y21)) (NOT (EQUAL LN 'Y22)) (NOT (EQUAL LN 'Y23)) (NOT (EQUAL LN 'YR1)) (NOT (EQUAL LN 'YR2)) (NOT (EQUAL LN 'YR3)) (EQUAL LN 'Y31) (EQUAL (LEN (SY-BCDSBI 'YR1 X)) (LEN X))) (EQUAL (LEN (SY-BCDSBI LN X)) (LEN X))), which simplifies, opening up the function EQUAL, to: (IMPLIES (EQUAL (LEN (SY-BCDSBI 'YR1 X)) (LEN X)) (EQUAL (LEN (SY-BCDSBI 'Y31 X)) (LEN X))). But this further simplifies, rewriting with the lemma A2-LP-S-BNOT, and opening up the definitions of EQUAL and SY-BCDSBI, to: T. Case 4. (IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (NOT (EQUAL LN 'Y11)) (NOT (EQUAL LN 'Y12)) (NOT (EQUAL LN 'Y13)) (NOT (EQUAL LN 'Y14)) (NOT (EQUAL LN 'Y15)) (NOT (EQUAL LN 'Y21)) (NOT (EQUAL LN 'Y22)) (NOT (EQUAL LN 'Y23)) (NOT (EQUAL LN 'YR1)) (NOT (EQUAL LN 'YR2)) (NOT (EQUAL LN 'YR3)) (NOT (EQUAL LN 'Y31)) (EQUAL LN 'Y32) (EQUAL (LEN (SY-BCDSBI 'YR2 X)) (LEN X))) (EQUAL (LEN (SY-BCDSBI LN X)) (LEN X))), which simplifies, unfolding the function EQUAL, to: (IMPLIES (EQUAL (LEN (SY-BCDSBI 'YR2 X)) (LEN X)) (EQUAL (LEN (SY-BCDSBI 'Y32 X)) (LEN X))). This further simplifies, appealing to the lemma A2-LP-S-BNOT, and unfolding the functions EQUAL and SY-BCDSBI, to: T. Case 3. (IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (NOT (EQUAL LN 'Y11)) (NOT (EQUAL LN 'Y12)) (NOT (EQUAL LN 'Y13)) (NOT (EQUAL LN 'Y14)) (NOT (EQUAL LN 'Y15)) (NOT (EQUAL LN 'Y21)) (NOT (EQUAL LN 'Y22)) (NOT (EQUAL LN 'Y23)) (NOT (EQUAL LN 'YR1)) (NOT (EQUAL LN 'YR2)) (NOT (EQUAL LN 'YR3)) (NOT (EQUAL LN 'Y31)) (NOT (EQUAL LN 'Y32)) (EQUAL LN 'Y41) (EQUAL (LEN (SY-BCDSBI 'YR3 X)) (LEN X)) (EQUAL (LEN (SY-BCDSBI 'Y32 X)) (LEN X)) (EQUAL (LEN (SY-BCDSBI 'Y31 X)) (LEN X))) (EQUAL (LEN (SY-BCDSBI LN X)) (LEN X))), which simplifies, expanding the function EQUAL, to: (IMPLIES (AND (EQUAL (LEN (SY-BCDSBI 'YR3 X)) (LEN X)) (EQUAL (LEN (SY-BCDSBI 'Y32 X)) (LEN X)) (EQUAL (LEN (SY-BCDSBI 'Y31 X)) (LEN X))) (EQUAL (LEN (SY-BCDSBI 'Y41 X)) (LEN X))). But this further simplifies, rewriting with A2-LP-S-BNOT and A2-LP-S-BAND4, and expanding the functions EQUAL and SY-BCDSBI, to: T. Case 2. (IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (NOT (EQUAL LN 'Y11)) (NOT (EQUAL LN 'Y12)) (NOT (EQUAL LN 'Y13)) (NOT (EQUAL LN 'Y14)) (NOT (EQUAL LN 'Y15)) (NOT (EQUAL LN 'Y21)) (NOT (EQUAL LN 'Y22)) (NOT (EQUAL LN 'Y23)) (NOT (EQUAL LN 'YR1)) (NOT (EQUAL LN 'YR2)) (NOT (EQUAL LN 'YR3)) (NOT (EQUAL LN 'Y31)) (NOT (EQUAL LN 'Y32)) (NOT (EQUAL LN 'Y41)) (EQUAL LN 'YOUT) (EQUAL (LEN (SY-BCDSBI 'Y41 X)) (LEN X))) (EQUAL (LEN (SY-BCDSBI LN X)) (LEN X))). This simplifies, applying the lemma A2-LP-S-BNOT, and expanding the functions EQUAL and SY-BCDSBI, to: T. Case 1. (IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (NOT (EQUAL LN 'Y11)) (NOT (EQUAL LN 'Y12)) (NOT (EQUAL LN 'Y13)) (NOT (EQUAL LN 'Y14)) (NOT (EQUAL LN 'Y15)) (NOT (EQUAL LN 'Y21)) (NOT (EQUAL LN 'Y22)) (NOT (EQUAL LN 'Y23)) (NOT (EQUAL LN 'YR1)) (NOT (EQUAL LN 'YR2)) (NOT (EQUAL LN 'YR3)) (NOT (EQUAL LN 'Y31)) (NOT (EQUAL LN 'Y32)) (NOT (EQUAL LN 'Y41)) (NOT (EQUAL LN 'YOUT))) (EQUAL (LEN (SY-BCDSBI LN X)) (LEN X))). This simplifies, applying A2-LP-SFIX, and unfolding the definition of SY-BCDSBI, to: T. That finishes the proof of *1. Q.E.D. [ 0.0 0.1 0.1 ] A2-LP-SY-BCDSBI (PROVE-LEMMA A2-LPE-SY-BCDSBI (REWRITE) (EQLEN (SY-BCDSBI LN X) X) ((ENABLE EQLEN-IS-EQUAL-LEN) (DISABLE LEN SY-BCDSBI))) This conjecture can be simplified, using the abbreviations A2-LP-SY-BCDSBI and EQLEN-IS-EQUAL-LEN, to: (EQUAL (LEN X) (LEN X)). This simplifies, obviously, to: T. Q.E.D. [ 0.0 0.0 0.0 ] A2-LPE-SY-BCDSBI (PROVE-LEMMA A2-PC-SY-BCDSBI (REWRITE) (EQUAL (P (SY-BCDSBI LN X)) (SY-BCDSBI LN (P X))) ((DISABLE S-BAND3 S-BOR S-BAND4 S-BNOT A2-IC-S-BAND3 A2-IC-S-BOR A2-IC-S-BAND4 A2-IC-S-BNOT))) . Applying the lemma P-L-ELIM, replace X by (A Z V) to eliminate (P X) and (L X). We employ the type restriction lemma noted when P was introduced to restrict the new variables. We thus obtain the following three new formulas: Case 3. (IMPLIES (EQUAL X (E)) (EQUAL (P (SY-BCDSBI LN X)) (SY-BCDSBI LN (P X)))). This simplifies, expanding SFIX, S-BAND4, EMPTY, S-BOR, S-BAND3, SY-BCDSBI, S-BNOT, P, and EQUAL, to: T. Case 2. (IMPLIES (NOT (STRINGP X)) (EQUAL (P (SY-BCDSBI LN X)) (SY-BCDSBI LN (P X)))), which simplifies, applying P-NSTRINGP, and expanding the functions SFIX, S-BAND4, EMPTY, S-BOR, S-BAND3, SY-BCDSBI, and S-BNOT, to the new formula: (IMPLIES (NOT (STRINGP X)) (EQUAL (P (SY-BCDSBI LN X)) (E))), 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 (P (SY-BCDSBI LN X)) (SY-BCDSBI LN (P X))). We named this *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 (EQUAL LN 'Y01) (p LN X)) (IMPLIES (AND (NOT (EQUAL LN 'Y01)) (EQUAL LN 'Y02)) (p LN X)) (IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (EQUAL LN 'Y03) (p 'YR3 X)) (p LN X)) (IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (EQUAL LN 'Y04) (p 'YR1 X)) (p LN X)) (IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (EQUAL LN 'Y05) (p 'YR2 X)) (p LN X)) (IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (EQUAL LN 'Y06) (p 'YR3 X)) (p LN X)) (IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (EQUAL LN 'Y07) (p 'YR1 X)) (p LN X)) (IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (EQUAL LN 'Y08) (p 'YR3 X)) (p LN X)) (IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (EQUAL LN 'Y11) (p 'YR3 X) (p 'YR1 X) (p 'Y01 X)) (p LN X)) (IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (NOT (EQUAL LN 'Y11)) (EQUAL LN 'Y12) (p 'Y03 X) (p 'YR2 X) (p 'Y02 X)) (p LN X)) (IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (NOT (EQUAL LN 'Y11)) (NOT (EQUAL LN 'Y12)) (EQUAL LN 'Y13) (p 'Y06 X) (p 'Y05 X) (p 'Y04 X)) (p LN X)) (IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (NOT (EQUAL LN 'Y11)) (NOT (EQUAL LN 'Y12)) (NOT (EQUAL LN 'Y13)) (EQUAL LN 'Y14) (p 'Y08 X) (p 'Y07 X)) (p LN X)) (IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (NOT (EQUAL LN 'Y11)) (NOT (EQUAL LN 'Y12)) (NOT (EQUAL LN 'Y13)) (NOT (EQUAL LN 'Y14)) (EQUAL LN 'Y15) (p 'YR3 X) (p 'YR1 X)) (p LN X)) (IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (NOT (EQUAL LN 'Y11)) (NOT (EQUAL LN 'Y12)) (NOT (EQUAL LN 'Y13)) (NOT (EQUAL LN 'Y14)) (NOT (EQUAL LN 'Y15)) (EQUAL LN 'Y21) (p 'Y12 X) (p 'Y11 X)) (p LN X)) (IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (NOT (EQUAL LN 'Y11)) (NOT (EQUAL LN 'Y12)) (NOT (EQUAL LN 'Y13)) (NOT (EQUAL LN 'Y14)) (NOT (EQUAL LN 'Y15)) (NOT (EQUAL LN 'Y21)) (EQUAL LN 'Y22) (p 'Y14 X) (p 'Y13 X)) (p LN X)) (IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (NOT (EQUAL LN 'Y11)) (NOT (EQUAL LN 'Y12)) (NOT (EQUAL LN 'Y13)) (NOT (EQUAL LN 'Y14)) (NOT (EQUAL LN 'Y15)) (NOT (EQUAL LN 'Y21)) (NOT (EQUAL LN 'Y22)) (EQUAL LN 'Y23) (p 'Y15 X) (p 'YR2 X)) (p LN X)) (IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (NOT (EQUAL LN 'Y11)) (NOT (EQUAL LN 'Y12)) (NOT (EQUAL LN 'Y13)) (NOT (EQUAL LN 'Y14)) (NOT (EQUAL LN 'Y15)) (NOT (EQUAL LN 'Y21)) (NOT (EQUAL LN 'Y22)) (NOT (EQUAL LN 'Y23)) (EQUAL LN 'YR1) (EMPTY X)) (p LN X)) (IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (NOT (EQUAL LN 'Y11)) (NOT (EQUAL LN 'Y12)) (NOT (EQUAL LN 'Y13)) (NOT (EQUAL LN 'Y14)) (NOT (EQUAL LN 'Y15)) (NOT (EQUAL LN 'Y21)) (NOT (EQUAL LN 'Y22)) (NOT (EQUAL LN 'Y23)) (EQUAL LN 'YR1) (NOT (EMPTY X)) (p 'Y21 (P X))) (p LN X)) (IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (NOT (EQUAL LN 'Y11)) (NOT (EQUAL LN 'Y12)) (NOT (EQUAL LN 'Y13)) (NOT (EQUAL LN 'Y14)) (NOT (EQUAL LN 'Y15)) (NOT (EQUAL LN 'Y21)) (NOT (EQUAL LN 'Y22)) (NOT (EQUAL LN 'Y23)) (NOT (EQUAL LN 'YR1)) (EQUAL LN 'YR2) (EMPTY X)) (p LN X)) (IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (NOT (EQUAL LN 'Y11)) (NOT (EQUAL LN 'Y12)) (NOT (EQUAL LN 'Y13)) (NOT (EQUAL LN 'Y14)) (NOT (EQUAL LN 'Y15)) (NOT (EQUAL LN 'Y21)) (NOT (EQUAL LN 'Y22)) (NOT (EQUAL LN 'Y23)) (NOT (EQUAL LN 'YR1)) (EQUAL LN 'YR2) (NOT (EMPTY X)) (p 'Y22 (P X))) (p LN X)) (IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (NOT (EQUAL LN 'Y11)) (NOT (EQUAL LN 'Y12)) (NOT (EQUAL LN 'Y13)) (NOT (EQUAL LN 'Y14)) (NOT (EQUAL LN 'Y15)) (NOT (EQUAL LN 'Y21)) (NOT (EQUAL LN 'Y22)) (NOT (EQUAL LN 'Y23)) (NOT (EQUAL LN 'YR1)) (NOT (EQUAL LN 'YR2)) (EQUAL LN 'YR3) (EMPTY X)) (p LN X)) (IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (NOT (EQUAL LN 'Y11)) (NOT (EQUAL LN 'Y12)) (NOT (EQUAL LN 'Y13)) (NOT (EQUAL LN 'Y14)) (NOT (EQUAL LN 'Y15)) (NOT (EQUAL LN 'Y21)) (NOT (EQUAL LN 'Y22)) (NOT (EQUAL LN 'Y23)) (NOT (EQUAL LN 'YR1)) (NOT (EQUAL LN 'YR2)) (EQUAL LN 'YR3) (NOT (EMPTY X)) (p 'Y23 (P X))) (p LN X)) (IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (NOT (EQUAL LN 'Y11)) (NOT (EQUAL LN 'Y12)) (NOT (EQUAL LN 'Y13)) (NOT (EQUAL LN 'Y14)) (NOT (EQUAL LN 'Y15)) (NOT (EQUAL LN 'Y21)) (NOT (EQUAL LN 'Y22)) (NOT (EQUAL LN 'Y23)) (NOT (EQUAL LN 'YR1)) (NOT (EQUAL LN 'YR2)) (NOT (EQUAL LN 'YR3)) (EQUAL LN 'Y31) (p 'YR1 X)) (p LN X)) (IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (NOT (EQUAL LN 'Y11)) (NOT (EQUAL LN 'Y12)) (NOT (EQUAL LN 'Y13)) (NOT (EQUAL LN 'Y14)) (NOT (EQUAL LN 'Y15)) (NOT (EQUAL LN 'Y21)) (NOT (EQUAL LN 'Y22)) (NOT (EQUAL LN 'Y23)) (NOT (EQUAL LN 'YR1)) (NOT (EQUAL LN 'YR2)) (NOT (EQUAL LN 'YR3)) (NOT (EQUAL LN 'Y31)) (EQUAL LN 'Y32) (p 'YR2 X)) (p LN X)) (IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (NOT (EQUAL LN 'Y11)) (NOT (EQUAL LN 'Y12)) (NOT (EQUAL LN 'Y13)) (NOT (EQUAL LN 'Y14)) (NOT (EQUAL LN 'Y15)) (NOT (EQUAL LN 'Y21)) (NOT (EQUAL LN 'Y22)) (NOT (EQUAL LN 'Y23)) (NOT (EQUAL LN 'YR1)) (NOT (EQUAL LN 'YR2)) (NOT (EQUAL LN 'YR3)) (NOT (EQUAL LN 'Y31)) (NOT (EQUAL LN 'Y32)) (EQUAL LN 'Y41) (p 'YR3 X) (p 'Y32 X) (p 'Y31 X)) (p LN X)) (IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (NOT (EQUAL LN 'Y11)) (NOT (EQUAL LN 'Y12)) (NOT (EQUAL LN 'Y13)) (NOT (EQUAL LN 'Y14)) (NOT (EQUAL LN 'Y15)) (NOT (EQUAL LN 'Y21)) (NOT (EQUAL LN 'Y22)) (NOT (EQUAL LN 'Y23)) (NOT (EQUAL LN 'YR1)) (NOT (EQUAL LN 'YR2)) (NOT (EQUAL LN 'YR3)) (NOT (EQUAL LN 'Y31)) (NOT (EQUAL LN 'Y32)) (NOT (EQUAL LN 'Y41)) (EQUAL LN 'YOUT) (p 'Y41 X)) (p LN X)) (IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (NOT (EQUAL LN 'Y11)) (NOT (EQUAL LN 'Y12)) (NOT (EQUAL LN 'Y13)) (NOT (EQUAL LN 'Y14)) (NOT (EQUAL LN 'Y15)) (NOT (EQUAL LN 'Y21)) (NOT (EQUAL LN 'Y22)) (NOT (EQUAL LN 'Y23)) (NOT (EQUAL LN 'YR1)) (NOT (EQUAL LN 'YR2)) (NOT (EQUAL LN 'YR3)) (NOT (EQUAL LN 'Y31)) (NOT (EQUAL LN 'Y32)) (NOT (EQUAL LN 'Y41)) (NOT (EQUAL LN 'YOUT))) (p LN X))). Linear arithmetic, the lemmas CAR-CONS, CDR-CONS, STR-EMPTY-COUNT, and P-LESSEQP, and the definitions of LEX2, CAR, LESSP, CONS, TOPOR-SY-BCDSBI, and EQUAL can be used to prove that the measure: (LIST (COUNT X) (TOPOR-SY-BCDSBI LN)) decreases according to the well-founded relation LEX2 in each induction step of the scheme. The above induction scheme leads to the following 27 new formulas: Case 27.(IMPLIES (EQUAL LN 'Y01) (EQUAL (P (SY-BCDSBI LN X)) (SY-BCDSBI LN (P X)))). This simplifies, opening up the definitions of EQUAL and SY-BCDSBI, to: (EQUAL (P (SY-BCDSBI 'Y01 X)) (S-BNOT (P X))), which further simplifies, applying A2-PC-S-BNOT, and opening up EQUAL and SY-BCDSBI, to: T. Case 26.(IMPLIES (AND (NOT (EQUAL LN 'Y01)) (EQUAL LN 'Y02)) (EQUAL (P (SY-BCDSBI LN X)) (SY-BCDSBI LN (P X)))). This simplifies, unfolding the functions EQUAL and SY-BCDSBI, to the new goal: (EQUAL (P (SY-BCDSBI 'Y02 X)) (S-BNOT (P X))), which further simplifies, appealing to the lemma A2-PC-S-BNOT, and opening up EQUAL and SY-BCDSBI, to: T. Case 25.(IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (EQUAL LN 'Y03) (EQUAL (P (SY-BCDSBI 'YR3 X)) (SY-BCDSBI 'YR3 (P X)))) (EQUAL (P (SY-BCDSBI LN X)) (SY-BCDSBI LN (P X)))), which simplifies, opening up the functions EQUAL and SY-BCDSBI, to the goal: (IMPLIES (EQUAL (P (SY-BCDSBI 'YR3 X)) (SY-BCDSBI 'YR3 (P X))) (EQUAL (P (SY-BCDSBI 'Y03 X)) (S-BNOT (P (SY-BCDSBI 'YR3 X))))). This further simplifies, rewriting with the lemma A2-PC-S-BNOT, and opening up the definitions of EQUAL and SY-BCDSBI, to: T. Case 24.(IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (EQUAL LN 'Y04) (EQUAL (P (SY-BCDSBI 'YR1 X)) (SY-BCDSBI 'YR1 (P X)))) (EQUAL (P (SY-BCDSBI LN X)) (SY-BCDSBI LN (P X)))), which simplifies, opening up the definitions of EQUAL and SY-BCDSBI, to: (IMPLIES (EQUAL (P (SY-BCDSBI 'YR1 X)) (SY-BCDSBI 'YR1 (P X))) (EQUAL (P (SY-BCDSBI 'Y04 X)) (S-BNOT (P (SY-BCDSBI 'YR1 X))))). This further simplifies, rewriting with A2-PC-S-BNOT, and unfolding the definitions of EQUAL and SY-BCDSBI, to: T. Case 23.(IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (EQUAL LN 'Y05) (EQUAL (P (SY-BCDSBI 'YR2 X)) (SY-BCDSBI 'YR2 (P X)))) (EQUAL (P (SY-BCDSBI LN X)) (SY-BCDSBI LN (P X)))). This simplifies, expanding the functions EQUAL and SY-BCDSBI, to: (IMPLIES (EQUAL (P (SY-BCDSBI 'YR2 X)) (SY-BCDSBI 'YR2 (P X))) (EQUAL (P (SY-BCDSBI 'Y05 X)) (S-BNOT (P (SY-BCDSBI 'YR2 X))))), which further simplifies, applying A2-PC-S-BNOT, and opening up the functions EQUAL and SY-BCDSBI, to: T. Case 22.(IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (EQUAL LN 'Y06) (EQUAL (P (SY-BCDSBI 'YR3 X)) (SY-BCDSBI 'YR3 (P X)))) (EQUAL (P (SY-BCDSBI LN X)) (SY-BCDSBI LN (P X)))). This simplifies, opening up the functions EQUAL and SY-BCDSBI, to the new formula: (IMPLIES (EQUAL (P (SY-BCDSBI 'YR3 X)) (SY-BCDSBI 'YR3 (P X))) (EQUAL (P (SY-BCDSBI 'Y06 X)) (S-BNOT (P (SY-BCDSBI 'YR3 X))))), which further simplifies, applying A2-PC-S-BNOT, and expanding the definitions of EQUAL and SY-BCDSBI, to: T. Case 21.(IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (EQUAL LN 'Y07) (EQUAL (P (SY-BCDSBI 'YR1 X)) (SY-BCDSBI 'YR1 (P X)))) (EQUAL (P (SY-BCDSBI LN X)) (SY-BCDSBI LN (P X)))). This simplifies, unfolding EQUAL and SY-BCDSBI, to the new formula: (IMPLIES (EQUAL (P (SY-BCDSBI 'YR1 X)) (SY-BCDSBI 'YR1 (P X))) (EQUAL (P (SY-BCDSBI 'Y07 X)) (S-BNOT (P (SY-BCDSBI 'YR1 X))))), which further simplifies, applying A2-PC-S-BNOT, and opening up the definitions of EQUAL and SY-BCDSBI, to: T. Case 20.(IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (EQUAL LN 'Y08) (EQUAL (P (SY-BCDSBI 'YR3 X)) (SY-BCDSBI 'YR3 (P X)))) (EQUAL (P (SY-BCDSBI LN X)) (SY-BCDSBI LN (P X)))). This simplifies, expanding EQUAL and SY-BCDSBI, to: (IMPLIES (EQUAL (P (SY-BCDSBI 'YR3 X)) (SY-BCDSBI 'YR3 (P X))) (EQUAL (P (SY-BCDSBI 'Y08 X)) (S-BNOT (P (SY-BCDSBI 'YR3 X))))), which further simplifies, rewriting with the lemma A2-PC-S-BNOT, and unfolding the definitions of EQUAL and SY-BCDSBI, to: T. Case 19.(IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (EQUAL LN 'Y11) (EQUAL (P (SY-BCDSBI 'YR3 X)) (SY-BCDSBI 'YR3 (P X))) (EQUAL (P (SY-BCDSBI 'YR1 X)) (SY-BCDSBI 'YR1 (P X))) (EQUAL (P (SY-BCDSBI 'Y01 X)) (SY-BCDSBI 'Y01 (P X)))) (EQUAL (P (SY-BCDSBI LN X)) (SY-BCDSBI LN (P X)))), which simplifies, expanding EQUAL and SY-BCDSBI, to: (IMPLIES (AND (EQUAL (P (SY-BCDSBI 'YR3 X)) (SY-BCDSBI 'YR3 (P X))) (EQUAL (P (SY-BCDSBI 'YR1 X)) (SY-BCDSBI 'YR1 (P X))) (EQUAL (P (SY-BCDSBI 'Y01 X)) (S-BNOT (P X)))) (EQUAL (P (SY-BCDSBI 'Y11 X)) (S-BAND3 (S-BNOT (P X)) (P (SY-BCDSBI 'YR1 X)) (P (SY-BCDSBI 'YR3 X))))). But this further simplifies, rewriting with A2-PC-S-BNOT and A2-PC-S-BAND3, and opening up EQUAL and SY-BCDSBI, to: T. Case 18.(IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (NOT (EQUAL LN 'Y11)) (EQUAL LN 'Y12) (EQUAL (P (SY-BCDSBI 'Y03 X)) (SY-BCDSBI 'Y03 (P X))) (EQUAL (P (SY-BCDSBI 'YR2 X)) (SY-BCDSBI 'YR2 (P X))) (EQUAL (P (SY-BCDSBI 'Y02 X)) (SY-BCDSBI 'Y02 (P X)))) (EQUAL (P (SY-BCDSBI LN X)) (SY-BCDSBI LN (P X)))). This simplifies, unfolding the functions EQUAL and SY-BCDSBI, to: (IMPLIES (AND (EQUAL (P (SY-BCDSBI 'Y03 X)) (SY-BCDSBI 'Y03 (P X))) (EQUAL (P (SY-BCDSBI 'YR2 X)) (SY-BCDSBI 'YR2 (P X))) (EQUAL (P (SY-BCDSBI 'Y02 X)) (S-BNOT (P X)))) (EQUAL (P (SY-BCDSBI 'Y12 X)) (S-BAND3 (S-BNOT (P X)) (P (SY-BCDSBI 'YR2 X)) (P (SY-BCDSBI 'Y03 X))))), which further simplifies, applying A2-PC-S-BNOT and A2-PC-S-BAND3, and unfolding the functions EQUAL and SY-BCDSBI, to: T. Case 17.(IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (NOT (EQUAL LN 'Y11)) (NOT (EQUAL LN 'Y12)) (EQUAL LN 'Y13) (EQUAL (P (SY-BCDSBI 'Y06 X)) (SY-BCDSBI 'Y06 (P X))) (EQUAL (P (SY-BCDSBI 'Y05 X)) (SY-BCDSBI 'Y05 (P X))) (EQUAL (P (SY-BCDSBI 'Y04 X)) (SY-BCDSBI 'Y04 (P X)))) (EQUAL (P (SY-BCDSBI LN X)) (SY-BCDSBI LN (P X)))). This simplifies, unfolding EQUAL and SY-BCDSBI, to the new formula: (IMPLIES (AND (EQUAL (P (SY-BCDSBI 'Y06 X)) (SY-BCDSBI 'Y06 (P X))) (EQUAL (P (SY-BCDSBI 'Y05 X)) (SY-BCDSBI 'Y05 (P X))) (EQUAL (P (SY-BCDSBI 'Y04 X)) (SY-BCDSBI 'Y04 (P X)))) (EQUAL (P (SY-BCDSBI 'Y13 X)) (S-BAND3 (P (SY-BCDSBI 'Y04 X)) (P (SY-BCDSBI 'Y05 X)) (P (SY-BCDSBI 'Y06 X))))), which further simplifies, applying A2-PC-S-BAND3, and opening up the definitions of EQUAL and SY-BCDSBI, to: T. Case 16.(IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (NOT (EQUAL LN 'Y11)) (NOT (EQUAL LN 'Y12)) (NOT (EQUAL LN 'Y13)) (EQUAL LN 'Y14) (EQUAL (P (SY-BCDSBI 'Y08 X)) (SY-BCDSBI 'Y08 (P X))) (EQUAL (P (SY-BCDSBI 'Y07 X)) (SY-BCDSBI 'Y07 (P X)))) (EQUAL (P (SY-BCDSBI LN X)) (SY-BCDSBI LN (P X)))). This simplifies, opening up the functions EQUAL and SY-BCDSBI, to: (IMPLIES (AND (EQUAL (P (SY-BCDSBI 'Y08 X)) (SY-BCDSBI 'Y08 (P X))) (EQUAL (P (SY-BCDSBI 'Y07 X)) (SY-BCDSBI 'Y07 (P X)))) (EQUAL (P (SY-BCDSBI 'Y14 X)) (S-BAND3 (P X) (P (SY-BCDSBI 'Y07 X)) (P (SY-BCDSBI 'Y08 X))))), which further simplifies, applying the lemma A2-PC-S-BAND3, and expanding the definitions of EQUAL and SY-BCDSBI, to: T. Case 15.(IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (NOT (EQUAL LN 'Y11)) (NOT (EQUAL LN 'Y12)) (NOT (EQUAL LN 'Y13)) (NOT (EQUAL LN 'Y14)) (EQUAL LN 'Y15) (EQUAL (P (SY-BCDSBI 'YR3 X)) (SY-BCDSBI 'YR3 (P X))) (EQUAL (P (SY-BCDSBI 'YR1 X)) (SY-BCDSBI 'YR1 (P X)))) (EQUAL (P (SY-BCDSBI LN X)) (SY-BCDSBI LN (P X)))), which simplifies, unfolding EQUAL and SY-BCDSBI, to: (IMPLIES (AND (EQUAL (P (SY-BCDSBI 'YR3 X)) (SY-BCDSBI 'YR3 (P X))) (EQUAL (P (SY-BCDSBI 'YR1 X)) (SY-BCDSBI 'YR1 (P X)))) (EQUAL (P (SY-BCDSBI 'Y15 X)) (S-BAND3 (P X) (P (SY-BCDSBI 'YR1 X)) (P (SY-BCDSBI 'YR3 X))))). This further simplifies, rewriting with the lemma A2-PC-S-BAND3, and expanding EQUAL and SY-BCDSBI, to: T. Case 14.(IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (NOT (EQUAL LN 'Y11)) (NOT (EQUAL LN 'Y12)) (NOT (EQUAL LN 'Y13)) (NOT (EQUAL LN 'Y14)) (NOT (EQUAL LN 'Y15)) (EQUAL LN 'Y21) (EQUAL (P (SY-BCDSBI 'Y12 X)) (SY-BCDSBI 'Y12 (P X))) (EQUAL (P (SY-BCDSBI 'Y11 X)) (SY-BCDSBI 'Y11 (P X)))) (EQUAL (P (SY-BCDSBI LN X)) (SY-BCDSBI LN (P X)))), which simplifies, applying the lemma A2-PC-S-BOR, and opening up the definitions of EQUAL and SY-BCDSBI, to: (IMPLIES (AND (EQUAL (P (SY-BCDSBI 'Y12 X)) (SY-BCDSBI 'Y12 (P X))) (EQUAL (P (SY-BCDSBI 'Y11 X)) (SY-BCDSBI 'Y11 (P X)))) (EQUAL (S-BOR (P (SY-BCDSBI 'Y11 X)) (P (SY-BCDSBI 'Y12 X))) (SY-BCDSBI 'Y21 (P X)))). This further simplifies, expanding the functions EQUAL and SY-BCDSBI, to: T. Case 13.(IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (NOT (EQUAL LN 'Y11)) (NOT (EQUAL LN 'Y12)) (NOT (EQUAL LN 'Y13)) (NOT (EQUAL LN 'Y14)) (NOT (EQUAL LN 'Y15)) (NOT (EQUAL LN 'Y21)) (EQUAL LN 'Y22) (EQUAL (P (SY-BCDSBI 'Y14 X)) (SY-BCDSBI 'Y14 (P X))) (EQUAL (P (SY-BCDSBI 'Y13 X)) (SY-BCDSBI 'Y13 (P X)))) (EQUAL (P (SY-BCDSBI LN X)) (SY-BCDSBI LN (P X)))), which simplifies, applying A2-PC-S-BOR, and expanding the definitions of EQUAL and SY-BCDSBI, to: (IMPLIES (AND (EQUAL (P (SY-BCDSBI 'Y14 X)) (S-BAND3 (P X) (SY-BCDSBI 'Y07 (P X)) (SY-BCDSBI 'Y08 (P X)))) (EQUAL (P (SY-BCDSBI 'Y13 X)) (S-BAND3 (SY-BCDSBI 'Y04 (P X)) (SY-BCDSBI 'Y05 (P X)) (SY-BCDSBI 'Y06 (P X))))) (EQUAL (S-BOR (P (SY-BCDSBI 'Y13 X)) (P (SY-BCDSBI 'Y14 X))) (SY-BCDSBI 'Y22 (P X)))), which further simplifies, applying A2-PC-S-BAND3, and unfolding EQUAL and SY-BCDSBI, to: T. Case 12.(IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (NOT (EQUAL LN 'Y11)) (NOT (EQUAL LN 'Y12)) (NOT (EQUAL LN 'Y13)) (NOT (EQUAL LN 'Y14)) (NOT (EQUAL LN 'Y15)) (NOT (EQUAL LN 'Y21)) (NOT (EQUAL LN 'Y22)) (EQUAL LN 'Y23) (EQUAL (P (SY-BCDSBI 'Y15 X)) (SY-BCDSBI 'Y15 (P X))) (EQUAL (P (SY-BCDSBI 'YR2 X)) (SY-BCDSBI 'YR2 (P X)))) (EQUAL (P (SY-BCDSBI LN X)) (SY-BCDSBI LN (P X)))). This simplifies, rewriting with A2-PC-S-BOR, and expanding EQUAL and SY-BCDSBI, to: (IMPLIES (AND (EQUAL (P (SY-BCDSBI 'Y15 X)) (SY-BCDSBI 'Y15 (P X))) (EQUAL (P (SY-BCDSBI 'YR2 X)) (SY-BCDSBI 'YR2 (P X)))) (EQUAL (S-BOR (P (SY-BCDSBI 'YR2 X)) (P (SY-BCDSBI 'Y15 X))) (SY-BCDSBI 'Y23 (P X)))). This further simplifies, unfolding the definitions of EQUAL, SY-BCDSBI, and P, to: T. Case 11.(IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (NOT (EQUAL LN 'Y11)) (NOT (EQUAL LN 'Y12)) (NOT (EQUAL LN 'Y13)) (NOT (EQUAL LN 'Y14)) (NOT (EQUAL LN 'Y15)) (NOT (EQUAL LN 'Y21)) (NOT (EQUAL LN 'Y22)) (NOT (EQUAL LN 'Y23)) (EQUAL LN 'YR1) (EMPTY X)) (EQUAL (P (SY-BCDSBI LN X)) (SY-BCDSBI LN (P X)))), which simplifies, rewriting with the lemma STR-EMPTY-P, and opening up the functions EQUAL and SY-BCDSBI, to: (IMPLIES (EMPTY X) (EQUAL (P (SY-BCDSBI 'YR1 X)) (E))). However this further simplifies, expanding EQUAL, SY-BCDSBI, and P, to: T. Case 10.(IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (NOT (EQUAL LN 'Y11)) (NOT (EQUAL LN 'Y12)) (NOT (EQUAL LN 'Y13)) (NOT (EQUAL LN 'Y14)) (NOT (EQUAL LN 'Y15)) (NOT (EQUAL LN 'Y21)) (NOT (EQUAL LN 'Y22)) (NOT (EQUAL LN 'Y23)) (EQUAL LN 'YR1) (NOT (EMPTY X)) (EQUAL (P (SY-BCDSBI 'Y21 (P X))) (SY-BCDSBI 'Y21 (P (P X))))) (EQUAL (P (SY-BCDSBI LN X)) (SY-BCDSBI LN (P X)))), which simplifies, opening up EQUAL and SY-BCDSBI, to two new goals: Case 10.2. (IMPLIES (AND (NOT (EMPTY X)) (EQUAL (P (SY-BCDSBI 'Y21 (P X))) (S-BOR (SY-BCDSBI 'Y11 (P (P X))) (SY-BCDSBI 'Y12 (P (P X))))) (NOT (EMPTY (P X)))) (EQUAL (P (SY-BCDSBI 'YR1 X)) (I 0 (P (SY-BCDSBI 'Y21 (P X)))))), which further simplifies, applying A2-PC-S-BOR, A2-EMPTY-S-BOR, A2-EMPTY-SY-BCDSBI, and STR-P-I, and expanding the functions EQUAL and SY-BCDSBI, to: T. Case 10.1. (IMPLIES (AND (NOT (EMPTY X)) (EQUAL (P (SY-BCDSBI 'Y21 (P X))) (S-BOR (SY-BCDSBI 'Y11 (P (P X))) (SY-BCDSBI 'Y12 (P (P X))))) (EMPTY (P X))) (EQUAL (P (SY-BCDSBI 'YR1 X)) (E))). This further simplifies, rewriting with A2-PC-S-BOR, A2-EMPTY-S-BOR, A2-EMPTY-SY-BCDSBI, and STR-P-I-E, and opening up EQUAL and SY-BCDSBI, to: T. Case 9. (IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (NOT (EQUAL LN 'Y11)) (NOT (EQUAL LN 'Y12)) (NOT (EQUAL LN 'Y13)) (NOT (EQUAL LN 'Y14)) (NOT (EQUAL LN 'Y15)) (NOT (EQUAL LN 'Y21)) (NOT (EQUAL LN 'Y22)) (NOT (EQUAL LN 'Y23)) (NOT (EQUAL LN 'YR1)) (EQUAL LN 'YR2) (EMPTY X)) (EQUAL (P (SY-BCDSBI LN X)) (SY-BCDSBI LN (P X)))). This simplifies, applying STR-EMPTY-P, and expanding the functions EQUAL and SY-BCDSBI, to the conjecture: (IMPLIES (EMPTY X) (EQUAL (P (SY-BCDSBI 'YR2 X)) (E))). However this further simplifies, opening up the functions EQUAL, SY-BCDSBI, and P, to: T. Case 8. (IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (NOT (EQUAL LN 'Y11)) (NOT (EQUAL LN 'Y12)) (NOT (EQUAL LN 'Y13)) (NOT (EQUAL LN 'Y14)) (NOT (EQUAL LN 'Y15)) (NOT (EQUAL LN 'Y21)) (NOT (EQUAL LN 'Y22)) (NOT (EQUAL LN 'Y23)) (NOT (EQUAL LN 'YR1)) (EQUAL LN 'YR2) (NOT (EMPTY X)) (EQUAL (P (SY-BCDSBI 'Y22 (P X))) (SY-BCDSBI 'Y22 (P (P X))))) (EQUAL (P (SY-BCDSBI LN X)) (SY-BCDSBI LN (P X)))), which simplifies, expanding EQUAL and SY-BCDSBI, to two new goals: Case 8.2. (IMPLIES (AND (NOT (EMPTY X)) (EQUAL (P (SY-BCDSBI 'Y22 (P X))) (S-BOR (S-BAND3 (S-BNOT (SY-BCDSBI 'YR1 (P (P X)))) (S-BNOT (SY-BCDSBI 'YR2 (P (P X)))) (SY-BCDSBI 'Y06 (P (P X)))) (S-BAND3 (P (P X)) (S-BNOT (SY-BCDSBI 'YR1 (P (P X)))) (SY-BCDSBI 'Y08 (P (P X)))))) (NOT (EMPTY (P X)))) (EQUAL (P (SY-BCDSBI 'YR2 X)) (I 0 (P (SY-BCDSBI 'Y22 (P X)))))), which further simplifies, rewriting with A2-PC-S-BNOT, A2-PC-S-BAND3, A2-PC-S-BOR, A2-EMPTY-S-BOR, A2-EMPTY-S-BAND3, A2-EMPTY-S-BNOT, STR-NOT-EMPTY-I, and STR-P-I, and expanding the definitions of EQUAL and SY-BCDSBI, to: T. Case 8.1. (IMPLIES (AND (NOT (EMPTY X)) (EQUAL (P (SY-BCDSBI 'Y22 (P X))) (S-BOR (S-BAND3 (S-BNOT (SY-BCDSBI 'YR1 (P (P X)))) (S-BNOT (SY-BCDSBI 'YR2 (P (P X)))) (SY-BCDSBI 'Y06 (P (P X)))) (S-BAND3 (P (P X)) (S-BNOT (SY-BCDSBI 'YR1 (P (P X)))) (SY-BCDSBI 'Y08 (P (P X)))))) (EMPTY (P X))) (EQUAL (P (SY-BCDSBI 'YR2 X)) (E))). However this again simplifies, applying STR-EMPTY-P, and opening up the definitions of EQUAL, SY-BCDSBI, and S-BNOT, to the new conjecture: (IMPLIES (AND (NOT (EMPTY X)) (EQUAL (P (SY-BCDSBI 'Y22 (P X))) (S-BOR (S-BAND3 (E) (E) (SY-BCDSBI 'Y06 (P (P X)))) (S-BAND3 (P (P X)) (E) (SY-BCDSBI 'Y08 (P (P X)))))) (EMPTY (P X))) (EQUAL (P (SY-BCDSBI 'YR2 X)) (E))), which further simplifies, rewriting with A2-PC-S-BAND3, A2-PC-S-BOR, A2-EMPTY-S-BOR, A2-EMPTY-S-BAND3, and STR-P-I-E, and opening up the functions EQUAL, SY-BCDSBI, S-BNOT, P, and EMPTY, to: T. Case 7. (IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (NOT (EQUAL LN 'Y11)) (NOT (EQUAL LN 'Y12)) (NOT (EQUAL LN 'Y13)) (NOT (EQUAL LN 'Y14)) (NOT (EQUAL LN 'Y15)) (NOT (EQUAL LN 'Y21)) (NOT (EQUAL LN 'Y22)) (NOT (EQUAL LN 'Y23)) (NOT (EQUAL LN 'YR1)) (NOT (EQUAL LN 'YR2)) (EQUAL LN 'YR3) (EMPTY X)) (EQUAL (P (SY-BCDSBI LN X)) (SY-BCDSBI LN (P X)))). This simplifies, rewriting with STR-EMPTY-P, and opening up the definitions of EQUAL and SY-BCDSBI, to: (IMPLIES (EMPTY X) (EQUAL (P (SY-BCDSBI 'YR3 X)) (E))). But this further simplifies, opening up the definitions of EQUAL, SY-BCDSBI, and P, to: T. Case 6. (IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (NOT (EQUAL LN 'Y11)) (NOT (EQUAL LN 'Y12)) (NOT (EQUAL LN 'Y13)) (NOT (EQUAL LN 'Y14)) (NOT (EQUAL LN 'Y15)) (NOT (EQUAL LN 'Y21)) (NOT (EQUAL LN 'Y22)) (NOT (EQUAL LN 'Y23)) (NOT (EQUAL LN 'YR1)) (NOT (EQUAL LN 'YR2)) (EQUAL LN 'YR3) (NOT (EMPTY X)) (EQUAL (P (SY-BCDSBI 'Y23 (P X))) (SY-BCDSBI 'Y23 (P (P X))))) (EQUAL (P (SY-BCDSBI LN X)) (SY-BCDSBI LN (P X)))), which simplifies, opening up EQUAL and SY-BCDSBI, to two new goals: Case 6.2. (IMPLIES (AND (NOT (EMPTY X)) (EQUAL (P (SY-BCDSBI 'Y23 (P X))) (S-BOR (SY-BCDSBI 'YR2 (P (P X))) (S-BAND3 (P (P X)) (SY-BCDSBI 'YR1 (P (P X))) (SY-BCDSBI 'YR3 (P (P X)))))) (NOT (EMPTY (P X)))) (EQUAL (P (SY-BCDSBI 'YR3 X)) (I 0 (P (SY-BCDSBI 'Y23 (P X)))))), which further simplifies, applying A2-PC-S-BAND3, A2-PC-S-BOR, A2-EMPTY-S-BOR, STR-NOT-EMPTY-I, and STR-P-I, and opening up the definitions of EQUAL and SY-BCDSBI, to: T. Case 6.1. (IMPLIES (AND (NOT (EMPTY X)) (EQUAL (P (SY-BCDSBI 'Y23 (P X))) (S-BOR (SY-BCDSBI 'YR2 (P (P X))) (S-BAND3 (P (P X)) (SY-BCDSBI 'YR1 (P (P X))) (SY-BCDSBI 'YR3 (P (P X)))))) (EMPTY (P X))) (EQUAL (P (SY-BCDSBI 'YR3 X)) (E))). But this again simplifies, rewriting with STR-EMPTY-P, and unfolding the definitions of EQUAL and SY-BCDSBI, to: (IMPLIES (AND (NOT (EMPTY X)) (EQUAL (P (SY-BCDSBI 'Y23 (P X))) (S-BOR (E) (S-BAND3 (P (P X)) (E) (E)))) (EMPTY (P X))) (EQUAL (P (SY-BCDSBI 'YR3 X)) (E))), which further simplifies, applying A2-PC-S-BAND3, A2-PC-S-BOR, A2-EMPTY-S-BOR, and STR-P-I-E, and opening up the functions EQUAL, SY-BCDSBI, P, and EMPTY, to: T. Case 5. (IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (NOT (EQUAL LN 'Y11)) (NOT (EQUAL LN 'Y12)) (NOT (EQUAL LN 'Y13)) (NOT (EQUAL LN 'Y14)) (NOT (EQUAL LN 'Y15)) (NOT (EQUAL LN 'Y21)) (NOT (EQUAL LN 'Y22)) (NOT (EQUAL LN 'Y23)) (NOT (EQUAL LN 'YR1)) (NOT (EQUAL LN 'YR2)) (NOT (EQUAL LN 'YR3)) (EQUAL LN 'Y31) (EQUAL (P (SY-BCDSBI 'YR1 X)) (SY-BCDSBI 'YR1 (P X)))) (EQUAL (P (SY-BCDSBI LN X)) (SY-BCDSBI LN (P X)))). This simplifies, expanding the functions EQUAL and SY-BCDSBI, to: (IMPLIES (EQUAL (P (SY-BCDSBI 'YR1 X)) (SY-BCDSBI 'YR1 (P X))) (EQUAL (P (SY-BCDSBI 'Y31 X)) (S-BNOT (P (SY-BCDSBI 'YR1 X))))), which further simplifies, rewriting with A2-PC-S-BNOT, and opening up the functions EQUAL, SY-BCDSBI, S-BNOT, and P, to: T. Case 4. (IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (NOT (EQUAL LN 'Y11)) (NOT (EQUAL LN 'Y12)) (NOT (EQUAL LN 'Y13)) (NOT (EQUAL LN 'Y14)) (NOT (EQUAL LN 'Y15)) (NOT (EQUAL LN 'Y21)) (NOT (EQUAL LN 'Y22)) (NOT (EQUAL LN 'Y23)) (NOT (EQUAL LN 'YR1)) (NOT (EQUAL LN 'YR2)) (NOT (EQUAL LN 'YR3)) (NOT (EQUAL LN 'Y31)) (EQUAL LN 'Y32) (EQUAL (P (SY-BCDSBI 'YR2 X)) (SY-BCDSBI 'YR2 (P X)))) (EQUAL (P (SY-BCDSBI LN X)) (SY-BCDSBI LN (P X)))). This simplifies, opening up EQUAL and SY-BCDSBI, to the new conjecture: (IMPLIES (EQUAL (P (SY-BCDSBI 'YR2 X)) (SY-BCDSBI 'YR2 (P X))) (EQUAL (P (SY-BCDSBI 'Y32 X)) (S-BNOT (P (SY-BCDSBI 'YR2 X))))), which further simplifies, applying A2-PC-S-BNOT, and opening up the functions EQUAL, SY-BCDSBI, S-BNOT, and P, to: T. Case 3. (IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (NOT (EQUAL LN 'Y11)) (NOT (EQUAL LN 'Y12)) (NOT (EQUAL LN 'Y13)) (NOT (EQUAL LN 'Y14)) (NOT (EQUAL LN 'Y15)) (NOT (EQUAL LN 'Y21)) (NOT (EQUAL LN 'Y22)) (NOT (EQUAL LN 'Y23)) (NOT (EQUAL LN 'YR1)) (NOT (EQUAL LN 'YR2)) (NOT (EQUAL LN 'YR3)) (NOT (EQUAL LN 'Y31)) (NOT (EQUAL LN 'Y32)) (EQUAL LN 'Y41) (EQUAL (P (SY-BCDSBI 'YR3 X)) (SY-BCDSBI 'YR3 (P X))) (EQUAL (P (SY-BCDSBI 'Y32 X)) (SY-BCDSBI 'Y32 (P X))) (EQUAL (P (SY-BCDSBI 'Y31 X)) (SY-BCDSBI 'Y31 (P X)))) (EQUAL (P (SY-BCDSBI LN X)) (SY-BCDSBI LN (P X)))). This simplifies, unfolding the definitions of EQUAL and SY-BCDSBI, to: (IMPLIES (AND (EQUAL (P (SY-BCDSBI 'YR3 X)) (SY-BCDSBI 'YR3 (P X))) (EQUAL (P (SY-BCDSBI 'Y32 X)) (S-BNOT (SY-BCDSBI 'YR2 (P X)))) (EQUAL (P (SY-BCDSBI 'Y31 X)) (S-BNOT (SY-BCDSBI 'YR1 (P X))))) (EQUAL (P (SY-BCDSBI 'Y41 X)) (S-BAND4 (P X) (P (SY-BCDSBI 'Y31 X)) (P (SY-BCDSBI 'Y32 X)) (P (SY-BCDSBI 'YR3 X))))), which further simplifies, applying A2-PC-S-BNOT, A2-PC-S-BAND4, and STR-EMPTY-P, and expanding the definitions of EQUAL, SY-BCDSBI, S-BNOT, and P, to: T. Case 2. (IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (NOT (EQUAL LN 'Y11)) (NOT (EQUAL LN 'Y12)) (NOT (EQUAL LN 'Y13)) (NOT (EQUAL LN 'Y14)) (NOT (EQUAL LN 'Y15)) (NOT (EQUAL LN 'Y21)) (NOT (EQUAL LN 'Y22)) (NOT (EQUAL LN 'Y23)) (NOT (EQUAL LN 'YR1)) (NOT (EQUAL LN 'YR2)) (NOT (EQUAL LN 'YR3)) (NOT (EQUAL LN 'Y31)) (NOT (EQUAL LN 'Y32)) (NOT (EQUAL LN 'Y41)) (EQUAL LN 'YOUT) (EQUAL (P (SY-BCDSBI 'Y41 X)) (SY-BCDSBI 'Y41 (P X)))) (EQUAL (P (SY-BCDSBI LN X)) (SY-BCDSBI LN (P X)))). This simplifies, applying A2-PC-S-BNOT, and unfolding the definitions of EQUAL and SY-BCDSBI, to: T. Case 1. (IMPLIES (AND (NOT (EQUAL LN 'Y01)) (NOT (EQUAL LN 'Y02)) (NOT (EQUAL LN 'Y03)) (NOT (EQUAL LN 'Y04)) (NOT (EQUAL LN 'Y05)) (NOT (EQUAL LN 'Y06)) (NOT (EQUAL LN 'Y07)) (NOT (EQUAL LN 'Y08)) (NOT (EQUAL LN 'Y11)) (NOT (EQUAL LN 'Y12)) (NOT (EQUAL LN 'Y13)) (NOT (EQUAL LN 'Y14)) (NOT (EQUAL LN 'Y15)) (NOT (EQUAL LN 'Y21)) (NOT (EQUAL LN 'Y22)) (NOT (EQUAL LN 'Y23)) (NOT (EQUAL LN 'YR1)) (NOT (EQUAL LN 'YR2)) (NOT (EQUAL LN 'YR3)) (NOT (EQUAL LN 'Y31)) (NOT (EQUAL LN 'Y32)) (NOT (EQUAL LN 'Y41)) (NOT (EQUAL LN 'YOUT))) (EQUAL (P (SY-BCDSBI LN X)) (SY-BCDSBI LN (P X)))), which simplifies, applying A2-PC-SFIX, and unfolding SY-BCDSBI, to: T. That finishes the proof of *1. Q.E.D. [ 0.0 0.4 0.1 ] A2-PC-SY-BCDSBI (DEFN BCD-BITS (B0 B1 B2 B3) (OR (EQUAL B0 0) (AND (EQUAL B1 0) (EQUAL B2 0)))) WARNING: B3 is in the arglist but not in the body of the definition of BCD-BITS. Observe that: (OR (FALSEP (BCD-BITS B0 B1 B2 B3)) (TRUEP (BCD-BITS B0 B1 B2 B3))) is a theorem. [ 0.0 0.0 0.0 ] BCD-BITS (DEFN SY-B2I (LN X) (IF (EQUAL LN 'YR1) (IF (EMPTY X) (E) (I 0 (S-BOR (S-BAND3 (S-BNOT (P X)) (SY-B2I 'YR1 (P X)) (SY-B2I 'YR3 (P X))) (S-BAND3 (S-BNOT (P X)) (SY-B2I 'YR2 (P X)) (S-BNOT (SY-B2I 'YR3 (P X))))))) (IF (EQUAL LN 'YR2) (IF (EMPTY X) (E) (I 0 (S-BOR (S-BAND3 (S-BNOT (SY-B2I 'YR1 (P X))) (S-BNOT (SY-B2I 'YR2 (P X))) (S-BNOT (SY-B2I 'YR3 (P X)))) (S-BAND3 (P X) (S-BNOT (SY-B2I 'YR1 (P X))) (S-BNOT (SY-B2I 'YR3 (P X))))))) (IF (EQUAL LN 'YR3) (IF (EMPTY X) (E) (I 0 (S-BOR (SY-B2I 'YR2 (P X)) (S-BAND3 (P X) (SY-B2I 'YR1 (P X)) (SY-B2I 'YR3 (P X)))))) (SFIX X))))) Linear arithmetic and the lemmas P-LESSEQP and STR-EMPTY-COUNT inform us that the measure (COUNT X) decreases according to the well-founded relation LESSP in each recursive call. Hence, SY-B2I is accepted under the principle of definition. Note that (STRINGP (SY-B2I LN X)) is a theorem. [ 0.0 0.0 0.0 ] SY-B2I (PROVE-LEMMA A2-EMPTY-SY-B2I (REWRITE) (EQUAL (EMPTY (SY-B2I LN X)) (EMPTY X)) ((DISABLE S-BAND3 S-BOR S-BAND4 S-BNOT))) 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 (AND (EQUAL LN 'YR1) (EMPTY X)) (p LN X)) (IMPLIES (AND (EQUAL LN 'YR1) (NOT (EMPTY X)) (p 'YR2 (P X)) (p 'YR3 (P X)) (p 'YR1 (P X))) (p LN X)) (IMPLIES (AND (NOT (EQUAL LN 'YR1)) (EQUAL LN 'YR2) (EMPTY X)) (p LN X)) (IMPLIES (AND (NOT (EQUAL LN 'YR1)) (EQUAL LN 'YR2) (NOT (EMPTY X)) (p 'YR3 (P X)) (p 'YR2 (P X)) (p 'YR1 (P X))) (p LN X)) (IMPLIES (AND (NOT (EQUAL LN 'YR1)) (NOT (EQUAL LN 'YR2)) (EQUAL LN 'YR3) (EMPTY X)) (p LN X)) (IMPLIES (AND (NOT (EQUAL LN 'YR1)) (NOT (EQUAL LN 'YR2)) (EQUAL LN 'YR3) (NOT (EMPTY X)) (p 'YR3 (P X)) (p 'YR1 (P X)) (p 'YR2 (P X))) (p LN X)) (IMPLIES (AND (NOT (EQUAL LN 'YR1)) (NOT (EQUAL LN 'YR2)) (NOT (EQUAL LN 'YR3))) (p LN X))). Linear arithmetic and the lemmas P-LESSEQP and STR-EMPTY-COUNT 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. Note, however, the inductive instances chosen for LN. The above induction scheme generates the following seven new formulas: Case 7. (IMPLIES (AND (EQUAL LN 'YR1) (EMPTY X)) (EQUAL (EMPTY (SY-B2I LN X)) (EMPTY X))). This simplifies, expanding the definitions of EQUAL, SY-B2I, and EMPTY, to: T. Case 6. (IMPLIES (AND (EQUAL LN 'YR1) (NOT (EMPTY X)) (EQUAL (EMPTY (SY-B2I 'YR2 (P X))) (EMPTY (P X))) (EQUAL (EMPTY (SY-B2I 'YR3 (P X))) (EMPTY (P X))) (EQUAL (EMPTY (SY-B2I 'YR1 (P X))) (EMPTY (P X)))) (EQUAL (EMPTY (SY-B2I LN X)) (EMPTY X))). This simplifies, appealing to the lemma STR-NOT-EMPTY-I, and opening up EQUAL and SY-B2I, to: T. Case 5. (IMPLIES (AND (NOT (EQUAL LN 'YR1)) (EQUAL LN 'YR2) (EMPTY X)) (EQUAL (EMPTY (SY-B2I LN X)) (EMPTY X))). This simplifies, unfolding EQUAL, SY-B2I, and EMPTY, to: T. Case 4. (IMPLIES (AND (NOT (EQUAL LN 'YR1)) (EQUAL LN 'YR2) (NOT (EMPTY X)) (EQUAL (EMPTY (SY-B2I 'YR3 (P X))) (EMPTY (P X))) (EQUAL (EMPTY (SY-B2I 'YR2 (P X))) (EMPTY (P X))) (EQUAL (EMPTY (SY-B2I 'YR1 (P X))) (EMPTY (P X)))) (EQUAL (EMPTY (SY-B2I LN X)) (EMPTY X))). This simplifies, rewriting with STR-NOT-EMPTY-I, and expanding the definitions of EQUAL and SY-B2I, to: T. Case 3. (IMPLIES (AND (NOT (EQUAL LN 'YR1)) (NOT (EQUAL LN 'YR2)) (EQUAL LN 'YR3) (EMPTY X)) (EQUAL (EMPTY (SY-B2I LN X)) (EMPTY X))), which simplifies, opening up the definitions of EQUAL, SY-B2I, and EMPTY, to: T. Case 2. (IMPLIES (AND (NOT (EQUAL LN 'YR1)) (NOT (EQUAL LN 'YR2)) (EQUAL LN 'YR3) (NOT (EMPTY X)) (EQUAL (EMPTY (SY-B2I 'YR3 (P X))) (EMPTY (P X))) (EQUAL (EMPTY (SY-B2I 'YR1 (P X))) (EMPTY (P X))) (EQUAL (EMPTY (SY-B2I 'YR2 (P X))) (EMPTY (P X)))) (EQUAL (EMPTY (SY-B2I LN X)) (EMPTY X))), which simplifies, applying the lemma STR-NOT-EMPTY-I, and expanding the definitions of EQUAL and SY-B2I, to: T. Case 1. (IMPLIES (AND (NOT (EQUAL LN 'YR1)) (NOT (EQUAL LN 'YR2)) (NOT (EQUAL LN 'YR3))) (EQUAL (EMPTY (SY-B2I LN X)) (EMPTY X))), which simplifies, applying A2-EMPTY-SFIX, and opening up SY-B2I, to: T. That finishes the proof of *1. Q.E.D. [ 0.0 0.0 0.0 ] A2-EMPTY-SY-B2I (PROVE-LEMMA A2-E-SY-B2I (REWRITE) (EQUAL (EQUAL (SY-B2I LN X) (E)) (EMPTY X)) ((DISABLE SY-B2I A2-EMPTY-SY-B2I) (ENABLE EMPTY) (USE (A2-EMPTY-SY-B2I)))) This formula simplifies, opening up the functions EMPTY and EQUAL, to: T. Q.E.D. [ 0.0 0.0 0.0 ] A2-E-SY-B2I (PROVE-LEMMA A2-LP-SY-B2I (REWRITE) (EQUAL (LEN (SY-B2I LN X)) (LEN X)) ((DISABLE LEN S-BAND3 S-BOR S-BAND4 S-BNOT) (ENABLE STR-ADD1-LEN-P))) 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 (AND (EQUAL LN 'YR1) (EMPTY X)) (p LN X)) (IMPLIES (AND (EQUAL LN 'YR1) (NOT (EMPTY X)) (p 'YR2 (P X)) (p 'YR3 (P X)) (p 'YR1 (P X))) (p LN X)) (IMPLIES (AND (NOT (EQUAL LN 'YR1)) (EQUAL LN 'YR2) (EMPTY X)) (p LN X)) (IMPLIES (AND (NOT (EQUAL LN 'YR1)) (EQUAL LN 'YR2) (NOT (EMPTY X)) (p 'YR3 (P X)) (p 'YR2 (P X)) (p 'YR1 (P X))) (p LN X)) (IMPLIES (AND (NOT (EQUAL LN 'YR1)) (NOT (EQUAL LN 'YR2)) (EQUAL LN 'YR3) (EMPTY X)) (p LN X)) (IMPLIES (AND (NOT (EQUAL LN 'YR1)) (NOT (EQUAL LN 'YR2)) (EQUAL LN 'YR3) (NOT (EMPTY X)) (p 'YR3 (P X)) (p 'YR1 (P X)) (p 'YR2 (P X))) (p LN X)) (IMPLIES (AND (NOT (EQUAL LN 'YR1)) (NOT (EQUAL LN 'YR2)) (NOT (EQUAL LN 'YR3))) (p LN X))). Linear arithmetic and the lemmas P-LESSEQP and STR-EMPTY-COUNT 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. Note, however, the inductive instances chosen for LN. The above induction scheme generates the following seven new formulas: Case 7. (IMPLIES (AND (EQUAL LN 'YR1) (EMPTY X)) (EQUAL (LEN (SY-B2I LN X)) (LEN X))). This simplifies, applying STR-LEN0-EMPTY, and expanding the functions EQUAL, SY-B2I, and LEN, to: T. Case 6. (IMPLIES (AND (EQUAL LN 'YR1) (NOT (EMPTY X)) (EQUAL (LEN (SY-B2I 'YR2 (P X))) (LEN (P X))) (EQUAL (LEN (SY-B2I 'YR3 (P X))) (LEN (P X))) (EQUAL (LEN (SY-B2I 'YR1 (P X))) (LEN (P X)))) (EQUAL (LEN (SY-B2I LN X)) (LEN X))), which simplifies, appealing to the lemmas A2-LP-S-BNOT, A2-LP-S-BAND3, A2-LP-S-BOR, STR-ADD1-LEN-P, and STR-LEN-I, and unfolding the functions EQUAL and SY-B2I, to: T. Case 5. (IMPLIES (AND (NOT (EQUAL LN 'YR1)) (EQUAL LN 'YR2) (EMPTY X)) (EQUAL (LEN (SY-B2I LN X)) (LEN X))), which simplifies, rewriting with STR-LEN0-EMPTY, and expanding the definitions of EQUAL, SY-B2I, and LEN, to: T. Case 4. (IMPLIES (AND (NOT (EQUAL LN 'YR1)) (EQUAL LN 'YR2) (NOT (EMPTY X)) (EQUAL (LEN (SY-B2I 'YR3 (P X))) (LEN (P X))) (EQUAL (LEN (SY-B2I 'YR2 (P X))) (LEN (P X))) (EQUAL (LEN (SY-B2I 'YR1 (P X))) (LEN (P X)))) (EQUAL (LEN (SY-B2I LN X)) (LEN X))). This simplifies, applying A2-LP-S-BNOT, A2-LP-S-BAND3, A2-LP-S-BOR, STR-ADD1-LEN-P, and STR-LEN-I, and opening up the functions EQUAL and SY-B2I, to: T. Case 3. (IMPLIES (AND (NOT (EQUAL LN 'YR1)) (NOT (EQUAL LN 'YR2)) (EQUAL LN 'YR3) (EMPTY X)) (EQUAL (LEN (SY-B2I LN X)) (LEN X))), which simplifies, rewriting with the lemma STR-LEN0-EMPTY, and opening up the definitions of EQUAL, SY-B2I, and LEN, to: T. Case 2. (IMPLIES (AND (NOT (EQUAL LN 'YR1)) (NOT (EQUAL LN 'YR2)) (EQUAL LN 'YR3) (NOT (EMPTY X)) (EQUAL (LEN (SY-B2I 'YR3 (P X))) (LEN (P X))) (EQUAL (LEN (SY-B2I 'YR1 (P X))) (LEN (P X))) (EQUAL (LEN (SY-B2I 'YR2 (P X))) (LEN (P X)))) (EQUAL (LEN (SY-B2I LN X)) (LEN X))), which simplifies, rewriting with A2-LP-S-BOR, STR-ADD1-LEN-P, and STR-LEN-I, and opening up the definitions of EQUAL and SY-B2I, to: T. Case 1. (IMPLIES (AND (NOT (EQUAL LN 'YR1)) (NOT (EQUAL LN 'YR2)) (NOT (EQUAL LN 'YR3))) (EQUAL (LEN (SY-B2I LN X)) (LEN X))). This simplifies, applying A2-LP-SFIX, and opening up the function SY-B2I, to: T. That finishes the proof of *1. Q.E.D. [ 0.0 0.0 0.0 ] A2-LP-SY-B2I (PROVE-LEMMA A2-LPE-SY-B2I (REWRITE) (EQLEN (SY-B2I LN X) X) ((ENABLE EQLEN-IS-EQUAL-LEN) (DISABLE LEN SY-B2I))) This conjecture can be simplified, using the abbreviations A2-LP-SY-B2I and EQLEN-IS-EQUAL-LEN, to: (EQUAL (LEN X) (LEN X)). This simplifies, obviously, to: T. Q.E.D. [ 0.0 0.0 0.0 ] A2-LPE-SY-B2I (PROVE-LEMMA BCDSBI-IS-B2I (REWRITE) (AND (EQUAL (SY-BCDSBI 'YR1 X) (SY-B2I 'YR1 X)) (EQUAL (SY-BCDSBI 'YR2 X) (SY-B2I 'YR2 X)) (EQUAL (SY-BCDSBI 'YR3 X) (SY-B2I 'YR3 X))) ((DISABLE S-BAND3 S-BOR S-BAND4 S-BNOT) (INDUCT (INDUCT-P X)) (EXPAND (SY-BCDSBI 'YR1 X) (SY-BCDSBI 'YR2 X) (SY-BCDSBI 'YR3 X) (SY-BCDSBI 'Y21 (P X)) (SY-BCDSBI 'Y22 (P X)) (SY-BCDSBI 'Y23 (P X)) (SY-BCDSBI 'Y11 (P X)) (SY-BCDSBI 'Y12 (P X)) (SY-BCDSBI 'Y13 (P X)) (SY-BCDSBI 'Y14 (P X)) (SY-BCDSBI 'Y15 (P X)) (SY-BCDSBI 'Y01 (P X)) (SY-BCDSBI 'Y02 (P X)) (SY-BCDSBI 'Y03 (P X)) (SY-BCDSBI 'Y04 (P X)) (SY-BCDSBI 'Y05 (P X)) (SY-BCDSBI 'Y06 (P X)) (SY-BCDSBI 'Y07 (P X)) (SY-BCDSBI 'Y08 (P X))))) WARNING: Note that the proposed lemma BCDSBI-IS-B2I is to be stored as zero type prescription rules, zero compound recognizer rules, zero linear rules, and three replacement rules. This formula can be simplified, using the abbreviations NOT, OR, and AND, to the following two new formulas: Case 2. (IMPLIES (EMPTY X) (AND (EQUAL (SY-BCDSBI 'YR1 X) (SY-B2I 'YR1 X)) (EQUAL (SY-BCDSBI 'YR2 X) (SY-B2I 'YR2 X)) (EQUAL (SY-BCDSBI 'YR3 X) (SY-B2I 'YR3 X)))). This simplifies, opening up the functions SY-BCDSBI, EQUAL, SY-B2I, and AND, to: T. Case 1. (IMPLIES (AND (NOT (EMPTY X)) (EQUAL (SY-BCDSBI 'YR1 (P X)) (SY-B2I 'YR1 (P X))) (EQUAL (SY-BCDSBI 'YR2 (P X)) (SY-B2I 'YR2 (P X))) (EQUAL (SY-BCDSBI 'YR3 (P X)) (SY-B2I 'YR3 (P X)))) (AND (EQUAL (SY-BCDSBI 'YR1 X) (SY-B2I 'YR1 X)) (EQUAL (SY-BCDSBI 'YR2 X) (SY-B2I 'YR2 X)) (EQUAL (SY-BCDSBI 'YR3 X) (SY-B2I 'YR3 X)))). This simplifies, expanding SY-BCDSBI, EQUAL, SY-B2I, and AND, to: T. Q.E.D. [ 0.0 0.0 0.0 ] BCDSBI-IS-B2I (DISABLE SY-BCDSBI) [ 0.0 0.0 0.0 ] SY-BCDSBI-OFF (PROVE-LEMMA BCDSBI-EQ-YOUT (REWRITE) (EQUAL (SY-BCDSBI 'YOUT X) (S-BNOT (S-BAND4 X (S-BNOT (SY-B2I 'YR1 X)) (S-BNOT (SY-B2I 'YR2 X)) (SY-B2I 'YR3 X)))) ((EXPAND (SY-BCDSBI 'YOUT X) (SY-BCDSBI 'Y41 X) (SY-BCDSBI 'Y31 X) (SY-BCDSBI 'Y32 X)) (DISABLE S-BNOT S-BAND4))) This formula simplifies, rewriting with BCDSBI-IS-B2I, and opening up the functions SY-BCDSBI and EQUAL, to: T. Q.E.D. [ 0.0 0.0 0.0 ] BCDSBI-EQ-YOUT (PROVE-LEMMA BCDSBI-PAILLET-1 (REWRITE) (IMPLIES (EQUAL (LEN X) 1) (AND (EQUAL (L (SY-B2I 'YR1 X)) 0) (EQUAL (L (SY-B2I 'YR2 X)) 0) (EQUAL (L (SY-B2I 'YR3 X)) 0))) ((DISABLE S-BOR S-BAND3 S-BNOT SY-B2I) (ENABLE LEN) (EXPAND (SY-B2I 'YR1 X) (SY-B2I 'YR2 X) (SY-B2I 'YR3 X)))) WARNING: Note that the proposed lemma BCDSBI-PAILLET-1 is to be stored as zero type prescription rules, zero compound recognizer rules, zero linear rules, and three replacement rules. This conjecture simplifies, expanding the definitions of SY-B2I, EQUAL, and AND, to four new conjectures: Case 4. (IMPLIES (AND (EQUAL (LEN X) 1) (NOT (EMPTY X))) (EQUAL (L (I 0 (S-BOR (S-BAND3 (S-BNOT (P X)) (SY-B2I 'YR1 (P X)) (SY-B2I 'YR3 (P X))) (S-BAND3 (S-BNOT (P X)) (SY-B2I 'YR2 (P X)) (S-BNOT (SY-B2I 'YR3 (P X))))))) 0)). Applying the lemma P-L-ELIM, replace X by (A Z V) to eliminate (P X) and (L X). We rely upon the type restriction lemma noted when P was introduced to restrict the new variables. We would thus like to prove the following three new conjectures: Case 4.3. (IMPLIES (AND (EQUAL X (E)) (EQUAL (LEN X) 1) (NOT (EMPTY X))) (EQUAL (L (I 0 (S-BOR (S-BAND3 (S-BNOT (P X)) (SY-B2I 'YR1 (P X)) (SY-B2I 'YR3 (P X))) (S-BAND3 (S-BNOT (P X)) (SY-B2I 'YR2 (P X)) (S-BNOT (SY-B2I 'YR3 (P X))))))) 0)). This further simplifies, expanding the definitions of LEN and EQUAL, to: T. Case 4.2. (IMPLIES (AND (NOT (STRINGP X)) (EQUAL (LEN X) 1) (NOT (EMPTY X))) (EQUAL (L (I 0 (S-BOR (S-BAND3 (S-BNOT (P X)) (SY-B2I 'YR1 (P X)) (SY-B2I 'YR3 (P X))) (S-BAND3 (S-BNOT (P X)) (SY-B2I 'YR2 (P X)) (S-BNOT (SY-B2I 'YR3 (P X))))))) 0)), which further simplifies, rewriting with the lemma P-NSTRINGP, and opening up ADD1, LEN, EQUAL, S-BNOT, SY-B2I, S-BAND3, S-BOR, I, and L, to: T. Case 4.1. (IMPLIES (AND (STRINGP Z) (NOT (EQUAL (A Z V) (E))) (EQUAL (LEN (A Z V)) 1) (NOT (EMPTY (A Z V)))) (EQUAL (L (I 0 (S-BOR (S-BAND3 (S-BNOT Z) (SY-B2I 'YR1 Z) (SY-B2I 'YR3 Z)) (S-BAND3 (S-BNOT Z) (SY-B2I 'YR2 Z) (S-BNOT (SY-B2I 'YR3 Z)))))) 0)), which further simplifies, rewriting with P-A, STR-NOT-EMPTY-A, STR-LEN0-EMPTY, ADD1-EQUAL, A2-EMPTY-S-BOR, A2-EMPTY-S-BAND3, A2-EMPTY-S-BNOT, and STR-L-I-E, and expanding LEN, NUMBERP, and EQUAL, to: T. Case 3. (IMPLIES (AND (EQUAL (LEN X) 1) (EMPTY X)) (EQUAL (L (E)) 0)). But this again simplifies, expanding LEN and EQUAL, to: T. Case 2. (IMPLIES (AND (EQUAL (LEN X) 1) (NOT (EMPTY X))) (EQUAL (L (I 0 (S-BOR (S-BAND3 (S-BNOT (SY-B2I 'YR1 (P X))) (S-BNOT (SY-B2I 'YR2 (P X))) (S-BNOT (SY-B2I 'YR3 (P X)))) (S-BAND3 (P X) (S-BNOT (SY-B2I 'YR1 (P X))) (S-BNOT (SY-B2I 'YR3 (P X))))))) 0)). Applying the lemma P-L-ELIM, replace X by (A Z V) to eliminate (P X) and (L X). We rely upon the type restriction lemma noted when P was introduced to restrict the new variables. This produces the following three new conjectures: Case 2.3. (IMPLIES (AND (EQUAL X (E)) (EQUAL (LEN X) 1) (NOT (EMPTY X))) (EQUAL (L (I 0 (S-BOR (S-BAND3 (S-BNOT (SY-B2I 'YR1 (P X))) (S-BNOT (SY-B2I 'YR2 (P X))) (S-BNOT (SY-B2I 'YR3 (P X)))) (S-BAND3 (P X) (S-BNOT (SY-B2I 'YR1 (P X))) (S-BNOT (SY-B2I 'YR3 (P X))))))) 0)). However this further simplifies, expanding LEN and EQUAL, to: T. Case 2.2. (IMPLIES (AND (NOT (STRINGP X)) (EQUAL (LEN X) 1) (NOT (EMPTY X))) (EQUAL (L (I 0 (S-BOR (S-BAND3 (S-BNOT (SY-B2I 'YR1 (P X))) (S-BNOT (SY-B2I 'YR2 (P X))) (S-BNOT (SY-B2I 'YR3 (P X)))) (S-BAND3 (P X) (S-BNOT (SY-B2I 'YR1 (P X))) (S-BNOT (SY-B2I 'YR3 (P X))))))) 0)), which further simplifies, rewriting with P-NSTRINGP, and opening up the definitions of ADD1, LEN, EQUAL, SY-B2I, S-BNOT, S-BAND3, S-BOR, I, and L, to: T. Case 2.1. (IMPLIES (AND (STRINGP Z) (NOT (EQUAL (A Z V) (E))) (EQUAL (LEN (A Z V)) 1) (NOT (EMPTY (A Z V)))) (EQUAL (L (I 0 (S-BOR (S-BAND3 (S-BNOT (SY-B2I 'YR1 Z)) (S-BNOT (SY-B2I 'YR2 Z)) (S-BNOT (SY-B2I 'YR3 Z))) (S-BAND3 Z (S-BNOT (SY-B2I 'YR1 Z)) (S-BNOT (SY-B2I 'YR3 Z)))))) 0)). This further simplifies, rewriting with P-A, STR-NOT-EMPTY-A, STR-LEN0-EMPTY, ADD1-EQUAL, A2-EMPTY-S-BOR, A2-EMPTY-S-BAND3, A2-EMPTY-S-BNOT, A2-EMPTY-SY-B2I, and STR-L-I-E, and opening up LEN, NUMBERP, and EQUAL, to: T. Case 1. (IMPLIES (AND (EQUAL (LEN X) 1) (NOT (EMPTY X))) (EQUAL (L (I 0 (S-BOR (SY-B2I 'YR2 (P X)) (S-BAND3 (P X) (SY-B2I 'YR1 (P X)) (SY-B2I 'YR3 (P X)))))) 0)). Appealing to the lemma P-L-ELIM, we now replace X by (A Z V) to eliminate (P X) and (L X). We rely upon the type restriction lemma noted when P was introduced to constrain the new variables. This generates three new goals: Case 1.3. (IMPLIES (AND (EQUAL X (E)) (EQUAL (LEN X) 1) (NOT (EMPTY X))) (EQUAL (L (I 0 (S-BOR (SY-B2I 'YR2 (P X)) (S-BAND3 (P X) (SY-B2I 'YR1 (P X)) (SY-B2I 'YR3 (P X)))))) 0)), which further simplifies, unfolding LEN and EQUAL, to: T. Case 1.2. (IMPLIES (AND (NOT (STRINGP X)) (EQUAL (LEN X) 1) (NOT (EMPTY X))) (EQUAL (L (I 0 (S-BOR (SY-B2I 'YR2 (P X)) (S-BAND3 (P X) (SY-B2I 'YR1 (P X)) (SY-B2I 'YR3 (P X)))))) 0)), which further simplifies, rewriting with P-NSTRINGP, and expanding the definitions of ADD1, LEN, EQUAL, SY-B2I, S-BAND3, S-BOR, I, and L, to: T. Case 1.1. (IMPLIES (AND (STRINGP Z) (NOT (EQUAL (A Z V) (E))) (EQUAL (LEN (A Z V)) 1) (NOT (EMPTY (A Z V)))) (EQUAL (L (I 0 (S-BOR (SY-B2I 'YR2 Z) (S-BAND3 Z (SY-B2I 'YR1 Z) (SY-B2I 'YR3 Z))))) 0)). But this further simplifies, rewriting with P-A, STR-NOT-EMPTY-A, STR-LEN0-EMPTY, ADD1-EQUAL, A2-EMPTY-S-BOR, A2-EMPTY-SY-B2I, and STR-L-I-E, and unfolding the definitions of LEN, NUMBERP, and EQUAL, to: T. Q.E.D. [ 0.0 0.0 0.0 ] BCDSBI-PAILLET-1 (DISABLE BCDSBI-PAILLET-1) [ 0.0 0.0 0.0 ] BCDSBI-PAILLET-1-OFF (PROVE-LEMMA BCDSBI-PAILLET-1OUT (REWRITE) (IMPLIES (EQUAL (LEN X) 1) (EQUAL (L (SY-BCDSBI 'YOUT X)) 1)) ((ENABLE STR-NOT-EMPTY-LEN BCDSBI-PAILLET-1) (DISABLE S-BAND4 S-BNOT LEN SY-B2I))) This conjecture simplifies, rewriting with BCDSBI-EQ-YOUT, A2-EMPTY-S-BAND4, STR-NOT-EMPTY-LEN, A2-EMPTY-SY-B2I, BCDSBI-PAILLET-1, A2-LC-S-BNOT, and A2-LC-S-BAND4, and expanding the definitions of LESSP, BNOT, EQUAL, and BAND4, to: T. Q.E.D. [ 0.0 0.0 0.0 ] BCDSBI-PAILLET-1OUT (DISABLE BCDSBI-PAILLET-1OUT) [ 0.0 0.0 0.0 ] BCDSBI-PAILLET-1OUT-OFF (PROVE-LEMMA BCDSBI-PAILLET-2 (REWRITE) (IMPLIES (EQUAL (LEN X) 2) (AND (EQUAL (L (SY-B2I 'YR1 X)) 0) (EQUAL (L (SY-B2I 'YR2 X)) 1) (EQUAL (L (SY-B2I 'YR3 X)) 0))) ((DISABLE SY-B2I S-BAND3 S-BOR S-BNOT) (ENABLE STR-NOT-EMPTY-LEN BCDSBI-PAILLET-1 LEN) (EXPAND (SY-B2I 'YR1 X) (SY-B2I 'YR2 X) (SY-B2I 'YR3 X)))) WARNING: Note that the proposed lemma BCDSBI-PAILLET-2 is to be stored as zero type prescription rules, zero compound recognizer rules, zero linear rules, and three replacement rules. This conjecture simplifies, applying STR-NOT-EMPTY-LEN, and expanding SY-B2I, EQUAL, LESSP, and AND, to the following three new conjectures: Case 3. (IMPLIES (EQUAL (LEN X) 2) (EQUAL (L (I 0 (S-BOR (S-BAND3 (S-BNOT (P X)) (SY-B2I 'YR1 (P X)) (SY-B2I 'YR3 (P X))) (S-BAND3 (S-BNOT (P X)) (SY-B2I 'YR2 (P X)) (S-BNOT (SY-B2I 'YR3 (P X))))))) 0)). Appealing to the lemma P-L-ELIM, we now replace X by (A Z V) to eliminate (P X) and (L X). We use the type restriction lemma noted when P was introduced to constrain the new variables. We must thus prove three new formulas: Case 3.3. (IMPLIES (AND (EQUAL X (E)) (EQUAL (LEN X) 2)) (EQUAL (L (I 0 (S-BOR (S-BAND3 (S-BNOT (P X)) (SY-B2I 'YR1 (P X)) (SY-B2I 'YR3 (P X))) (S-BAND3 (S-BNOT (P X)) (SY-B2I 'YR2 (P X)) (S-BNOT (SY-B2I 'YR3 (P X))))))) 0)), which further simplifies, expanding the definitions of LEN and EQUAL, to: T. Case 3.2. (IMPLIES (AND (NOT (STRINGP X)) (EQUAL (LEN X) 2)) (EQUAL (L (I 0 (S-BOR (S-BAND3 (S-BNOT (P X)) (SY-B2I 'YR1 (P X)) (SY-B2I 'YR3 (P X))) (S-BAND3 (S-BNOT (P X)) (SY-B2I 'YR2 (P X)) (S-BNOT (SY-B2I 'YR3 (P X))))))) 0)), which further simplifies, rewriting with the lemma P-NSTRINGP, and opening up ADD1 and LEN, to: T. Case 3.1. (IMPLIES (AND (STRINGP Z) (NOT (EQUAL (A Z V) (E))) (EQUAL (LEN (A Z V)) 2)) (EQUAL (L (I 0 (S-BOR (S-BAND3 (S-BNOT Z) (SY-B2I 'YR1 Z) (SY-B2I 'YR3 Z)) (S-BAND3 (S-BNOT Z) (SY-B2I 'YR2 Z) (S-BNOT (SY-B2I 'YR3 Z)))))) 0)), which further simplifies, rewriting with P-A, STR-NOT-EMPTY-LEN, STR-LEN0-EMPTY, STR-NOT-EMPTY-A, ADD1-EQUAL, A2-EMPTY-S-BOR, A2-EMPTY-S-BAND3, A2-EMPTY-S-BNOT, A2-LC-S-BNOT, BCDSBI-PAILLET-1, A2-LC-S-BAND3, A2-EMPTY-SY-B2I, A2-LC-S-BOR, and STR-L-I, and expanding EQUAL, LESSP, LEN, NUMBERP, BNOT, BAND3, and BOR, to: T. Case 2. (IMPLIES (EQUAL (LEN X) 2) (EQUAL (L (I 0 (S-BOR (S-BAND3 (S-BNOT (SY-B2I 'YR1 (P X))) (S-BNOT (SY-B2I 'YR2 (P X))) (S-BNOT (SY-B2I 'YR3 (P X)))) (S-BAND3 (P X) (S-BNOT (SY-B2I 'YR1 (P X))) (S-BNOT (SY-B2I 'YR3 (P X))))))) 1)). Appealing to the lemma P-L-ELIM, we now replace X by (A Z V) to eliminate (P X) and (L X). We rely upon the type restriction lemma noted when P was introduced to constrain the new variables. We must thus prove three new formulas: Case 2.3. (IMPLIES (AND (EQUAL X (E)) (EQUAL (LEN X) 2)) (EQUAL (L (I 0 (S-BOR (S-BAND3 (S-BNOT (SY-B2I 'YR1 (P X))) (S-BNOT (SY-B2I 'YR2 (P X))) (S-BNOT (SY-B2I 'YR3 (P X)))) (S-BAND3 (P X) (S-BNOT (SY-B2I 'YR1 (P X))) (S-BNOT (SY-B2I 'YR3 (P X))))))) 1)), which further simplifies, unfolding LEN and EQUAL, to: T. Case 2.2. (IMPLIES (AND (NOT (STRINGP X)) (EQUAL (LEN X) 2)) (EQUAL (L (I 0 (S-BOR (S-BAND3 (S-BNOT (SY-B2I 'YR1 (P X))) (S-BNOT (SY-B2I 'YR2 (P X))) (S-BNOT (SY-B2I 'YR3 (P X)))) (S-BAND3 (P X) (S-BNOT (SY-B2I 'YR1 (P X))) (S-BNOT (SY-B2I 'YR3 (P X))))))) 1)), which further simplifies, rewriting with P-NSTRINGP, and opening up the definitions of ADD1 and LEN, to: T. Case 2.1. (IMPLIES (AND (STRINGP Z) (NOT (EQUAL (A Z V) (E))) (EQUAL (LEN (A Z V)) 2)) (EQUAL (L (I 0 (S-BOR (S-BAND3 (S-BNOT (SY-B2I 'YR1 Z)) (S-BNOT (SY-B2I 'YR2 Z)) (S-BNOT (SY-B2I 'YR3 Z))) (S-BAND3 Z (S-BNOT (SY-B2I 'YR1 Z)) (S-BNOT (SY-B2I 'YR3 Z)))))) 1)). However this further simplifies, rewriting with P-A, STR-NOT-EMPTY-LEN, STR-LEN0-EMPTY, STR-NOT-EMPTY-A, ADD1-EQUAL, A2-EMPTY-S-BOR, A2-EMPTY-S-BAND3, A2-EMPTY-S-BNOT, A2-EMPTY-SY-B2I, BCDSBI-PAILLET-1, A2-LC-S-BNOT, A2-LC-S-BAND3, A2-LC-S-BOR, and STR-L-I, and opening up the definitions of EQUAL, LESSP, LEN, NUMBERP, BNOT, BAND3, and BOR, to: T. Case 1. (IMPLIES (EQUAL (LEN X) 2) (EQUAL (L (I 0 (S-BOR (SY-B2I 'YR2 (P X)) (S-BAND3 (P X) (SY-B2I 'YR1 (P X)) (SY-B2I 'YR3 (P X)))))) 0)). Appealing to the lemma P-L-ELIM, we now replace X by (A Z V) to eliminate (P X) and (L X). We use the type restriction lemma noted when P was introduced to constrain the new variables. This generates three new conjectures: Case 1.3. (IMPLIES (AND (EQUAL X (E)) (EQUAL (LEN X) 2)) (EQUAL (L (I 0 (S-BOR (SY-B2I 'YR2 (P X)) (S-BAND3 (P X) (SY-B2I 'YR1 (P X)) (SY-B2I 'YR3 (P X)))))) 0)), which further simplifies, expanding the functions LEN and EQUAL, to: T. Case 1.2. (IMPLIES (AND (NOT (STRINGP X)) (EQUAL (LEN X) 2)) (EQUAL (L (I 0 (S-BOR (SY-B2I 'YR2 (P X)) (S-BAND3 (P X) (SY-B2I 'YR1 (P X)) (SY-B2I 'YR3 (P X)))))) 0)), which further simplifies, rewriting with the lemma P-NSTRINGP, and unfolding ADD1 and LEN, to: T. Case 1.1. (IMPLIES (AND (STRINGP Z) (NOT (EQUAL (A Z V) (E))) (EQUAL (LEN (A Z V)) 2)) (EQUAL (L (I 0 (S-BOR (SY-B2I 'YR2 Z) (S-BAND3 Z (SY-B2I 'YR1 Z) (SY-B2I 'YR3 Z))))) 0)), which further simplifies, rewriting with P-A, STR-NOT-EMPTY-LEN, STR-LEN0-EMPTY, STR-NOT-EMPTY-A, ADD1-EQUAL, A2-EMPTY-S-BOR, A2-EMPTY-SY-B2I, BCDSBI-PAILLET-1, A2-LC-S-BAND3, A2-LC-S-BOR, and STR-L-I, and expanding the definitions of EQUAL, LESSP, LEN, NUMBERP, BAND3, and BOR, to: T. Q.E.D. [ 0.0 0.0 0.0 ] BCDSBI-PAILLET-2 (DISABLE BCDSBI-PAILLET-2) [ 0.0 0.0 0.0 ] BCDSBI-PAILLET-2-OFF (PROVE-LEMMA BCDSBI-PAILLET-2OUT (REWRITE) (IMPLIES (EQUAL (LEN X) 2) (EQUAL (L (SY-BCDSBI 'YOUT X)) 1)) ((ENABLE STR-NOT-EMPTY-LEN BCDSBI-PAILLET-2) (DISABLE S-BAND4 S-BNOT LEN SY-B2I))) This conjecture simplifies, rewriting with BCDSBI-EQ-YOUT, A2-EMPTY-S-BAND4, STR-NOT-EMPTY-LEN, A2-EMPTY-SY-B2I, BCDSBI-PAILLET-2, A2-LC-S-BNOT, and A2-LC-S-BAND4, and expanding the definitions of LESSP, BNOT, EQUAL, and BAND4, to: T. Q.E.D. [ 0.0 0.0 0.0 ] BCDSBI-PAILLET-2OUT (DISABLE BCDSBI-PAILLET-2OUT) [ 0.0 0.0 0.0 ] BCDSBI-PAILLET-2OUT-OFF (PROVE-LEMMA BCDSBI-PAILLET-3 (REWRITE) (IMPLIES (AND (EQUAL (LEN X) 3) (S-BITP X)) (AND (EQUAL (L (SY-B2I 'YR1 X)) (BNOT (L (P X)))) (EQUAL (L (SY-B2I 'YR2 X)) (L (P X))) (EQUAL (L (SY-B2I 'YR3 X)) 1))) ((DISABLE SY-B2I LEN S-BAND3 S-BOR S-BNOT) (ENABLE STR-NOT-EMPTY-LEN STR-LEN-P BCDSBI-PAILLET-2) (EXPAND (SY-B2I 'YR1 X) (SY-B2I 'YR2 X) (SY-B2I 'YR3 X)))) WARNING: Note that the proposed lemma BCDSBI-PAILLET-3 is to be stored as zero type prescription rules, zero compound recognizer rules, zero linear rules, and three replacement rules. This simplifies, rewriting with the lemmas STR-NOT-EMPTY-LEN, A2-EMPTY-S-BOR, A2-EMPTY-S-BAND3, A2-EMPTY-S-BNOT, STR-LEN-P, A2-LC-S-BNOT, BCDSBI-PAILLET-2, A2-LC-S-BAND3, A2-EMPTY-SY-B2I, A2-LC-S-BOR, and STR-L-I, and expanding BITP, LESSP, S-BITP, SY-B2I, EQUAL, SUB1, BNOT, BAND3, BOR, and AND, to the following four new goals: Case 4. (IMPLIES (AND (EQUAL (LEN X) 3) (EQUAL (L X) 1) (S-BITP (P X)) (EQUAL (L (P X)) 0)) (EQUAL 0 (L (P X)))). This again simplifies, clearly, to: T. Case 3. (IMPLIES (AND (EQUAL (LEN X) 3) (EQUAL (L X) 1) (S-BITP (P X)) (NOT (EQUAL (L (P X)) 0))) (EQUAL 1 (L (P X)))). However this again simplifies, applying the lemmas STR-NOT-EMPTY-LEN and STR-LEN-P, and expanding the definitions of BITP, LESSP, SUB1, and S-BITP, to: T. Case 2. (IMPLIES (AND (EQUAL (LEN X) 3) (EQUAL (L X) 0) (S-BITP (P X)) (EQUAL (L (P X)) 0)) (EQUAL 0 (L (P X)))), which again simplifies, clearly, to: T. Case 1. (IMPLIES (AND (EQUAL (LEN X) 3) (EQUAL (L X) 0) (S-BITP (P X)) (NOT (EQUAL (L (P X)) 0))) (EQUAL 1 (L (P X)))). But this again simplifies, applying STR-NOT-EMPTY-LEN and STR-LEN-P, and opening up the functions BITP, LESSP, SUB1, and S-BITP, to: T. Q.E.D. [ 0.0 0.0 0.0 ] BCDSBI-PAILLET-3 (DISABLE BCDSBI-PAILLET-3) [ 0.0 0.0 0.0 ] BCDSBI-PAILLET-3-OFF (PROVE-LEMMA BCDSBI-PAILLET-3OUT (REWRITE) (IMPLIES (AND (EQUAL (LEN X) 3) (S-BITP X)) (EQUAL (L (SY-BCDSBI 'YOUT X)) 1)) ((ENABLE STR-NOT-EMPTY-LEN BCDSBI-PAILLET-3) (DISABLE S-BAND4 S-BNOT LEN SY-B2I))) This conjecture simplifies, applying BCDSBI-EQ-YOUT, A2-EMPTY-S-BAND4, STR-NOT-EMPTY-LEN, A2-EMPTY-SY-B2I, BCDSBI-PAILLET-3, A2-LC-S-BNOT, and A2-LC-S-BAND4, and opening up the definitions of LESSP and BNOT, to two new formulas: Case 2. (IMPLIES (AND (EQUAL (LEN X) 3) (S-BITP X) (EQUAL (L (P X)) 0)) (EQUAL (BAND4 (L X) 0 1 1) 0)), which again simplifies, expanding the functions EQUAL and BAND4, to: T. Case 1. (IMPLIES (AND (EQUAL (LEN X) 3) (S-BITP X) (NOT (EQUAL (L (P X)) 0))) (EQUAL (BAND4 (L X) 1 0 1) 0)), which again simplifies, opening up the definitions of EQUAL and BAND4, to: T. Q.E.D. [ 0.0 0.0 0.0 ] BCDSBI-PAILLET-3OUT (DISABLE BCDSBI-PAILLET-3OUT) [ 0.0 0.0 0.0 ] BCDSBI-PAILLET-3OUT-OFF (PROVE-LEMMA BCDSBI-PAILLET-4 (REWRITE) (IMPLIES (AND (EQUAL (LEN X) 4) (S-BITP X)) (AND (EQUAL (L (SY-B2I 'YR1 X)) (BAND (BNOT (L (P X))) (BNOT (L (P (P X)))))) (EQUAL (L (SY-B2I 'YR2 X)) 0) (EQUAL (L (SY-B2I 'YR3 X)) (BOR (L (P (P X))) (BAND (L (P X)) (BNOT (L (P (P X))))))))) ((DISABLE SY-B2I LEN S-BAND3 S-BOR S-BNOT) (ENABLE STR-NOT-EMPTY-LEN STR-LEN-P BCDSBI-PAILLET-3) (EXPAND (SY-B2I 'YR1 X) (SY-B2I 'YR2 X) (SY-B2I 'YR3 X)))) WARNING: Note that the proposed lemma BCDSBI-PAILLET-4 is to be stored as zero type prescription rules, zero compound recognizer rules, zero linear rules, and three replacement rules. This conjecture simplifies, appealing to the lemmas STR-NOT-EMPTY-LEN, STR-LEN-P, A2-EMPTY-S-BOR, A2-EMPTY-S-BAND3, A2-EMPTY-S-BNOT, A2-LC-S-BNOT, BCDSBI-PAILLET-3, A2-LC-S-BAND3, A2-EMPTY-SY-B2I, A2-LC-S-BOR, and STR-L-I, and expanding the definitions of BITP, LESSP, S-BITP, SUB1, SY-B2I, EQUAL, BNOT, BAND3, BOR, BAND, and AND, to: T. Q.E.D. [ 0.0 0.1 0.0 ] BCDSBI-PAILLET-4 (DISABLE BCDSBI-PAILLET-4) [ 0.0 0.0 0.0 ] BCDSBI-PAILLET-4-OFF (PROVE-LEMMA BCDSBI-PAILLET-4OUT (REWRITE) (IMPLIES (AND (EQUAL (LEN X) 4) (S-BITP X)) (EQUAL (L (SY-BCDSBI 'YOUT X)) (BOR (BNOT (L X)) (BAND (BNOT (L (P X))) (BNOT (L (P (P X)))))))) ((ENABLE STR-NOT-EMPTY-LEN BCDSBI-PAILLET-4) (DISABLE S-BAND4 S-BNOT LEN SY-B2I))) This simplifies, applying the lemmas STR-NOT-EMPTY-LEN, BCDSBI-EQ-YOUT, A2-EMPTY-S-BAND4, A2-EMPTY-SY-B2I, BCDSBI-PAILLET-4, A2-LC-S-BNOT, A2-LC-S-BAND4, and STR-LEN0-EMPTY, and opening up the functions BITP, LESSP, S-BITP, L, BNOT, P, BAND, BOR, BAND4, and EQUAL, to: T. Q.E.D. [ 0.0 0.1 0.0 ] BCDSBI-PAILLET-4OUT (DISABLE BCDSBI-PAILLET-4OUT) [ 0.0 0.0 0.0 ] BCDSBI-PAILLET-4OUT-OFF (PROVE-LEMMA BCDSBI-PAILLET-4OUT-CORRECT (REWRITE) (IMPLIES (AND (EQUAL (LEN X) 4) (S-BITP X)) (EQUAL (L (SY-BCDSBI 'YOUT X)) (BOBI (BCD-BITS (L X) (L (P X)) (L (P (P X))) (L (P (P (P X)))))))) ((DISABLE BCDSBI-EQ-YOUT SY-B2I) (ENABLE BCDSBI-PAILLET-4OUT))) This conjecture simplifies, applying BCDSBI-PAILLET-4OUT, and expanding BITP, S-BITP, BNOT, BAND, BOR, EQUAL, BCD-BITS, BOBI, L, P, and SY-BCDSBI, to: (IMPLIES (AND (EQUAL (LEN X) 4) (EMPTY X)) (NOT (EQUAL X (E)))), which again simplifies, expanding the functions LEN and EQUAL, to: T. Q.E.D. [ 0.0 0.0 0.0 ] BCDSBI-PAILLET-4OUT-CORRECT (DISABLE BCDSBI-PAILLET-4OUT-CORRECT) [ 0.0 0.0 0.0 ] BCDSBI-PAILLET-4OUT-CORRECT-OFF (PROVE-LEMMA BCDSBI-PAILLET-5 (REWRITE) (IMPLIES (AND (EQUAL (LEN X) 5) (S-BITP X)) (AND (EQUAL (L (SY-B2I 'YR1 X)) 0) (EQUAL (L (SY-B2I 'YR2 X)) 0) (EQUAL (L (SY-B2I 'YR3 X)) 0))) ((DISABLE SY-B2I LEN S-BAND3 S-BOR S-BNOT) (ENABLE STR-NOT-EMPTY-LEN STR-LEN-P BCDSBI-PAILLET-4) (EXPAND (SY-B2I 'YR1 X) (SY-B2I 'YR2 X) (SY-B2I 'YR3 X) (S-BITP X)))) WARNING: Note that the proposed lemma BCDSBI-PAILLET-5 is to be stored as zero type prescription rules, zero compound recognizer rules, zero linear rules, and three replacement rules. This simplifies, rewriting with the lemmas STR-NOT-EMPTY-LEN, A2-EMPTY-S-BOR, A2-EMPTY-S-BAND3, A2-EMPTY-S-BNOT, STR-LEN-P, A2-LC-S-BNOT, BCDSBI-PAILLET-4, A2-LC-S-BAND3, A2-EMPTY-SY-B2I, A2-LC-S-BOR, and STR-L-I, and unfolding S-BITP, LESSP, BITP, SY-B2I, EQUAL, SUB1, BNOT, BAND, BOR, BAND3, and AND, to the following two new conjectures: Case 2. (IMPLIES (AND (EQUAL (LEN X) 5) (EQUAL (L X) 1) (S-BITP (P X))) (EQUAL (BOR 0 0) 0)). This again simplifies, expanding the functions BOR and EQUAL, to: T. Case 1. (IMPLIES (AND (EQUAL (LEN X) 5) (EQUAL (L X) 0) (S-BITP (P X))) (EQUAL (BOR 0 0) 0)), which again simplifies, expanding BOR and EQUAL, to: T. Q.E.D. [ 0.0 0.1 0.0 ] BCDSBI-PAILLET-5 (DISABLE BCDSBI-PAILLET-5) [ 0.0 0.0 0.0 ] BCDSBI-PAILLET-5-OFF (PROVE-LEMMA BCDSBI-PAILLET-R-CORRECT (REWRITE) (IMPLIES (AND (NOT (EMPTY X)) (S-BITP X)) (AND (EQUAL (L (SY-B2I 'YR1 X)) (IF (EQUAL (REMAINDER (LEN X) 4) 1) 0 (IF (EQUAL (REMAINDER (LEN X) 4) 2) 0 (IF (EQUAL (REMAINDER (LEN X) 4) 3) (BNOT (L (P X))) (BAND (BNOT (L (P X))) (BNOT (L (P (P X))))))))) (EQUAL (L (SY-B2I 'YR2 X)) (IF (EQUAL (REMAINDER (LEN X) 4) 1) 0 (IF (EQUAL (REMAINDER (LEN X) 4) 2) 1 (IF (EQUAL (REMAINDER (LEN X) 4) 3) (L (P X)) 0)))) (EQUAL (L (SY-B2I 'YR3 X)) (IF (EQUAL (REMAINDER (LEN X) 4) 1) 0 (IF (EQUAL (REMAINDER (LEN X) 4) 2) 0 (IF (EQUAL (REMAINDER (LEN X) 4) 3) 1 (BOR (L (P (P X))) (BAND (L (P X)) (BNOT (L (P (P X)))))))))))) ((DISABLE S-BOR S-BAND3 S-BNOT REMAINDER) (ENABLE LEN STR-L-I2))) WARNING: Note that the proposed lemma BCDSBI-PAILLET-R-CORRECT is to be stored as zero type prescription rules, zero compound recognizer rules, zero linear rules, and three replacement rules. This formula simplifies, rewriting with A2-IC-S-BNOT, A2-EMPTY-S-BOR, A2-EMPTY-S-BAND3, A2-EMPTY-S-BNOT, A2-LC-S-BNOT, A2-LC-S-BAND3, A2-EMPTY-SY-B2I, A2-LC-S-BOR, STR-L-I2, STR-L-I, ARI-REMAINDER-ADD1, A2-LP-SY-B2I, A2-LP-S-BOR, A2-LP-S-BAND3, A2-LP-S-BNOT, A2-IC-S-BAND3, and STR-NOT-EMPTY-I, and expanding the definitions of BITP, S-BITP, I, S-BOR, S-BAND3, SY-B2I, S-BNOT, EQUAL, L, ADD1, LEN, REMAINDER, AND, BNOT, BAND3, BOR, SUB1, and BAND, to 148 new formulas: Case 148. (IMPLIES (AND (NOT (EMPTY X)) (EQUAL (L X) 0) (NOT (EMPTY (P X))) (EQUAL (L (P X)) 0) (S-BITP (P (P X))) (NOT (EQUAL (REMAINDER (LEN (P (P X))) 4) 3)) (NOT (EQUAL (ADD1 (REMAINDER (LEN (P (P X))) 4)) 3)) (NOT (EQUAL (ADD1 (ADD1 (REMAINDER (LEN (P (P X))) 4))) 1)) (NOT (EQUAL (ADD1 (ADD1 (REMAINDER (LEN (P (P X))) 4))) 2)) (EQUAL (ADD1 (ADD1 (REMAINDER (LEN (P (P X))) 4))) 3)) (EQUAL (L (SY-B2I 'YR2 (P (P X)))) 0)), which again simplifies, rewriting with ADD1-EQUAL, and expanding NUMBERP and EQUAL, to: (IMPLIES (AND (NOT (EMPTY X)) (EQUAL (L X) 0) (NOT (EMPTY (P X))) (EQUAL (L (P X)) 0) (S-BITP (P (P X))) (NOT (EQUAL (REMAINDER (LEN (P (P X))) 4) 3)) (NOT (EQUAL (REMAINDER (LEN (P (P X))) 4) 2)) (EQUAL (REMAINDER (LEN (P (P X))) 4) 1)) (EQUAL (L (SY-B2I 'YR2 (P (P X)))) 0)), which again simplifies, unfolding EQUAL, to: (IMPLIES (AND (NOT (EMPTY X)) (EQUAL (L X) 0) (NOT (EMPTY (P X))) (EQUAL (L (P X)) 0) (S-BITP (P (P X))) (EQUAL (REMAINDER (LEN (P (P X))) 4) 1)) (EQUAL (L (SY-B2I 'YR2 (P (P X)))) 0)). Appealing to the lemma P-L-ELIM, we now replace X by (A V Z) to eliminate (L X) and (P X) and V by (A D W) to eliminate (L V) and (P V). We use the type restriction lemma noted when P was introduced to constrain the new variables. The result is four new goals: Case 148.4. (IMPLIES (AND (EQUAL X (E)) (NOT (EMPTY X)) (EQUAL (L X) 0) (NOT (EMPTY (P X))) (EQUAL (L (P X)) 0) (S-BITP (P (P X))) (EQUAL (REMAINDER (LEN (P (P X))) 4) 1)) (EQUAL (L (SY-B2I 'YR2 (P (P X)))) 0)), which further simplifies, unfolding the definition of EMPTY, to: T. Case 148.3. (IMPLIES (AND (NOT (STRINGP X)) (NOT (EMPTY X)) (EQUAL (L X) 0) (NOT (EMPTY (P X))) (EQUAL (L (P X)) 0) (S-BITP (P (P X))) (EQUAL (REMAINDER (LEN (P (P X))) 4) 1)) (EQUAL (L (SY-B2I 'YR2 (P (P X)))) 0)), which further simplifies, applying the lemma L-NSTRINGP, and expanding the definition of EQUAL, to: T. Case 148.2. (IMPLIES (AND (EQUAL V (E)) (STRINGP V) (NOT (EQUAL (A V Z) (E))) (NOT (EMPTY (A V Z))) (EQUAL Z 0) (NOT (EMPTY V)) (EQUAL (L V) 0) (S-BITP (P V)) (EQUAL (REMAINDER (LEN (P V)) 4) 1)) (EQUAL (L (SY-B2I 'YR2 (P V))) 0)), which further simplifies, unfolding the functions STRINGP, EQUAL, and EMPTY, to: T. Case 148.1. (IMPLIES (AND (STRINGP D) (NOT (EQUAL (A D W) (E))) (NOT (EQUAL (A (A D W) Z) (E))) (NOT (EMPTY (A (A D W) Z))) (EQUAL Z 0) (NOT (EMPTY (A D W))) (EQUAL W 0) (S-BITP D) (EQUAL (REMAINDER (LEN D) 4) 1)) (EQUAL (L (SY-B2I 'YR2 D)) 0)), which further simplifies, applying the lemma STR-NOT-EMPTY-A, to the goal: (IMPLIES (AND (STRINGP D) (S-BITP D) (EQUAL (REMAINDER (LEN D) 4) 1)) (EQUAL (L (SY-B2I 'YR2 D)) 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 (IMPLIES (AND (NOT (EMPTY X)) (S-BITP X)) (EQUAL (L (SY-B2I 'YR1 X)) (CASE (REMAINDER (LEN X) 4) (1 0) (2 0) (3 (BNOT (L (P X)))) (OTHERWISE (BAND (BNOT (L (P X))) (BNOT (L (P (P X))))))))) (IMPLIES (AND (NOT (EMPTY X)) (S-BITP X)) (EQUAL (L (SY-B2I 'YR2 X)) (CASE (REMAINDER (LEN X) 4) (1 0) (2 1) (3 (L (P X))) (OTHERWISE 0)))) (IMPLIES (AND (NOT (EMPTY X)) (S-BITP X)) (EQUAL (L (SY-B2I 'YR3 X)) (CASE (REMAINDER (LEN X) 4) (1 0) (2 0) (3 1) (OTHERWISE (BOR (L (P (P X))) (BAND (L (P X)) (BNOT (L (P (P X))))))))))). We gave this the name *1 above. Perhaps we can prove it by induction. The recursive terms in the conjecture suggest 15 inductions. However, they merge into one likely candidate induction. We will induct according to the following scheme: (AND (IMPLIES (AND (EQUAL 'YR1 'YR1) (EMPTY X)) (p X)) (IMPLIES (AND (EQUAL 'YR1 'YR1) (NOT (EMPTY X)) (p (P X))) (p X)) (IMPLIES (AND (NOT (EQUAL 'YR1 'YR1)) (EQUAL 'YR1 'YR2) (EMPTY X)) (p X)) (IMPLIES (AND (NOT (EQUAL 'YR1 'YR1)) (EQUAL 'YR1 'YR2) (NOT (EMPTY X)) (p (P X))) (p X)) (IMPLIES (AND (NOT (EQUAL 'YR1 'YR1)) (NOT (EQUAL 'YR1 'YR2)) (EQUAL 'YR1 'YR3) (EMPTY X)) (p X)) (IMPLIES (AND (NOT (EQUAL 'YR1 'YR1)) (NOT (EQUAL 'YR1 'YR2)) (EQUAL 'YR1 'YR3) (NOT (EMPTY X)) (p (P X))) (p X)) (IMPLIES (AND (NOT (EQUAL 'YR1 'YR1)) (NOT (EQUAL 'YR1 'YR2)) (NOT (EQUAL 'YR1 'YR3))) (p X))). Linear arithmetic and the lemmas P-LESSEQP and STR-EMPTY-COUNT 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 30 new formulas: Case 30.(IMPLIES (AND (EQUAL 'YR1 'YR1) (EMPTY (P X)) (NOT (EMPTY X)) (S-BITP X)) (EQUAL (L (SY-B2I 'YR1 X)) (CASE (REMAINDER (LEN X) 4) (1 0) (2 0) (3 (BNOT (L (P X)))) (OTHERWISE (BAND (BNOT (L (P X))) (BNOT (L (P (P X))))))))), which simplifies, applying A2-EMPTY-S-BOR, A2-EMPTY-S-BAND3, A2-EMPTY-S-BNOT, STR-L-I-E, and ARI-REMAINDER-ADD1, and unfolding the functions EQUAL, S-BITP, BITP, SY-B2I, LEN, SUB1, BNOT, and BAND, to the following six new goals: Case 30.6. (IMPLIES (AND (EMPTY (P X)) (NOT (EMPTY X)) (EQUAL (L X) 1) (S-BITP (P X)) (NOT (EQUAL (ADD1 (REMAINDER (LEN (P X)) 4)) 1)) (NOT (EQUAL (ADD1 (REMAINDER (LEN (P X)) 4)) 2)) (EQUAL (L (P X)) 0)) (NOT (EQUAL (L (P (P X))) 0))). However this again simplifies, applying ADD1-EQUAL, and opening up the function NUMBERP, to: (IMPLIES (AND (EMPTY (P X)) (NOT (EMPTY X)) (EQUAL (L X) 1) (S-BITP (P X)) (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 0)) (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 1)) (EQUAL (L (P X)) 0)) (NOT (EQUAL (L (P (P X))) 0))), which further simplifies, unfolding the definitions of S-BITP, LEN, REMAINDER, and EQUAL, to: T. Case 30.5. (IMPLIES (AND (EMPTY (P X)) (NOT (EMPTY X)) (EQUAL (L X) 1) (S-BITP (P X)) (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 3)) (NOT (EQUAL (ADD1 (REMAINDER (LEN (P X)) 4)) 1)) (NOT (EQUAL (ADD1 (REMAINDER (LEN (P X)) 4)) 2)) (EQUAL (ADD1 (REMAINDER (LEN (P X)) 4)) 3)) (NOT (EQUAL (L (P X)) 0))), which again simplifies, applying ADD1-EQUAL, and opening up the definitions of EQUAL and NUMBERP, to: (IMPLIES (AND (EMPTY (P X)) (NOT (EMPTY X)) (EQUAL (L X) 1) (S-BITP (P X)) (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 3)) (EQUAL (REMAINDER (LEN (P X)) 4) 2)) (NOT (EQUAL (L (P X)) 0))), which again simplifies, expanding EQUAL, to: (IMPLIES (AND (EMPTY (P X)) (NOT (EMPTY X)) (EQUAL (L X) 1) (S-BITP (P X)) (EQUAL (REMAINDER (LEN (P X)) 4) 2)) (NOT (EQUAL (L (P X)) 0))). But this further simplifies, opening up S-BITP, LEN, REMAINDER, and EQUAL, to: T. Case 30.4. (IMPLIES (AND (EMPTY (P X)) (NOT (EMPTY X)) (EQUAL (L X) 1) (S-BITP (P X)) (EQUAL (REMAINDER (LEN (P X)) 4) 3) (EQUAL (L (P X)) 0)) (NOT (EQUAL (L (P (P X))) 0))), which further simplifies, opening up the definitions of S-BITP, LEN, REMAINDER, and EQUAL, to: T. Case 30.3. (IMPLIES (AND (EMPTY (P X)) (NOT (EMPTY X)) (EQUAL (L X) 0) (S-BITP (P X)) (NOT (EQUAL (ADD1 (REMAINDER (LEN (P X)) 4)) 1)) (NOT (EQUAL (ADD1 (REMAINDER (LEN (P X)) 4)) 2)) (EQUAL (L (P X)) 0)) (NOT (EQUAL (L (P (P X))) 0))), which again simplifies, rewriting with ADD1-EQUAL, and opening up the definition of NUMBERP, to: (IMPLIES (AND (EMPTY (P X)) (NOT (EMPTY X)) (EQUAL (L X) 0) (S-BITP (P X)) (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 0)) (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 1)) (EQUAL (L (P X)) 0)) (NOT (EQUAL (L (P (P X))) 0))), which further simplifies, unfolding the definitions of S-BITP, LEN, REMAINDER, and EQUAL, to: T. Case 30.2. (IMPLIES (AND (EMPTY (P X)) (NOT (EMPTY X)) (EQUAL (L X) 0) (S-BITP (P X)) (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 3)) (NOT (EQUAL (ADD1 (REMAINDER (LEN (P X)) 4)) 1)) (NOT (EQUAL (ADD1 (REMAINDER (LEN (P X)) 4)) 2)) (EQUAL (ADD1 (REMAINDER (LEN (P X)) 4)) 3)) (NOT (EQUAL (L (P X)) 0))), which again simplifies, rewriting with ADD1-EQUAL, and opening up the functions EQUAL and NUMBERP, to the new formula: (IMPLIES (AND (EMPTY (P X)) (NOT (EMPTY X)) (EQUAL (L X) 0) (S-BITP (P X)) (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 3)) (EQUAL (REMAINDER (LEN (P X)) 4) 2)) (NOT (EQUAL (L (P X)) 0))), which again simplifies, unfolding EQUAL, to: (IMPLIES (AND (EMPTY (P X)) (NOT (EMPTY X)) (EQUAL (L X) 0) (S-BITP (P X)) (EQUAL (REMAINDER (LEN (P X)) 4) 2)) (NOT (EQUAL (L (P X)) 0))). However this further simplifies, opening up the definitions of S-BITP, LEN, REMAINDER, and EQUAL, to: T. Case 30.1. (IMPLIES (AND (EMPTY (P X)) (NOT (EMPTY X)) (EQUAL (L X) 0) (S-BITP (P X)) (EQUAL (REMAINDER (LEN (P X)) 4) 3) (EQUAL (L (P X)) 0)) (NOT (EQUAL (L (P (P X))) 0))), which further simplifies, expanding S-BITP, LEN, REMAINDER, and EQUAL, to: T. Case 29.(IMPLIES (AND (EQUAL 'YR1 'YR1) (NOT (S-BITP (P X))) (NOT (EMPTY X)) (S-BITP X)) (EQUAL (L (SY-B2I 'YR1 X)) (CASE (REMAINDER (LEN X) 4) (1 0) (2 0) (3 (BNOT (L (P X)))) (OTHERWISE (BAND (BNOT (L (P X))) (BNOT (L (P (P X))))))))), which simplifies, opening up EQUAL, S-BITP, and BITP, to: T. Case 28.(IMPLIES (AND (EQUAL 'YR1 'YR1) (EQUAL (L (SY-B2I 'YR1 (P X))) (CASE (REMAINDER (LEN (P X)) 4) (1 0) (2 0) (3 (BNOT (L (P (P X))))) (OTHERWISE (BAND (BNOT (L (P (P X)))) (BNOT (L (P (P (P X))))))))) (EQUAL (L (SY-B2I 'YR2 (P X))) (CASE (REMAINDER (LEN (P X)) 4) (1 0) (2 1) (3 (L (P (P X)))) (OTHERWISE 0))) (EQUAL (L (SY-B2I 'YR3 (P X))) (CASE (REMAINDER (LEN (P X)) 4) (1 0) (2 0) (3 1) (OTHERWISE (BOR (L (P (P (P X)))) (BAND (L (P (P X))) (BNOT (L (P (P (P X)))))))))) (NOT (EMPTY X)) (S-BITP X)) (EQUAL (L (SY-B2I 'YR1 X)) (CASE (REMAINDER (LEN X) 4) (1 0) (2 0) (3 (BNOT (L (P X)))) (OTHERWISE (BAND (BNOT (L (P X))) (BNOT (L (P (P X))))))))), which simplifies, rewriting with A2-EMPTY-S-BNOT, A2-EMPTY-S-BAND3, A2-EMPTY-S-BOR, A2-LC-S-BNOT, A2-LC-S-BAND3, A2-EMPTY-SY-B2I, A2-LC-S-BOR, STR-L-I2, ARI-REMAINDER-ADD1, and ADD1-EQUAL, and expanding the functions EQUAL, BNOT, BAND, S-BITP, BITP, SY-B2I, BAND3, BOR, LEN, SUB1, ADD1, and NUMBERP, to the following 14 new conjectures: Case 28.14. (IMPLIES (AND (NOT (EQUAL (L (P (P X))) 0)) (EQUAL (L (SY-B2I 'YR1 (P X))) 0) (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 1)) (EQUAL (REMAINDER (LEN (P X)) 4) 2) (EQUAL (L (SY-B2I 'YR2 (P X))) 1) (EQUAL (L (SY-B2I 'YR3 (P X))) 0) (NOT (EMPTY X)) (EQUAL (L X) 1) (S-BITP (P X)) (EQUAL (L (P X)) 0)) (NOT (EMPTY (P X)))). However this again simplifies, unfolding EQUAL, to: (IMPLIES (AND (NOT (EQUAL (L (P (P X))) 0)) (EQUAL (L (SY-B2I 'YR1 (P X))) 0) (EQUAL (REMAINDER (LEN (P X)) 4) 2) (EQUAL (L (SY-B2I 'YR2 (P X))) 1) (EQUAL (L (SY-B2I 'YR3 (P X))) 0) (NOT (EMPTY X)) (EQUAL (L X) 1) (S-BITP (P X)) (EQUAL (L (P X)) 0)) (NOT (EMPTY (P X)))). However this further simplifies, expanding the definitions of EQUAL, SY-B2I, and L, to: T. Case 28.13. (IMPLIES (AND (NOT (EQUAL (L (P (P X))) 0)) (EQUAL (L (SY-B2I 'YR1 (P X))) 0) (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 1)) (EQUAL (REMAINDER (LEN (P X)) 4) 2) (EQUAL (L (SY-B2I 'YR2 (P X))) 1) (EQUAL (L (SY-B2I 'YR3 (P X))) 0) (NOT (EMPTY X)) (EQUAL (L X) 0) (S-BITP (P X)) (EQUAL (L (P X)) 0)) (NOT (EMPTY (P X)))), which again simplifies, expanding the function EQUAL, to the formula: (IMPLIES (AND (NOT (EQUAL (L (P (P X))) 0)) (EQUAL (L (SY-B2I 'YR1 (P X))) 0) (EQUAL (REMAINDER (LEN (P X)) 4) 2) (EQUAL (L (SY-B2I 'YR2 (P X))) 1) (EQUAL (L (SY-B2I 'YR3 (P X))) 0) (NOT (EMPTY X)) (EQUAL (L X) 0) (S-BITP (P X)) (EQUAL (L (P X)) 0)) (NOT (EMPTY (P X)))). This further simplifies, unfolding the definitions of EQUAL, SY-B2I, and L, to: T. Case 28.12. (IMPLIES (AND (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 3)) (NOT (EQUAL (L (P (P (P X)))) 0)) (EQUAL (L (SY-B2I 'YR1 (P X))) 0) (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 1)) (EQUAL (REMAINDER (LEN (P X)) 4) 2) (EQUAL (L (SY-B2I 'YR2 (P X))) 1) (EQUAL (L (SY-B2I 'YR3 (P X))) 0) (NOT (EMPTY X)) (EQUAL (L X) 1) (S-BITP (P X)) (EQUAL (L (P X)) 0)) (NOT (EMPTY (P X)))), which again simplifies, expanding the definition of EQUAL, to the goal: (IMPLIES (AND (NOT (EQUAL (L (P (P (P X)))) 0)) (EQUAL (L (SY-B2I 'YR1 (P X))) 0) (EQUAL (REMAINDER (LEN (P X)) 4) 2) (EQUAL (L (SY-B2I 'YR2 (P X))) 1) (EQUAL (L (SY-B2I 'YR3 (P X))) 0) (NOT (EMPTY X)) (EQUAL (L X) 1) (S-BITP (P X)) (EQUAL (L (P X)) 0)) (NOT (EMPTY (P X)))). But this further simplifies, opening up the definitions of EQUAL, SY-B2I, and L, to: T. Case 28.11. (IMPLIES (AND (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 3)) (NOT (EQUAL (L (P (P (P X)))) 0)) (EQUAL (L (SY-B2I 'YR1 (P X))) 0) (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 1)) (EQUAL (REMAINDER (LEN (P X)) 4) 2) (EQUAL (L (SY-B2I 'YR2 (P X))) 1) (EQUAL (L (SY-B2I 'YR3 (P X))) 0) (NOT (EMPTY X)) (EQUAL (L X) 0) (S-BITP (P X)) (EQUAL (L (P X)) 0)) (NOT (EMPTY (P X)))), which again simplifies, unfolding the function EQUAL, to: (IMPLIES (AND (NOT (EQUAL (L (P (P (P X)))) 0)) (EQUAL (L (SY-B2I 'YR1 (P X))) 0) (EQUAL (REMAINDER (LEN (P X)) 4) 2) (EQUAL (L (SY-B2I 'YR2 (P X))) 1) (EQUAL (L (SY-B2I 'YR3 (P X))) 0) (NOT (EMPTY X)) (EQUAL (L X) 0) (S-BITP (P X)) (EQUAL (L (P X)) 0)) (NOT (EMPTY (P X)))). However this further simplifies, opening up the functions EQUAL, SY-B2I, and L, to: T. Case 28.10. (IMPLIES (AND (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 3)) (NOT (EQUAL (L (P (P (P X)))) 0)) (EQUAL (L (SY-B2I 'YR1 (P X))) 0) (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 2)) (EQUAL (L (SY-B2I 'YR2 (P X))) 0) (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 1)) (EQUAL (L (SY-B2I 'YR3 (P X))) 1) (NOT (EMPTY X)) (EQUAL (L X) 1) (S-BITP (P X)) (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 0)) (EQUAL (L (P X)) 0)) (NOT (EQUAL (L (P (P X))) 0))), which again simplifies, using linear arithmetic, rewriting with the lemma ARI-LESSP-REMAINDER, and unfolding the function EQUAL, to: T. Case 28.9. (IMPLIES (AND (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 3)) (NOT (EQUAL (L (P (P (P X)))) 0)) (EQUAL (L (SY-B2I 'YR1 (P X))) 0) (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 2)) (EQUAL (L (SY-B2I 'YR2 (P X))) 0) (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 1)) (EQUAL (L (SY-B2I 'YR3 (P X))) 1) (NOT (EMPTY X)) (EQUAL (L X) 0) (S-BITP (P X)) (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 0)) (EQUAL (L (P X)) 0)) (NOT (EQUAL (L (P (P X))) 0))), which again simplifies, using linear arithmetic, rewriting with ARI-LESSP-REMAINDER, and opening up the definition of EQUAL, to: T. Case 28.8. (IMPLIES (AND (EQUAL (REMAINDER (LEN (P X)) 4) 2) (EQUAL (L (SY-B2I 'YR1 (P X))) 0) (EQUAL (L (SY-B2I 'YR2 (P X))) 1) (EQUAL (L (SY-B2I 'YR3 (P X))) 0) (NOT (EMPTY X)) (EQUAL (L X) 1) (S-BITP (P X)) (EQUAL (L (P X)) 0)) (NOT (EMPTY (P X)))). This further simplifies, expanding the definitions of LEN, REMAINDER, and EQUAL, to: T. Case 28.7. (IMPLIES (AND (EQUAL (REMAINDER (LEN (P X)) 4) 2) (EQUAL (L (SY-B2I 'YR1 (P X))) 0) (EQUAL (L (SY-B2I 'YR2 (P X))) 1) (EQUAL (L (SY-B2I 'YR3 (P X))) 0) (NOT (EMPTY X)) (EQUAL (L X) 0) (S-BITP (P X)) (EQUAL (L (P X)) 0)) (NOT (EMPTY (P X)))), which further simplifies, expanding LEN, REMAINDER, and EQUAL, to: T. Case 28.6. (IMPLIES (AND (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 1)) (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 2)) (EQUAL (REMAINDER (LEN (P X)) 4) 3) (EQUAL (L (P (P X))) 0) (EQUAL (L (SY-B2I 'YR1 (P X))) 1) (EQUAL (L (SY-B2I 'YR2 (P X))) 0) (EQUAL (L (SY-B2I 'YR3 (P X))) 1) (NOT (EMPTY X)) (EQUAL (L X) 1) (S-BITP (P X)) (EQUAL (L (P X)) 0)) (NOT (EMPTY (P X)))), which again simplifies, opening up the function EQUAL, to the goal: (IMPLIES (AND (EQUAL (REMAINDER (LEN (P X)) 4) 3) (EQUAL (L (P (P X))) 0) (EQUAL (L (SY-B2I 'YR1 (P X))) 1) (EQUAL (L (SY-B2I 'YR2 (P X))) 0) (EQUAL (L (SY-B2I 'YR3 (P X))) 1) (NOT (EMPTY X)) (EQUAL (L X) 1) (S-BITP (P X)) (EQUAL (L (P X)) 0)) (NOT (EMPTY (P X)))). This further simplifies, opening up the functions LEN, REMAINDER, and EQUAL, to: T. Case 28.5. (IMPLIES (AND (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 1)) (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 2)) (EQUAL (REMAINDER (LEN (P X)) 4) 3) (EQUAL (L (P (P X))) 0) (EQUAL (L (SY-B2I 'YR1 (P X))) 1) (EQUAL (L (SY-B2I 'YR2 (P X))) 0) (EQUAL (L (SY-B2I 'YR3 (P X))) 1) (NOT (EMPTY X)) (EQUAL (L X) 0) (S-BITP (P X)) (EQUAL (L (P X)) 0)) (NOT (EMPTY (P X)))), which again simplifies, opening up the function EQUAL, to: (IMPLIES (AND (EQUAL (REMAINDER (LEN (P X)) 4) 3) (EQUAL (L (P (P X))) 0) (EQUAL (L (SY-B2I 'YR1 (P X))) 1) (EQUAL (L (SY-B2I 'YR2 (P X))) 0) (EQUAL (L (SY-B2I 'YR3 (P X))) 1) (NOT (EMPTY X)) (EQUAL (L X) 0) (S-BITP (P X)) (EQUAL (L (P X)) 0)) (NOT (EMPTY (P X)))). However this further simplifies, unfolding LEN, REMAINDER, and EQUAL, to: T. Case 28.4. (IMPLIES (AND (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 1)) (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 2)) (EQUAL (L (P (P X))) 0) (EQUAL (L (P (P (P X)))) 0) (EQUAL (L (SY-B2I 'YR1 (P X))) 1) (EQUAL (L (SY-B2I 'YR2 (P X))) 0) (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 3)) (EQUAL (L (SY-B2I 'YR3 (P X))) 0) (NOT (EMPTY X)) (EQUAL (L X) 1) (S-BITP (P X)) (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 0))) (NOT (EQUAL (L (P X)) 0))), which again simplifies, using linear arithmetic, rewriting with ARI-LESSP-REMAINDER, and opening up EQUAL, to: T. Case 28.3. (IMPLIES (AND (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 1)) (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 2)) (EQUAL (L (P (P X))) 0) (EQUAL (L (P (P (P X)))) 0) (EQUAL (L (SY-B2I 'YR1 (P X))) 1) (EQUAL (L (SY-B2I 'YR2 (P X))) 0) (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 3)) (EQUAL (L (SY-B2I 'YR3 (P X))) 0) (NOT (EMPTY X)) (EQUAL (L X) 0) (S-BITP (P X)) (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 0))) (NOT (EQUAL (L (P X)) 0))). This again simplifies, using linear arithmetic, rewriting with the lemma ARI-LESSP-REMAINDER, and unfolding EQUAL, to: T. Case 28.2. (IMPLIES (AND (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 1)) (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 2)) (EQUAL (L (P (P X))) 0) (EQUAL (L (P (P (P X)))) 0) (EQUAL (L (SY-B2I 'YR1 (P X))) 1) (EQUAL (L (SY-B2I 'YR2 (P X))) 0) (EQUAL (REMAINDER (LEN (P X)) 4) 3) (EQUAL (L (SY-B2I 'YR3 (P X))) 1) (NOT (EMPTY X)) (EQUAL (L X) 1) (S-BITP (P X)) (EQUAL (L (P X)) 0)) (NOT (EMPTY (P X)))), which again simplifies, expanding EQUAL, to: (IMPLIES (AND (EQUAL (L (P (P X))) 0) (EQUAL (L (P (P (P X)))) 0) (EQUAL (L (SY-B2I 'YR1 (P X))) 1) (EQUAL (L (SY-B2I 'YR2 (P X))) 0) (EQUAL (REMAINDER (LEN (P X)) 4) 3) (EQUAL (L (SY-B2I 'YR3 (P X))) 1) (NOT (EMPTY X)) (EQUAL (L X) 1) (S-BITP (P X)) (EQUAL (L (P X)) 0)) (NOT (EMPTY (P X)))). But this further simplifies, unfolding EQUAL, SY-B2I, and L, to: T. Case 28.1. (IMPLIES (AND (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 1)) (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 2)) (EQUAL (L (P (P X))) 0) (EQUAL (L (P (P (P X)))) 0) (EQUAL (L (SY-B2I 'YR1 (P X))) 1) (EQUAL (L (SY-B2I 'YR2 (P X))) 0) (EQUAL (REMAINDER (LEN (P X)) 4) 3) (EQUAL (L (SY-B2I 'YR3 (P X))) 1) (NOT (EMPTY X)) (EQUAL (L X) 0) (S-BITP (P X)) (EQUAL (L (P X)) 0)) (NOT (EMPTY (P X)))), which again simplifies, opening up EQUAL, to: (IMPLIES (AND (EQUAL (L (P (P X))) 0) (EQUAL (L (P (P (P X)))) 0) (EQUAL (L (SY-B2I 'YR1 (P X))) 1) (EQUAL (L (SY-B2I 'YR2 (P X))) 0) (EQUAL (REMAINDER (LEN (P X)) 4) 3) (EQUAL (L (SY-B2I 'YR3 (P X))) 1) (NOT (EMPTY X)) (EQUAL (L X) 0) (S-BITP (P X)) (EQUAL (L (P X)) 0)) (NOT (EMPTY (P X)))). However this further simplifies, expanding EQUAL, SY-B2I, and L, to: T. Case 27.(IMPLIES (AND (NOT (EQUAL 'YR1 'YR1)) (EQUAL 'YR1 'YR2) (EMPTY (P X)) (NOT (EMPTY X)) (S-BITP X)) (EQUAL (L (SY-B2I 'YR1 X)) (CASE (REMAINDER (LEN X) 4) (1 0) (2 0) (3 (BNOT (L (P X)))) (OTHERWISE (BAND (BNOT (L (P X))) (BNOT (L (P (P X))))))))), which simplifies, obviously, to: T. Case 26.(IMPLIES (AND (NOT (EQUAL 'YR1 'YR1)) (EQUAL 'YR1 'YR2) (NOT (S-BITP (P X))) (NOT (EMPTY X)) (S-BITP X)) (EQUAL (L (SY-B2I 'YR1 X)) (CASE (REMAINDER (LEN X) 4) (1 0) (2 0) (3 (BNOT (L (P X)))) (OTHERWISE (BAND (BNOT (L (P X))) (BNOT (L (P (P X))))))))). This simplifies, obviously, to: T. Case 25.(IMPLIES (AND (NOT (EQUAL 'YR1 'YR1)) (EQUAL 'YR1 'YR2) (EQUAL (L (SY-B2I 'YR1 (P X))) (CASE (REMAINDER (LEN (P X)) 4) (1 0) (2 0) (3 (BNOT (L (P (P X))))) (OTHERWISE (BAND (BNOT (L (P (P X)))) (BNOT (L (P (P (P X))))))))) (EQUAL (L (SY-B2I 'YR2 (P X))) (CASE (REMAINDER (LEN (P X)) 4) (1 0) (2 1) (3 (L (P (P X)))) (OTHERWISE 0))) (EQUAL (L (SY-B2I 'YR3 (P X))) (CASE (REMAINDER (LEN (P X)) 4) (1 0) (2 0) (3 1) (OTHERWISE (BOR (L (P (P (P X)))) (BAND (L (P (P X))) (BNOT (L (P (P (P X)))))))))) (NOT (EMPTY X)) (S-BITP X)) (EQUAL (L (SY-B2I 'YR1 X)) (CASE (REMAINDER (LEN X) 4) (1 0) (2 0) (3 (BNOT (L (P X)))) (OTHERWISE (BAND (BNOT (L (P X))) (BNOT (L (P (P X))))))))). This simplifies, trivially, to: T. Case 24.(IMPLIES (AND (NOT (EQUAL 'YR1 'YR1)) (NOT (EQUAL 'YR1 'YR2)) (EQUAL 'YR1 'YR3) (EMPTY (P X)) (NOT (EMPTY X)) (S-BITP X)) (EQUAL (L (SY-B2I 'YR1 X)) (CASE (REMAINDER (LEN X) 4) (1 0) (2 0) (3 (BNOT (L (P X)))) (OTHERWISE (BAND (BNOT (L (P X))) (BNOT (L (P (P X))))))))). This simplifies, obviously, to: T. Case 23.(IMPLIES (AND (NOT (EQUAL 'YR1 'YR1)) (NOT (EQUAL 'YR1 'YR2)) (EQUAL 'YR1 'YR3) (NOT (S-BITP (P X))) (NOT (EMPTY X)) (S-BITP X)) (EQUAL (L (SY-B2I 'YR1 X)) (CASE (REMAINDER (LEN X) 4) (1 0) (2 0) (3 (BNOT (L (P X)))) (OTHERWISE (BAND (BNOT (L (P X))) (BNOT (L (P (P X))))))))). This simplifies, clearly, to: T. Case 22.(IMPLIES (AND (NOT (EQUAL 'YR1 'YR1)) (NOT (EQUAL 'YR1 'YR2)) (EQUAL 'YR1 'YR3) (EQUAL (L (SY-B2I 'YR1 (P X))) (CASE (REMAINDER (LEN (P X)) 4) (1 0) (2 0) (3 (BNOT (L (P (P X))))) (OTHERWISE (BAND (BNOT (L (P (P X)))) (BNOT (L (P (P (P X))))))))) (EQUAL (L (SY-B2I 'YR2 (P X))) (CASE (REMAINDER (LEN (P X)) 4) (1 0) (2 1) (3 (L (P (P X)))) (OTHERWISE 0))) (EQUAL (L (SY-B2I 'YR3 (P X))) (CASE (REMAINDER (LEN (P X)) 4) (1 0) (2 0) (3 1) (OTHERWISE (BOR (L (P (P (P X)))) (BAND (L (P (P X))) (BNOT (L (P (P (P X)))))))))) (NOT (EMPTY X)) (S-BITP X)) (EQUAL (L (SY-B2I 'YR1 X)) (CASE (REMAINDER (LEN X) 4) (1 0) (2 0) (3 (BNOT (L (P X)))) (OTHERWISE (BAND (BNOT (L (P X))) (BNOT (L (P (P X))))))))). This simplifies, trivially, to: T. Case 21.(IMPLIES (AND (NOT (EQUAL 'YR1 'YR1)) (NOT (EQUAL 'YR1 'YR2)) (NOT (EQUAL 'YR1 'YR3)) (NOT (EMPTY X)) (S-BITP X)) (EQUAL (L (SY-B2I 'YR1 X)) (CASE (REMAINDER (LEN X) 4) (1 0) (2 0) (3 (BNOT (L (P X)))) (OTHERWISE (BAND (BNOT (L (P X))) (BNOT (L (P (P X))))))))). This simplifies, trivially, to: T. Case 20.(IMPLIES (AND (EQUAL 'YR1 'YR1) (EMPTY (P X)) (NOT (EMPTY X)) (S-BITP X)) (EQUAL (L (SY-B2I 'YR2 X)) (CASE (REMAINDER (LEN X) 4) (1 0) (2 1) (3 (L (P X))) (OTHERWISE 0)))). This simplifies, rewriting with A2-EMPTY-S-BOR, A2-EMPTY-S-BAND3, A2-EMPTY-S-BNOT, A2-EMPTY-SY-B2I, STR-L-I-E, and ARI-REMAINDER-ADD1, and expanding the definitions of EQUAL, S-BITP, BITP, SY-B2I, LEN, and SUB1, to four new goals: Case 20.4. (IMPLIES (AND (EMPTY (P X)) (NOT (EMPTY X)) (EQUAL (L X) 1) (S-BITP (P X)) (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 3)) (NOT (EQUAL (ADD1 (REMAINDER (LEN (P X)) 4)) 1)) (EQUAL (ADD1 (REMAINDER (LEN (P X)) 4)) 3)) (EQUAL 0 (L (P X)))), which again simplifies, applying ADD1-EQUAL, and unfolding EQUAL and NUMBERP, to: (IMPLIES (AND (EMPTY (P X)) (NOT (EMPTY X)) (EQUAL (L X) 1) (S-BITP (P X)) (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 3)) (EQUAL (REMAINDER (LEN (P X)) 4) 2)) (EQUAL 0 (L (P X)))), which again simplifies, expanding the function EQUAL, to: (IMPLIES (AND (EMPTY (P X)) (NOT (EMPTY X)) (EQUAL (L X) 1) (S-BITP (P X)) (EQUAL (REMAINDER (LEN (P X)) 4) 2)) (EQUAL 0 (L (P X)))). This further simplifies, opening up the definitions of S-BITP, LEN, REMAINDER, and EQUAL, to: T. Case 20.3. (IMPLIES (AND (EMPTY (P X)) (NOT (EMPTY X)) (EQUAL (L X) 1) (S-BITP (P X)) (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 3)) (NOT (EQUAL (ADD1 (REMAINDER (LEN (P X)) 4)) 1))) (NOT (EQUAL (ADD1 (REMAINDER (LEN (P X)) 4)) 2))), which again simplifies, rewriting with ADD1-EQUAL, and unfolding EQUAL and NUMBERP, to: (IMPLIES (AND (EMPTY (P X)) (NOT (EMPTY X)) (EQUAL (L X) 1) (S-BITP (P X)) (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 3))) (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 1))), which again simplifies, unfolding EQUAL, to the conjecture: (IMPLIES (AND (EMPTY (P X)) (NOT (EMPTY X)) (EQUAL (L X) 1) (S-BITP (P X))) (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 1))). This further simplifies, unfolding the definitions of S-BITP, LEN, REMAINDER, and EQUAL, to: T. Case 20.2. (IMPLIES (AND (EMPTY (P X)) (NOT (EMPTY X)) (EQUAL (L X) 0) (S-BITP (P X)) (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 3)) (NOT (EQUAL (ADD1 (REMAINDER (LEN (P X)) 4)) 1)) (EQUAL (ADD1 (REMAINDER (LEN (P X)) 4)) 3)) (EQUAL 0 (L (P X)))), which again simplifies, applying the lemma ADD1-EQUAL, and expanding the functions EQUAL and NUMBERP, to: (IMPLIES (AND (EMPTY (P X)) (NOT (EMPTY X)) (EQUAL (L X) 0) (S-BITP (P X)) (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 3)) (EQUAL (REMAINDER (LEN (P X)) 4) 2)) (EQUAL 0 (L (P X)))). This again simplifies, unfolding the definition of EQUAL, to the formula: (IMPLIES (AND (EMPTY (P X)) (NOT (EMPTY X)) (EQUAL (L X) 0) (S-BITP (P X)) (EQUAL (REMAINDER (LEN (P X)) 4) 2)) (EQUAL 0 (L (P X)))). This further simplifies, expanding the functions S-BITP, LEN, REMAINDER, and EQUAL, to: T. Case 20.1. (IMPLIES (AND (EMPTY (P X)) (NOT (EMPTY X)) (EQUAL (L X) 0) (S-BITP (P X)) (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 3)) (NOT (EQUAL (ADD1 (REMAINDER (LEN (P X)) 4)) 1))) (NOT (EQUAL (ADD1 (REMAINDER (LEN (P X)) 4)) 2))), which again simplifies, rewriting with ADD1-EQUAL, and unfolding the functions EQUAL and NUMBERP, to the new formula: (IMPLIES (AND (EMPTY (P X)) (NOT (EMPTY X)) (EQUAL (L X) 0) (S-BITP (P X)) (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 3))) (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 1))), which again simplifies, unfolding EQUAL, to the goal: (IMPLIES (AND (EMPTY (P X)) (NOT (EMPTY X)) (EQUAL (L X) 0) (S-BITP (P X))) (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 1))). But this further simplifies, opening up the definitions of S-BITP, LEN, REMAINDER, and EQUAL, to: T. Case 19.(IMPLIES (AND (EQUAL 'YR1 'YR1) (NOT (S-BITP (P X))) (NOT (EMPTY X)) (S-BITP X)) (EQUAL (L (SY-B2I 'YR2 X)) (CASE (REMAINDER (LEN X) 4) (1 0) (2 1) (3 (L (P X))) (OTHERWISE 0)))), which simplifies, opening up EQUAL, S-BITP, and BITP, to: T. Case 18.(IMPLIES (AND (EQUAL 'YR1 'YR1) (EQUAL (L (SY-B2I 'YR1 (P X))) (CASE (REMAINDER (LEN (P X)) 4) (1 0) (2 0) (3 (BNOT (L (P (P X))))) (OTHERWISE (BAND (BNOT (L (P (P X)))) (BNOT (L (P (P (P X))))))))) (EQUAL (L (SY-B2I 'YR2 (P X))) (CASE (REMAINDER (LEN (P X)) 4) (1 0) (2 1) (3 (L (P (P X)))) (OTHERWISE 0))) (EQUAL (L (SY-B2I 'YR3 (P X))) (CASE (REMAINDER (LEN (P X)) 4) (1 0) (2 0) (3 1) (OTHERWISE (BOR (L (P (P (P X)))) (BAND (L (P (P X))) (BNOT (L (P (P (P X)))))))))) (NOT (EMPTY X)) (S-BITP X)) (EQUAL (L (SY-B2I 'YR2 X)) (CASE (REMAINDER (LEN X) 4) (1 0) (2 1) (3 (L (P X))) (OTHERWISE 0)))), which simplifies, rewriting with the lemmas A2-EMPTY-SY-B2I, A2-EMPTY-S-BNOT, A2-EMPTY-S-BAND3, A2-EMPTY-S-BOR, A2-LC-S-BNOT, A2-LC-S-BAND3, A2-LC-S-BOR, STR-L-I2, ARI-REMAINDER-ADD1, and ADD1-EQUAL, and expanding EQUAL, BNOT, BAND, S-BITP, BITP, SY-B2I, BAND3, BOR, LEN, SUB1, ADD1, and NUMBERP, to 28 new formulas: Case 18.28. (IMPLIES (AND (EQUAL (REMAINDER (LEN (P X)) 4) 1) (EQUAL (L (SY-B2I 'YR1 (P X))) 0) (EQUAL (L (SY-B2I 'YR2 (P X))) 0) (EQUAL (L (SY-B2I 'YR3 (P X))) 0) (NOT (EMPTY X)) (EQUAL (L X) 1) (S-BITP (P X))) (NOT (EMPTY (P X)))), which further simplifies, expanding the functions LEN, REMAINDER, and EQUAL, to: T. Case 18.27. (IMPLIES (AND (EQUAL (REMAINDER (LEN (P X)) 4) 1) (EQUAL (L (SY-B2I 'YR1 (P X))) 0) (EQUAL (L (SY-B2I 'YR2 (P X))) 0) (EQUAL (L (SY-B2I 'YR3 (P X))) 0) (NOT (EMPTY X)) (EQUAL (L X) 0) (S-BITP (P X))) (NOT (EMPTY (P X)))), which further simplifies, opening up LEN, REMAINDER, and EQUAL, to: T. Case 18.26. (IMPLIES (AND (NOT (EQUAL (L (P (P X))) 0)) (EQUAL (L (SY-B2I 'YR1 (P X))) 0) (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 1)) (EQUAL (REMAINDER (LEN (P X)) 4) 2) (EQUAL (L (SY-B2I 'YR2 (P X))) 1) (EQUAL (L (SY-B2I 'YR3 (P X))) 0) (NOT (EMPTY X)) (EQUAL (L X) 1) (S-BITP (P X)) (NOT (EMPTY (P X))) (NOT (EQUAL (L (P X)) 0))) (EQUAL 1 (L (P X)))), which again simplifies, unfolding the function EQUAL, to: (IMPLIES (AND (NOT (EQUAL (L (P (P X))) 0)) (EQUAL (L (SY-B2I 'YR1 (P X))) 0) (EQUAL (REMAINDER (LEN (P X)) 4) 2) (EQUAL (L (SY-B2I 'YR2 (P X))) 1) (EQUAL (L (SY-B2I 'YR3 (P X))) 0) (NOT (EMPTY X)) (EQUAL (L X) 1) (S-BITP (P X)) (NOT (EMPTY (P X))) (NOT (EQUAL (L (P X)) 0))) (EQUAL 1 (L (P X)))). This further simplifies, applying A2-EMPTY-S-BNOT, A2-EMPTY-S-BAND3, A2-EMPTY-S-BOR, A2-LC-S-BNOT, A2-LC-S-BAND3, A2-LC-S-BOR, STR-L-I2, ARI-REMAINDER-ADD1, STR-L-I-E, A2-IC-S-BNOT, A2-LP-SY-B2I, A2-LP-S-BOR, A2-LP-S-BAND3, A2-LP-S-BNOT, A2-IC-S-BAND3, STR-NOT-EMPTY-I, A2-EMPTY-SY-B2I, and STR-L-I, and opening up the functions EQUAL, SY-B2I, BNOT, BAND3, BOR, LEN, SUB1, S-BNOT, S-BAND3, EMPTY, BITP, and S-BITP, to: T. Case 18.25. (IMPLIES (AND (NOT (EQUAL (L (P (P X))) 0)) (EQUAL (L (SY-B2I 'YR1 (P X))) 0) (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 1)) (EQUAL (REMAINDER (LEN (P X)) 4) 2) (EQUAL (L (SY-B2I 'YR2 (P X))) 1) (EQUAL (L (SY-B2I 'YR3 (P X))) 0) (NOT (EMPTY X)) (EQUAL (L X) 1) (S-BITP (P X)) (EMPTY (P X))) (EQUAL 0 (L (P X)))). However this again simplifies, expanding EQUAL, to: (IMPLIES (AND (NOT (EQUAL (L (P (P X))) 0)) (EQUAL (L (SY-B2I 'YR1 (P X))) 0) (EQUAL (REMAINDER (LEN (P X)) 4) 2) (EQUAL (L (SY-B2I 'YR2 (P X))) 1) (EQUAL (L (SY-B2I 'YR3 (P X))) 0) (NOT (EMPTY X)) (EQUAL (L X) 1) (S-BITP (P X)) (EMPTY (P X))) (EQUAL 0 (L (P X)))). However this further simplifies, opening up EQUAL, SY-B2I, and L, to: T. Case 18.24. (IMPLIES (AND (NOT (EQUAL (L (P (P X))) 0)) (EQUAL (L (SY-B2I 'YR1 (P X))) 0) (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 1)) (EQUAL (REMAINDER (LEN (P X)) 4) 2) (EQUAL (L (SY-B2I 'YR2 (P X))) 1) (EQUAL (L (SY-B2I 'YR3 (P X))) 0) (NOT (EMPTY X)) (EQUAL (L X) 1) (S-BITP (P X)) (EQUAL (L (P X)) 0)) (EQUAL 0 (L (P X)))), which again simplifies, trivially, to: T. Case 18.23. (IMPLIES (AND (NOT (EQUAL (L (P (P X))) 0)) (EQUAL (L (SY-B2I 'YR1 (P X))) 0) (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 1)) (EQUAL (REMAINDER (LEN (P X)) 4) 2) (EQUAL (L (SY-B2I 'YR2 (P X))) 1) (EQUAL (L (SY-B2I 'YR3 (P X))) 0) (NOT (EMPTY X)) (EQUAL (L X) 0) (S-BITP (P X)) (NOT (EMPTY (P X))) (NOT (EQUAL (L (P X)) 0))) (EQUAL 1 (L (P X)))). But this again simplifies, expanding the definition of EQUAL, to the goal: (IMPLIES (AND (NOT (EQUAL (L (P (P X))) 0)) (EQUAL (L (SY-B2I 'YR1 (P X))) 0) (EQUAL (REMAINDER (LEN (P X)) 4) 2) (EQUAL (L (SY-B2I 'YR2 (P X))) 1) (EQUAL (L (SY-B2I 'YR3 (P X))) 0) (NOT (EMPTY X)) (EQUAL (L X) 0) (S-BITP (P X)) (NOT (EMPTY (P X))) (NOT (EQUAL (L (P X)) 0))) (EQUAL 1 (L (P X)))). However this further simplifies, applying the lemmas A2-EMPTY-S-BNOT, A2-EMPTY-S-BAND3, A2-EMPTY-S-BOR, A2-LC-S-BNOT, A2-LC-S-BAND3, A2-LC-S-BOR, STR-L-I2, ARI-REMAINDER-ADD1, STR-L-I-E, A2-IC-S-BNOT, A2-LP-SY-B2I, A2-LP-S-BOR, A2-LP-S-BAND3, A2-LP-S-BNOT, A2-IC-S-BAND3, STR-NOT-EMPTY-I, A2-EMPTY-SY-B2I, and STR-L-I, and expanding the definitions of EQUAL, SY-B2I, BNOT, BAND3, BOR, LEN, SUB1, S-BNOT, S-BAND3, EMPTY, BITP, and S-BITP, to: T. Case 18.22. (IMPLIES (AND (NOT (EQUAL (L (P (P X))) 0)) (EQUAL (L (SY-B2I 'YR1 (P X))) 0) (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 1)) (EQUAL (REMAINDER (LEN (P X)) 4) 2) (EQUAL (L (SY-B2I 'YR2 (P X))) 1) (EQUAL (L (SY-B2I 'YR3 (P X))) 0) (NOT (EMPTY X)) (EQUAL (L X) 0) (S-BITP (P X)) (EMPTY (P X))) (EQUAL 0 (L (P X)))), which again simplifies, expanding the definition of EQUAL, to the goal: (IMPLIES (AND (NOT (EQUAL (L (P (P X))) 0)) (EQUAL (L (SY-B2I 'YR1 (P X))) 0) (EQUAL (REMAINDER (LEN (P X)) 4) 2) (EQUAL (L (SY-B2I 'YR2 (P X))) 1) (EQUAL (L (SY-B2I 'YR3 (P X))) 0) (NOT (EMPTY X)) (EQUAL (L X) 0) (S-BITP (P X)) (EMPTY (P X))) (EQUAL 0 (L (P X)))). But this further simplifies, opening up the definitions of EQUAL, SY-B2I, and L, to: T. Case 18.21. (IMPLIES (AND (NOT (EQUAL (L (P (P X))) 0)) (EQUAL (L (SY-B2I 'YR1 (P X))) 0) (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 1)) (EQUAL (REMAINDER (LEN (P X)) 4) 2) (EQUAL (L (SY-B2I 'YR2 (P X))) 1) (EQUAL (L (SY-B2I 'YR3 (P X))) 0) (NOT (EMPTY X)) (EQUAL (L X) 0) (S-BITP (P X)) (EQUAL (L (P X)) 0)) (EQUAL 0 (L (P X)))), which again simplifies, clearly, to: T. Case 18.20. (IMPLIES (AND (NOT (EQUAL (L (P (P X))) 0)) (EQUAL (L (SY-B2I 'YR1 (P X))) 0) (EQUAL (REMAINDER (LEN (P X)) 4) 1) (EQUAL (L (SY-B2I 'YR2 (P X))) 0) (EQUAL (L (SY-B2I 'YR3 (P X))) 0) (NOT (EMPTY X)) (EQUAL (L X) 1) (S-BITP (P X))) (NOT (EMPTY (P X)))). But this further simplifies, opening up the functions EQUAL, SY-B2I, and L, to: T. Case 18.19. (IMPLIES (AND (NOT (EQUAL (L (P (P X))) 0)) (EQUAL (L (SY-B2I 'YR1 (P X))) 0) (EQUAL (REMAINDER (LEN (P X)) 4) 1) (EQUAL (L (SY-B2I 'YR2 (P X))) 0) (EQUAL (L (SY-B2I 'YR3 (P X))) 0) (NOT (EMPTY X)) (EQUAL (L X) 0) (S-BITP (P X))) (NOT (EMPTY (P X)))), which further simplifies, opening up the functions EQUAL, SY-B2I, and L, to: T. Case 18.18. (IMPLIES (AND (NOT (EQUAL (L (P (P X))) 0)) (EQUAL (L (SY-B2I 'YR1 (P X))) 0) (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 2)) (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 3)) (EQUAL (L (SY-B2I 'YR2 (P X))) 0) (EQUAL (REMAINDER (LEN (P X)) 4) 1) (EQUAL (L (SY-B2I 'YR3 (P X))) 0) (NOT (EMPTY X)) (EQUAL (L X) 1) (S-BITP (P X))) (NOT (EMPTY (P X)))), which again simplifies, unfolding EQUAL, to: (IMPLIES (AND (NOT (EQUAL (L (P (P X))) 0)) (EQUAL (L (SY-B2I 'YR1 (P X))) 0) (EQUAL (L (SY-B2I 'YR2 (P X))) 0) (EQUAL (REMAINDER (LEN (P X)) 4) 1) (EQUAL (L (SY-B2I 'YR3 (P X))) 0) (NOT (EMPTY X)) (EQUAL (L X) 1) (S-BITP (P X))) (NOT (EMPTY (P X)))). However this further simplifies, expanding the definitions of EQUAL, SY-B2I, and L, to: T. Case 18.17. (IMPLIES (AND (NOT (EQUAL (L (P (P X))) 0)) (EQUAL (L (SY-B2I 'YR1 (P X))) 0) (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 2)) (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 3)) (EQUAL (L (SY-B2I 'YR2 (P X))) 0) (EQUAL (REMAINDER (LEN (P X)) 4) 1) (EQUAL (L (SY-B2I 'YR3 (P X))) 0) (NOT (EMPTY X)) (EQUAL (L X) 0) (S-BITP (P X))) (NOT (EMPTY (P X)))), which again simplifies, unfolding the definition of EQUAL, to: (IMPLIES (AND (NOT (EQUAL (L (P (P X))) 0)) (EQUAL (L (SY-B2I 'YR1 (P X))) 0) (EQUAL (L (SY-B2I 'YR2 (P X))) 0) (EQUAL (REMAINDER (LEN (P X)) 4) 1) (EQUAL (L (SY-B2I 'YR3 (P X))) 0) (NOT (EMPTY X)) (EQUAL (L X) 0) (S-BITP (P X))) (NOT (EMPTY (P X)))). However this further simplifies, unfolding the definitions of EQUAL, SY-B2I, and L, to: T. Case 18.16. (IMPLIES (AND (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 3)) (NOT (EQUAL (L (P (P (P X)))) 0)) (EQUAL (L (SY-B2I 'YR1 (P X))) 0) (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 1)) (EQUAL (REMAINDER (LEN (P X)) 4) 2) (EQUAL (L (SY-B2I 'YR2 (P X))) 1) (EQUAL (L (SY-B2I 'YR3 (P X))) 0) (NOT (EMPTY X)) (EQUAL (L X) 1) (S-BITP (P X)) (NOT (EMPTY (P X))) (NOT (EQUAL (L (P X)) 0))) (EQUAL 1 (L (P X)))), which again simplifies, opening up the definition of EQUAL, to the formula: (IMPLIES (AND (NOT (EQUAL (L (P (P (P X)))) 0)) (EQUAL (L (SY-B2I 'YR1 (P X))) 0) (EQUAL (REMAINDER (LEN (P X)) 4) 2) (EQUAL (L (SY-B2I 'YR2 (P X))) 1) (EQUAL (L (SY-B2I 'YR3 (P X))) 0) (NOT (EMPTY X)) (EQUAL (L X) 1) (S-BITP (P X)) (NOT (EMPTY (P X))) (NOT (EQUAL (L (P X)) 0))) (EQUAL 1 (L (P X)))). This further simplifies, appealing to the lemmas A2-EMPTY-S-BNOT, A2-EMPTY-S-BAND3, A2-EMPTY-S-BOR, A2-LC-S-BNOT, A2-LC-S-BAND3, A2-LC-S-BOR, STR-L-I2, ARI-REMAINDER-ADD1, STR-L-I-E, A2-IC-S-BNOT, A2-LP-SY-B2I, A2-LP-S-BOR, A2-LP-S-BAND3, A2-LP-S-BNOT, A2-IC-S-BAND3, STR-NOT-EMPTY-I, A2-EMPTY-SY-B2I, and STR-L-I, and unfolding the functions EQUAL, SY-B2I, BNOT, BAND3, BOR, LEN, ADD1, REMAINDER, SUB1, S-BNOT, S-BAND3, EMPTY, BITP, and S-BITP, to: T. Case 18.15. (IMPLIES (AND (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 3)) (NOT (EQUAL (L (P (P (P X)))) 0)) (EQUAL (L (SY-B2I 'YR1 (P X))) 0) (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 1)) (EQUAL (REMAINDER (LEN (P X)) 4) 2) (EQUAL (L (SY-B2I 'YR2 (P X))) 1) (EQUAL (L (SY-B2I 'YR3 (P X))) 0) (NOT (EMPTY X)) (EQUAL (L X) 1) (S-BITP (P X)) (EMPTY (P X))) (EQUAL 0 (L (P X)))), which again simplifies, unfolding the definition of EQUAL, to: (IMPLIES (AND (NOT (EQUAL (L (P (P (P X)))) 0)) (EQUAL (L (SY-B2I 'YR1 (P X))) 0) (EQUAL (REMAINDER (LEN (P X)) 4) 2) (EQUAL (L (SY-B2I 'YR2 (P X))) 1) (EQUAL (L (SY-B2I 'YR3 (P X))) 0) (NOT (EMPTY X)) (EQUAL (L X) 1) (S-BITP (P X)) (EMPTY (P X))) (EQUAL 0 (L (P X)))). However this further simplifies, opening up EQUAL, SY-B2I, and L, to: T. Case 18.14. (IMPLIES (AND (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 3)) (NOT (EQUAL (L (P (P (P X)))) 0)) (EQUAL (L (SY-B2I 'YR1 (P X))) 0) (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 1)) (EQUAL (REMAINDER (LEN (P X)) 4) 2) (EQUAL (L (SY-B2I 'YR2 (P X))) 1) (EQUAL (L (SY-B2I 'YR3 (P X))) 0) (NOT (EMPTY X)) (EQUAL (L X) 1) (S-BITP (P X)) (EQUAL (L (P X)) 0)) (EQUAL 0 (L (P X)))), which again simplifies, obviously, to: T. Case 18.13. (IMPLIES (AND (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 3)) (NOT (EQUAL (L (P (P (P X)))) 0)) (EQUAL (L (SY-B2I 'YR1 (P X))) 0) (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 1)) (EQUAL (REMAINDER (LEN (P X)) 4) 2) (EQUAL (L (SY-B2I 'YR2 (P X))) 1) (EQUAL (L (SY-B2I 'YR3 (P X))) 0) (NOT (EMPTY X)) (EQUAL (L X) 0) (S-BITP (P X)) (NOT (EMPTY (P X))) (NOT (EQUAL (L (P X)) 0))) (EQUAL 1 (L (P X)))). However this again simplifies, expanding the definition of EQUAL, to: (IMPLIES (AND (NOT (EQUAL (L (P (P (P X)))) 0)) (EQUAL (L (SY-B2I 'YR1 (P X))) 0) (EQUAL (REMAINDER (LEN (P X)) 4) 2) (EQUAL (L (SY-B2I 'YR2 (P X))) 1) (EQUAL (L (SY-B2I 'YR3 (P X))) 0) (NOT (EMPTY X)) (EQUAL (L X) 0) (S-BITP (P X)) (NOT (EMPTY (P X))) (NOT (EQUAL (L (P X)) 0))) (EQUAL 1 (L (P X)))). However this further simplifies, applying the lemmas A2-EMPTY-S-BNOT, A2-EMPTY-S-BAND3, A2-EMPTY-S-BOR, A2-LC-S-BNOT, A2-LC-S-BAND3, A2-LC-S-BOR, STR-L-I2, ARI-REMAINDER-ADD1, STR-L-I-E, A2-IC-S-BNOT, A2-LP-SY-B2I, A2-LP-S-BOR, A2-LP-S-BAND3, A2-LP-S-BNOT, A2-IC-S-BAND3, STR-NOT-EMPTY-I, A2-EMPTY-SY-B2I, and STR-L-I, and unfolding the definitions of EQUAL, SY-B2I, BNOT, BAND3, BOR, LEN, ADD1, REMAINDER, SUB1, S-BNOT, S-BAND3, EMPTY, BITP, and S-BITP, to: T. Case 18.12. (IMPLIES (AND (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 3)) (NOT (EQUAL (L (P (P (P X)))) 0)) (EQUAL (L (SY-B2I 'YR1 (P X))) 0) (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 1)) (EQUAL (REMAINDER (LEN (P X)) 4) 2) (EQUAL (L (SY-B2I 'YR2 (P X))) 1) (EQUAL (L (SY-B2I 'YR3 (P X))) 0) (NOT (EMPTY X)) (EQUAL (L X) 0) (S-BITP (P X)) (EMPTY (P X))) (EQUAL 0 (L (P X)))), which again simplifies, unfolding EQUAL, to: (IMPLIES (AND (NOT (EQUAL (L (P (P (P X)))) 0)) (EQUAL (L (SY-B2I 'YR1 (P X))) 0) (EQUAL (REMAINDER (LEN (P X)) 4) 2) (EQUAL (L (SY-B2I 'YR2 (P X))) 1) (EQUAL (L (SY-B2I 'YR3 (P X))) 0) (NOT (EMPTY X)) (EQUAL (L X) 0) (S-BITP (P X)) (EMPTY (P X))) (EQUAL 0 (L (P X)))). But this further simplifies, opening up EQUAL, SY-B2I, and L, to: T. Case 18.11. (IMPLIES (AND (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 3)) (NOT (EQUAL (L (P (P (P X)))) 0)) (EQUAL (L (SY-B2I 'YR1 (P X))) 0) (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 1)) (EQUAL (REMAINDER (LEN (P X)) 4) 2) (EQUAL (L (SY-B2I 'YR2 (P X))) 1) (EQUAL (L (SY-B2I 'YR3 (P X))) 0) (NOT (EMPTY X)) (EQUAL (L X) 0) (S-BITP (P X)) (EQUAL (L (P X)) 0)) (EQUAL 0 (L (P X)))), which again simplifies, clearly, to: T. Case 18.10. (IMPLIES (AND (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 3)) (NOT (EQUAL (L (P (P (P X)))) 0)) (EQUAL (L (SY-B2I 'YR1 (P X))) 0) (EQUAL (REMAINDER (LEN (P X)) 4) 1) (EQUAL (L (SY-B2I 'YR2 (P X))) 0) (EQUAL (L (SY-B2I 'YR3 (P X))) 0) (NOT (EMPTY X)) (EQUAL (L X) 1) (S-BITP (P X))) (NOT (EMPTY (P X)))). This again simplifies, opening up the function EQUAL, to the conjecture: (IMPLIES (AND (NOT (EQUAL (L (P (P (P X)))) 0)) (EQUAL (L (SY-B2I 'YR1 (P X))) 0) (EQUAL (REMAINDER (LEN (P X)) 4) 1) (EQUAL (L (SY-B2I 'YR2 (P X))) 0) (EQUAL (L (SY-B2I 'YR3 (P X))) 0) (NOT (EMPTY X)) (EQUAL (L X) 1) (S-BITP (P X))) (NOT (EMPTY (P X)))). However this further simplifies, expanding the definitions of EQUAL, SY-B2I, and L, to: T. Case 18.9. (IMPLIES (AND (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 3)) (NOT (EQUAL (L (P (P (P X)))) 0)) (EQUAL (L (SY-B2I 'YR1 (P X))) 0) (EQUAL (REMAINDER (LEN (P X)) 4) 1) (EQUAL (L (SY-B2I 'YR2 (P X))) 0) (EQUAL (L (SY-B2I 'YR3 (P X))) 0) (NOT (EMPTY X)) (EQUAL (L X) 0) (S-BITP (P X))) (NOT (EMPTY (P X)))), which again simplifies, unfolding EQUAL, to: (IMPLIES (AND (NOT (EQUAL (L (P (P (P X)))) 0)) (EQUAL (L (SY-B2I 'YR1 (P X))) 0) (EQUAL (REMAINDER (LEN (P X)) 4) 1) (EQUAL (L (SY-B2I 'YR2 (P X))) 0) (EQUAL (L (SY-B2I 'YR3 (P X))) 0) (NOT (EMPTY X)) (EQUAL (L X) 0) (S-BITP (P X))) (NOT (EMPTY (P X)))). However this further simplifies, unfolding the definitions of EQUAL, SY-B2I, and L, to: T. Case 18.8. (IMPLIES (AND (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 3)) (NOT (EQUAL (L (P (P (P X)))) 0)) (EQUAL (L (SY-B2I 'YR1 (P X))) 0) (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 2)) (EQUAL (L (SY-B2I 'YR2 (P X))) 0) (EQUAL (REMAINDER (LEN (P X)) 4) 1) (EQUAL (L (SY-B2I 'YR3 (P X))) 0) (NOT (EMPTY X)) (EQUAL (L X) 1) (S-BITP (P X))) (NOT (EMPTY (P X)))), which again simplifies, opening up the function EQUAL, to: (IMPLIES (AND (NOT (EQUAL (L (P (P (P X)))) 0)) (EQUAL (L (SY-B2I 'YR1 (P X))) 0) (EQUAL (L (SY-B2I 'YR2 (P X))) 0) (EQUAL (REMAINDER (LEN (P X)) 4) 1) (EQUAL (L (SY-B2I 'YR3 (P X))) 0) (NOT (EMPTY X)) (EQUAL (L X) 1) (S-BITP (P X))) (NOT (EMPTY (P X)))). But this further simplifies, unfolding the definitions of EQUAL, SY-B2I, and L, to: T. Case 18.7. (IMPLIES (AND (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 3)) (NOT (EQUAL (L (P (P (P X)))) 0)) (EQUAL (L (SY-B2I 'YR1 (P X))) 0) (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 2)) (EQUAL (L (SY-B2I 'YR2 (P X))) 0) (EQUAL (REMAINDER (LEN (P X)) 4) 1) (EQUAL (L (SY-B2I 'YR3 (P X))) 0) (NOT (EMPTY X)) (EQUAL (L X) 0) (S-BITP (P X))) (NOT (EMPTY (P X)))), which again simplifies, unfolding EQUAL, to: (IMPLIES (AND (NOT (EQUAL (L (P (P (P X)))) 0)) (EQUAL (L (SY-B2I 'YR1 (P X))) 0) (EQUAL (L (SY-B2I 'YR2 (P X))) 0) (EQUAL (REMAINDER (LEN (P X)) 4) 1) (EQUAL (L (SY-B2I 'YR3 (P X))) 0) (NOT (EMPTY X)) (EQUAL (L X) 0) (S-BITP (P X))) (NOT (EMPTY (P X)))). But this further simplifies, expanding the functions EQUAL, SY-B2I, and L, to: T. Case 18.6. (IMPLIES (AND (EQUAL (REMAINDER (LEN (P X)) 4) 2) (EQUAL (L (SY-B2I 'YR1 (P X))) 0) (EQUAL (L (SY-B2I 'YR2 (P X))) 1) (EQUAL (L (SY-B2I 'YR3 (P X))) 0) (NOT (EMPTY X)) (EQUAL (L X) 1) (S-BITP (P X)) (NOT (EMPTY (P X))) (NOT (EQUAL (L (P X)) 0))) (EQUAL 1 (L (P X)))), which further simplifies, rewriting with the lemmas ARI-REMAINDER-ADD1, A2-EMPTY-S-BOR, A2-EMPTY-S-BAND3, A2-EMPTY-S-BNOT, STR-L-I-E, A2-IC-S-BNOT, A2-LC-S-BNOT, A2-LC-S-BAND3, A2-EMPTY-SY-B2I, A2-LC-S-BOR, STR-L-I2, STR-L-I, A2-LP-SY-B2I, A2-LP-S-BOR, A2-LP-S-BAND3, A2-LP-S-BNOT, A2-IC-S-BAND3, and STR-NOT-EMPTY-I, and unfolding the definitions of LEN, EQUAL, SUB1, SY-B2I, S-BNOT, S-BAND3, EMPTY, BNOT, BAND3, BOR, BITP, and S-BITP, to: T. Case 18.5. (IMPLIES (AND (EQUAL (REMAINDER (LEN (P X)) 4) 2) (EQUAL (L (SY-B2I 'YR1 (P X))) 0) (EQUAL (L (SY-B2I 'YR2 (P X))) 1) (EQUAL (L (SY-B2I 'YR3 (P X))) 0) (NOT (EMPTY X)) (EQUAL (L X) 1) (S-BITP (P X)) (EMPTY (P X))) (EQUAL 0 (L (P X)))), which further simplifies, unfolding the definitions of LEN, REMAINDER, and EQUAL, to: T. Case 18.4. (IMPLIES (AND (EQUAL (REMAINDER (LEN (P X)) 4) 2) (EQUAL (L (SY-B2I 'YR1 (P X))) 0) (EQUAL (L (SY-B2I 'YR2 (P X))) 1) (EQUAL (L (SY-B2I 'YR3 (P X))) 0) (NOT (EMPTY X)) (EQUAL (L X) 1) (S-BITP (P X)) (EQUAL (L (P X)) 0)) (EQUAL 0 (L (P X)))), which again simplifies, clearly, to: T. Case 18.3. (IMPLIES (AND (EQUAL (REMAINDER (LEN (P X)) 4) 2) (EQUAL (L (SY-B2I 'YR1 (P X))) 0) (EQUAL (L (SY-B2I 'YR2 (P X))) 1) (EQUAL (L (SY-B2I 'YR3 (P X))) 0) (NOT (EMPTY X)) (EQUAL (L X) 0) (S-BITP (P X)) (NOT (EMPTY (P X))) (NOT (EQUAL (L (P X)) 0))) (EQUAL 1 (L (P X)))). But this further simplifies, rewriting with ARI-REMAINDER-ADD1, A2-EMPTY-S-BOR, A2-EMPTY-S-BAND3, A2-EMPTY-S-BNOT, STR-L-I-E, A2-IC-S-BNOT, A2-LC-S-BNOT, A2-LC-S-BAND3, A2-EMPTY-SY-B2I, A2-LC-S-BOR, STR-L-I2, STR-L-I, A2-LP-SY-B2I, A2-LP-S-BOR, A2-LP-S-BAND3, A2-LP-S-BNOT, A2-IC-S-BAND3, and STR-NOT-EMPTY-I, and unfolding the definitions of LEN, EQUAL, SUB1, SY-B2I, S-BNOT, S-BAND3, EMPTY, BNOT, BAND3, BOR, BITP, and S-BITP, to: T. Case 18.2. (IMPLIES (AND (EQUAL (REMAINDER (LEN (P X)) 4) 2) (EQUAL (L (SY-B2I 'YR1 (P X))) 0) (EQUAL (L (SY-B2I 'YR2 (P X))) 1) (EQUAL (L (SY-B2I 'YR3 (P X))) 0) (NOT (EMPTY X)) (EQUAL (L X) 0) (S-BITP (P X)) (EMPTY (P X))) (EQUAL 0 (L (P X)))). This further simplifies, opening up LEN, REMAINDER, and EQUAL, to: T. Case 18.1. (IMPLIES (AND (EQUAL (REMAINDER (LEN (P X)) 4) 2) (EQUAL (L (SY-B2I 'YR1 (P X))) 0) (EQUAL (L (SY-B2I 'YR2 (P X))) 1) (EQUAL (L (SY-B2I 'YR3 (P X))) 0) (NOT (EMPTY X)) (EQUAL (L X) 0) (S-BITP (P X)) (EQUAL (L (P X)) 0)) (EQUAL 0 (L (P X)))), which again simplifies, trivially, to: T. Case 17.(IMPLIES (AND (NOT (EQUAL 'YR1 'YR1)) (EQUAL 'YR1 'YR2) (EMPTY (P X)) (NOT (EMPTY X)) (S-BITP X)) (EQUAL (L (SY-B2I 'YR2 X)) (CASE (REMAINDER (LEN X) 4) (1 0) (2 1) (3 (L (P X))) (OTHERWISE 0)))). This simplifies, trivially, to: T. Case 16.(IMPLIES (AND (NOT (EQUAL 'YR1 'YR1)) (EQUAL 'YR1 'YR2) (NOT (S-BITP (P X))) (NOT (EMPTY X)) (S-BITP X)) (EQUAL (L (SY-B2I 'YR2 X)) (CASE (REMAINDER (LEN X) 4) (1 0) (2 1) (3 (L (P X))) (OTHERWISE 0)))). This simplifies, obviously, to: T. Case 15.(IMPLIES (AND (NOT (EQUAL 'YR1 'YR1)) (EQUAL 'YR1 'YR2) (EQUAL (L (SY-B2I 'YR1 (P X))) (CASE (REMAINDER (LEN (P X)) 4) (1 0) (2 0) (3 (BNOT (L (P (P X))))) (OTHERWISE (BAND (BNOT (L (P (P X)))) (BNOT (L (P (P (P X))))))))) (EQUAL (L (SY-B2I 'YR2 (P X))) (CASE (REMAINDER (LEN (P X)) 4) (1 0) (2 1) (3 (L (P (P X)))) (OTHERWISE 0))) (EQUAL (L (SY-B2I 'YR3 (P X))) (CASE (REMAINDER (LEN (P X)) 4) (1 0) (2 0) (3 1) (OTHERWISE (BOR (L (P (P (P X)))) (BAND (L (P (P X))) (BNOT (L (P (P (P X)))))))))) (NOT (EMPTY X)) (S-BITP X)) (EQUAL (L (SY-B2I 'YR2 X)) (CASE (REMAINDER (LEN X) 4) (1 0) (2 1) (3 (L (P X))) (OTHERWISE 0)))). This simplifies, trivially, to: T. Case 14.(IMPLIES (AND (NOT (EQUAL 'YR1 'YR1)) (NOT (EQUAL 'YR1 'YR2)) (EQUAL 'YR1 'YR3) (EMPTY (P X)) (NOT (EMPTY X)) (S-BITP X)) (EQUAL (L (SY-B2I 'YR2 X)) (CASE (REMAINDER (LEN X) 4) (1 0) (2 1) (3 (L (P X))) (OTHERWISE 0)))). This simplifies, obviously, to: T. Case 13.(IMPLIES (AND (NOT (EQUAL 'YR1 'YR1)) (NOT (EQUAL 'YR1 'YR2)) (EQUAL 'YR1 'YR3) (NOT (S-BITP (P X))) (NOT (EMPTY X)) (S-BITP X)) (EQUAL (L (SY-B2I 'YR2 X)) (CASE (REMAINDER (LEN X) 4) (1 0) (2 1) (3 (L (P X))) (OTHERWISE 0)))). This simplifies, trivially, to: T. Case 12.(IMPLIES (AND (NOT (EQUAL 'YR1 'YR1)) (NOT (EQUAL 'YR1 'YR2)) (EQUAL 'YR1 'YR3) (EQUAL (L (SY-B2I 'YR1 (P X))) (CASE (REMAINDER (LEN (P X)) 4) (1 0) (2 0) (3 (BNOT (L (P (P X))))) (OTHERWISE (BAND (BNOT (L (P (P X)))) (BNOT (L (P (P (P X))))))))) (EQUAL (L (SY-B2I 'YR2 (P X))) (CASE (REMAINDER (LEN (P X)) 4) (1 0) (2 1) (3 (L (P (P X)))) (OTHERWISE 0))) (EQUAL (L (SY-B2I 'YR3 (P X))) (CASE (REMAINDER (LEN (P X)) 4) (1 0) (2 0) (3 1) (OTHERWISE (BOR (L (P (P (P X)))) (BAND (L (P (P X))) (BNOT (L (P (P (P X)))))))))) (NOT (EMPTY X)) (S-BITP X)) (EQUAL (L (SY-B2I 'YR2 X)) (CASE (REMAINDER (LEN X) 4) (1 0) (2 1) (3 (L (P X))) (OTHERWISE 0)))). This simplifies, clearly, to: T. Case 11.(IMPLIES (AND (NOT (EQUAL 'YR1 'YR1)) (NOT (EQUAL 'YR1 'YR2)) (NOT (EQUAL 'YR1 'YR3)) (NOT (EMPTY X)) (S-BITP X)) (EQUAL (L (SY-B2I 'YR2 X)) (CASE (REMAINDER (LEN X) 4) (1 0) (2 1) (3 (L (P X))) (OTHERWISE 0)))). This simplifies, trivially, to: T. Case 10.(IMPLIES (AND (EQUAL 'YR1 'YR1) (EMPTY (P X)) (NOT (EMPTY X)) (S-BITP X)) (EQUAL (L (SY-B2I 'YR3 X)) (CASE (REMAINDER (LEN X) 4) (1 0) (2 0) (3 1) (OTHERWISE (BOR (L (P (P X))) (BAND (L (P X)) (BNOT (L (P (P X)))))))))). This simplifies, applying the lemmas A2-EMPTY-S-BOR, A2-EMPTY-SY-B2I, STR-L-I-E, and ARI-REMAINDER-ADD1, and unfolding the definitions of EQUAL, S-BITP, BITP, SY-B2I, LEN, SUB1, BNOT, BAND, and BOR, to the following ten new conjectures: Case 10.10. (IMPLIES (AND (EMPTY (P X)) (NOT (EMPTY X)) (EQUAL (L X) 1) (S-BITP (P X)) (EQUAL (REMAINDER (LEN (P X)) 4) 3)) (EQUAL (L (P (P X))) 0)). But this further simplifies, expanding S-BITP, LEN, REMAINDER, and EQUAL, to: T. Case 10.9. (IMPLIES (AND (EMPTY (P X)) (NOT (EMPTY X)) (EQUAL (L X) 1) (S-BITP (P X)) (EQUAL (REMAINDER (LEN (P X)) 4) 3)) (EQUAL (L (P X)) 0)), which further simplifies, unfolding the functions S-BITP, LEN, REMAINDER, and EQUAL, to: T. Case 10.8. (IMPLIES (AND (EMPTY (P X)) (NOT (EMPTY X)) (EQUAL (L X) 1) (S-BITP (P X)) (NOT (EQUAL (ADD1 (REMAINDER (LEN (P X)) 4)) 1)) (NOT (EQUAL (ADD1 (REMAINDER (LEN (P X)) 4)) 2))) (EQUAL (L (P X)) 0)), which again simplifies, applying ADD1-EQUAL, and unfolding NUMBERP, to the new goal: (IMPLIES (AND (EMPTY (P X)) (NOT (EMPTY X)) (EQUAL (L X) 1) (S-BITP (P X)) (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 0)) (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 1))) (EQUAL (L (P X)) 0)), which further simplifies, unfolding the definitions of S-BITP, LEN, REMAINDER, and EQUAL, to: T. Case 10.7. (IMPLIES (AND (EMPTY (P X)) (NOT (EMPTY X)) (EQUAL (L X) 1) (S-BITP (P X)) (NOT (EQUAL (ADD1 (REMAINDER (LEN (P X)) 4)) 1)) (NOT (EQUAL (ADD1 (REMAINDER (LEN (P X)) 4)) 2))) (EQUAL (L (P (P X))) 0)), which again simplifies, applying ADD1-EQUAL, and opening up the definition of NUMBERP, to: (IMPLIES (AND (EMPTY (P X)) (NOT (EMPTY X)) (EQUAL (L X) 1) (S-BITP (P X)) (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 0)) (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 1))) (EQUAL (L (P (P X))) 0)), which further simplifies, opening up S-BITP, LEN, REMAINDER, and EQUAL, to: T. Case 10.6. (IMPLIES (AND (EMPTY (P X)) (NOT (EMPTY X)) (EQUAL (L X) 1) (S-BITP (P X)) (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 3)) (NOT (EQUAL (ADD1 (REMAINDER (LEN (P X)) 4)) 1)) (NOT (EQUAL (ADD1 (REMAINDER (LEN (P X)) 4)) 2))) (NOT (EQUAL (ADD1 (REMAINDER (LEN (P X)) 4)) 3))), which again simplifies, appealing to the lemma ADD1-EQUAL, and opening up the definitions of EQUAL and NUMBERP, to: (IMPLIES (AND (EMPTY (P X)) (NOT (EMPTY X)) (EQUAL (L X) 1) (S-BITP (P X)) (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 3))) (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 2))). This again simplifies, opening up the function EQUAL, to: (IMPLIES (AND (EMPTY (P X)) (NOT (EMPTY X)) (EQUAL (L X) 1) (S-BITP (P X))) (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 2))). But this further simplifies, opening up the definitions of S-BITP, LEN, REMAINDER, and EQUAL, to: T. Case 10.5. (IMPLIES (AND (EMPTY (P X)) (NOT (EMPTY X)) (EQUAL (L X) 0) (S-BITP (P X)) (EQUAL (REMAINDER (LEN (P X)) 4) 3)) (EQUAL (L (P (P X))) 0)), which further simplifies, unfolding the definitions of S-BITP, LEN, REMAINDER, and EQUAL, to: T. Case 10.4. (IMPLIES (AND (EMPTY (P X)) (NOT (EMPTY X)) (EQUAL (L X) 0) (S-BITP (P X)) (EQUAL (REMAINDER (LEN (P X)) 4) 3)) (EQUAL (L (P X)) 0)), which further simplifies, unfolding S-BITP, LEN, REMAINDER, and EQUAL, to: T. Case 10.3. (IMPLIES (AND (EMPTY (P X)) (NOT (EMPTY X)) (EQUAL (L X) 0) (S-BITP (P X)) (NOT (EQUAL (ADD1 (REMAINDER (LEN (P X)) 4)) 1)) (NOT (EQUAL (ADD1 (REMAINDER (LEN (P X)) 4)) 2))) (EQUAL (L (P X)) 0)), which again simplifies, applying ADD1-EQUAL, and opening up the function NUMBERP, to the new conjecture: (IMPLIES (AND (EMPTY (P X)) (NOT (EMPTY X)) (EQUAL (L X) 0) (S-BITP (P X)) (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 0)) (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 1))) (EQUAL (L (P X)) 0)), which further simplifies, unfolding S-BITP, LEN, REMAINDER, and EQUAL, to: T. Case 10.2. (IMPLIES (AND (EMPTY (P X)) (NOT (EMPTY X)) (EQUAL (L X) 0) (S-BITP (P X)) (NOT (EQUAL (ADD1 (REMAINDER (LEN (P X)) 4)) 1)) (NOT (EQUAL (ADD1 (REMAINDER (LEN (P X)) 4)) 2))) (EQUAL (L (P (P X))) 0)), which again simplifies, applying ADD1-EQUAL, and expanding the function NUMBERP, to the new goal: (IMPLIES (AND (EMPTY (P X)) (NOT (EMPTY X)) (EQUAL (L X) 0) (S-BITP (P X)) (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 0)) (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 1))) (EQUAL (L (P (P X))) 0)), which further simplifies, opening up S-BITP, LEN, REMAINDER, and EQUAL, to: T. Case 10.1. (IMPLIES (AND (EMPTY (P X)) (NOT (EMPTY X)) (EQUAL (L X) 0) (S-BITP (P X)) (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 3)) (NOT (EQUAL (ADD1 (REMAINDER (LEN (P X)) 4)) 1)) (NOT (EQUAL (ADD1 (REMAINDER (LEN (P X)) 4)) 2))) (NOT (EQUAL (ADD1 (REMAINDER (LEN (P X)) 4)) 3))), which again simplifies, applying the lemma ADD1-EQUAL, and opening up EQUAL and NUMBERP, to the formula: (IMPLIES (AND (EMPTY (P X)) (NOT (EMPTY X)) (EQUAL (L X) 0) (S-BITP (P X)) (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 3))) (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 2))). However this again simplifies, unfolding the definition of EQUAL, to the formula: (IMPLIES (AND (EMPTY (P X)) (NOT (EMPTY X)) (EQUAL (L X) 0) (S-BITP (P X))) (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 2))). This further simplifies, unfolding the definitions of S-BITP, LEN, REMAINDER, and EQUAL, to: T. Case 9. (IMPLIES (AND (EQUAL 'YR1 'YR1) (NOT (S-BITP (P X))) (NOT (EMPTY X)) (S-BITP X)) (EQUAL (L (SY-B2I 'YR3 X)) (CASE (REMAINDER (LEN X) 4) (1 0) (2 0) (3 1) (OTHERWISE (BOR (L (P (P X))) (BAND (L (P X)) (BNOT (L (P (P X)))))))))), which simplifies, expanding the definitions of EQUAL, S-BITP, and BITP, to: T. Case 8. (IMPLIES (AND (EQUAL 'YR1 'YR1) (EQUAL (L (SY-B2I 'YR1 (P X))) (CASE (REMAINDER (LEN (P X)) 4) (1 0) (2 0) (3 (BNOT (L (P (P X))))) (OTHERWISE (BAND (BNOT (L (P (P X)))) (BNOT (L (P (P (P X))))))))) (EQUAL (L (SY-B2I 'YR2 (P X))) (CASE (REMAINDER (LEN (P X)) 4) (1 0) (2 1) (3 (L (P (P X)))) (OTHERWISE 0))) (EQUAL (L (SY-B2I 'YR3 (P X))) (CASE (REMAINDER (LEN (P X)) 4) (1 0) (2 0) (3 1) (OTHERWISE (BOR (L (P (P (P X)))) (BAND (L (P (P X))) (BNOT (L (P (P (P X)))))))))) (NOT (EMPTY X)) (S-BITP X)) (EQUAL (L (SY-B2I 'YR3 X)) (CASE (REMAINDER (LEN X) 4) (1 0) (2 0) (3 1) (OTHERWISE (BOR (L (P (P X))) (BAND (L (P X)) (BNOT (L (P (P X)))))))))), which simplifies, applying A2-EMPTY-SY-B2I, A2-EMPTY-S-BOR, A2-LC-S-BAND3, A2-LC-S-BOR, STR-L-I2, ARI-REMAINDER-ADD1, and ADD1-EQUAL, and expanding the functions EQUAL, BNOT, BAND, S-BITP, BITP, SY-B2I, BAND3, BOR, LEN, SUB1, ADD1, and NUMBERP, to the following 20 new conjectures: Case 8.20. (IMPLIES (AND (NOT (EQUAL (L (P (P X))) 0)) (EQUAL (L (SY-B2I 'YR1 (P X))) 0) (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 1)) (EQUAL (REMAINDER (LEN (P X)) 4) 2) (EQUAL (L (SY-B2I 'YR2 (P X))) 1) (EQUAL (L (SY-B2I 'YR3 (P X))) 0) (NOT (EMPTY X)) (EQUAL (L X) 1) (S-BITP (P X))) (NOT (EMPTY (P X)))). But this again simplifies, unfolding the function EQUAL, to: (IMPLIES (AND (NOT (EQUAL (L (P (P X))) 0)) (EQUAL (L (SY-B2I 'YR1 (P X))) 0) (EQUAL (REMAINDER (LEN (P X)) 4) 2) (EQUAL (L (SY-B2I 'YR2 (P X))) 1) (EQUAL (L (SY-B2I 'YR3 (P X))) 0) (NOT (EMPTY X)) (EQUAL (L X) 1) (S-BITP (P X))) (NOT (EMPTY (P X)))). But this further simplifies, opening up EQUAL, SY-B2I, and L, to: T. Case 8.19. (IMPLIES (AND (NOT (EQUAL (L (P (P X))) 0)) (EQUAL (L (SY-B2I 'YR1 (P X))) 0) (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 1)) (EQUAL (REMAINDER (LEN (P X)) 4) 2) (EQUAL (L (SY-B2I 'YR2 (P X))) 1) (EQUAL (L (SY-B2I 'YR3 (P X))) 0) (NOT (EMPTY X)) (EQUAL (L X) 0) (S-BITP (P X))) (NOT (EMPTY (P X)))), which again simplifies, unfolding the definition of EQUAL, to: (IMPLIES (AND (NOT (EQUAL (L (P (P X))) 0)) (EQUAL (L (SY-B2I 'YR1 (P X))) 0) (EQUAL (REMAINDER (LEN (P X)) 4) 2) (EQUAL (L (SY-B2I 'YR2 (P X))) 1) (EQUAL (L (SY-B2I 'YR3 (P X))) 0) (NOT (EMPTY X)) (EQUAL (L X) 0) (S-BITP (P X))) (NOT (EMPTY (P X)))). But this further simplifies, unfolding EQUAL, SY-B2I, and L, to: T. Case 8.18. (IMPLIES (AND (NOT (EQUAL (L (P (P X))) 0)) (EQUAL (L (SY-B2I 'YR1 (P X))) 0) (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 2)) (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 3)) (EQUAL (L (SY-B2I 'YR2 (P X))) 0) (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 1)) (EQUAL (L (SY-B2I 'YR3 (P X))) 1) (NOT (EMPTY X)) (EQUAL (L X) 1) (S-BITP (P X))) (EQUAL (REMAINDER (LEN (P X)) 4) 0)), which again simplifies, using linear arithmetic, applying ARI-LESSP-REMAINDER, and expanding the function EQUAL, to: T. Case 8.17. (IMPLIES (AND (NOT (EQUAL (L (P (P X))) 0)) (EQUAL (L (SY-B2I 'YR1 (P X))) 0) (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 2)) (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 3)) (EQUAL (L (SY-B2I 'YR2 (P X))) 0) (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 1)) (EQUAL (L (SY-B2I 'YR3 (P X))) 1) (NOT (EMPTY X)) (EQUAL (L X) 0) (S-BITP (P X))) (EQUAL (REMAINDER (LEN (P X)) 4) 0)). However this again simplifies, using linear arithmetic, applying ARI-LESSP-REMAINDER, and unfolding EQUAL, to: T. Case 8.16. (IMPLIES (AND (NOT (EQUAL (L (P (P X))) 0)) (EQUAL (L (SY-B2I 'YR1 (P X))) 0) (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 1)) (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 2)) (EQUAL (REMAINDER (LEN (P X)) 4) 3) (EQUAL (L (SY-B2I 'YR2 (P X))) (L (P (P X)))) (EQUAL (L (SY-B2I 'YR3 (P X))) 1) (NOT (EMPTY X)) (EQUAL (L X) 1) (S-BITP (P X))) (NOT (EMPTY (P X)))). This again simplifies, opening up the function EQUAL, to: (IMPLIES (AND (NOT (EQUAL (L (P (P X))) 0)) (EQUAL (L (SY-B2I 'YR1 (P X))) 0) (EQUAL (REMAINDER (LEN (P X)) 4) 3) (EQUAL (L (SY-B2I 'YR2 (P X))) (L (P (P X)))) (EQUAL (L (SY-B2I 'YR3 (P X))) 1) (NOT (EMPTY X)) (EQUAL (L X) 1) (S-BITP (P X))) (NOT (EMPTY (P X)))). However this further simplifies, expanding the functions EQUAL, SY-B2I, and L, to: T. Case 8.15. (IMPLIES (AND (NOT (EQUAL (L (P (P X))) 0)) (EQUAL (L (SY-B2I 'YR1 (P X))) 0) (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 1)) (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 2)) (EQUAL (REMAINDER (LEN (P X)) 4) 3) (EQUAL (L (SY-B2I 'YR2 (P X))) (L (P (P X)))) (EQUAL (L (SY-B2I 'YR3 (P X))) 1) (NOT (EMPTY X)) (EQUAL (L X) 0) (S-BITP (P X))) (NOT (EMPTY (P X)))), which again simplifies, opening up the function EQUAL, to: (IMPLIES (AND (NOT (EQUAL (L (P (P X))) 0)) (EQUAL (L (SY-B2I 'YR1 (P X))) 0) (EQUAL (REMAINDER (LEN (P X)) 4) 3) (EQUAL (L (SY-B2I 'YR2 (P X))) (L (P (P X)))) (EQUAL (L (SY-B2I 'YR3 (P X))) 1) (NOT (EMPTY X)) (EQUAL (L X) 0) (S-BITP (P X))) (NOT (EMPTY (P X)))). However this further simplifies, unfolding the definitions of EQUAL, SY-B2I, and L, to: T. Case 8.14. (IMPLIES (AND (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 3)) (NOT (EQUAL (L (P (P (P X)))) 0)) (EQUAL (L (SY-B2I 'YR1 (P X))) 0) (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 1)) (EQUAL (REMAINDER (LEN (P X)) 4) 2) (EQUAL (L (SY-B2I 'YR2 (P X))) 1) (EQUAL (L (SY-B2I 'YR3 (P X))) 0) (NOT (EMPTY X)) (EQUAL (L X) 1) (S-BITP (P X))) (NOT (EMPTY (P X)))), which again simplifies, expanding EQUAL, to the formula: (IMPLIES (AND (NOT (EQUAL (L (P (P (P X)))) 0)) (EQUAL (L (SY-B2I 'YR1 (P X))) 0) (EQUAL (REMAINDER (LEN (P X)) 4) 2) (EQUAL (L (SY-B2I 'YR2 (P X))) 1) (EQUAL (L (SY-B2I 'YR3 (P X))) 0) (NOT (EMPTY X)) (EQUAL (L X) 1) (S-BITP (P X))) (NOT (EMPTY (P X)))). This further simplifies, opening up EQUAL, SY-B2I, and L, to: T. Case 8.13. (IMPLIES (AND (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 3)) (NOT (EQUAL (L (P (P (P X)))) 0)) (EQUAL (L (SY-B2I 'YR1 (P X))) 0) (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 1)) (EQUAL (REMAINDER (LEN (P X)) 4) 2) (EQUAL (L (SY-B2I 'YR2 (P X))) 1) (EQUAL (L (SY-B2I 'YR3 (P X))) 0) (NOT (EMPTY X)) (EQUAL (L X) 0) (S-BITP (P X))) (NOT (EMPTY (P X)))), which again simplifies, unfolding the function EQUAL, to the conjecture: (IMPLIES (AND (NOT (EQUAL (L (P (P (P X)))) 0)) (EQUAL (L (SY-B2I 'YR1 (P X))) 0) (EQUAL (REMAINDER (LEN (P X)) 4) 2) (EQUAL (L (SY-B2I 'YR2 (P X))) 1) (EQUAL (L (SY-B2I 'YR3 (P X))) 0) (NOT (EMPTY X)) (EQUAL (L X) 0) (S-BITP (P X))) (NOT (EMPTY (P X)))). But this further simplifies, unfolding the definitions of EQUAL, SY-B2I, and L, to: T. Case 8.12. (IMPLIES (AND (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 3)) (NOT (EQUAL (L (P (P (P X)))) 0)) (EQUAL (L (SY-B2I 'YR1 (P X))) 0) (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 2)) (EQUAL (L (SY-B2I 'YR2 (P X))) 0) (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 1)) (EQUAL (L (SY-B2I 'YR3 (P X))) 1) (NOT (EMPTY X)) (EQUAL (L X) 1) (S-BITP (P X)) (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 0))) (EQUAL (L (P X)) 0)), which again simplifies, using linear arithmetic, appealing to the lemma ARI-LESSP-REMAINDER, and expanding EQUAL, to: T. Case 8.11. (IMPLIES (AND (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 3)) (NOT (EQUAL (L (P (P (P X)))) 0)) (EQUAL (L (SY-B2I 'YR1 (P X))) 0) (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 2)) (EQUAL (L (SY-B2I 'YR2 (P X))) 0) (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 1)) (EQUAL (L (SY-B2I 'YR3 (P X))) 1) (NOT (EMPTY X)) (EQUAL (L X) 1) (S-BITP (P X)) (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 0))) (EQUAL (L (P (P X))) 0)), which again simplifies, using linear arithmetic, applying ARI-LESSP-REMAINDER, and unfolding EQUAL, to: T. Case 8.10. (IMPLIES (AND (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 3)) (NOT (EQUAL (L (P (P (P X)))) 0)) (EQUAL (L (SY-B2I 'YR1 (P X))) 0) (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 2)) (EQUAL (L (SY-B2I 'YR2 (P X))) 0) (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 1)) (EQUAL (L (SY-B2I 'YR3 (P X))) 1) (NOT (EMPTY X)) (EQUAL (L X) 0) (S-BITP (P X)) (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 0))) (EQUAL (L (P X)) 0)). But this again simplifies, using linear arithmetic, appealing to the lemma ARI-LESSP-REMAINDER, and expanding the definition of EQUAL, to: T. Case 8.9. (IMPLIES (AND (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 3)) (NOT (EQUAL (L (P (P (P X)))) 0)) (EQUAL (L (SY-B2I 'YR1 (P X))) 0) (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 2)) (EQUAL (L (SY-B2I 'YR2 (P X))) 0) (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 1)) (EQUAL (L (SY-B2I 'YR3 (P X))) 1) (NOT (EMPTY X)) (EQUAL (L X) 0) (S-BITP (P X)) (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 0))) (EQUAL (L (P (P X))) 0)), which again simplifies, using linear arithmetic, rewriting with ARI-LESSP-REMAINDER, and expanding the function EQUAL, to: T. Case 8.8. (IMPLIES (AND (EQUAL (REMAINDER (LEN (P X)) 4) 2) (EQUAL (L (SY-B2I 'YR1 (P X))) 0) (EQUAL (L (SY-B2I 'YR2 (P X))) 1) (EQUAL (L (SY-B2I 'YR3 (P X))) 0) (NOT (EMPTY X)) (EQUAL (L X) 1) (S-BITP (P X))) (NOT (EMPTY (P X)))). This further simplifies, opening up the functions LEN, REMAINDER, and EQUAL, to: T. Case 8.7. (IMPLIES (AND (EQUAL (REMAINDER (LEN (P X)) 4) 2) (EQUAL (L (SY-B2I 'YR1 (P X))) 0) (EQUAL (L (SY-B2I 'YR2 (P X))) 1) (EQUAL (L (SY-B2I 'YR3 (P X))) 0) (NOT (EMPTY X)) (EQUAL (L X) 0) (S-BITP (P X))) (NOT (EMPTY (P X)))), which further simplifies, unfolding LEN, REMAINDER, and EQUAL, to: T. Case 8.6. (IMPLIES (AND (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 1)) (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 2)) (EQUAL (REMAINDER (LEN (P X)) 4) 3) (EQUAL (L (P (P X))) 0) (EQUAL (L (SY-B2I 'YR1 (P X))) 1) (EQUAL (L (SY-B2I 'YR2 (P X))) 0) (EQUAL (L (SY-B2I 'YR3 (P X))) 1) (NOT (EMPTY X)) (EQUAL (L X) 1) (S-BITP (P X)) (NOT (EQUAL (L (P X)) 0))) (NOT (EMPTY (P X)))), which again simplifies, opening up EQUAL, to the formula: (IMPLIES (AND (EQUAL (REMAINDER (LEN (P X)) 4) 3) (EQUAL (L (P (P X))) 0) (EQUAL (L (SY-B2I 'YR1 (P X))) 1) (EQUAL (L (SY-B2I 'YR2 (P X))) 0) (EQUAL (L (SY-B2I 'YR3 (P X))) 1) (NOT (EMPTY X)) (EQUAL (L X) 1) (S-BITP (P X)) (NOT (EQUAL (L (P X)) 0))) (NOT (EMPTY (P X)))). This further simplifies, unfolding the functions LEN, REMAINDER, and EQUAL, to: T. Case 8.5. (IMPLIES (AND (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 1)) (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 2)) (EQUAL (REMAINDER (LEN (P X)) 4) 3) (EQUAL (L (P (P X))) 0) (EQUAL (L (SY-B2I 'YR1 (P X))) 1) (EQUAL (L (SY-B2I 'YR2 (P X))) 0) (EQUAL (L (SY-B2I 'YR3 (P X))) 1) (NOT (EMPTY X)) (EQUAL (L X) 0) (S-BITP (P X)) (NOT (EQUAL (L (P X)) 0))) (NOT (EMPTY (P X)))), which again simplifies, expanding EQUAL, to: (IMPLIES (AND (EQUAL (REMAINDER (LEN (P X)) 4) 3) (EQUAL (L (P (P X))) 0) (EQUAL (L (SY-B2I 'YR1 (P X))) 1) (EQUAL (L (SY-B2I 'YR2 (P X))) 0) (EQUAL (L (SY-B2I 'YR3 (P X))) 1) (NOT (EMPTY X)) (EQUAL (L X) 0) (S-BITP (P X)) (NOT (EQUAL (L (P X)) 0))) (NOT (EMPTY (P X)))). However this further simplifies, unfolding the definitions of LEN, REMAINDER, and EQUAL, to: T. Case 8.4. (IMPLIES (AND (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 1)) (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 2)) (EQUAL (L (P (P X))) 0) (EQUAL (L (P (P (P X)))) 0) (EQUAL (L (SY-B2I 'YR1 (P X))) 1) (EQUAL (L (SY-B2I 'YR2 (P X))) 0) (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 3)) (EQUAL (L (SY-B2I 'YR3 (P X))) 0) (NOT (EMPTY X)) (EQUAL (L X) 1) (S-BITP (P X)) (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 0))) (EQUAL (L (P X)) 0)), which again simplifies, using linear arithmetic, applying ARI-LESSP-REMAINDER, and expanding EQUAL, to: T. Case 8.3. (IMPLIES (AND (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 1)) (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 2)) (EQUAL (L (P (P X))) 0) (EQUAL (L (P (P (P X)))) 0) (EQUAL (L (SY-B2I 'YR1 (P X))) 1) (EQUAL (L (SY-B2I 'YR2 (P X))) 0) (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 3)) (EQUAL (L (SY-B2I 'YR3 (P X))) 0) (NOT (EMPTY X)) (EQUAL (L X) 0) (S-BITP (P X)) (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 0))) (EQUAL (L (P X)) 0)). However this again simplifies, using linear arithmetic, applying ARI-LESSP-REMAINDER, and opening up EQUAL, to: T. Case 8.2. (IMPLIES (AND (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 1)) (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 2)) (EQUAL (L (P (P X))) 0) (EQUAL (L (P (P (P X)))) 0) (EQUAL (L (SY-B2I 'YR1 (P X))) 1) (EQUAL (L (SY-B2I 'YR2 (P X))) 0) (EQUAL (REMAINDER (LEN (P X)) 4) 3) (EQUAL (L (SY-B2I 'YR3 (P X))) 1) (NOT (EMPTY X)) (EQUAL (L X) 1) (S-BITP (P X)) (NOT (EQUAL (L (P X)) 0))) (NOT (EMPTY (P X)))). But this again simplifies, unfolding EQUAL, to: (IMPLIES (AND (EQUAL (L (P (P X))) 0) (EQUAL (L (P (P (P X)))) 0) (EQUAL (L (SY-B2I 'YR1 (P X))) 1) (EQUAL (L (SY-B2I 'YR2 (P X))) 0) (EQUAL (REMAINDER (LEN (P X)) 4) 3) (EQUAL (L (SY-B2I 'YR3 (P X))) 1) (NOT (EMPTY X)) (EQUAL (L X) 1) (S-BITP (P X)) (NOT (EQUAL (L (P X)) 0))) (NOT (EMPTY (P X)))). But this further simplifies, unfolding the definitions of EQUAL, SY-B2I, and L, to: T. Case 8.1. (IMPLIES (AND (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 1)) (NOT (EQUAL (REMAINDER (LEN (P X)) 4) 2)) (EQUAL (L (P (P X))) 0) (EQUAL (L (P (P (P X)))) 0) (EQUAL (L (SY-B2I 'YR1 (P X))) 1) (EQUAL (L (SY-B2I 'YR2 (P X))) 0) (EQUAL (REMAINDER (LEN (P X)) 4) 3) (EQUAL (L (SY-B2I 'YR3 (P X))) 1) (NOT (EMPTY X)) (EQUAL (L X) 0) (S-BITP (P X)) (NOT (EQUAL (L (P X)) 0))) (NOT (EMPTY (P X)))), which again simplifies, expanding EQUAL, to: (IMPLIES (AND (EQUAL (L (P (P X))) 0) (EQUAL (L (P (P (P X)))) 0) (EQUAL (L (SY-B2I 'YR1 (P X))) 1) (EQUAL (L (SY-B2I 'YR2 (P X))) 0) (EQUAL (REMAINDER (LEN (P X)) 4) 3) (EQUAL (L (SY-B2I 'YR3 (P X))) 1) (NOT (EMPTY X)) (EQUAL (L X) 0) (S-BITP (P X)) (NOT (EQUAL (L (P X)) 0))) (NOT (EMPTY (P X)))). But this further simplifies, opening up the definitions of EQUAL, SY-B2I, and L, to: T. Case 7. (IMPLIES (AND (NOT (EQUAL 'YR1 'YR1)) (EQUAL 'YR1 'YR2) (EMPTY (P X)) (NOT (EMPTY X)) (S-BITP X)) (EQUAL (L (SY-B2I 'YR3 X)) (CASE (REMAINDER (LEN X) 4) (1 0) (2 0) (3 1) (OTHERWISE (BOR (L (P (P X))) (BAND (L (P X)) (BNOT (L (P (P X)))))))))), which simplifies, obviously, to: T. Case 6. (IMPLIES (AND (NOT (EQUAL 'YR1 'YR1)) (EQUAL 'YR1 'YR2) (NOT (S-BITP (P X))) (NOT (EMPTY X)) (S-BITP X)) (EQUAL (L (SY-B2I 'YR3 X)) (CASE (REMAINDER (LEN X) 4) (1 0) (2 0) (3 1) (OTHERWISE (BOR (L (P (P X))) (BAND (L (P X)) (BNOT (L (P (P X)))))))))). This simplifies, trivially, to: T. Case 5. (IMPLIES (AND (NOT (EQUAL 'YR1 'YR1)) (EQUAL 'YR1 'YR2) (EQUAL (L (SY-B2I 'YR1 (P X))) (CASE (REMAINDER (LEN (P X)) 4) (1 0) (2 0) (3 (BNOT (L (P (P X))))) (OTHERWISE (BAND (BNOT (L (P (P X)))) (BNOT (L (P (P (P X))))))))) (EQUAL (L (SY-B2I 'YR2 (P X))) (CASE (REMAINDER (LEN (P X)) 4) (1 0) (2 1) (3 (L (P (P X)))) (OTHERWISE 0))) (EQUAL (L (SY-B2I 'YR3 (P X))) (CASE (REMAINDER (LEN (P X)) 4) (1 0) (2 0) (3 1) (OTHERWISE (BOR (L (P (P (P X)))) (BAND (L (P (P X))) (BNOT (L (P (P (P X)))))))))) (NOT (EMPTY X)) (S-BITP X)) (EQUAL (L (SY-B2I 'YR3 X)) (CASE (REMAINDER (LEN X) 4) (1 0) (2 0) (3 1) (OTHERWISE (BOR (L (P (P X))) (BAND (L (P X)) (BNOT (L (P (P X)))))))))). This simplifies, clearly, to: T. Case 4. (IMPLIES (AND (NOT (EQUAL 'YR1 'YR1)) (NOT (EQUAL 'YR1 'YR2)) (EQUAL 'YR1 'YR3) (EMPTY (P X)) (NOT (EMPTY X)) (S-BITP X)) (EQUAL (L (SY-B2I 'YR3 X)) (CASE (REMAINDER (LEN X) 4) (1 0) (2 0) (3 1) (OTHERWISE (BOR (L (P (P X))) (BAND (L (P X)) (BNOT (L (P (P X)))))))))). This simplifies, clearly, to: T. Case 3. (IMPLIES (AND (NOT (EQUAL 'YR1 'YR1)) (NOT (EQUAL 'YR1 'YR2)) (EQUAL 'YR1 'YR3) (NOT (S-BITP (P X))) (NOT (EMPTY X)) (S-BITP X)) (EQUAL (L (SY-B2I 'YR3 X)) (CASE (REMAINDER (LEN X) 4) (1 0) (2 0) (3 1) (OTHERWISE (BOR (L (P (P X))) (BAND (L (P X)) (BNOT (L (P (P X)))))))))). This simplifies, obviously, to: T. Case 2. (IMPLIES (AND (NOT (EQUAL 'YR1 'YR1)) (NOT (EQUAL 'YR1 'YR2)) (EQUAL 'YR1 'YR3) (EQUAL (L (SY-B2I 'YR1 (P X))) (CASE (REMAINDER (LEN (P X)) 4) (1 0) (2 0) (3 (BNOT (L (P (P X))))) (OTHERWISE (BAND (BNOT (L (P (P X)))) (BNOT (L (P (P (P X))))))))) (EQUAL (L (SY-B2I 'YR2 (P X))) (CASE (REMAINDER (LEN (P X)) 4) (1 0) (2 1) (3 (L (P (P X)))) (OTHERWISE 0))) (EQUAL (L (SY-B2I 'YR3 (P X))) (CASE (REMAINDER (LEN (P X)) 4) (1 0) (2 0) (3 1) (OTHERWISE (BOR (L (P (P (P X)))) (BAND (L (P (P X))) (BNOT (L (P (P (P X)))))))))) (NOT (EMPTY X)) (S-BITP X)) (EQUAL (L (SY-B2I 'YR3 X)) (CASE (REMAINDER (LEN X) 4) (1 0) (2 0) (3 1) (OTHERWISE (BOR (L (P (P X))) (BAND (L (P X)) (BNOT (L (P (P X)))))))))). This simplifies, obviously, to: T. Case 1. (IMPLIES (AND (NOT (EQUAL 'YR1 'YR1)) (NOT (EQUAL 'YR1 'YR2)) (NOT (EQUAL 'YR1 'YR3)) (NOT (EMPTY X)) (S-BITP X)) (EQUAL (L (SY-B2I 'YR3 X)) (CASE (REMAINDER (LEN X) 4) (1 0) (2 0) (3 1) (OTHERWISE (BOR (L (P (P X))) (BAND (L (P X)) (BNOT (L (P (P X)))))))))). This simplifies, clearly, to: T. That finishes the proof of *1. Q.E.D. [ 0.0 5.3 0.2 ] BCDSBI-PAILLET-R-CORRECT (PROVE-LEMMA BCDSBI-PAILLET-YOUT-CORRECT (REWRITE) (IMPLIES (AND (NOT (EMPTY X)) (S-BITP X)) (EQUAL (L (SY-BCDSBI 'YOUT X)) (IF (EQUAL (REMAINDER (LEN X) 4) 0) (BOBI (BCD-BITS (L X) (L (P X)) (L (P (P X))) (L (P (P (P X)))))) 1))) ((DISABLE SY-B2I SY-BCDSBI S-BAND4 S-BNOT LEN REMAINDER S-BITP))) This formula simplifies, rewriting with BCDSBI-EQ-YOUT, A2-EMPTY-S-BAND4, A2-EMPTY-SY-B2I, BCDSBI-PAILLET-R-CORRECT, A2-LC-S-BNOT, and A2-LC-S-BAND4, and unfolding BNOT, BAND, BOR, BAND4, BCD-BITS, and BOBI, to eight new goals: Case 8. (IMPLIES (AND (NOT (EMPTY X)) (S-BITP X) (EQUAL (REMAINDER (LEN X) 4) 0) (NOT (EQUAL (L X) 0)) (NOT (EQUAL (L (P X)) 0))) (NOT (EQUAL (REMAINDER (LEN X) 4) 1))), which again simplifies, using linear arithmetic, to: T. Case 7. (IMPLIES (AND (NOT (EMPTY X)) (S-BITP X) (EQUAL (REMAINDER (LEN X) 4) 0) (NOT (EQUAL (L X) 0)) (NOT (EQUAL (L (P X)) 0))) (NOT (EQUAL (REMAINDER (LEN X) 4) 3))), which again simplifies, using linear arithmetic, to: T. Case 6. (IMPLIES (AND (NOT (EMPTY X)) (S-BITP X) (EQUAL (REMAINDER (LEN X) 4) 0) (NOT (EQUAL (L X) 0)) (NOT (EQUAL (L (P X)) 0))) (NOT (EQUAL (REMAINDER (LEN X) 4) 2))), which again simplifies, using linear arithmetic, to: T. Case 5. (IMPLIES (AND (NOT (EMPTY X)) (S-BITP X) (EQUAL (REMAINDER (LEN X) 4) 0) (NOT (EQUAL (L X) 0)) (NOT (EQUAL (L (P (P X))) 0))) (NOT (EQUAL (REMAINDER (LEN X) 4) 1))), which again simplifies, using linear arithmetic, to: T. Case 4. (IMPLIES (AND (NOT (EMPTY X)) (S-BITP X) (EQUAL (REMAINDER (LEN X) 4) 0) (NOT (EQUAL (L X) 0)) (NOT (EQUAL (L (P (P X))) 0))) (NOT (EQUAL (REMAINDER (LEN X) 4) 3))), which again simplifies, using linear arithmetic, to: T. Case 3. (IMPLIES (AND (NOT (EMPTY X)) (S-BITP X) (EQUAL (REMAINDER (LEN X) 4) 0) (NOT (EQUAL (L X) 0)) (NOT (EQUAL (L (P (P X))) 0))) (NOT (EQUAL (REMAINDER (LEN X) 4) 2))), which again simplifies, using linear arithmetic, to: T. Case 2. (IMPLIES (AND (NOT (EMPTY X)) (S-BITP X) (NOT (EQUAL (REMAINDER (LEN X) 4) 0)) (NOT (EQUAL (L X) 0)) (NOT (EQUAL (REMAINDER (LEN X) 4) 1)) (NOT (EQUAL (REMAINDER (LEN X) 4) 2)) (NOT (EQUAL (REMAINDER (LEN X) 4) 3))) (EQUAL (L (P (P X))) 0)), which again simplifies, using linear arithmetic, rewriting with the lemma ARI-LESSP-REMAINDER, and unfolding EQUAL, to: T. Case 1. (IMPLIES (AND (NOT (EMPTY X)) (S-BITP X) (NOT (EQUAL (REMAINDER (LEN X) 4) 0)) (NOT (EQUAL (L X) 0)) (NOT (EQUAL (REMAINDER (LEN X) 4) 1)) (NOT (EQUAL (REMAINDER (LEN X) 4) 2)) (NOT (EQUAL (REMAINDER (LEN X) 4) 3))) (EQUAL (L (P X)) 0)), which again simplifies, using linear arithmetic, rewriting with ARI-LESSP-REMAINDER, and expanding EQUAL, to: T. Q.E.D. [ 0.0 0.0 0.0 ] BCDSBI-PAILLET-YOUT-CORRECT