| Step | Hyp | Ref | Expression | 
						
							| 1 |  | swrdrlen | ⊢ ( ( 𝑊  ∈  Word  𝑉  ∧  𝑀  ∈  ( 0 ... ( ♯ ‘ 𝑊 ) ) )  →  ( ♯ ‘ ( 𝑊  substr  〈 𝑀 ,  ( ♯ ‘ 𝑊 ) 〉 ) )  =  ( ( ♯ ‘ 𝑊 )  −  𝑀 ) ) | 
						
							| 2 |  | pfxlen | ⊢ ( ( 𝑊  ∈  Word  𝑉  ∧  𝑀  ∈  ( 0 ... ( ♯ ‘ 𝑊 ) ) )  →  ( ♯ ‘ ( 𝑊  prefix  𝑀 ) )  =  𝑀 ) | 
						
							| 3 | 1 2 | oveq12d | ⊢ ( ( 𝑊  ∈  Word  𝑉  ∧  𝑀  ∈  ( 0 ... ( ♯ ‘ 𝑊 ) ) )  →  ( ( ♯ ‘ ( 𝑊  substr  〈 𝑀 ,  ( ♯ ‘ 𝑊 ) 〉 ) )  +  ( ♯ ‘ ( 𝑊  prefix  𝑀 ) ) )  =  ( ( ( ♯ ‘ 𝑊 )  −  𝑀 )  +  𝑀 ) ) | 
						
							| 4 |  | lencl | ⊢ ( 𝑊  ∈  Word  𝑉  →  ( ♯ ‘ 𝑊 )  ∈  ℕ0 ) | 
						
							| 5 |  | elfzelz | ⊢ ( 𝑀  ∈  ( 0 ... ( ♯ ‘ 𝑊 ) )  →  𝑀  ∈  ℤ ) | 
						
							| 6 |  | nn0cn | ⊢ ( ( ♯ ‘ 𝑊 )  ∈  ℕ0  →  ( ♯ ‘ 𝑊 )  ∈  ℂ ) | 
						
							| 7 |  | zcn | ⊢ ( 𝑀  ∈  ℤ  →  𝑀  ∈  ℂ ) | 
						
							| 8 |  | npcan | ⊢ ( ( ( ♯ ‘ 𝑊 )  ∈  ℂ  ∧  𝑀  ∈  ℂ )  →  ( ( ( ♯ ‘ 𝑊 )  −  𝑀 )  +  𝑀 )  =  ( ♯ ‘ 𝑊 ) ) | 
						
							| 9 | 6 7 8 | syl2an | ⊢ ( ( ( ♯ ‘ 𝑊 )  ∈  ℕ0  ∧  𝑀  ∈  ℤ )  →  ( ( ( ♯ ‘ 𝑊 )  −  𝑀 )  +  𝑀 )  =  ( ♯ ‘ 𝑊 ) ) | 
						
							| 10 | 4 5 9 | syl2an | ⊢ ( ( 𝑊  ∈  Word  𝑉  ∧  𝑀  ∈  ( 0 ... ( ♯ ‘ 𝑊 ) ) )  →  ( ( ( ♯ ‘ 𝑊 )  −  𝑀 )  +  𝑀 )  =  ( ♯ ‘ 𝑊 ) ) | 
						
							| 11 | 3 10 | eqtrd | ⊢ ( ( 𝑊  ∈  Word  𝑉  ∧  𝑀  ∈  ( 0 ... ( ♯ ‘ 𝑊 ) ) )  →  ( ( ♯ ‘ ( 𝑊  substr  〈 𝑀 ,  ( ♯ ‘ 𝑊 ) 〉 ) )  +  ( ♯ ‘ ( 𝑊  prefix  𝑀 ) ) )  =  ( ♯ ‘ 𝑊 ) ) |