| Step | 
						Hyp | 
						Ref | 
						Expression | 
					
						
							| 1 | 
							
								
							 | 
							cshwshash.0 | 
							 |-  ( ph -> ( W e. Word V /\ ( # ` W ) e. Prime ) )  | 
						
						
							| 2 | 
							
								
							 | 
							oveq1 | 
							 |-  ( ( W cyclShift L ) = ( W cyclShift K ) -> ( ( W cyclShift L ) cyclShift ( ( # ` W ) - L ) ) = ( ( W cyclShift K ) cyclShift ( ( # ` W ) - L ) ) )  | 
						
						
							| 3 | 
							
								2
							 | 
							eqcomd | 
							 |-  ( ( W cyclShift L ) = ( W cyclShift K ) -> ( ( W cyclShift K ) cyclShift ( ( # ` W ) - L ) ) = ( ( W cyclShift L ) cyclShift ( ( # ` W ) - L ) ) )  | 
						
						
							| 4 | 
							
								3
							 | 
							ad2antrr | 
							 |-  ( ( ( ( W cyclShift L ) = ( W cyclShift K ) /\ ( ph /\ E. i e. ( 0 ..^ ( # ` W ) ) ( W ` i ) =/= ( W ` 0 ) ) ) /\ ( L e. ( 0 ..^ ( # ` W ) ) /\ K e. ( 0 ..^ ( # ` W ) ) /\ K < L ) ) -> ( ( W cyclShift K ) cyclShift ( ( # ` W ) - L ) ) = ( ( W cyclShift L ) cyclShift ( ( # ` W ) - L ) ) )  | 
						
						
							| 5 | 
							
								1
							 | 
							simpld | 
							 |-  ( ph -> W e. Word V )  | 
						
						
							| 6 | 
							
								5
							 | 
							adantr | 
							 |-  ( ( ph /\ E. i e. ( 0 ..^ ( # ` W ) ) ( W ` i ) =/= ( W ` 0 ) ) -> W e. Word V )  | 
						
						
							| 7 | 
							
								6
							 | 
							adantl | 
							 |-  ( ( ( W cyclShift L ) = ( W cyclShift K ) /\ ( ph /\ E. i e. ( 0 ..^ ( # ` W ) ) ( W ` i ) =/= ( W ` 0 ) ) ) -> W e. Word V )  | 
						
						
							| 8 | 
							
								7
							 | 
							adantr | 
							 |-  ( ( ( ( W cyclShift L ) = ( W cyclShift K ) /\ ( ph /\ E. i e. ( 0 ..^ ( # ` W ) ) ( W ` i ) =/= ( W ` 0 ) ) ) /\ ( L e. ( 0 ..^ ( # ` W ) ) /\ K e. ( 0 ..^ ( # ` W ) ) /\ K < L ) ) -> W e. Word V )  | 
						
						
							| 9 | 
							
								
							 | 
							elfzofz | 
							 |-  ( K e. ( 0 ..^ ( # ` W ) ) -> K e. ( 0 ... ( # ` W ) ) )  | 
						
						
							| 10 | 
							
								9
							 | 
							3ad2ant2 | 
							 |-  ( ( L e. ( 0 ..^ ( # ` W ) ) /\ K e. ( 0 ..^ ( # ` W ) ) /\ K < L ) -> K e. ( 0 ... ( # ` W ) ) )  | 
						
						
							| 11 | 
							
								10
							 | 
							adantl | 
							 |-  ( ( ( ( W cyclShift L ) = ( W cyclShift K ) /\ ( ph /\ E. i e. ( 0 ..^ ( # ` W ) ) ( W ` i ) =/= ( W ` 0 ) ) ) /\ ( L e. ( 0 ..^ ( # ` W ) ) /\ K e. ( 0 ..^ ( # ` W ) ) /\ K < L ) ) -> K e. ( 0 ... ( # ` W ) ) )  | 
						
						
							| 12 | 
							
								
							 | 
							elfzofz | 
							 |-  ( L e. ( 0 ..^ ( # ` W ) ) -> L e. ( 0 ... ( # ` W ) ) )  | 
						
						
							| 13 | 
							
								
							 | 
							fznn0sub2 | 
							 |-  ( L e. ( 0 ... ( # ` W ) ) -> ( ( # ` W ) - L ) e. ( 0 ... ( # ` W ) ) )  | 
						
						
							| 14 | 
							
								12 13
							 | 
							syl | 
							 |-  ( L e. ( 0 ..^ ( # ` W ) ) -> ( ( # ` W ) - L ) e. ( 0 ... ( # ` W ) ) )  | 
						
						
							| 15 | 
							
								14
							 | 
							3ad2ant1 | 
							 |-  ( ( L e. ( 0 ..^ ( # ` W ) ) /\ K e. ( 0 ..^ ( # ` W ) ) /\ K < L ) -> ( ( # ` W ) - L ) e. ( 0 ... ( # ` W ) ) )  | 
						
						
							| 16 | 
							
								15
							 | 
							adantl | 
							 |-  ( ( ( ( W cyclShift L ) = ( W cyclShift K ) /\ ( ph /\ E. i e. ( 0 ..^ ( # ` W ) ) ( W ` i ) =/= ( W ` 0 ) ) ) /\ ( L e. ( 0 ..^ ( # ` W ) ) /\ K e. ( 0 ..^ ( # ` W ) ) /\ K < L ) ) -> ( ( # ` W ) - L ) e. ( 0 ... ( # ` W ) ) )  | 
						
						
							| 17 | 
							
								
							 | 
							elfzo0 | 
							 |-  ( L e. ( 0 ..^ ( # ` W ) ) <-> ( L e. NN0 /\ ( # ` W ) e. NN /\ L < ( # ` W ) ) )  | 
						
						
							| 18 | 
							
								
							 | 
							zre | 
							 |-  ( K e. ZZ -> K e. RR )  | 
						
						
							| 19 | 
							
								18
							 | 
							adantr | 
							 |-  ( ( K e. ZZ /\ ( L e. NN0 /\ ( # ` W ) e. NN ) ) -> K e. RR )  | 
						
						
							| 20 | 
							
								
							 | 
							nnre | 
							 |-  ( ( # ` W ) e. NN -> ( # ` W ) e. RR )  | 
						
						
							| 21 | 
							
								
							 | 
							nn0re | 
							 |-  ( L e. NN0 -> L e. RR )  | 
						
						
							| 22 | 
							
								
							 | 
							resubcl | 
							 |-  ( ( ( # ` W ) e. RR /\ L e. RR ) -> ( ( # ` W ) - L ) e. RR )  | 
						
						
							| 23 | 
							
								20 21 22
							 | 
							syl2anr | 
							 |-  ( ( L e. NN0 /\ ( # ` W ) e. NN ) -> ( ( # ` W ) - L ) e. RR )  | 
						
						
							| 24 | 
							
								23
							 | 
							adantl | 
							 |-  ( ( K e. ZZ /\ ( L e. NN0 /\ ( # ` W ) e. NN ) ) -> ( ( # ` W ) - L ) e. RR )  | 
						
						
							| 25 | 
							
								19 24
							 | 
							readdcld | 
							 |-  ( ( K e. ZZ /\ ( L e. NN0 /\ ( # ` W ) e. NN ) ) -> ( K + ( ( # ` W ) - L ) ) e. RR )  | 
						
						
							| 26 | 
							
								20
							 | 
							adantl | 
							 |-  ( ( L e. NN0 /\ ( # ` W ) e. NN ) -> ( # ` W ) e. RR )  | 
						
						
							| 27 | 
							
								26
							 | 
							adantl | 
							 |-  ( ( K e. ZZ /\ ( L e. NN0 /\ ( # ` W ) e. NN ) ) -> ( # ` W ) e. RR )  | 
						
						
							| 28 | 
							
								25 27
							 | 
							jca | 
							 |-  ( ( K e. ZZ /\ ( L e. NN0 /\ ( # ` W ) e. NN ) ) -> ( ( K + ( ( # ` W ) - L ) ) e. RR /\ ( # ` W ) e. RR ) )  | 
						
						
							| 29 | 
							
								28
							 | 
							ex | 
							 |-  ( K e. ZZ -> ( ( L e. NN0 /\ ( # ` W ) e. NN ) -> ( ( K + ( ( # ` W ) - L ) ) e. RR /\ ( # ` W ) e. RR ) ) )  | 
						
						
							| 30 | 
							
								
							 | 
							elfzoelz | 
							 |-  ( K e. ( 0 ..^ ( # ` W ) ) -> K e. ZZ )  | 
						
						
							| 31 | 
							
								29 30
							 | 
							syl11 | 
							 |-  ( ( L e. NN0 /\ ( # ` W ) e. NN ) -> ( K e. ( 0 ..^ ( # ` W ) ) -> ( ( K + ( ( # ` W ) - L ) ) e. RR /\ ( # ` W ) e. RR ) ) )  | 
						
						
							| 32 | 
							
								31
							 | 
							3adant3 | 
							 |-  ( ( L e. NN0 /\ ( # ` W ) e. NN /\ L < ( # ` W ) ) -> ( K e. ( 0 ..^ ( # ` W ) ) -> ( ( K + ( ( # ` W ) - L ) ) e. RR /\ ( # ` W ) e. RR ) ) )  | 
						
						
							| 33 | 
							
								17 32
							 | 
							sylbi | 
							 |-  ( L e. ( 0 ..^ ( # ` W ) ) -> ( K e. ( 0 ..^ ( # ` W ) ) -> ( ( K + ( ( # ` W ) - L ) ) e. RR /\ ( # ` W ) e. RR ) ) )  | 
						
						
							| 34 | 
							
								33
							 | 
							imp | 
							 |-  ( ( L e. ( 0 ..^ ( # ` W ) ) /\ K e. ( 0 ..^ ( # ` W ) ) ) -> ( ( K + ( ( # ` W ) - L ) ) e. RR /\ ( # ` W ) e. RR ) )  | 
						
						
							| 35 | 
							
								34
							 | 
							3adant3 | 
							 |-  ( ( L e. ( 0 ..^ ( # ` W ) ) /\ K e. ( 0 ..^ ( # ` W ) ) /\ K < L ) -> ( ( K + ( ( # ` W ) - L ) ) e. RR /\ ( # ` W ) e. RR ) )  | 
						
						
							| 36 | 
							
								
							 | 
							fzonmapblen | 
							 |-  ( ( L e. ( 0 ..^ ( # ` W ) ) /\ K e. ( 0 ..^ ( # ` W ) ) /\ K < L ) -> ( K + ( ( # ` W ) - L ) ) < ( # ` W ) )  | 
						
						
							| 37 | 
							
								
							 | 
							ltle | 
							 |-  ( ( ( K + ( ( # ` W ) - L ) ) e. RR /\ ( # ` W ) e. RR ) -> ( ( K + ( ( # ` W ) - L ) ) < ( # ` W ) -> ( K + ( ( # ` W ) - L ) ) <_ ( # ` W ) ) )  | 
						
						
							| 38 | 
							
								35 36 37
							 | 
							sylc | 
							 |-  ( ( L e. ( 0 ..^ ( # ` W ) ) /\ K e. ( 0 ..^ ( # ` W ) ) /\ K < L ) -> ( K + ( ( # ` W ) - L ) ) <_ ( # ` W ) )  | 
						
						
							| 39 | 
							
								38
							 | 
							adantl | 
							 |-  ( ( ( ( W cyclShift L ) = ( W cyclShift K ) /\ ( ph /\ E. i e. ( 0 ..^ ( # ` W ) ) ( W ` i ) =/= ( W ` 0 ) ) ) /\ ( L e. ( 0 ..^ ( # ` W ) ) /\ K e. ( 0 ..^ ( # ` W ) ) /\ K < L ) ) -> ( K + ( ( # ` W ) - L ) ) <_ ( # ` W ) )  | 
						
						
							| 40 | 
							
								
							 | 
							simpl | 
							 |-  ( ( W e. Word V /\ ( K e. ( 0 ... ( # ` W ) ) /\ ( ( # ` W ) - L ) e. ( 0 ... ( # ` W ) ) /\ ( K + ( ( # ` W ) - L ) ) <_ ( # ` W ) ) ) -> W e. Word V )  | 
						
						
							| 41 | 
							
								
							 | 
							elfzelz | 
							 |-  ( K e. ( 0 ... ( # ` W ) ) -> K e. ZZ )  | 
						
						
							| 42 | 
							
								41
							 | 
							3ad2ant1 | 
							 |-  ( ( K e. ( 0 ... ( # ` W ) ) /\ ( ( # ` W ) - L ) e. ( 0 ... ( # ` W ) ) /\ ( K + ( ( # ` W ) - L ) ) <_ ( # ` W ) ) -> K e. ZZ )  | 
						
						
							| 43 | 
							
								42
							 | 
							adantl | 
							 |-  ( ( W e. Word V /\ ( K e. ( 0 ... ( # ` W ) ) /\ ( ( # ` W ) - L ) e. ( 0 ... ( # ` W ) ) /\ ( K + ( ( # ` W ) - L ) ) <_ ( # ` W ) ) ) -> K e. ZZ )  | 
						
						
							| 44 | 
							
								
							 | 
							elfzelz | 
							 |-  ( ( ( # ` W ) - L ) e. ( 0 ... ( # ` W ) ) -> ( ( # ` W ) - L ) e. ZZ )  | 
						
						
							| 45 | 
							
								44
							 | 
							3ad2ant2 | 
							 |-  ( ( K e. ( 0 ... ( # ` W ) ) /\ ( ( # ` W ) - L ) e. ( 0 ... ( # ` W ) ) /\ ( K + ( ( # ` W ) - L ) ) <_ ( # ` W ) ) -> ( ( # ` W ) - L ) e. ZZ )  | 
						
						
							| 46 | 
							
								45
							 | 
							adantl | 
							 |-  ( ( W e. Word V /\ ( K e. ( 0 ... ( # ` W ) ) /\ ( ( # ` W ) - L ) e. ( 0 ... ( # ` W ) ) /\ ( K + ( ( # ` W ) - L ) ) <_ ( # ` W ) ) ) -> ( ( # ` W ) - L ) e. ZZ )  | 
						
						
							| 47 | 
							
								
							 | 
							2cshw | 
							 |-  ( ( W e. Word V /\ K e. ZZ /\ ( ( # ` W ) - L ) e. ZZ ) -> ( ( W cyclShift K ) cyclShift ( ( # ` W ) - L ) ) = ( W cyclShift ( K + ( ( # ` W ) - L ) ) ) )  | 
						
						
							| 48 | 
							
								40 43 46 47
							 | 
							syl3anc | 
							 |-  ( ( W e. Word V /\ ( K e. ( 0 ... ( # ` W ) ) /\ ( ( # ` W ) - L ) e. ( 0 ... ( # ` W ) ) /\ ( K + ( ( # ` W ) - L ) ) <_ ( # ` W ) ) ) -> ( ( W cyclShift K ) cyclShift ( ( # ` W ) - L ) ) = ( W cyclShift ( K + ( ( # ` W ) - L ) ) ) )  | 
						
						
							| 49 | 
							
								8 11 16 39 48
							 | 
							syl13anc | 
							 |-  ( ( ( ( W cyclShift L ) = ( W cyclShift K ) /\ ( ph /\ E. i e. ( 0 ..^ ( # ` W ) ) ( W ` i ) =/= ( W ` 0 ) ) ) /\ ( L e. ( 0 ..^ ( # ` W ) ) /\ K e. ( 0 ..^ ( # ` W ) ) /\ K < L ) ) -> ( ( W cyclShift K ) cyclShift ( ( # ` W ) - L ) ) = ( W cyclShift ( K + ( ( # ` W ) - L ) ) ) )  | 
						
						
							| 50 | 
							
								12
							 | 
							3ad2ant1 | 
							 |-  ( ( L e. ( 0 ..^ ( # ` W ) ) /\ K e. ( 0 ..^ ( # ` W ) ) /\ K < L ) -> L e. ( 0 ... ( # ` W ) ) )  | 
						
						
							| 51 | 
							
								
							 | 
							elfzelz | 
							 |-  ( L e. ( 0 ... ( # ` W ) ) -> L e. ZZ )  | 
						
						
							| 52 | 
							
								
							 | 
							2cshwid | 
							 |-  ( ( W e. Word V /\ L e. ZZ ) -> ( ( W cyclShift L ) cyclShift ( ( # ` W ) - L ) ) = W )  | 
						
						
							| 53 | 
							
								51 52
							 | 
							sylan2 | 
							 |-  ( ( W e. Word V /\ L e. ( 0 ... ( # ` W ) ) ) -> ( ( W cyclShift L ) cyclShift ( ( # ` W ) - L ) ) = W )  | 
						
						
							| 54 | 
							
								7 50 53
							 | 
							syl2an | 
							 |-  ( ( ( ( W cyclShift L ) = ( W cyclShift K ) /\ ( ph /\ E. i e. ( 0 ..^ ( # ` W ) ) ( W ` i ) =/= ( W ` 0 ) ) ) /\ ( L e. ( 0 ..^ ( # ` W ) ) /\ K e. ( 0 ..^ ( # ` W ) ) /\ K < L ) ) -> ( ( W cyclShift L ) cyclShift ( ( # ` W ) - L ) ) = W )  | 
						
						
							| 55 | 
							
								4 49 54
							 | 
							3eqtr3d | 
							 |-  ( ( ( ( W cyclShift L ) = ( W cyclShift K ) /\ ( ph /\ E. i e. ( 0 ..^ ( # ` W ) ) ( W ` i ) =/= ( W ` 0 ) ) ) /\ ( L e. ( 0 ..^ ( # ` W ) ) /\ K e. ( 0 ..^ ( # ` W ) ) /\ K < L ) ) -> ( W cyclShift ( K + ( ( # ` W ) - L ) ) ) = W )  | 
						
						
							| 56 | 
							
								
							 | 
							simplrl | 
							 |-  ( ( ( ( W cyclShift L ) = ( W cyclShift K ) /\ ( ph /\ E. i e. ( 0 ..^ ( # ` W ) ) ( W ` i ) =/= ( W ` 0 ) ) ) /\ ( L e. ( 0 ..^ ( # ` W ) ) /\ K e. ( 0 ..^ ( # ` W ) ) /\ K < L ) ) -> ph )  | 
						
						
							| 57 | 
							
								
							 | 
							simplrr | 
							 |-  ( ( ( ( W cyclShift L ) = ( W cyclShift K ) /\ ( ph /\ E. i e. ( 0 ..^ ( # ` W ) ) ( W ` i ) =/= ( W ` 0 ) ) ) /\ ( L e. ( 0 ..^ ( # ` W ) ) /\ K e. ( 0 ..^ ( # ` W ) ) /\ K < L ) ) -> E. i e. ( 0 ..^ ( # ` W ) ) ( W ` i ) =/= ( W ` 0 ) )  | 
						
						
							| 58 | 
							
								
							 | 
							3simpa | 
							 |-  ( ( L e. NN0 /\ ( # ` W ) e. NN /\ L < ( # ` W ) ) -> ( L e. NN0 /\ ( # ` W ) e. NN ) )  | 
						
						
							| 59 | 
							
								17 58
							 | 
							sylbi | 
							 |-  ( L e. ( 0 ..^ ( # ` W ) ) -> ( L e. NN0 /\ ( # ` W ) e. NN ) )  | 
						
						
							| 60 | 
							
								
							 | 
							nnz | 
							 |-  ( ( # ` W ) e. NN -> ( # ` W ) e. ZZ )  | 
						
						
							| 61 | 
							
								
							 | 
							nn0z | 
							 |-  ( L e. NN0 -> L e. ZZ )  | 
						
						
							| 62 | 
							
								
							 | 
							zsubcl | 
							 |-  ( ( ( # ` W ) e. ZZ /\ L e. ZZ ) -> ( ( # ` W ) - L ) e. ZZ )  | 
						
						
							| 63 | 
							
								60 61 62
							 | 
							syl2anr | 
							 |-  ( ( L e. NN0 /\ ( # ` W ) e. NN ) -> ( ( # ` W ) - L ) e. ZZ )  | 
						
						
							| 64 | 
							
								63
							 | 
							anim1ci | 
							 |-  ( ( ( L e. NN0 /\ ( # ` W ) e. NN ) /\ K e. ZZ ) -> ( K e. ZZ /\ ( ( # ` W ) - L ) e. ZZ ) )  | 
						
						
							| 65 | 
							
								
							 | 
							zaddcl | 
							 |-  ( ( K e. ZZ /\ ( ( # ` W ) - L ) e. ZZ ) -> ( K + ( ( # ` W ) - L ) ) e. ZZ )  | 
						
						
							| 66 | 
							
								64 65
							 | 
							syl | 
							 |-  ( ( ( L e. NN0 /\ ( # ` W ) e. NN ) /\ K e. ZZ ) -> ( K + ( ( # ` W ) - L ) ) e. ZZ )  | 
						
						
							| 67 | 
							
								59 30 66
							 | 
							syl2an | 
							 |-  ( ( L e. ( 0 ..^ ( # ` W ) ) /\ K e. ( 0 ..^ ( # ` W ) ) ) -> ( K + ( ( # ` W ) - L ) ) e. ZZ )  | 
						
						
							| 68 | 
							
								67
							 | 
							3adant3 | 
							 |-  ( ( L e. ( 0 ..^ ( # ` W ) ) /\ K e. ( 0 ..^ ( # ` W ) ) /\ K < L ) -> ( K + ( ( # ` W ) - L ) ) e. ZZ )  | 
						
						
							| 69 | 
							
								
							 | 
							elfzo0 | 
							 |-  ( K e. ( 0 ..^ ( # ` W ) ) <-> ( K e. NN0 /\ ( # ` W ) e. NN /\ K < ( # ` W ) ) )  | 
						
						
							| 70 | 
							
								
							 | 
							elnn0z | 
							 |-  ( K e. NN0 <-> ( K e. ZZ /\ 0 <_ K ) )  | 
						
						
							| 71 | 
							
								18
							 | 
							ad2antrr | 
							 |-  ( ( ( K e. ZZ /\ 0 <_ K ) /\ ( L e. NN0 /\ ( # ` W ) e. NN /\ L < ( # ` W ) ) ) -> K e. RR )  | 
						
						
							| 72 | 
							
								23
							 | 
							3adant3 | 
							 |-  ( ( L e. NN0 /\ ( # ` W ) e. NN /\ L < ( # ` W ) ) -> ( ( # ` W ) - L ) e. RR )  | 
						
						
							| 73 | 
							
								72
							 | 
							adantl | 
							 |-  ( ( ( K e. ZZ /\ 0 <_ K ) /\ ( L e. NN0 /\ ( # ` W ) e. NN /\ L < ( # ` W ) ) ) -> ( ( # ` W ) - L ) e. RR )  | 
						
						
							| 74 | 
							
								
							 | 
							simplr | 
							 |-  ( ( ( K e. ZZ /\ 0 <_ K ) /\ ( L e. NN0 /\ ( # ` W ) e. NN /\ L < ( # ` W ) ) ) -> 0 <_ K )  | 
						
						
							| 75 | 
							
								
							 | 
							posdif | 
							 |-  ( ( L e. RR /\ ( # ` W ) e. RR ) -> ( L < ( # ` W ) <-> 0 < ( ( # ` W ) - L ) ) )  | 
						
						
							| 76 | 
							
								21 20 75
							 | 
							syl2an | 
							 |-  ( ( L e. NN0 /\ ( # ` W ) e. NN ) -> ( L < ( # ` W ) <-> 0 < ( ( # ` W ) - L ) ) )  | 
						
						
							| 77 | 
							
								76
							 | 
							biimp3a | 
							 |-  ( ( L e. NN0 /\ ( # ` W ) e. NN /\ L < ( # ` W ) ) -> 0 < ( ( # ` W ) - L ) )  | 
						
						
							| 78 | 
							
								77
							 | 
							adantl | 
							 |-  ( ( ( K e. ZZ /\ 0 <_ K ) /\ ( L e. NN0 /\ ( # ` W ) e. NN /\ L < ( # ` W ) ) ) -> 0 < ( ( # ` W ) - L ) )  | 
						
						
							| 79 | 
							
								71 73 74 78
							 | 
							addgegt0d | 
							 |-  ( ( ( K e. ZZ /\ 0 <_ K ) /\ ( L e. NN0 /\ ( # ` W ) e. NN /\ L < ( # ` W ) ) ) -> 0 < ( K + ( ( # ` W ) - L ) ) )  | 
						
						
							| 80 | 
							
								79
							 | 
							ex | 
							 |-  ( ( K e. ZZ /\ 0 <_ K ) -> ( ( L e. NN0 /\ ( # ` W ) e. NN /\ L < ( # ` W ) ) -> 0 < ( K + ( ( # ` W ) - L ) ) ) )  | 
						
						
							| 81 | 
							
								70 80
							 | 
							sylbi | 
							 |-  ( K e. NN0 -> ( ( L e. NN0 /\ ( # ` W ) e. NN /\ L < ( # ` W ) ) -> 0 < ( K + ( ( # ` W ) - L ) ) ) )  | 
						
						
							| 82 | 
							
								81
							 | 
							3ad2ant1 | 
							 |-  ( ( K e. NN0 /\ ( # ` W ) e. NN /\ K < ( # ` W ) ) -> ( ( L e. NN0 /\ ( # ` W ) e. NN /\ L < ( # ` W ) ) -> 0 < ( K + ( ( # ` W ) - L ) ) ) )  | 
						
						
							| 83 | 
							
								69 82
							 | 
							sylbi | 
							 |-  ( K e. ( 0 ..^ ( # ` W ) ) -> ( ( L e. NN0 /\ ( # ` W ) e. NN /\ L < ( # ` W ) ) -> 0 < ( K + ( ( # ` W ) - L ) ) ) )  | 
						
						
							| 84 | 
							
								83
							 | 
							com12 | 
							 |-  ( ( L e. NN0 /\ ( # ` W ) e. NN /\ L < ( # ` W ) ) -> ( K e. ( 0 ..^ ( # ` W ) ) -> 0 < ( K + ( ( # ` W ) - L ) ) ) )  | 
						
						
							| 85 | 
							
								17 84
							 | 
							sylbi | 
							 |-  ( L e. ( 0 ..^ ( # ` W ) ) -> ( K e. ( 0 ..^ ( # ` W ) ) -> 0 < ( K + ( ( # ` W ) - L ) ) ) )  | 
						
						
							| 86 | 
							
								85
							 | 
							imp | 
							 |-  ( ( L e. ( 0 ..^ ( # ` W ) ) /\ K e. ( 0 ..^ ( # ` W ) ) ) -> 0 < ( K + ( ( # ` W ) - L ) ) )  | 
						
						
							| 87 | 
							
								86
							 | 
							3adant3 | 
							 |-  ( ( L e. ( 0 ..^ ( # ` W ) ) /\ K e. ( 0 ..^ ( # ` W ) ) /\ K < L ) -> 0 < ( K + ( ( # ` W ) - L ) ) )  | 
						
						
							| 88 | 
							
								
							 | 
							elnnz | 
							 |-  ( ( K + ( ( # ` W ) - L ) ) e. NN <-> ( ( K + ( ( # ` W ) - L ) ) e. ZZ /\ 0 < ( K + ( ( # ` W ) - L ) ) ) )  | 
						
						
							| 89 | 
							
								68 87 88
							 | 
							sylanbrc | 
							 |-  ( ( L e. ( 0 ..^ ( # ` W ) ) /\ K e. ( 0 ..^ ( # ` W ) ) /\ K < L ) -> ( K + ( ( # ` W ) - L ) ) e. NN )  | 
						
						
							| 90 | 
							
								17
							 | 
							simp2bi | 
							 |-  ( L e. ( 0 ..^ ( # ` W ) ) -> ( # ` W ) e. NN )  | 
						
						
							| 91 | 
							
								90
							 | 
							3ad2ant1 | 
							 |-  ( ( L e. ( 0 ..^ ( # ` W ) ) /\ K e. ( 0 ..^ ( # ` W ) ) /\ K < L ) -> ( # ` W ) e. NN )  | 
						
						
							| 92 | 
							
								
							 | 
							elfzo1 | 
							 |-  ( ( K + ( ( # ` W ) - L ) ) e. ( 1 ..^ ( # ` W ) ) <-> ( ( K + ( ( # ` W ) - L ) ) e. NN /\ ( # ` W ) e. NN /\ ( K + ( ( # ` W ) - L ) ) < ( # ` W ) ) )  | 
						
						
							| 93 | 
							
								89 91 36 92
							 | 
							syl3anbrc | 
							 |-  ( ( L e. ( 0 ..^ ( # ` W ) ) /\ K e. ( 0 ..^ ( # ` W ) ) /\ K < L ) -> ( K + ( ( # ` W ) - L ) ) e. ( 1 ..^ ( # ` W ) ) )  | 
						
						
							| 94 | 
							
								93
							 | 
							adantl | 
							 |-  ( ( ( ( W cyclShift L ) = ( W cyclShift K ) /\ ( ph /\ E. i e. ( 0 ..^ ( # ` W ) ) ( W ` i ) =/= ( W ` 0 ) ) ) /\ ( L e. ( 0 ..^ ( # ` W ) ) /\ K e. ( 0 ..^ ( # ` W ) ) /\ K < L ) ) -> ( K + ( ( # ` W ) - L ) ) e. ( 1 ..^ ( # ` W ) ) )  | 
						
						
							| 95 | 
							
								1
							 | 
							cshwshashlem1 | 
							 |-  ( ( ph /\ E. i e. ( 0 ..^ ( # ` W ) ) ( W ` i ) =/= ( W ` 0 ) /\ ( K + ( ( # ` W ) - L ) ) e. ( 1 ..^ ( # ` W ) ) ) -> ( W cyclShift ( K + ( ( # ` W ) - L ) ) ) =/= W )  | 
						
						
							| 96 | 
							
								56 57 94 95
							 | 
							syl3anc | 
							 |-  ( ( ( ( W cyclShift L ) = ( W cyclShift K ) /\ ( ph /\ E. i e. ( 0 ..^ ( # ` W ) ) ( W ` i ) =/= ( W ` 0 ) ) ) /\ ( L e. ( 0 ..^ ( # ` W ) ) /\ K e. ( 0 ..^ ( # ` W ) ) /\ K < L ) ) -> ( W cyclShift ( K + ( ( # ` W ) - L ) ) ) =/= W )  | 
						
						
							| 97 | 
							
								55 96
							 | 
							pm2.21ddne | 
							 |-  ( ( ( ( W cyclShift L ) = ( W cyclShift K ) /\ ( ph /\ E. i e. ( 0 ..^ ( # ` W ) ) ( W ` i ) =/= ( W ` 0 ) ) ) /\ ( L e. ( 0 ..^ ( # ` W ) ) /\ K e. ( 0 ..^ ( # ` W ) ) /\ K < L ) ) -> ( W cyclShift L ) =/= ( W cyclShift K ) )  | 
						
						
							| 98 | 
							
								97
							 | 
							exp31 | 
							 |-  ( ( W cyclShift L ) = ( W cyclShift K ) -> ( ( ph /\ E. i e. ( 0 ..^ ( # ` W ) ) ( W ` i ) =/= ( W ` 0 ) ) -> ( ( L e. ( 0 ..^ ( # ` W ) ) /\ K e. ( 0 ..^ ( # ` W ) ) /\ K < L ) -> ( W cyclShift L ) =/= ( W cyclShift K ) ) ) )  | 
						
						
							| 99 | 
							
								
							 | 
							2a1 | 
							 |-  ( ( W cyclShift L ) =/= ( W cyclShift K ) -> ( ( ph /\ E. i e. ( 0 ..^ ( # ` W ) ) ( W ` i ) =/= ( W ` 0 ) ) -> ( ( L e. ( 0 ..^ ( # ` W ) ) /\ K e. ( 0 ..^ ( # ` W ) ) /\ K < L ) -> ( W cyclShift L ) =/= ( W cyclShift K ) ) ) )  | 
						
						
							| 100 | 
							
								98 99
							 | 
							pm2.61ine | 
							 |-  ( ( ph /\ E. i e. ( 0 ..^ ( # ` W ) ) ( W ` i ) =/= ( W ` 0 ) ) -> ( ( L e. ( 0 ..^ ( # ` W ) ) /\ K e. ( 0 ..^ ( # ` W ) ) /\ K < L ) -> ( W cyclShift L ) =/= ( W cyclShift K ) ) )  |