| Step | Hyp | Ref | Expression | 
						
							| 1 |  | swrdccatin2.l |  |-  L = ( # ` A ) | 
						
							| 2 |  | simpll |  |-  ( ( ( ( A e. Word V /\ B e. Word V ) /\ ( M e. ( 0 ... L ) /\ N e. ( L ... ( L + ( # ` B ) ) ) ) ) /\ ( K e. ( 0 ..^ ( N - M ) ) /\ K e. ( 0 ..^ ( L - M ) ) ) ) -> ( A e. Word V /\ B e. Word V ) ) | 
						
							| 3 |  | elfzo0 |  |-  ( K e. ( 0 ..^ ( L - M ) ) <-> ( K e. NN0 /\ ( L - M ) e. NN /\ K < ( L - M ) ) ) | 
						
							| 4 |  | lencl |  |-  ( A e. Word V -> ( # ` A ) e. NN0 ) | 
						
							| 5 |  | elfz2nn0 |  |-  ( M e. ( 0 ... L ) <-> ( M e. NN0 /\ L e. NN0 /\ M <_ L ) ) | 
						
							| 6 |  | nn0addcl |  |-  ( ( K e. NN0 /\ M e. NN0 ) -> ( K + M ) e. NN0 ) | 
						
							| 7 | 6 | ex |  |-  ( K e. NN0 -> ( M e. NN0 -> ( K + M ) e. NN0 ) ) | 
						
							| 8 | 7 | 3ad2ant1 |  |-  ( ( K e. NN0 /\ ( L - M ) e. NN /\ K < ( L - M ) ) -> ( M e. NN0 -> ( K + M ) e. NN0 ) ) | 
						
							| 9 | 8 | com12 |  |-  ( M e. NN0 -> ( ( K e. NN0 /\ ( L - M ) e. NN /\ K < ( L - M ) ) -> ( K + M ) e. NN0 ) ) | 
						
							| 10 | 9 | 3ad2ant1 |  |-  ( ( M e. NN0 /\ L e. NN0 /\ M <_ L ) -> ( ( K e. NN0 /\ ( L - M ) e. NN /\ K < ( L - M ) ) -> ( K + M ) e. NN0 ) ) | 
						
							| 11 | 10 | imp |  |-  ( ( ( M e. NN0 /\ L e. NN0 /\ M <_ L ) /\ ( K e. NN0 /\ ( L - M ) e. NN /\ K < ( L - M ) ) ) -> ( K + M ) e. NN0 ) | 
						
							| 12 |  | elnnz |  |-  ( ( L - M ) e. NN <-> ( ( L - M ) e. ZZ /\ 0 < ( L - M ) ) ) | 
						
							| 13 |  | nn0re |  |-  ( M e. NN0 -> M e. RR ) | 
						
							| 14 |  | nn0re |  |-  ( L e. NN0 -> L e. RR ) | 
						
							| 15 |  | posdif |  |-  ( ( M e. RR /\ L e. RR ) -> ( M < L <-> 0 < ( L - M ) ) ) | 
						
							| 16 | 13 14 15 | syl2an |  |-  ( ( M e. NN0 /\ L e. NN0 ) -> ( M < L <-> 0 < ( L - M ) ) ) | 
						
							| 17 |  | elnn0z |  |-  ( M e. NN0 <-> ( M e. ZZ /\ 0 <_ M ) ) | 
						
							| 18 |  | 0re |  |-  0 e. RR | 
						
							| 19 |  | zre |  |-  ( M e. ZZ -> M e. RR ) | 
						
							| 20 |  | lelttr |  |-  ( ( 0 e. RR /\ M e. RR /\ L e. RR ) -> ( ( 0 <_ M /\ M < L ) -> 0 < L ) ) | 
						
							| 21 | 18 19 14 20 | mp3an3an |  |-  ( ( M e. ZZ /\ L e. NN0 ) -> ( ( 0 <_ M /\ M < L ) -> 0 < L ) ) | 
						
							| 22 |  | nn0z |  |-  ( L e. NN0 -> L e. ZZ ) | 
						
							| 23 | 22 | anim1i |  |-  ( ( L e. NN0 /\ 0 < L ) -> ( L e. ZZ /\ 0 < L ) ) | 
						
							| 24 |  | elnnz |  |-  ( L e. NN <-> ( L e. ZZ /\ 0 < L ) ) | 
						
							| 25 | 23 24 | sylibr |  |-  ( ( L e. NN0 /\ 0 < L ) -> L e. NN ) | 
						
							| 26 | 25 | ex |  |-  ( L e. NN0 -> ( 0 < L -> L e. NN ) ) | 
						
							| 27 | 26 | adantl |  |-  ( ( M e. ZZ /\ L e. NN0 ) -> ( 0 < L -> L e. NN ) ) | 
						
							| 28 | 21 27 | syld |  |-  ( ( M e. ZZ /\ L e. NN0 ) -> ( ( 0 <_ M /\ M < L ) -> L e. NN ) ) | 
						
							| 29 | 28 | expd |  |-  ( ( M e. ZZ /\ L e. NN0 ) -> ( 0 <_ M -> ( M < L -> L e. NN ) ) ) | 
						
							| 30 | 29 | impancom |  |-  ( ( M e. ZZ /\ 0 <_ M ) -> ( L e. NN0 -> ( M < L -> L e. NN ) ) ) | 
						
							| 31 | 17 30 | sylbi |  |-  ( M e. NN0 -> ( L e. NN0 -> ( M < L -> L e. NN ) ) ) | 
						
							| 32 | 31 | imp |  |-  ( ( M e. NN0 /\ L e. NN0 ) -> ( M < L -> L e. NN ) ) | 
						
							| 33 | 16 32 | sylbird |  |-  ( ( M e. NN0 /\ L e. NN0 ) -> ( 0 < ( L - M ) -> L e. NN ) ) | 
						
							| 34 | 33 | com12 |  |-  ( 0 < ( L - M ) -> ( ( M e. NN0 /\ L e. NN0 ) -> L e. NN ) ) | 
						
							| 35 | 12 34 | simplbiim |  |-  ( ( L - M ) e. NN -> ( ( M e. NN0 /\ L e. NN0 ) -> L e. NN ) ) | 
						
							| 36 | 35 | 3ad2ant2 |  |-  ( ( K e. NN0 /\ ( L - M ) e. NN /\ K < ( L - M ) ) -> ( ( M e. NN0 /\ L e. NN0 ) -> L e. NN ) ) | 
						
							| 37 | 36 | com12 |  |-  ( ( M e. NN0 /\ L e. NN0 ) -> ( ( K e. NN0 /\ ( L - M ) e. NN /\ K < ( L - M ) ) -> L e. NN ) ) | 
						
							| 38 | 37 | 3adant3 |  |-  ( ( M e. NN0 /\ L e. NN0 /\ M <_ L ) -> ( ( K e. NN0 /\ ( L - M ) e. NN /\ K < ( L - M ) ) -> L e. NN ) ) | 
						
							| 39 | 38 | imp |  |-  ( ( ( M e. NN0 /\ L e. NN0 /\ M <_ L ) /\ ( K e. NN0 /\ ( L - M ) e. NN /\ K < ( L - M ) ) ) -> L e. NN ) | 
						
							| 40 |  | nn0re |  |-  ( K e. NN0 -> K e. RR ) | 
						
							| 41 | 40 | adantr |  |-  ( ( K e. NN0 /\ ( M e. NN0 /\ L e. NN0 /\ M <_ L ) ) -> K e. RR ) | 
						
							| 42 | 13 | 3ad2ant1 |  |-  ( ( M e. NN0 /\ L e. NN0 /\ M <_ L ) -> M e. RR ) | 
						
							| 43 | 42 | adantl |  |-  ( ( K e. NN0 /\ ( M e. NN0 /\ L e. NN0 /\ M <_ L ) ) -> M e. RR ) | 
						
							| 44 | 14 | 3ad2ant2 |  |-  ( ( M e. NN0 /\ L e. NN0 /\ M <_ L ) -> L e. RR ) | 
						
							| 45 | 44 | adantl |  |-  ( ( K e. NN0 /\ ( M e. NN0 /\ L e. NN0 /\ M <_ L ) ) -> L e. RR ) | 
						
							| 46 | 41 43 45 | ltaddsubd |  |-  ( ( K e. NN0 /\ ( M e. NN0 /\ L e. NN0 /\ M <_ L ) ) -> ( ( K + M ) < L <-> K < ( L - M ) ) ) | 
						
							| 47 | 46 | exbiri |  |-  ( K e. NN0 -> ( ( M e. NN0 /\ L e. NN0 /\ M <_ L ) -> ( K < ( L - M ) -> ( K + M ) < L ) ) ) | 
						
							| 48 | 47 | com23 |  |-  ( K e. NN0 -> ( K < ( L - M ) -> ( ( M e. NN0 /\ L e. NN0 /\ M <_ L ) -> ( K + M ) < L ) ) ) | 
						
							| 49 | 48 | imp |  |-  ( ( K e. NN0 /\ K < ( L - M ) ) -> ( ( M e. NN0 /\ L e. NN0 /\ M <_ L ) -> ( K + M ) < L ) ) | 
						
							| 50 | 49 | 3adant2 |  |-  ( ( K e. NN0 /\ ( L - M ) e. NN /\ K < ( L - M ) ) -> ( ( M e. NN0 /\ L e. NN0 /\ M <_ L ) -> ( K + M ) < L ) ) | 
						
							| 51 | 50 | impcom |  |-  ( ( ( M e. NN0 /\ L e. NN0 /\ M <_ L ) /\ ( K e. NN0 /\ ( L - M ) e. NN /\ K < ( L - M ) ) ) -> ( K + M ) < L ) | 
						
							| 52 | 11 39 51 | 3jca |  |-  ( ( ( M e. NN0 /\ L e. NN0 /\ M <_ L ) /\ ( K e. NN0 /\ ( L - M ) e. NN /\ K < ( L - M ) ) ) -> ( ( K + M ) e. NN0 /\ L e. NN /\ ( K + M ) < L ) ) | 
						
							| 53 | 52 | ex |  |-  ( ( M e. NN0 /\ L e. NN0 /\ M <_ L ) -> ( ( K e. NN0 /\ ( L - M ) e. NN /\ K < ( L - M ) ) -> ( ( K + M ) e. NN0 /\ L e. NN /\ ( K + M ) < L ) ) ) | 
						
							| 54 | 53 | a1d |  |-  ( ( M e. NN0 /\ L e. NN0 /\ M <_ L ) -> ( N e. ( L ... ( L + ( # ` B ) ) ) -> ( ( K e. NN0 /\ ( L - M ) e. NN /\ K < ( L - M ) ) -> ( ( K + M ) e. NN0 /\ L e. NN /\ ( K + M ) < L ) ) ) ) | 
						
							| 55 | 5 54 | sylbi |  |-  ( M e. ( 0 ... L ) -> ( N e. ( L ... ( L + ( # ` B ) ) ) -> ( ( K e. NN0 /\ ( L - M ) e. NN /\ K < ( L - M ) ) -> ( ( K + M ) e. NN0 /\ L e. NN /\ ( K + M ) < L ) ) ) ) | 
						
							| 56 | 55 | imp |  |-  ( ( M e. ( 0 ... L ) /\ N e. ( L ... ( L + ( # ` B ) ) ) ) -> ( ( K e. NN0 /\ ( L - M ) e. NN /\ K < ( L - M ) ) -> ( ( K + M ) e. NN0 /\ L e. NN /\ ( K + M ) < L ) ) ) | 
						
							| 57 | 56 | 2a1i |  |-  ( ( # ` A ) = L -> ( L e. NN0 -> ( ( M e. ( 0 ... L ) /\ N e. ( L ... ( L + ( # ` B ) ) ) ) -> ( ( K e. NN0 /\ ( L - M ) e. NN /\ K < ( L - M ) ) -> ( ( K + M ) e. NN0 /\ L e. NN /\ ( K + M ) < L ) ) ) ) ) | 
						
							| 58 |  | eleq1 |  |-  ( ( # ` A ) = L -> ( ( # ` A ) e. NN0 <-> L e. NN0 ) ) | 
						
							| 59 |  | eleq1 |  |-  ( ( # ` A ) = L -> ( ( # ` A ) e. NN <-> L e. NN ) ) | 
						
							| 60 |  | breq2 |  |-  ( ( # ` A ) = L -> ( ( K + M ) < ( # ` A ) <-> ( K + M ) < L ) ) | 
						
							| 61 | 59 60 | 3anbi23d |  |-  ( ( # ` A ) = L -> ( ( ( K + M ) e. NN0 /\ ( # ` A ) e. NN /\ ( K + M ) < ( # ` A ) ) <-> ( ( K + M ) e. NN0 /\ L e. NN /\ ( K + M ) < L ) ) ) | 
						
							| 62 | 61 | imbi2d |  |-  ( ( # ` A ) = L -> ( ( ( K e. NN0 /\ ( L - M ) e. NN /\ K < ( L - M ) ) -> ( ( K + M ) e. NN0 /\ ( # ` A ) e. NN /\ ( K + M ) < ( # ` A ) ) ) <-> ( ( K e. NN0 /\ ( L - M ) e. NN /\ K < ( L - M ) ) -> ( ( K + M ) e. NN0 /\ L e. NN /\ ( K + M ) < L ) ) ) ) | 
						
							| 63 | 62 | imbi2d |  |-  ( ( # ` A ) = L -> ( ( ( M e. ( 0 ... L ) /\ N e. ( L ... ( L + ( # ` B ) ) ) ) -> ( ( K e. NN0 /\ ( L - M ) e. NN /\ K < ( L - M ) ) -> ( ( K + M ) e. NN0 /\ ( # ` A ) e. NN /\ ( K + M ) < ( # ` A ) ) ) ) <-> ( ( M e. ( 0 ... L ) /\ N e. ( L ... ( L + ( # ` B ) ) ) ) -> ( ( K e. NN0 /\ ( L - M ) e. NN /\ K < ( L - M ) ) -> ( ( K + M ) e. NN0 /\ L e. NN /\ ( K + M ) < L ) ) ) ) ) | 
						
							| 64 | 57 58 63 | 3imtr4d |  |-  ( ( # ` A ) = L -> ( ( # ` A ) e. NN0 -> ( ( M e. ( 0 ... L ) /\ N e. ( L ... ( L + ( # ` B ) ) ) ) -> ( ( K e. NN0 /\ ( L - M ) e. NN /\ K < ( L - M ) ) -> ( ( K + M ) e. NN0 /\ ( # ` A ) e. NN /\ ( K + M ) < ( # ` A ) ) ) ) ) ) | 
						
							| 65 | 64 | eqcoms |  |-  ( L = ( # ` A ) -> ( ( # ` A ) e. NN0 -> ( ( M e. ( 0 ... L ) /\ N e. ( L ... ( L + ( # ` B ) ) ) ) -> ( ( K e. NN0 /\ ( L - M ) e. NN /\ K < ( L - M ) ) -> ( ( K + M ) e. NN0 /\ ( # ` A ) e. NN /\ ( K + M ) < ( # ` A ) ) ) ) ) ) | 
						
							| 66 | 1 4 65 | mpsyl |  |-  ( A e. Word V -> ( ( M e. ( 0 ... L ) /\ N e. ( L ... ( L + ( # ` B ) ) ) ) -> ( ( K e. NN0 /\ ( L - M ) e. NN /\ K < ( L - M ) ) -> ( ( K + M ) e. NN0 /\ ( # ` A ) e. NN /\ ( K + M ) < ( # ` A ) ) ) ) ) | 
						
							| 67 | 66 | adantr |  |-  ( ( A e. Word V /\ B e. Word V ) -> ( ( M e. ( 0 ... L ) /\ N e. ( L ... ( L + ( # ` B ) ) ) ) -> ( ( K e. NN0 /\ ( L - M ) e. NN /\ K < ( L - M ) ) -> ( ( K + M ) e. NN0 /\ ( # ` A ) e. NN /\ ( K + M ) < ( # ` A ) ) ) ) ) | 
						
							| 68 | 67 | imp |  |-  ( ( ( A e. Word V /\ B e. Word V ) /\ ( M e. ( 0 ... L ) /\ N e. ( L ... ( L + ( # ` B ) ) ) ) ) -> ( ( K e. NN0 /\ ( L - M ) e. NN /\ K < ( L - M ) ) -> ( ( K + M ) e. NN0 /\ ( # ` A ) e. NN /\ ( K + M ) < ( # ` A ) ) ) ) | 
						
							| 69 | 68 | com12 |  |-  ( ( K e. NN0 /\ ( L - M ) e. NN /\ K < ( L - M ) ) -> ( ( ( A e. Word V /\ B e. Word V ) /\ ( M e. ( 0 ... L ) /\ N e. ( L ... ( L + ( # ` B ) ) ) ) ) -> ( ( K + M ) e. NN0 /\ ( # ` A ) e. NN /\ ( K + M ) < ( # ` A ) ) ) ) | 
						
							| 70 | 3 69 | sylbi |  |-  ( K e. ( 0 ..^ ( L - M ) ) -> ( ( ( A e. Word V /\ B e. Word V ) /\ ( M e. ( 0 ... L ) /\ N e. ( L ... ( L + ( # ` B ) ) ) ) ) -> ( ( K + M ) e. NN0 /\ ( # ` A ) e. NN /\ ( K + M ) < ( # ` A ) ) ) ) | 
						
							| 71 | 70 | adantl |  |-  ( ( K e. ( 0 ..^ ( N - M ) ) /\ K e. ( 0 ..^ ( L - M ) ) ) -> ( ( ( A e. Word V /\ B e. Word V ) /\ ( M e. ( 0 ... L ) /\ N e. ( L ... ( L + ( # ` B ) ) ) ) ) -> ( ( K + M ) e. NN0 /\ ( # ` A ) e. NN /\ ( K + M ) < ( # ` A ) ) ) ) | 
						
							| 72 | 71 | impcom |  |-  ( ( ( ( A e. Word V /\ B e. Word V ) /\ ( M e. ( 0 ... L ) /\ N e. ( L ... ( L + ( # ` B ) ) ) ) ) /\ ( K e. ( 0 ..^ ( N - M ) ) /\ K e. ( 0 ..^ ( L - M ) ) ) ) -> ( ( K + M ) e. NN0 /\ ( # ` A ) e. NN /\ ( K + M ) < ( # ` A ) ) ) | 
						
							| 73 |  | elfzo0 |  |-  ( ( K + M ) e. ( 0 ..^ ( # ` A ) ) <-> ( ( K + M ) e. NN0 /\ ( # ` A ) e. NN /\ ( K + M ) < ( # ` A ) ) ) | 
						
							| 74 | 72 73 | sylibr |  |-  ( ( ( ( A e. Word V /\ B e. Word V ) /\ ( M e. ( 0 ... L ) /\ N e. ( L ... ( L + ( # ` B ) ) ) ) ) /\ ( K e. ( 0 ..^ ( N - M ) ) /\ K e. ( 0 ..^ ( L - M ) ) ) ) -> ( K + M ) e. ( 0 ..^ ( # ` A ) ) ) | 
						
							| 75 |  | df-3an |  |-  ( ( A e. Word V /\ B e. Word V /\ ( K + M ) e. ( 0 ..^ ( # ` A ) ) ) <-> ( ( A e. Word V /\ B e. Word V ) /\ ( K + M ) e. ( 0 ..^ ( # ` A ) ) ) ) | 
						
							| 76 | 2 74 75 | sylanbrc |  |-  ( ( ( ( A e. Word V /\ B e. Word V ) /\ ( M e. ( 0 ... L ) /\ N e. ( L ... ( L + ( # ` B ) ) ) ) ) /\ ( K e. ( 0 ..^ ( N - M ) ) /\ K e. ( 0 ..^ ( L - M ) ) ) ) -> ( A e. Word V /\ B e. Word V /\ ( K + M ) e. ( 0 ..^ ( # ` A ) ) ) ) | 
						
							| 77 |  | ccatval1 |  |-  ( ( A e. Word V /\ B e. Word V /\ ( K + M ) e. ( 0 ..^ ( # ` A ) ) ) -> ( ( A ++ B ) ` ( K + M ) ) = ( A ` ( K + M ) ) ) | 
						
							| 78 | 76 77 | syl |  |-  ( ( ( ( A e. Word V /\ B e. Word V ) /\ ( M e. ( 0 ... L ) /\ N e. ( L ... ( L + ( # ` B ) ) ) ) ) /\ ( K e. ( 0 ..^ ( N - M ) ) /\ K e. ( 0 ..^ ( L - M ) ) ) ) -> ( ( A ++ B ) ` ( K + M ) ) = ( A ` ( K + M ) ) ) | 
						
							| 79 | 1 | pfxccatin12lem2c |  |-  ( ( ( A e. Word V /\ B e. Word V ) /\ ( M e. ( 0 ... L ) /\ N e. ( L ... ( L + ( # ` B ) ) ) ) ) -> ( ( A ++ B ) e. Word V /\ M e. ( 0 ... N ) /\ N e. ( 0 ... ( # ` ( A ++ B ) ) ) ) ) | 
						
							| 80 |  | simpl |  |-  ( ( K e. ( 0 ..^ ( N - M ) ) /\ K e. ( 0 ..^ ( L - M ) ) ) -> K e. ( 0 ..^ ( N - M ) ) ) | 
						
							| 81 |  | swrdfv |  |-  ( ( ( ( A ++ B ) e. Word V /\ M e. ( 0 ... N ) /\ N e. ( 0 ... ( # ` ( A ++ B ) ) ) ) /\ K e. ( 0 ..^ ( N - M ) ) ) -> ( ( ( A ++ B ) substr <. M , N >. ) ` K ) = ( ( A ++ B ) ` ( K + M ) ) ) | 
						
							| 82 | 79 80 81 | syl2an |  |-  ( ( ( ( A e. Word V /\ B e. Word V ) /\ ( M e. ( 0 ... L ) /\ N e. ( L ... ( L + ( # ` B ) ) ) ) ) /\ ( K e. ( 0 ..^ ( N - M ) ) /\ K e. ( 0 ..^ ( L - M ) ) ) ) -> ( ( ( A ++ B ) substr <. M , N >. ) ` K ) = ( ( A ++ B ) ` ( K + M ) ) ) | 
						
							| 83 |  | simplll |  |-  ( ( ( ( A e. Word V /\ B e. Word V ) /\ ( M e. ( 0 ... L ) /\ N e. ( L ... ( L + ( # ` B ) ) ) ) ) /\ ( K e. ( 0 ..^ ( N - M ) ) /\ K e. ( 0 ..^ ( L - M ) ) ) ) -> A e. Word V ) | 
						
							| 84 |  | simplrl |  |-  ( ( ( ( A e. Word V /\ B e. Word V ) /\ ( M e. ( 0 ... L ) /\ N e. ( L ... ( L + ( # ` B ) ) ) ) ) /\ ( K e. ( 0 ..^ ( N - M ) ) /\ K e. ( 0 ..^ ( L - M ) ) ) ) -> M e. ( 0 ... L ) ) | 
						
							| 85 | 1 | eleq1i |  |-  ( L e. NN0 <-> ( # ` A ) e. NN0 ) | 
						
							| 86 |  | elnn0uz |  |-  ( L e. NN0 <-> L e. ( ZZ>= ` 0 ) ) | 
						
							| 87 |  | eluzfz2 |  |-  ( L e. ( ZZ>= ` 0 ) -> L e. ( 0 ... L ) ) | 
						
							| 88 | 86 87 | sylbi |  |-  ( L e. NN0 -> L e. ( 0 ... L ) ) | 
						
							| 89 | 1 | oveq2i |  |-  ( 0 ... L ) = ( 0 ... ( # ` A ) ) | 
						
							| 90 | 88 89 | eleqtrdi |  |-  ( L e. NN0 -> L e. ( 0 ... ( # ` A ) ) ) | 
						
							| 91 | 85 90 | sylbir |  |-  ( ( # ` A ) e. NN0 -> L e. ( 0 ... ( # ` A ) ) ) | 
						
							| 92 | 4 91 | syl |  |-  ( A e. Word V -> L e. ( 0 ... ( # ` A ) ) ) | 
						
							| 93 | 92 | ad3antrrr |  |-  ( ( ( ( A e. Word V /\ B e. Word V ) /\ ( M e. ( 0 ... L ) /\ N e. ( L ... ( L + ( # ` B ) ) ) ) ) /\ ( K e. ( 0 ..^ ( N - M ) ) /\ K e. ( 0 ..^ ( L - M ) ) ) ) -> L e. ( 0 ... ( # ` A ) ) ) | 
						
							| 94 |  | simprr |  |-  ( ( ( ( A e. Word V /\ B e. Word V ) /\ ( M e. ( 0 ... L ) /\ N e. ( L ... ( L + ( # ` B ) ) ) ) ) /\ ( K e. ( 0 ..^ ( N - M ) ) /\ K e. ( 0 ..^ ( L - M ) ) ) ) -> K e. ( 0 ..^ ( L - M ) ) ) | 
						
							| 95 |  | swrdfv |  |-  ( ( ( A e. Word V /\ M e. ( 0 ... L ) /\ L e. ( 0 ... ( # ` A ) ) ) /\ K e. ( 0 ..^ ( L - M ) ) ) -> ( ( A substr <. M , L >. ) ` K ) = ( A ` ( K + M ) ) ) | 
						
							| 96 | 83 84 93 94 95 | syl31anc |  |-  ( ( ( ( A e. Word V /\ B e. Word V ) /\ ( M e. ( 0 ... L ) /\ N e. ( L ... ( L + ( # ` B ) ) ) ) ) /\ ( K e. ( 0 ..^ ( N - M ) ) /\ K e. ( 0 ..^ ( L - M ) ) ) ) -> ( ( A substr <. M , L >. ) ` K ) = ( A ` ( K + M ) ) ) | 
						
							| 97 | 78 82 96 | 3eqtr4d |  |-  ( ( ( ( A e. Word V /\ B e. Word V ) /\ ( M e. ( 0 ... L ) /\ N e. ( L ... ( L + ( # ` B ) ) ) ) ) /\ ( K e. ( 0 ..^ ( N - M ) ) /\ K e. ( 0 ..^ ( L - M ) ) ) ) -> ( ( ( A ++ B ) substr <. M , N >. ) ` K ) = ( ( A substr <. M , L >. ) ` K ) ) | 
						
							| 98 | 97 | ex |  |-  ( ( ( A e. Word V /\ B e. Word V ) /\ ( M e. ( 0 ... L ) /\ N e. ( L ... ( L + ( # ` B ) ) ) ) ) -> ( ( K e. ( 0 ..^ ( N - M ) ) /\ K e. ( 0 ..^ ( L - M ) ) ) -> ( ( ( A ++ B ) substr <. M , N >. ) ` K ) = ( ( A substr <. M , L >. ) ` K ) ) ) |