| Step | 
						Hyp | 
						Ref | 
						Expression | 
					
						
							| 1 | 
							
								
							 | 
							simpl | 
							⊢ ( ( 𝑊  ∈  Word  𝑉  ∧  ( ♯ ‘ 𝑊 )  =  ( 𝑁  −  2 ) )  →  𝑊  ∈  Word  𝑉 )  | 
						
						
							| 2 | 
							
								
							 | 
							s1cl | 
							⊢ ( 𝑋  ∈  𝑉  →  〈“ 𝑋 ”〉  ∈  Word  𝑉 )  | 
						
						
							| 3 | 
							
								
							 | 
							s1cl | 
							⊢ ( 𝑌  ∈  𝑉  →  〈“ 𝑌 ”〉  ∈  Word  𝑉 )  | 
						
						
							| 4 | 
							
								1 2 3
							 | 
							3anim123i | 
							⊢ ( ( ( 𝑊  ∈  Word  𝑉  ∧  ( ♯ ‘ 𝑊 )  =  ( 𝑁  −  2 ) )  ∧  𝑋  ∈  𝑉  ∧  𝑌  ∈  𝑉 )  →  ( 𝑊  ∈  Word  𝑉  ∧  〈“ 𝑋 ”〉  ∈  Word  𝑉  ∧  〈“ 𝑌 ”〉  ∈  Word  𝑉 ) )  | 
						
						
							| 5 | 
							
								4
							 | 
							3expb | 
							⊢ ( ( ( 𝑊  ∈  Word  𝑉  ∧  ( ♯ ‘ 𝑊 )  =  ( 𝑁  −  2 ) )  ∧  ( 𝑋  ∈  𝑉  ∧  𝑌  ∈  𝑉 ) )  →  ( 𝑊  ∈  Word  𝑉  ∧  〈“ 𝑋 ”〉  ∈  Word  𝑉  ∧  〈“ 𝑌 ”〉  ∈  Word  𝑉 ) )  | 
						
						
							| 6 | 
							
								
							 | 
							ccatass | 
							⊢ ( ( 𝑊  ∈  Word  𝑉  ∧  〈“ 𝑋 ”〉  ∈  Word  𝑉  ∧  〈“ 𝑌 ”〉  ∈  Word  𝑉 )  →  ( ( 𝑊  ++  〈“ 𝑋 ”〉 )  ++  〈“ 𝑌 ”〉 )  =  ( 𝑊  ++  ( 〈“ 𝑋 ”〉  ++  〈“ 𝑌 ”〉 ) ) )  | 
						
						
							| 7 | 
							
								5 6
							 | 
							syl | 
							⊢ ( ( ( 𝑊  ∈  Word  𝑉  ∧  ( ♯ ‘ 𝑊 )  =  ( 𝑁  −  2 ) )  ∧  ( 𝑋  ∈  𝑉  ∧  𝑌  ∈  𝑉 ) )  →  ( ( 𝑊  ++  〈“ 𝑋 ”〉 )  ++  〈“ 𝑌 ”〉 )  =  ( 𝑊  ++  ( 〈“ 𝑋 ”〉  ++  〈“ 𝑌 ”〉 ) ) )  | 
						
						
							| 8 | 
							
								7
							 | 
							oveq1d | 
							⊢ ( ( ( 𝑊  ∈  Word  𝑉  ∧  ( ♯ ‘ 𝑊 )  =  ( 𝑁  −  2 ) )  ∧  ( 𝑋  ∈  𝑉  ∧  𝑌  ∈  𝑉 ) )  →  ( ( ( 𝑊  ++  〈“ 𝑋 ”〉 )  ++  〈“ 𝑌 ”〉 )  prefix  ( 𝑁  −  2 ) )  =  ( ( 𝑊  ++  ( 〈“ 𝑋 ”〉  ++  〈“ 𝑌 ”〉 ) )  prefix  ( 𝑁  −  2 ) ) )  | 
						
						
							| 9 | 
							
								1
							 | 
							adantr | 
							⊢ ( ( ( 𝑊  ∈  Word  𝑉  ∧  ( ♯ ‘ 𝑊 )  =  ( 𝑁  −  2 ) )  ∧  ( 𝑋  ∈  𝑉  ∧  𝑌  ∈  𝑉 ) )  →  𝑊  ∈  Word  𝑉 )  | 
						
						
							| 10 | 
							
								
							 | 
							ccat2s1cl | 
							⊢ ( ( 𝑋  ∈  𝑉  ∧  𝑌  ∈  𝑉 )  →  ( 〈“ 𝑋 ”〉  ++  〈“ 𝑌 ”〉 )  ∈  Word  𝑉 )  | 
						
						
							| 11 | 
							
								10
							 | 
							adantl | 
							⊢ ( ( ( 𝑊  ∈  Word  𝑉  ∧  ( ♯ ‘ 𝑊 )  =  ( 𝑁  −  2 ) )  ∧  ( 𝑋  ∈  𝑉  ∧  𝑌  ∈  𝑉 ) )  →  ( 〈“ 𝑋 ”〉  ++  〈“ 𝑌 ”〉 )  ∈  Word  𝑉 )  | 
						
						
							| 12 | 
							
								
							 | 
							simpr | 
							⊢ ( ( 𝑊  ∈  Word  𝑉  ∧  ( ♯ ‘ 𝑊 )  =  ( 𝑁  −  2 ) )  →  ( ♯ ‘ 𝑊 )  =  ( 𝑁  −  2 ) )  | 
						
						
							| 13 | 
							
								12
							 | 
							eqcomd | 
							⊢ ( ( 𝑊  ∈  Word  𝑉  ∧  ( ♯ ‘ 𝑊 )  =  ( 𝑁  −  2 ) )  →  ( 𝑁  −  2 )  =  ( ♯ ‘ 𝑊 ) )  | 
						
						
							| 14 | 
							
								13
							 | 
							adantr | 
							⊢ ( ( ( 𝑊  ∈  Word  𝑉  ∧  ( ♯ ‘ 𝑊 )  =  ( 𝑁  −  2 ) )  ∧  ( 𝑋  ∈  𝑉  ∧  𝑌  ∈  𝑉 ) )  →  ( 𝑁  −  2 )  =  ( ♯ ‘ 𝑊 ) )  | 
						
						
							| 15 | 
							
								
							 | 
							pfxccatid | 
							⊢ ( ( 𝑊  ∈  Word  𝑉  ∧  ( 〈“ 𝑋 ”〉  ++  〈“ 𝑌 ”〉 )  ∈  Word  𝑉  ∧  ( 𝑁  −  2 )  =  ( ♯ ‘ 𝑊 ) )  →  ( ( 𝑊  ++  ( 〈“ 𝑋 ”〉  ++  〈“ 𝑌 ”〉 ) )  prefix  ( 𝑁  −  2 ) )  =  𝑊 )  | 
						
						
							| 16 | 
							
								9 11 14 15
							 | 
							syl3anc | 
							⊢ ( ( ( 𝑊  ∈  Word  𝑉  ∧  ( ♯ ‘ 𝑊 )  =  ( 𝑁  −  2 ) )  ∧  ( 𝑋  ∈  𝑉  ∧  𝑌  ∈  𝑉 ) )  →  ( ( 𝑊  ++  ( 〈“ 𝑋 ”〉  ++  〈“ 𝑌 ”〉 ) )  prefix  ( 𝑁  −  2 ) )  =  𝑊 )  | 
						
						
							| 17 | 
							
								8 16
							 | 
							eqtrd | 
							⊢ ( ( ( 𝑊  ∈  Word  𝑉  ∧  ( ♯ ‘ 𝑊 )  =  ( 𝑁  −  2 ) )  ∧  ( 𝑋  ∈  𝑉  ∧  𝑌  ∈  𝑉 ) )  →  ( ( ( 𝑊  ++  〈“ 𝑋 ”〉 )  ++  〈“ 𝑌 ”〉 )  prefix  ( 𝑁  −  2 ) )  =  𝑊 )  | 
						
						
							| 18 | 
							
								17
							 | 
							3adant3 | 
							⊢ ( ( ( 𝑊  ∈  Word  𝑉  ∧  ( ♯ ‘ 𝑊 )  =  ( 𝑁  −  2 ) )  ∧  ( 𝑋  ∈  𝑉  ∧  𝑌  ∈  𝑉 )  ∧  𝑁  ∈  ( ℤ≥ ‘ 3 ) )  →  ( ( ( 𝑊  ++  〈“ 𝑋 ”〉 )  ++  〈“ 𝑌 ”〉 )  prefix  ( 𝑁  −  2 ) )  =  𝑊 )  | 
						
						
							| 19 | 
							
								
							 | 
							1e2m1 | 
							⊢ 1  =  ( 2  −  1 )  | 
						
						
							| 20 | 
							
								19
							 | 
							oveq2i | 
							⊢ ( 𝑁  −  1 )  =  ( 𝑁  −  ( 2  −  1 ) )  | 
						
						
							| 21 | 
							
								
							 | 
							eluzelcn | 
							⊢ ( 𝑁  ∈  ( ℤ≥ ‘ 3 )  →  𝑁  ∈  ℂ )  | 
						
						
							| 22 | 
							
								
							 | 
							2cnd | 
							⊢ ( 𝑁  ∈  ( ℤ≥ ‘ 3 )  →  2  ∈  ℂ )  | 
						
						
							| 23 | 
							
								
							 | 
							1cnd | 
							⊢ ( 𝑁  ∈  ( ℤ≥ ‘ 3 )  →  1  ∈  ℂ )  | 
						
						
							| 24 | 
							
								21 22 23
							 | 
							subsubd | 
							⊢ ( 𝑁  ∈  ( ℤ≥ ‘ 3 )  →  ( 𝑁  −  ( 2  −  1 ) )  =  ( ( 𝑁  −  2 )  +  1 ) )  | 
						
						
							| 25 | 
							
								20 24
							 | 
							eqtrid | 
							⊢ ( 𝑁  ∈  ( ℤ≥ ‘ 3 )  →  ( 𝑁  −  1 )  =  ( ( 𝑁  −  2 )  +  1 ) )  | 
						
						
							| 26 | 
							
								25
							 | 
							3ad2ant3 | 
							⊢ ( ( ( 𝑊  ∈  Word  𝑉  ∧  ( ♯ ‘ 𝑊 )  =  ( 𝑁  −  2 ) )  ∧  ( 𝑋  ∈  𝑉  ∧  𝑌  ∈  𝑉 )  ∧  𝑁  ∈  ( ℤ≥ ‘ 3 ) )  →  ( 𝑁  −  1 )  =  ( ( 𝑁  −  2 )  +  1 ) )  | 
						
						
							| 27 | 
							
								26
							 | 
							fveq2d | 
							⊢ ( ( ( 𝑊  ∈  Word  𝑉  ∧  ( ♯ ‘ 𝑊 )  =  ( 𝑁  −  2 ) )  ∧  ( 𝑋  ∈  𝑉  ∧  𝑌  ∈  𝑉 )  ∧  𝑁  ∈  ( ℤ≥ ‘ 3 ) )  →  ( ( ( 𝑊  ++  〈“ 𝑋 ”〉 )  ++  〈“ 𝑌 ”〉 ) ‘ ( 𝑁  −  1 ) )  =  ( ( ( 𝑊  ++  〈“ 𝑋 ”〉 )  ++  〈“ 𝑌 ”〉 ) ‘ ( ( 𝑁  −  2 )  +  1 ) ) )  | 
						
						
							| 28 | 
							
								
							 | 
							ccatw2s1p2 | 
							⊢ ( ( ( 𝑊  ∈  Word  𝑉  ∧  ( ♯ ‘ 𝑊 )  =  ( 𝑁  −  2 ) )  ∧  ( 𝑋  ∈  𝑉  ∧  𝑌  ∈  𝑉 ) )  →  ( ( ( 𝑊  ++  〈“ 𝑋 ”〉 )  ++  〈“ 𝑌 ”〉 ) ‘ ( ( 𝑁  −  2 )  +  1 ) )  =  𝑌 )  | 
						
						
							| 29 | 
							
								28
							 | 
							3adant3 | 
							⊢ ( ( ( 𝑊  ∈  Word  𝑉  ∧  ( ♯ ‘ 𝑊 )  =  ( 𝑁  −  2 ) )  ∧  ( 𝑋  ∈  𝑉  ∧  𝑌  ∈  𝑉 )  ∧  𝑁  ∈  ( ℤ≥ ‘ 3 ) )  →  ( ( ( 𝑊  ++  〈“ 𝑋 ”〉 )  ++  〈“ 𝑌 ”〉 ) ‘ ( ( 𝑁  −  2 )  +  1 ) )  =  𝑌 )  | 
						
						
							| 30 | 
							
								27 29
							 | 
							eqtrd | 
							⊢ ( ( ( 𝑊  ∈  Word  𝑉  ∧  ( ♯ ‘ 𝑊 )  =  ( 𝑁  −  2 ) )  ∧  ( 𝑋  ∈  𝑉  ∧  𝑌  ∈  𝑉 )  ∧  𝑁  ∈  ( ℤ≥ ‘ 3 ) )  →  ( ( ( 𝑊  ++  〈“ 𝑋 ”〉 )  ++  〈“ 𝑌 ”〉 ) ‘ ( 𝑁  −  1 ) )  =  𝑌 )  | 
						
						
							| 31 | 
							
								
							 | 
							simpl | 
							⊢ ( ( 𝑋  ∈  𝑉  ∧  𝑌  ∈  𝑉 )  →  𝑋  ∈  𝑉 )  | 
						
						
							| 32 | 
							
								
							 | 
							ccatw2s1p1 | 
							⊢ ( ( 𝑊  ∈  Word  𝑉  ∧  ( ♯ ‘ 𝑊 )  =  ( 𝑁  −  2 )  ∧  𝑋  ∈  𝑉 )  →  ( ( ( 𝑊  ++  〈“ 𝑋 ”〉 )  ++  〈“ 𝑌 ”〉 ) ‘ ( 𝑁  −  2 ) )  =  𝑋 )  | 
						
						
							| 33 | 
							
								1 12 31 32
							 | 
							syl2an3an | 
							⊢ ( ( ( 𝑊  ∈  Word  𝑉  ∧  ( ♯ ‘ 𝑊 )  =  ( 𝑁  −  2 ) )  ∧  ( 𝑋  ∈  𝑉  ∧  𝑌  ∈  𝑉 ) )  →  ( ( ( 𝑊  ++  〈“ 𝑋 ”〉 )  ++  〈“ 𝑌 ”〉 ) ‘ ( 𝑁  −  2 ) )  =  𝑋 )  | 
						
						
							| 34 | 
							
								33
							 | 
							3adant3 | 
							⊢ ( ( ( 𝑊  ∈  Word  𝑉  ∧  ( ♯ ‘ 𝑊 )  =  ( 𝑁  −  2 ) )  ∧  ( 𝑋  ∈  𝑉  ∧  𝑌  ∈  𝑉 )  ∧  𝑁  ∈  ( ℤ≥ ‘ 3 ) )  →  ( ( ( 𝑊  ++  〈“ 𝑋 ”〉 )  ++  〈“ 𝑌 ”〉 ) ‘ ( 𝑁  −  2 ) )  =  𝑋 )  | 
						
						
							| 35 | 
							
								18 30 34
							 | 
							3jca | 
							⊢ ( ( ( 𝑊  ∈  Word  𝑉  ∧  ( ♯ ‘ 𝑊 )  =  ( 𝑁  −  2 ) )  ∧  ( 𝑋  ∈  𝑉  ∧  𝑌  ∈  𝑉 )  ∧  𝑁  ∈  ( ℤ≥ ‘ 3 ) )  →  ( ( ( ( 𝑊  ++  〈“ 𝑋 ”〉 )  ++  〈“ 𝑌 ”〉 )  prefix  ( 𝑁  −  2 ) )  =  𝑊  ∧  ( ( ( 𝑊  ++  〈“ 𝑋 ”〉 )  ++  〈“ 𝑌 ”〉 ) ‘ ( 𝑁  −  1 ) )  =  𝑌  ∧  ( ( ( 𝑊  ++  〈“ 𝑋 ”〉 )  ++  〈“ 𝑌 ”〉 ) ‘ ( 𝑁  −  2 ) )  =  𝑋 ) )  |