| Step | Hyp | Ref | Expression | 
						
							| 1 |  | lpadlen.1 |  |-  ( ph -> L e. NN0 ) | 
						
							| 2 |  | lpadlen.2 |  |-  ( ph -> W e. Word S ) | 
						
							| 3 |  | lpadlen.3 |  |-  ( ph -> C e. S ) | 
						
							| 4 |  | lpadright.1 |  |-  ( ph -> M = if ( L <_ ( # ` W ) , 0 , ( L - ( # ` W ) ) ) ) | 
						
							| 5 |  | lpadright.2 |  |-  ( ph -> N e. ( 0 ..^ ( # ` W ) ) ) | 
						
							| 6 | 1 2 3 | lpadval |  |-  ( ph -> ( ( C leftpad W ) ` L ) = ( ( ( 0 ..^ ( L - ( # ` W ) ) ) X. { C } ) ++ W ) ) | 
						
							| 7 | 6 | fveq1d |  |-  ( ph -> ( ( ( C leftpad W ) ` L ) ` ( N + M ) ) = ( ( ( ( 0 ..^ ( L - ( # ` W ) ) ) X. { C } ) ++ W ) ` ( N + M ) ) ) | 
						
							| 8 |  | eqeq2 |  |-  ( 0 = if ( L <_ ( # ` W ) , 0 , ( L - ( # ` W ) ) ) -> ( ( # ` ( ( 0 ..^ ( L - ( # ` W ) ) ) X. { C } ) ) = 0 <-> ( # ` ( ( 0 ..^ ( L - ( # ` W ) ) ) X. { C } ) ) = if ( L <_ ( # ` W ) , 0 , ( L - ( # ` W ) ) ) ) ) | 
						
							| 9 |  | eqeq2 |  |-  ( ( L - ( # ` W ) ) = if ( L <_ ( # ` W ) , 0 , ( L - ( # ` W ) ) ) -> ( ( # ` ( ( 0 ..^ ( L - ( # ` W ) ) ) X. { C } ) ) = ( L - ( # ` W ) ) <-> ( # ` ( ( 0 ..^ ( L - ( # ` W ) ) ) X. { C } ) ) = if ( L <_ ( # ` W ) , 0 , ( L - ( # ` W ) ) ) ) ) | 
						
							| 10 | 1 | adantr |  |-  ( ( ph /\ L <_ ( # ` W ) ) -> L e. NN0 ) | 
						
							| 11 | 2 | adantr |  |-  ( ( ph /\ L <_ ( # ` W ) ) -> W e. Word S ) | 
						
							| 12 | 3 | adantr |  |-  ( ( ph /\ L <_ ( # ` W ) ) -> C e. S ) | 
						
							| 13 |  | simpr |  |-  ( ( ph /\ L <_ ( # ` W ) ) -> L <_ ( # ` W ) ) | 
						
							| 14 | 10 11 12 13 | lpadlem3 |  |-  ( ( ph /\ L <_ ( # ` W ) ) -> ( ( 0 ..^ ( L - ( # ` W ) ) ) X. { C } ) = (/) ) | 
						
							| 15 | 14 | fveq2d |  |-  ( ( ph /\ L <_ ( # ` W ) ) -> ( # ` ( ( 0 ..^ ( L - ( # ` W ) ) ) X. { C } ) ) = ( # ` (/) ) ) | 
						
							| 16 |  | hash0 |  |-  ( # ` (/) ) = 0 | 
						
							| 17 | 15 16 | eqtrdi |  |-  ( ( ph /\ L <_ ( # ` W ) ) -> ( # ` ( ( 0 ..^ ( L - ( # ` W ) ) ) X. { C } ) ) = 0 ) | 
						
							| 18 | 1 | adantr |  |-  ( ( ph /\ -. L <_ ( # ` W ) ) -> L e. NN0 ) | 
						
							| 19 | 2 | adantr |  |-  ( ( ph /\ -. L <_ ( # ` W ) ) -> W e. Word S ) | 
						
							| 20 | 3 | adantr |  |-  ( ( ph /\ -. L <_ ( # ` W ) ) -> C e. S ) | 
						
							| 21 |  | lencl |  |-  ( W e. Word S -> ( # ` W ) e. NN0 ) | 
						
							| 22 | 2 21 | syl |  |-  ( ph -> ( # ` W ) e. NN0 ) | 
						
							| 23 | 22 | nn0red |  |-  ( ph -> ( # ` W ) e. RR ) | 
						
							| 24 | 23 | adantr |  |-  ( ( ph /\ -. L <_ ( # ` W ) ) -> ( # ` W ) e. RR ) | 
						
							| 25 | 1 | nn0red |  |-  ( ph -> L e. RR ) | 
						
							| 26 | 25 | adantr |  |-  ( ( ph /\ -. L <_ ( # ` W ) ) -> L e. RR ) | 
						
							| 27 | 23 25 | ltnled |  |-  ( ph -> ( ( # ` W ) < L <-> -. L <_ ( # ` W ) ) ) | 
						
							| 28 | 27 | biimpar |  |-  ( ( ph /\ -. L <_ ( # ` W ) ) -> ( # ` W ) < L ) | 
						
							| 29 | 24 26 28 | ltled |  |-  ( ( ph /\ -. L <_ ( # ` W ) ) -> ( # ` W ) <_ L ) | 
						
							| 30 | 18 19 20 29 | lpadlem2 |  |-  ( ( ph /\ -. L <_ ( # ` W ) ) -> ( # ` ( ( 0 ..^ ( L - ( # ` W ) ) ) X. { C } ) ) = ( L - ( # ` W ) ) ) | 
						
							| 31 | 8 9 17 30 | ifbothda |  |-  ( ph -> ( # ` ( ( 0 ..^ ( L - ( # ` W ) ) ) X. { C } ) ) = if ( L <_ ( # ` W ) , 0 , ( L - ( # ` W ) ) ) ) | 
						
							| 32 | 31 4 | eqtr4d |  |-  ( ph -> ( # ` ( ( 0 ..^ ( L - ( # ` W ) ) ) X. { C } ) ) = M ) | 
						
							| 33 | 32 | oveq2d |  |-  ( ph -> ( N + ( # ` ( ( 0 ..^ ( L - ( # ` W ) ) ) X. { C } ) ) ) = ( N + M ) ) | 
						
							| 34 | 33 | fveq2d |  |-  ( ph -> ( ( ( ( 0 ..^ ( L - ( # ` W ) ) ) X. { C } ) ++ W ) ` ( N + ( # ` ( ( 0 ..^ ( L - ( # ` W ) ) ) X. { C } ) ) ) ) = ( ( ( ( 0 ..^ ( L - ( # ` W ) ) ) X. { C } ) ++ W ) ` ( N + M ) ) ) | 
						
							| 35 | 3 | lpadlem1 |  |-  ( ph -> ( ( 0 ..^ ( L - ( # ` W ) ) ) X. { C } ) e. Word S ) | 
						
							| 36 |  | ccatval3 |  |-  ( ( ( ( 0 ..^ ( L - ( # ` W ) ) ) X. { C } ) e. Word S /\ W e. Word S /\ N e. ( 0 ..^ ( # ` W ) ) ) -> ( ( ( ( 0 ..^ ( L - ( # ` W ) ) ) X. { C } ) ++ W ) ` ( N + ( # ` ( ( 0 ..^ ( L - ( # ` W ) ) ) X. { C } ) ) ) ) = ( W ` N ) ) | 
						
							| 37 | 35 2 5 36 | syl3anc |  |-  ( ph -> ( ( ( ( 0 ..^ ( L - ( # ` W ) ) ) X. { C } ) ++ W ) ` ( N + ( # ` ( ( 0 ..^ ( L - ( # ` W ) ) ) X. { C } ) ) ) ) = ( W ` N ) ) | 
						
							| 38 | 7 34 37 | 3eqtr2d |  |-  ( ph -> ( ( ( C leftpad W ) ` L ) ` ( N + M ) ) = ( W ` N ) ) |