| Step | Hyp | Ref | Expression | 
						
							| 1 |  | simpl |  |-  ( ( W e. Word V /\ ( # ` W ) = ( N - 2 ) ) -> W e. Word V ) | 
						
							| 2 |  | s1cl |  |-  ( X e. V -> <" X "> e. Word V ) | 
						
							| 3 |  | s1cl |  |-  ( Y e. V -> <" Y "> e. Word V ) | 
						
							| 4 | 1 2 3 | 3anim123i |  |-  ( ( ( W e. Word V /\ ( # ` W ) = ( N - 2 ) ) /\ X e. V /\ Y e. V ) -> ( W e. Word V /\ <" X "> e. Word V /\ <" Y "> e. Word V ) ) | 
						
							| 5 | 4 | 3expb |  |-  ( ( ( W e. Word V /\ ( # ` W ) = ( N - 2 ) ) /\ ( X e. V /\ Y e. V ) ) -> ( W e. Word V /\ <" X "> e. Word V /\ <" Y "> e. Word V ) ) | 
						
							| 6 |  | ccatass |  |-  ( ( W e. Word V /\ <" X "> e. Word V /\ <" Y "> e. Word V ) -> ( ( W ++ <" X "> ) ++ <" Y "> ) = ( W ++ ( <" X "> ++ <" Y "> ) ) ) | 
						
							| 7 | 5 6 | syl |  |-  ( ( ( W e. Word V /\ ( # ` W ) = ( N - 2 ) ) /\ ( X e. V /\ Y e. V ) ) -> ( ( W ++ <" X "> ) ++ <" Y "> ) = ( W ++ ( <" X "> ++ <" Y "> ) ) ) | 
						
							| 8 | 7 | oveq1d |  |-  ( ( ( W e. Word V /\ ( # ` W ) = ( N - 2 ) ) /\ ( X e. V /\ Y e. V ) ) -> ( ( ( W ++ <" X "> ) ++ <" Y "> ) prefix ( N - 2 ) ) = ( ( W ++ ( <" X "> ++ <" Y "> ) ) prefix ( N - 2 ) ) ) | 
						
							| 9 | 1 | adantr |  |-  ( ( ( W e. Word V /\ ( # ` W ) = ( N - 2 ) ) /\ ( X e. V /\ Y e. V ) ) -> W e. Word V ) | 
						
							| 10 |  | ccat2s1cl |  |-  ( ( X e. V /\ Y e. V ) -> ( <" X "> ++ <" Y "> ) e. Word V ) | 
						
							| 11 | 10 | adantl |  |-  ( ( ( W e. Word V /\ ( # ` W ) = ( N - 2 ) ) /\ ( X e. V /\ Y e. V ) ) -> ( <" X "> ++ <" Y "> ) e. Word V ) | 
						
							| 12 |  | simpr |  |-  ( ( W e. Word V /\ ( # ` W ) = ( N - 2 ) ) -> ( # ` W ) = ( N - 2 ) ) | 
						
							| 13 | 12 | eqcomd |  |-  ( ( W e. Word V /\ ( # ` W ) = ( N - 2 ) ) -> ( N - 2 ) = ( # ` W ) ) | 
						
							| 14 | 13 | adantr |  |-  ( ( ( W e. Word V /\ ( # ` W ) = ( N - 2 ) ) /\ ( X e. V /\ Y e. V ) ) -> ( N - 2 ) = ( # ` W ) ) | 
						
							| 15 |  | pfxccatid |  |-  ( ( W e. Word V /\ ( <" X "> ++ <" Y "> ) e. Word V /\ ( N - 2 ) = ( # ` W ) ) -> ( ( W ++ ( <" X "> ++ <" Y "> ) ) prefix ( N - 2 ) ) = W ) | 
						
							| 16 | 9 11 14 15 | syl3anc |  |-  ( ( ( W e. Word V /\ ( # ` W ) = ( N - 2 ) ) /\ ( X e. V /\ Y e. V ) ) -> ( ( W ++ ( <" X "> ++ <" Y "> ) ) prefix ( N - 2 ) ) = W ) | 
						
							| 17 | 8 16 | eqtrd |  |-  ( ( ( W e. Word V /\ ( # ` W ) = ( N - 2 ) ) /\ ( X e. V /\ Y e. V ) ) -> ( ( ( W ++ <" X "> ) ++ <" Y "> ) prefix ( N - 2 ) ) = W ) | 
						
							| 18 | 17 | 3adant3 |  |-  ( ( ( W e. Word V /\ ( # ` W ) = ( N - 2 ) ) /\ ( X e. V /\ Y e. V ) /\ N e. ( ZZ>= ` 3 ) ) -> ( ( ( W ++ <" X "> ) ++ <" Y "> ) prefix ( N - 2 ) ) = W ) | 
						
							| 19 |  | 1e2m1 |  |-  1 = ( 2 - 1 ) | 
						
							| 20 | 19 | oveq2i |  |-  ( N - 1 ) = ( N - ( 2 - 1 ) ) | 
						
							| 21 |  | eluzelcn |  |-  ( N e. ( ZZ>= ` 3 ) -> N e. CC ) | 
						
							| 22 |  | 2cnd |  |-  ( N e. ( ZZ>= ` 3 ) -> 2 e. CC ) | 
						
							| 23 |  | 1cnd |  |-  ( N e. ( ZZ>= ` 3 ) -> 1 e. CC ) | 
						
							| 24 | 21 22 23 | subsubd |  |-  ( N e. ( ZZ>= ` 3 ) -> ( N - ( 2 - 1 ) ) = ( ( N - 2 ) + 1 ) ) | 
						
							| 25 | 20 24 | eqtrid |  |-  ( N e. ( ZZ>= ` 3 ) -> ( N - 1 ) = ( ( N - 2 ) + 1 ) ) | 
						
							| 26 | 25 | 3ad2ant3 |  |-  ( ( ( W e. Word V /\ ( # ` W ) = ( N - 2 ) ) /\ ( X e. V /\ Y e. V ) /\ N e. ( ZZ>= ` 3 ) ) -> ( N - 1 ) = ( ( N - 2 ) + 1 ) ) | 
						
							| 27 | 26 | fveq2d |  |-  ( ( ( W e. Word V /\ ( # ` W ) = ( N - 2 ) ) /\ ( X e. V /\ Y e. V ) /\ N e. ( ZZ>= ` 3 ) ) -> ( ( ( W ++ <" X "> ) ++ <" Y "> ) ` ( N - 1 ) ) = ( ( ( W ++ <" X "> ) ++ <" Y "> ) ` ( ( N - 2 ) + 1 ) ) ) | 
						
							| 28 |  | ccatw2s1p2 |  |-  ( ( ( W e. Word V /\ ( # ` W ) = ( N - 2 ) ) /\ ( X e. V /\ Y e. V ) ) -> ( ( ( W ++ <" X "> ) ++ <" Y "> ) ` ( ( N - 2 ) + 1 ) ) = Y ) | 
						
							| 29 | 28 | 3adant3 |  |-  ( ( ( W e. Word V /\ ( # ` W ) = ( N - 2 ) ) /\ ( X e. V /\ Y e. V ) /\ N e. ( ZZ>= ` 3 ) ) -> ( ( ( W ++ <" X "> ) ++ <" Y "> ) ` ( ( N - 2 ) + 1 ) ) = Y ) | 
						
							| 30 | 27 29 | eqtrd |  |-  ( ( ( W e. Word V /\ ( # ` W ) = ( N - 2 ) ) /\ ( X e. V /\ Y e. V ) /\ N e. ( ZZ>= ` 3 ) ) -> ( ( ( W ++ <" X "> ) ++ <" Y "> ) ` ( N - 1 ) ) = Y ) | 
						
							| 31 |  | simpl |  |-  ( ( X e. V /\ Y e. V ) -> X e. V ) | 
						
							| 32 |  | ccatw2s1p1 |  |-  ( ( W e. Word V /\ ( # ` W ) = ( N - 2 ) /\ X e. V ) -> ( ( ( W ++ <" X "> ) ++ <" Y "> ) ` ( N - 2 ) ) = X ) | 
						
							| 33 | 1 12 31 32 | syl2an3an |  |-  ( ( ( W e. Word V /\ ( # ` W ) = ( N - 2 ) ) /\ ( X e. V /\ Y e. V ) ) -> ( ( ( W ++ <" X "> ) ++ <" Y "> ) ` ( N - 2 ) ) = X ) | 
						
							| 34 | 33 | 3adant3 |  |-  ( ( ( W e. Word V /\ ( # ` W ) = ( N - 2 ) ) /\ ( X e. V /\ Y e. V ) /\ N e. ( ZZ>= ` 3 ) ) -> ( ( ( W ++ <" X "> ) ++ <" Y "> ) ` ( N - 2 ) ) = X ) | 
						
							| 35 | 18 30 34 | 3jca |  |-  ( ( ( W e. Word V /\ ( # ` W ) = ( N - 2 ) ) /\ ( X e. V /\ Y e. V ) /\ N e. ( ZZ>= ` 3 ) ) -> ( ( ( ( W ++ <" X "> ) ++ <" Y "> ) prefix ( N - 2 ) ) = W /\ ( ( ( W ++ <" X "> ) ++ <" Y "> ) ` ( N - 1 ) ) = Y /\ ( ( ( W ++ <" X "> ) ++ <" Y "> ) ` ( N - 2 ) ) = X ) ) |