| Step | Hyp | Ref | Expression | 
						
							| 1 |  | efgval.w | ⊢ 𝑊  =  (  I  ‘ Word  ( 𝐼  ×  2o ) ) | 
						
							| 2 |  | efgval.r | ⊢  ∼   =  (  ~FG  ‘ 𝐼 ) | 
						
							| 3 |  | efgval2.m | ⊢ 𝑀  =  ( 𝑦  ∈  𝐼 ,  𝑧  ∈  2o  ↦  〈 𝑦 ,  ( 1o  ∖  𝑧 ) 〉 ) | 
						
							| 4 |  | efgval2.t | ⊢ 𝑇  =  ( 𝑣  ∈  𝑊  ↦  ( 𝑛  ∈  ( 0 ... ( ♯ ‘ 𝑣 ) ) ,  𝑤  ∈  ( 𝐼  ×  2o )  ↦  ( 𝑣  splice  〈 𝑛 ,  𝑛 ,  〈“ 𝑤 ( 𝑀 ‘ 𝑤 ) ”〉 〉 ) ) ) | 
						
							| 5 |  | efgred.d | ⊢ 𝐷  =  ( 𝑊  ∖  ∪  𝑥  ∈  𝑊 ran  ( 𝑇 ‘ 𝑥 ) ) | 
						
							| 6 |  | efgred.s | ⊢ 𝑆  =  ( 𝑚  ∈  { 𝑡  ∈  ( Word  𝑊  ∖  { ∅ } )  ∣  ( ( 𝑡 ‘ 0 )  ∈  𝐷  ∧  ∀ 𝑘  ∈  ( 1 ..^ ( ♯ ‘ 𝑡 ) ) ( 𝑡 ‘ 𝑘 )  ∈  ran  ( 𝑇 ‘ ( 𝑡 ‘ ( 𝑘  −  1 ) ) ) ) }  ↦  ( 𝑚 ‘ ( ( ♯ ‘ 𝑚 )  −  1 ) ) ) | 
						
							| 7 | 1 2 3 4 5 6 | efgsdm | ⊢ ( 𝐹  ∈  dom  𝑆  ↔  ( 𝐹  ∈  ( Word  𝑊  ∖  { ∅ } )  ∧  ( 𝐹 ‘ 0 )  ∈  𝐷  ∧  ∀ 𝑖  ∈  ( 1 ..^ ( ♯ ‘ 𝐹 ) ) ( 𝐹 ‘ 𝑖 )  ∈  ran  ( 𝑇 ‘ ( 𝐹 ‘ ( 𝑖  −  1 ) ) ) ) ) | 
						
							| 8 | 7 | simp1bi | ⊢ ( 𝐹  ∈  dom  𝑆  →  𝐹  ∈  ( Word  𝑊  ∖  { ∅ } ) ) | 
						
							| 9 | 8 | eldifad | ⊢ ( 𝐹  ∈  dom  𝑆  →  𝐹  ∈  Word  𝑊 ) | 
						
							| 10 | 1 2 3 4 5 6 | efgsf | ⊢ 𝑆 : { 𝑡  ∈  ( Word  𝑊  ∖  { ∅ } )  ∣  ( ( 𝑡 ‘ 0 )  ∈  𝐷  ∧  ∀ 𝑘  ∈  ( 1 ..^ ( ♯ ‘ 𝑡 ) ) ( 𝑡 ‘ 𝑘 )  ∈  ran  ( 𝑇 ‘ ( 𝑡 ‘ ( 𝑘  −  1 ) ) ) ) } ⟶ 𝑊 | 
						
							| 11 | 10 | fdmi | ⊢ dom  𝑆  =  { 𝑡  ∈  ( Word  𝑊  ∖  { ∅ } )  ∣  ( ( 𝑡 ‘ 0 )  ∈  𝐷  ∧  ∀ 𝑘  ∈  ( 1 ..^ ( ♯ ‘ 𝑡 ) ) ( 𝑡 ‘ 𝑘 )  ∈  ran  ( 𝑇 ‘ ( 𝑡 ‘ ( 𝑘  −  1 ) ) ) ) } | 
						
							| 12 | 11 | feq2i | ⊢ ( 𝑆 : dom  𝑆 ⟶ 𝑊  ↔  𝑆 : { 𝑡  ∈  ( Word  𝑊  ∖  { ∅ } )  ∣  ( ( 𝑡 ‘ 0 )  ∈  𝐷  ∧  ∀ 𝑘  ∈  ( 1 ..^ ( ♯ ‘ 𝑡 ) ) ( 𝑡 ‘ 𝑘 )  ∈  ran  ( 𝑇 ‘ ( 𝑡 ‘ ( 𝑘  −  1 ) ) ) ) } ⟶ 𝑊 ) | 
						
							| 13 | 10 12 | mpbir | ⊢ 𝑆 : dom  𝑆 ⟶ 𝑊 | 
						
							| 14 | 13 | ffvelcdmi | ⊢ ( 𝐹  ∈  dom  𝑆  →  ( 𝑆 ‘ 𝐹 )  ∈  𝑊 ) | 
						
							| 15 | 1 2 3 4 | efgtf | ⊢ ( ( 𝑆 ‘ 𝐹 )  ∈  𝑊  →  ( ( 𝑇 ‘ ( 𝑆 ‘ 𝐹 ) )  =  ( 𝑎  ∈  ( 0 ... ( ♯ ‘ ( 𝑆 ‘ 𝐹 ) ) ) ,  𝑖  ∈  ( 𝐼  ×  2o )  ↦  ( ( 𝑆 ‘ 𝐹 )  splice  〈 𝑎 ,  𝑎 ,  〈“ 𝑖 ( 𝑀 ‘ 𝑖 ) ”〉 〉 ) )  ∧  ( 𝑇 ‘ ( 𝑆 ‘ 𝐹 ) ) : ( ( 0 ... ( ♯ ‘ ( 𝑆 ‘ 𝐹 ) ) )  ×  ( 𝐼  ×  2o ) ) ⟶ 𝑊 ) ) | 
						
							| 16 | 14 15 | syl | ⊢ ( 𝐹  ∈  dom  𝑆  →  ( ( 𝑇 ‘ ( 𝑆 ‘ 𝐹 ) )  =  ( 𝑎  ∈  ( 0 ... ( ♯ ‘ ( 𝑆 ‘ 𝐹 ) ) ) ,  𝑖  ∈  ( 𝐼  ×  2o )  ↦  ( ( 𝑆 ‘ 𝐹 )  splice  〈 𝑎 ,  𝑎 ,  〈“ 𝑖 ( 𝑀 ‘ 𝑖 ) ”〉 〉 ) )  ∧  ( 𝑇 ‘ ( 𝑆 ‘ 𝐹 ) ) : ( ( 0 ... ( ♯ ‘ ( 𝑆 ‘ 𝐹 ) ) )  ×  ( 𝐼  ×  2o ) ) ⟶ 𝑊 ) ) | 
						
							| 17 | 16 | simprd | ⊢ ( 𝐹  ∈  dom  𝑆  →  ( 𝑇 ‘ ( 𝑆 ‘ 𝐹 ) ) : ( ( 0 ... ( ♯ ‘ ( 𝑆 ‘ 𝐹 ) ) )  ×  ( 𝐼  ×  2o ) ) ⟶ 𝑊 ) | 
						
							| 18 | 17 | frnd | ⊢ ( 𝐹  ∈  dom  𝑆  →  ran  ( 𝑇 ‘ ( 𝑆 ‘ 𝐹 ) )  ⊆  𝑊 ) | 
						
							| 19 | 18 | sselda | ⊢ ( ( 𝐹  ∈  dom  𝑆  ∧  𝐴  ∈  ran  ( 𝑇 ‘ ( 𝑆 ‘ 𝐹 ) ) )  →  𝐴  ∈  𝑊 ) | 
						
							| 20 | 19 | s1cld | ⊢ ( ( 𝐹  ∈  dom  𝑆  ∧  𝐴  ∈  ran  ( 𝑇 ‘ ( 𝑆 ‘ 𝐹 ) ) )  →  〈“ 𝐴 ”〉  ∈  Word  𝑊 ) | 
						
							| 21 |  | ccatcl | ⊢ ( ( 𝐹  ∈  Word  𝑊  ∧  〈“ 𝐴 ”〉  ∈  Word  𝑊 )  →  ( 𝐹  ++  〈“ 𝐴 ”〉 )  ∈  Word  𝑊 ) | 
						
							| 22 | 9 20 21 | syl2an2r | ⊢ ( ( 𝐹  ∈  dom  𝑆  ∧  𝐴  ∈  ran  ( 𝑇 ‘ ( 𝑆 ‘ 𝐹 ) ) )  →  ( 𝐹  ++  〈“ 𝐴 ”〉 )  ∈  Word  𝑊 ) | 
						
							| 23 |  | ccatws1n0 | ⊢ ( 𝐹  ∈  Word  𝑊  →  ( 𝐹  ++  〈“ 𝐴 ”〉 )  ≠  ∅ ) | 
						
							| 24 | 9 23 | syl | ⊢ ( 𝐹  ∈  dom  𝑆  →  ( 𝐹  ++  〈“ 𝐴 ”〉 )  ≠  ∅ ) | 
						
							| 25 | 24 | adantr | ⊢ ( ( 𝐹  ∈  dom  𝑆  ∧  𝐴  ∈  ran  ( 𝑇 ‘ ( 𝑆 ‘ 𝐹 ) ) )  →  ( 𝐹  ++  〈“ 𝐴 ”〉 )  ≠  ∅ ) | 
						
							| 26 |  | eldifsn | ⊢ ( ( 𝐹  ++  〈“ 𝐴 ”〉 )  ∈  ( Word  𝑊  ∖  { ∅ } )  ↔  ( ( 𝐹  ++  〈“ 𝐴 ”〉 )  ∈  Word  𝑊  ∧  ( 𝐹  ++  〈“ 𝐴 ”〉 )  ≠  ∅ ) ) | 
						
							| 27 | 22 25 26 | sylanbrc | ⊢ ( ( 𝐹  ∈  dom  𝑆  ∧  𝐴  ∈  ran  ( 𝑇 ‘ ( 𝑆 ‘ 𝐹 ) ) )  →  ( 𝐹  ++  〈“ 𝐴 ”〉 )  ∈  ( Word  𝑊  ∖  { ∅ } ) ) | 
						
							| 28 | 9 | adantr | ⊢ ( ( 𝐹  ∈  dom  𝑆  ∧  𝐴  ∈  ran  ( 𝑇 ‘ ( 𝑆 ‘ 𝐹 ) ) )  →  𝐹  ∈  Word  𝑊 ) | 
						
							| 29 |  | eldifsni | ⊢ ( 𝐹  ∈  ( Word  𝑊  ∖  { ∅ } )  →  𝐹  ≠  ∅ ) | 
						
							| 30 | 8 29 | syl | ⊢ ( 𝐹  ∈  dom  𝑆  →  𝐹  ≠  ∅ ) | 
						
							| 31 |  | len0nnbi | ⊢ ( 𝐹  ∈  Word  𝑊  →  ( 𝐹  ≠  ∅  ↔  ( ♯ ‘ 𝐹 )  ∈  ℕ ) ) | 
						
							| 32 | 9 31 | syl | ⊢ ( 𝐹  ∈  dom  𝑆  →  ( 𝐹  ≠  ∅  ↔  ( ♯ ‘ 𝐹 )  ∈  ℕ ) ) | 
						
							| 33 | 30 32 | mpbid | ⊢ ( 𝐹  ∈  dom  𝑆  →  ( ♯ ‘ 𝐹 )  ∈  ℕ ) | 
						
							| 34 |  | lbfzo0 | ⊢ ( 0  ∈  ( 0 ..^ ( ♯ ‘ 𝐹 ) )  ↔  ( ♯ ‘ 𝐹 )  ∈  ℕ ) | 
						
							| 35 | 33 34 | sylibr | ⊢ ( 𝐹  ∈  dom  𝑆  →  0  ∈  ( 0 ..^ ( ♯ ‘ 𝐹 ) ) ) | 
						
							| 36 | 35 | adantr | ⊢ ( ( 𝐹  ∈  dom  𝑆  ∧  𝐴  ∈  ran  ( 𝑇 ‘ ( 𝑆 ‘ 𝐹 ) ) )  →  0  ∈  ( 0 ..^ ( ♯ ‘ 𝐹 ) ) ) | 
						
							| 37 |  | ccatval1 | ⊢ ( ( 𝐹  ∈  Word  𝑊  ∧  〈“ 𝐴 ”〉  ∈  Word  𝑊  ∧  0  ∈  ( 0 ..^ ( ♯ ‘ 𝐹 ) ) )  →  ( ( 𝐹  ++  〈“ 𝐴 ”〉 ) ‘ 0 )  =  ( 𝐹 ‘ 0 ) ) | 
						
							| 38 | 28 20 36 37 | syl3anc | ⊢ ( ( 𝐹  ∈  dom  𝑆  ∧  𝐴  ∈  ran  ( 𝑇 ‘ ( 𝑆 ‘ 𝐹 ) ) )  →  ( ( 𝐹  ++  〈“ 𝐴 ”〉 ) ‘ 0 )  =  ( 𝐹 ‘ 0 ) ) | 
						
							| 39 | 7 | simp2bi | ⊢ ( 𝐹  ∈  dom  𝑆  →  ( 𝐹 ‘ 0 )  ∈  𝐷 ) | 
						
							| 40 | 39 | adantr | ⊢ ( ( 𝐹  ∈  dom  𝑆  ∧  𝐴  ∈  ran  ( 𝑇 ‘ ( 𝑆 ‘ 𝐹 ) ) )  →  ( 𝐹 ‘ 0 )  ∈  𝐷 ) | 
						
							| 41 | 38 40 | eqeltrd | ⊢ ( ( 𝐹  ∈  dom  𝑆  ∧  𝐴  ∈  ran  ( 𝑇 ‘ ( 𝑆 ‘ 𝐹 ) ) )  →  ( ( 𝐹  ++  〈“ 𝐴 ”〉 ) ‘ 0 )  ∈  𝐷 ) | 
						
							| 42 | 7 | simp3bi | ⊢ ( 𝐹  ∈  dom  𝑆  →  ∀ 𝑖  ∈  ( 1 ..^ ( ♯ ‘ 𝐹 ) ) ( 𝐹 ‘ 𝑖 )  ∈  ran  ( 𝑇 ‘ ( 𝐹 ‘ ( 𝑖  −  1 ) ) ) ) | 
						
							| 43 | 42 | adantr | ⊢ ( ( 𝐹  ∈  dom  𝑆  ∧  𝐴  ∈  ran  ( 𝑇 ‘ ( 𝑆 ‘ 𝐹 ) ) )  →  ∀ 𝑖  ∈  ( 1 ..^ ( ♯ ‘ 𝐹 ) ) ( 𝐹 ‘ 𝑖 )  ∈  ran  ( 𝑇 ‘ ( 𝐹 ‘ ( 𝑖  −  1 ) ) ) ) | 
						
							| 44 |  | fzo0ss1 | ⊢ ( 1 ..^ ( ♯ ‘ 𝐹 ) )  ⊆  ( 0 ..^ ( ♯ ‘ 𝐹 ) ) | 
						
							| 45 | 44 | sseli | ⊢ ( 𝑖  ∈  ( 1 ..^ ( ♯ ‘ 𝐹 ) )  →  𝑖  ∈  ( 0 ..^ ( ♯ ‘ 𝐹 ) ) ) | 
						
							| 46 |  | ccatval1 | ⊢ ( ( 𝐹  ∈  Word  𝑊  ∧  〈“ 𝐴 ”〉  ∈  Word  𝑊  ∧  𝑖  ∈  ( 0 ..^ ( ♯ ‘ 𝐹 ) ) )  →  ( ( 𝐹  ++  〈“ 𝐴 ”〉 ) ‘ 𝑖 )  =  ( 𝐹 ‘ 𝑖 ) ) | 
						
							| 47 | 45 46 | syl3an3 | ⊢ ( ( 𝐹  ∈  Word  𝑊  ∧  〈“ 𝐴 ”〉  ∈  Word  𝑊  ∧  𝑖  ∈  ( 1 ..^ ( ♯ ‘ 𝐹 ) ) )  →  ( ( 𝐹  ++  〈“ 𝐴 ”〉 ) ‘ 𝑖 )  =  ( 𝐹 ‘ 𝑖 ) ) | 
						
							| 48 |  | elfzoel2 | ⊢ ( 𝑖  ∈  ( 1 ..^ ( ♯ ‘ 𝐹 ) )  →  ( ♯ ‘ 𝐹 )  ∈  ℤ ) | 
						
							| 49 |  | peano2zm | ⊢ ( ( ♯ ‘ 𝐹 )  ∈  ℤ  →  ( ( ♯ ‘ 𝐹 )  −  1 )  ∈  ℤ ) | 
						
							| 50 | 48 49 | syl | ⊢ ( 𝑖  ∈  ( 1 ..^ ( ♯ ‘ 𝐹 ) )  →  ( ( ♯ ‘ 𝐹 )  −  1 )  ∈  ℤ ) | 
						
							| 51 | 48 | zred | ⊢ ( 𝑖  ∈  ( 1 ..^ ( ♯ ‘ 𝐹 ) )  →  ( ♯ ‘ 𝐹 )  ∈  ℝ ) | 
						
							| 52 | 51 | lem1d | ⊢ ( 𝑖  ∈  ( 1 ..^ ( ♯ ‘ 𝐹 ) )  →  ( ( ♯ ‘ 𝐹 )  −  1 )  ≤  ( ♯ ‘ 𝐹 ) ) | 
						
							| 53 |  | eluz2 | ⊢ ( ( ♯ ‘ 𝐹 )  ∈  ( ℤ≥ ‘ ( ( ♯ ‘ 𝐹 )  −  1 ) )  ↔  ( ( ( ♯ ‘ 𝐹 )  −  1 )  ∈  ℤ  ∧  ( ♯ ‘ 𝐹 )  ∈  ℤ  ∧  ( ( ♯ ‘ 𝐹 )  −  1 )  ≤  ( ♯ ‘ 𝐹 ) ) ) | 
						
							| 54 | 50 48 52 53 | syl3anbrc | ⊢ ( 𝑖  ∈  ( 1 ..^ ( ♯ ‘ 𝐹 ) )  →  ( ♯ ‘ 𝐹 )  ∈  ( ℤ≥ ‘ ( ( ♯ ‘ 𝐹 )  −  1 ) ) ) | 
						
							| 55 |  | fzoss2 | ⊢ ( ( ♯ ‘ 𝐹 )  ∈  ( ℤ≥ ‘ ( ( ♯ ‘ 𝐹 )  −  1 ) )  →  ( 0 ..^ ( ( ♯ ‘ 𝐹 )  −  1 ) )  ⊆  ( 0 ..^ ( ♯ ‘ 𝐹 ) ) ) | 
						
							| 56 | 54 55 | syl | ⊢ ( 𝑖  ∈  ( 1 ..^ ( ♯ ‘ 𝐹 ) )  →  ( 0 ..^ ( ( ♯ ‘ 𝐹 )  −  1 ) )  ⊆  ( 0 ..^ ( ♯ ‘ 𝐹 ) ) ) | 
						
							| 57 |  | elfzo1elm1fzo0 | ⊢ ( 𝑖  ∈  ( 1 ..^ ( ♯ ‘ 𝐹 ) )  →  ( 𝑖  −  1 )  ∈  ( 0 ..^ ( ( ♯ ‘ 𝐹 )  −  1 ) ) ) | 
						
							| 58 | 56 57 | sseldd | ⊢ ( 𝑖  ∈  ( 1 ..^ ( ♯ ‘ 𝐹 ) )  →  ( 𝑖  −  1 )  ∈  ( 0 ..^ ( ♯ ‘ 𝐹 ) ) ) | 
						
							| 59 |  | ccatval1 | ⊢ ( ( 𝐹  ∈  Word  𝑊  ∧  〈“ 𝐴 ”〉  ∈  Word  𝑊  ∧  ( 𝑖  −  1 )  ∈  ( 0 ..^ ( ♯ ‘ 𝐹 ) ) )  →  ( ( 𝐹  ++  〈“ 𝐴 ”〉 ) ‘ ( 𝑖  −  1 ) )  =  ( 𝐹 ‘ ( 𝑖  −  1 ) ) ) | 
						
							| 60 | 58 59 | syl3an3 | ⊢ ( ( 𝐹  ∈  Word  𝑊  ∧  〈“ 𝐴 ”〉  ∈  Word  𝑊  ∧  𝑖  ∈  ( 1 ..^ ( ♯ ‘ 𝐹 ) ) )  →  ( ( 𝐹  ++  〈“ 𝐴 ”〉 ) ‘ ( 𝑖  −  1 ) )  =  ( 𝐹 ‘ ( 𝑖  −  1 ) ) ) | 
						
							| 61 | 60 | fveq2d | ⊢ ( ( 𝐹  ∈  Word  𝑊  ∧  〈“ 𝐴 ”〉  ∈  Word  𝑊  ∧  𝑖  ∈  ( 1 ..^ ( ♯ ‘ 𝐹 ) ) )  →  ( 𝑇 ‘ ( ( 𝐹  ++  〈“ 𝐴 ”〉 ) ‘ ( 𝑖  −  1 ) ) )  =  ( 𝑇 ‘ ( 𝐹 ‘ ( 𝑖  −  1 ) ) ) ) | 
						
							| 62 | 61 | rneqd | ⊢ ( ( 𝐹  ∈  Word  𝑊  ∧  〈“ 𝐴 ”〉  ∈  Word  𝑊  ∧  𝑖  ∈  ( 1 ..^ ( ♯ ‘ 𝐹 ) ) )  →  ran  ( 𝑇 ‘ ( ( 𝐹  ++  〈“ 𝐴 ”〉 ) ‘ ( 𝑖  −  1 ) ) )  =  ran  ( 𝑇 ‘ ( 𝐹 ‘ ( 𝑖  −  1 ) ) ) ) | 
						
							| 63 | 47 62 | eleq12d | ⊢ ( ( 𝐹  ∈  Word  𝑊  ∧  〈“ 𝐴 ”〉  ∈  Word  𝑊  ∧  𝑖  ∈  ( 1 ..^ ( ♯ ‘ 𝐹 ) ) )  →  ( ( ( 𝐹  ++  〈“ 𝐴 ”〉 ) ‘ 𝑖 )  ∈  ran  ( 𝑇 ‘ ( ( 𝐹  ++  〈“ 𝐴 ”〉 ) ‘ ( 𝑖  −  1 ) ) )  ↔  ( 𝐹 ‘ 𝑖 )  ∈  ran  ( 𝑇 ‘ ( 𝐹 ‘ ( 𝑖  −  1 ) ) ) ) ) | 
						
							| 64 | 63 | 3expa | ⊢ ( ( ( 𝐹  ∈  Word  𝑊  ∧  〈“ 𝐴 ”〉  ∈  Word  𝑊 )  ∧  𝑖  ∈  ( 1 ..^ ( ♯ ‘ 𝐹 ) ) )  →  ( ( ( 𝐹  ++  〈“ 𝐴 ”〉 ) ‘ 𝑖 )  ∈  ran  ( 𝑇 ‘ ( ( 𝐹  ++  〈“ 𝐴 ”〉 ) ‘ ( 𝑖  −  1 ) ) )  ↔  ( 𝐹 ‘ 𝑖 )  ∈  ran  ( 𝑇 ‘ ( 𝐹 ‘ ( 𝑖  −  1 ) ) ) ) ) | 
						
							| 65 | 64 | ralbidva | ⊢ ( ( 𝐹  ∈  Word  𝑊  ∧  〈“ 𝐴 ”〉  ∈  Word  𝑊 )  →  ( ∀ 𝑖  ∈  ( 1 ..^ ( ♯ ‘ 𝐹 ) ) ( ( 𝐹  ++  〈“ 𝐴 ”〉 ) ‘ 𝑖 )  ∈  ran  ( 𝑇 ‘ ( ( 𝐹  ++  〈“ 𝐴 ”〉 ) ‘ ( 𝑖  −  1 ) ) )  ↔  ∀ 𝑖  ∈  ( 1 ..^ ( ♯ ‘ 𝐹 ) ) ( 𝐹 ‘ 𝑖 )  ∈  ran  ( 𝑇 ‘ ( 𝐹 ‘ ( 𝑖  −  1 ) ) ) ) ) | 
						
							| 66 | 9 20 65 | syl2an2r | ⊢ ( ( 𝐹  ∈  dom  𝑆  ∧  𝐴  ∈  ran  ( 𝑇 ‘ ( 𝑆 ‘ 𝐹 ) ) )  →  ( ∀ 𝑖  ∈  ( 1 ..^ ( ♯ ‘ 𝐹 ) ) ( ( 𝐹  ++  〈“ 𝐴 ”〉 ) ‘ 𝑖 )  ∈  ran  ( 𝑇 ‘ ( ( 𝐹  ++  〈“ 𝐴 ”〉 ) ‘ ( 𝑖  −  1 ) ) )  ↔  ∀ 𝑖  ∈  ( 1 ..^ ( ♯ ‘ 𝐹 ) ) ( 𝐹 ‘ 𝑖 )  ∈  ran  ( 𝑇 ‘ ( 𝐹 ‘ ( 𝑖  −  1 ) ) ) ) ) | 
						
							| 67 | 43 66 | mpbird | ⊢ ( ( 𝐹  ∈  dom  𝑆  ∧  𝐴  ∈  ran  ( 𝑇 ‘ ( 𝑆 ‘ 𝐹 ) ) )  →  ∀ 𝑖  ∈  ( 1 ..^ ( ♯ ‘ 𝐹 ) ) ( ( 𝐹  ++  〈“ 𝐴 ”〉 ) ‘ 𝑖 )  ∈  ran  ( 𝑇 ‘ ( ( 𝐹  ++  〈“ 𝐴 ”〉 ) ‘ ( 𝑖  −  1 ) ) ) ) | 
						
							| 68 |  | lencl | ⊢ ( 𝐹  ∈  Word  𝑊  →  ( ♯ ‘ 𝐹 )  ∈  ℕ0 ) | 
						
							| 69 | 9 68 | syl | ⊢ ( 𝐹  ∈  dom  𝑆  →  ( ♯ ‘ 𝐹 )  ∈  ℕ0 ) | 
						
							| 70 | 69 | nn0cnd | ⊢ ( 𝐹  ∈  dom  𝑆  →  ( ♯ ‘ 𝐹 )  ∈  ℂ ) | 
						
							| 71 | 70 | addlidd | ⊢ ( 𝐹  ∈  dom  𝑆  →  ( 0  +  ( ♯ ‘ 𝐹 ) )  =  ( ♯ ‘ 𝐹 ) ) | 
						
							| 72 | 71 | fveq2d | ⊢ ( 𝐹  ∈  dom  𝑆  →  ( ( 𝐹  ++  〈“ 𝐴 ”〉 ) ‘ ( 0  +  ( ♯ ‘ 𝐹 ) ) )  =  ( ( 𝐹  ++  〈“ 𝐴 ”〉 ) ‘ ( ♯ ‘ 𝐹 ) ) ) | 
						
							| 73 | 72 | adantr | ⊢ ( ( 𝐹  ∈  dom  𝑆  ∧  𝐴  ∈  ran  ( 𝑇 ‘ ( 𝑆 ‘ 𝐹 ) ) )  →  ( ( 𝐹  ++  〈“ 𝐴 ”〉 ) ‘ ( 0  +  ( ♯ ‘ 𝐹 ) ) )  =  ( ( 𝐹  ++  〈“ 𝐴 ”〉 ) ‘ ( ♯ ‘ 𝐹 ) ) ) | 
						
							| 74 |  | s1len | ⊢ ( ♯ ‘ 〈“ 𝐴 ”〉 )  =  1 | 
						
							| 75 |  | 1nn | ⊢ 1  ∈  ℕ | 
						
							| 76 | 74 75 | eqeltri | ⊢ ( ♯ ‘ 〈“ 𝐴 ”〉 )  ∈  ℕ | 
						
							| 77 |  | lbfzo0 | ⊢ ( 0  ∈  ( 0 ..^ ( ♯ ‘ 〈“ 𝐴 ”〉 ) )  ↔  ( ♯ ‘ 〈“ 𝐴 ”〉 )  ∈  ℕ ) | 
						
							| 78 | 76 77 | mpbir | ⊢ 0  ∈  ( 0 ..^ ( ♯ ‘ 〈“ 𝐴 ”〉 ) ) | 
						
							| 79 | 78 | a1i | ⊢ ( ( 𝐹  ∈  dom  𝑆  ∧  𝐴  ∈  ran  ( 𝑇 ‘ ( 𝑆 ‘ 𝐹 ) ) )  →  0  ∈  ( 0 ..^ ( ♯ ‘ 〈“ 𝐴 ”〉 ) ) ) | 
						
							| 80 |  | ccatval3 | ⊢ ( ( 𝐹  ∈  Word  𝑊  ∧  〈“ 𝐴 ”〉  ∈  Word  𝑊  ∧  0  ∈  ( 0 ..^ ( ♯ ‘ 〈“ 𝐴 ”〉 ) ) )  →  ( ( 𝐹  ++  〈“ 𝐴 ”〉 ) ‘ ( 0  +  ( ♯ ‘ 𝐹 ) ) )  =  ( 〈“ 𝐴 ”〉 ‘ 0 ) ) | 
						
							| 81 | 28 20 79 80 | syl3anc | ⊢ ( ( 𝐹  ∈  dom  𝑆  ∧  𝐴  ∈  ran  ( 𝑇 ‘ ( 𝑆 ‘ 𝐹 ) ) )  →  ( ( 𝐹  ++  〈“ 𝐴 ”〉 ) ‘ ( 0  +  ( ♯ ‘ 𝐹 ) ) )  =  ( 〈“ 𝐴 ”〉 ‘ 0 ) ) | 
						
							| 82 | 73 81 | eqtr3d | ⊢ ( ( 𝐹  ∈  dom  𝑆  ∧  𝐴  ∈  ran  ( 𝑇 ‘ ( 𝑆 ‘ 𝐹 ) ) )  →  ( ( 𝐹  ++  〈“ 𝐴 ”〉 ) ‘ ( ♯ ‘ 𝐹 ) )  =  ( 〈“ 𝐴 ”〉 ‘ 0 ) ) | 
						
							| 83 |  | simpr | ⊢ ( ( 𝐹  ∈  dom  𝑆  ∧  𝐴  ∈  ran  ( 𝑇 ‘ ( 𝑆 ‘ 𝐹 ) ) )  →  𝐴  ∈  ran  ( 𝑇 ‘ ( 𝑆 ‘ 𝐹 ) ) ) | 
						
							| 84 |  | s1fv | ⊢ ( 𝐴  ∈  ran  ( 𝑇 ‘ ( 𝑆 ‘ 𝐹 ) )  →  ( 〈“ 𝐴 ”〉 ‘ 0 )  =  𝐴 ) | 
						
							| 85 | 84 | adantl | ⊢ ( ( 𝐹  ∈  dom  𝑆  ∧  𝐴  ∈  ran  ( 𝑇 ‘ ( 𝑆 ‘ 𝐹 ) ) )  →  ( 〈“ 𝐴 ”〉 ‘ 0 )  =  𝐴 ) | 
						
							| 86 |  | fzo0end | ⊢ ( ( ♯ ‘ 𝐹 )  ∈  ℕ  →  ( ( ♯ ‘ 𝐹 )  −  1 )  ∈  ( 0 ..^ ( ♯ ‘ 𝐹 ) ) ) | 
						
							| 87 | 33 86 | syl | ⊢ ( 𝐹  ∈  dom  𝑆  →  ( ( ♯ ‘ 𝐹 )  −  1 )  ∈  ( 0 ..^ ( ♯ ‘ 𝐹 ) ) ) | 
						
							| 88 | 87 | adantr | ⊢ ( ( 𝐹  ∈  dom  𝑆  ∧  𝐴  ∈  ran  ( 𝑇 ‘ ( 𝑆 ‘ 𝐹 ) ) )  →  ( ( ♯ ‘ 𝐹 )  −  1 )  ∈  ( 0 ..^ ( ♯ ‘ 𝐹 ) ) ) | 
						
							| 89 |  | ccatval1 | ⊢ ( ( 𝐹  ∈  Word  𝑊  ∧  〈“ 𝐴 ”〉  ∈  Word  𝑊  ∧  ( ( ♯ ‘ 𝐹 )  −  1 )  ∈  ( 0 ..^ ( ♯ ‘ 𝐹 ) ) )  →  ( ( 𝐹  ++  〈“ 𝐴 ”〉 ) ‘ ( ( ♯ ‘ 𝐹 )  −  1 ) )  =  ( 𝐹 ‘ ( ( ♯ ‘ 𝐹 )  −  1 ) ) ) | 
						
							| 90 | 28 20 88 89 | syl3anc | ⊢ ( ( 𝐹  ∈  dom  𝑆  ∧  𝐴  ∈  ran  ( 𝑇 ‘ ( 𝑆 ‘ 𝐹 ) ) )  →  ( ( 𝐹  ++  〈“ 𝐴 ”〉 ) ‘ ( ( ♯ ‘ 𝐹 )  −  1 ) )  =  ( 𝐹 ‘ ( ( ♯ ‘ 𝐹 )  −  1 ) ) ) | 
						
							| 91 | 1 2 3 4 5 6 | efgsval | ⊢ ( 𝐹  ∈  dom  𝑆  →  ( 𝑆 ‘ 𝐹 )  =  ( 𝐹 ‘ ( ( ♯ ‘ 𝐹 )  −  1 ) ) ) | 
						
							| 92 | 91 | adantr | ⊢ ( ( 𝐹  ∈  dom  𝑆  ∧  𝐴  ∈  ran  ( 𝑇 ‘ ( 𝑆 ‘ 𝐹 ) ) )  →  ( 𝑆 ‘ 𝐹 )  =  ( 𝐹 ‘ ( ( ♯ ‘ 𝐹 )  −  1 ) ) ) | 
						
							| 93 | 90 92 | eqtr4d | ⊢ ( ( 𝐹  ∈  dom  𝑆  ∧  𝐴  ∈  ran  ( 𝑇 ‘ ( 𝑆 ‘ 𝐹 ) ) )  →  ( ( 𝐹  ++  〈“ 𝐴 ”〉 ) ‘ ( ( ♯ ‘ 𝐹 )  −  1 ) )  =  ( 𝑆 ‘ 𝐹 ) ) | 
						
							| 94 | 93 | fveq2d | ⊢ ( ( 𝐹  ∈  dom  𝑆  ∧  𝐴  ∈  ran  ( 𝑇 ‘ ( 𝑆 ‘ 𝐹 ) ) )  →  ( 𝑇 ‘ ( ( 𝐹  ++  〈“ 𝐴 ”〉 ) ‘ ( ( ♯ ‘ 𝐹 )  −  1 ) ) )  =  ( 𝑇 ‘ ( 𝑆 ‘ 𝐹 ) ) ) | 
						
							| 95 | 94 | rneqd | ⊢ ( ( 𝐹  ∈  dom  𝑆  ∧  𝐴  ∈  ran  ( 𝑇 ‘ ( 𝑆 ‘ 𝐹 ) ) )  →  ran  ( 𝑇 ‘ ( ( 𝐹  ++  〈“ 𝐴 ”〉 ) ‘ ( ( ♯ ‘ 𝐹 )  −  1 ) ) )  =  ran  ( 𝑇 ‘ ( 𝑆 ‘ 𝐹 ) ) ) | 
						
							| 96 | 83 85 95 | 3eltr4d | ⊢ ( ( 𝐹  ∈  dom  𝑆  ∧  𝐴  ∈  ran  ( 𝑇 ‘ ( 𝑆 ‘ 𝐹 ) ) )  →  ( 〈“ 𝐴 ”〉 ‘ 0 )  ∈  ran  ( 𝑇 ‘ ( ( 𝐹  ++  〈“ 𝐴 ”〉 ) ‘ ( ( ♯ ‘ 𝐹 )  −  1 ) ) ) ) | 
						
							| 97 | 82 96 | eqeltrd | ⊢ ( ( 𝐹  ∈  dom  𝑆  ∧  𝐴  ∈  ran  ( 𝑇 ‘ ( 𝑆 ‘ 𝐹 ) ) )  →  ( ( 𝐹  ++  〈“ 𝐴 ”〉 ) ‘ ( ♯ ‘ 𝐹 ) )  ∈  ran  ( 𝑇 ‘ ( ( 𝐹  ++  〈“ 𝐴 ”〉 ) ‘ ( ( ♯ ‘ 𝐹 )  −  1 ) ) ) ) | 
						
							| 98 |  | fvex | ⊢ ( ♯ ‘ 𝐹 )  ∈  V | 
						
							| 99 |  | fveq2 | ⊢ ( 𝑖  =  ( ♯ ‘ 𝐹 )  →  ( ( 𝐹  ++  〈“ 𝐴 ”〉 ) ‘ 𝑖 )  =  ( ( 𝐹  ++  〈“ 𝐴 ”〉 ) ‘ ( ♯ ‘ 𝐹 ) ) ) | 
						
							| 100 |  | fvoveq1 | ⊢ ( 𝑖  =  ( ♯ ‘ 𝐹 )  →  ( ( 𝐹  ++  〈“ 𝐴 ”〉 ) ‘ ( 𝑖  −  1 ) )  =  ( ( 𝐹  ++  〈“ 𝐴 ”〉 ) ‘ ( ( ♯ ‘ 𝐹 )  −  1 ) ) ) | 
						
							| 101 | 100 | fveq2d | ⊢ ( 𝑖  =  ( ♯ ‘ 𝐹 )  →  ( 𝑇 ‘ ( ( 𝐹  ++  〈“ 𝐴 ”〉 ) ‘ ( 𝑖  −  1 ) ) )  =  ( 𝑇 ‘ ( ( 𝐹  ++  〈“ 𝐴 ”〉 ) ‘ ( ( ♯ ‘ 𝐹 )  −  1 ) ) ) ) | 
						
							| 102 | 101 | rneqd | ⊢ ( 𝑖  =  ( ♯ ‘ 𝐹 )  →  ran  ( 𝑇 ‘ ( ( 𝐹  ++  〈“ 𝐴 ”〉 ) ‘ ( 𝑖  −  1 ) ) )  =  ran  ( 𝑇 ‘ ( ( 𝐹  ++  〈“ 𝐴 ”〉 ) ‘ ( ( ♯ ‘ 𝐹 )  −  1 ) ) ) ) | 
						
							| 103 | 99 102 | eleq12d | ⊢ ( 𝑖  =  ( ♯ ‘ 𝐹 )  →  ( ( ( 𝐹  ++  〈“ 𝐴 ”〉 ) ‘ 𝑖 )  ∈  ran  ( 𝑇 ‘ ( ( 𝐹  ++  〈“ 𝐴 ”〉 ) ‘ ( 𝑖  −  1 ) ) )  ↔  ( ( 𝐹  ++  〈“ 𝐴 ”〉 ) ‘ ( ♯ ‘ 𝐹 ) )  ∈  ran  ( 𝑇 ‘ ( ( 𝐹  ++  〈“ 𝐴 ”〉 ) ‘ ( ( ♯ ‘ 𝐹 )  −  1 ) ) ) ) ) | 
						
							| 104 | 98 103 | ralsn | ⊢ ( ∀ 𝑖  ∈  { ( ♯ ‘ 𝐹 ) } ( ( 𝐹  ++  〈“ 𝐴 ”〉 ) ‘ 𝑖 )  ∈  ran  ( 𝑇 ‘ ( ( 𝐹  ++  〈“ 𝐴 ”〉 ) ‘ ( 𝑖  −  1 ) ) )  ↔  ( ( 𝐹  ++  〈“ 𝐴 ”〉 ) ‘ ( ♯ ‘ 𝐹 ) )  ∈  ran  ( 𝑇 ‘ ( ( 𝐹  ++  〈“ 𝐴 ”〉 ) ‘ ( ( ♯ ‘ 𝐹 )  −  1 ) ) ) ) | 
						
							| 105 | 97 104 | sylibr | ⊢ ( ( 𝐹  ∈  dom  𝑆  ∧  𝐴  ∈  ran  ( 𝑇 ‘ ( 𝑆 ‘ 𝐹 ) ) )  →  ∀ 𝑖  ∈  { ( ♯ ‘ 𝐹 ) } ( ( 𝐹  ++  〈“ 𝐴 ”〉 ) ‘ 𝑖 )  ∈  ran  ( 𝑇 ‘ ( ( 𝐹  ++  〈“ 𝐴 ”〉 ) ‘ ( 𝑖  −  1 ) ) ) ) | 
						
							| 106 |  | ralunb | ⊢ ( ∀ 𝑖  ∈  ( ( 1 ..^ ( ♯ ‘ 𝐹 ) )  ∪  { ( ♯ ‘ 𝐹 ) } ) ( ( 𝐹  ++  〈“ 𝐴 ”〉 ) ‘ 𝑖 )  ∈  ran  ( 𝑇 ‘ ( ( 𝐹  ++  〈“ 𝐴 ”〉 ) ‘ ( 𝑖  −  1 ) ) )  ↔  ( ∀ 𝑖  ∈  ( 1 ..^ ( ♯ ‘ 𝐹 ) ) ( ( 𝐹  ++  〈“ 𝐴 ”〉 ) ‘ 𝑖 )  ∈  ran  ( 𝑇 ‘ ( ( 𝐹  ++  〈“ 𝐴 ”〉 ) ‘ ( 𝑖  −  1 ) ) )  ∧  ∀ 𝑖  ∈  { ( ♯ ‘ 𝐹 ) } ( ( 𝐹  ++  〈“ 𝐴 ”〉 ) ‘ 𝑖 )  ∈  ran  ( 𝑇 ‘ ( ( 𝐹  ++  〈“ 𝐴 ”〉 ) ‘ ( 𝑖  −  1 ) ) ) ) ) | 
						
							| 107 | 67 105 106 | sylanbrc | ⊢ ( ( 𝐹  ∈  dom  𝑆  ∧  𝐴  ∈  ran  ( 𝑇 ‘ ( 𝑆 ‘ 𝐹 ) ) )  →  ∀ 𝑖  ∈  ( ( 1 ..^ ( ♯ ‘ 𝐹 ) )  ∪  { ( ♯ ‘ 𝐹 ) } ) ( ( 𝐹  ++  〈“ 𝐴 ”〉 ) ‘ 𝑖 )  ∈  ran  ( 𝑇 ‘ ( ( 𝐹  ++  〈“ 𝐴 ”〉 ) ‘ ( 𝑖  −  1 ) ) ) ) | 
						
							| 108 |  | ccatlen | ⊢ ( ( 𝐹  ∈  Word  𝑊  ∧  〈“ 𝐴 ”〉  ∈  Word  𝑊 )  →  ( ♯ ‘ ( 𝐹  ++  〈“ 𝐴 ”〉 ) )  =  ( ( ♯ ‘ 𝐹 )  +  ( ♯ ‘ 〈“ 𝐴 ”〉 ) ) ) | 
						
							| 109 | 9 20 108 | syl2an2r | ⊢ ( ( 𝐹  ∈  dom  𝑆  ∧  𝐴  ∈  ran  ( 𝑇 ‘ ( 𝑆 ‘ 𝐹 ) ) )  →  ( ♯ ‘ ( 𝐹  ++  〈“ 𝐴 ”〉 ) )  =  ( ( ♯ ‘ 𝐹 )  +  ( ♯ ‘ 〈“ 𝐴 ”〉 ) ) ) | 
						
							| 110 | 74 | oveq2i | ⊢ ( ( ♯ ‘ 𝐹 )  +  ( ♯ ‘ 〈“ 𝐴 ”〉 ) )  =  ( ( ♯ ‘ 𝐹 )  +  1 ) | 
						
							| 111 | 109 110 | eqtrdi | ⊢ ( ( 𝐹  ∈  dom  𝑆  ∧  𝐴  ∈  ran  ( 𝑇 ‘ ( 𝑆 ‘ 𝐹 ) ) )  →  ( ♯ ‘ ( 𝐹  ++  〈“ 𝐴 ”〉 ) )  =  ( ( ♯ ‘ 𝐹 )  +  1 ) ) | 
						
							| 112 | 111 | oveq2d | ⊢ ( ( 𝐹  ∈  dom  𝑆  ∧  𝐴  ∈  ran  ( 𝑇 ‘ ( 𝑆 ‘ 𝐹 ) ) )  →  ( 1 ..^ ( ♯ ‘ ( 𝐹  ++  〈“ 𝐴 ”〉 ) ) )  =  ( 1 ..^ ( ( ♯ ‘ 𝐹 )  +  1 ) ) ) | 
						
							| 113 |  | nnuz | ⊢ ℕ  =  ( ℤ≥ ‘ 1 ) | 
						
							| 114 | 33 113 | eleqtrdi | ⊢ ( 𝐹  ∈  dom  𝑆  →  ( ♯ ‘ 𝐹 )  ∈  ( ℤ≥ ‘ 1 ) ) | 
						
							| 115 |  | fzosplitsn | ⊢ ( ( ♯ ‘ 𝐹 )  ∈  ( ℤ≥ ‘ 1 )  →  ( 1 ..^ ( ( ♯ ‘ 𝐹 )  +  1 ) )  =  ( ( 1 ..^ ( ♯ ‘ 𝐹 ) )  ∪  { ( ♯ ‘ 𝐹 ) } ) ) | 
						
							| 116 | 114 115 | syl | ⊢ ( 𝐹  ∈  dom  𝑆  →  ( 1 ..^ ( ( ♯ ‘ 𝐹 )  +  1 ) )  =  ( ( 1 ..^ ( ♯ ‘ 𝐹 ) )  ∪  { ( ♯ ‘ 𝐹 ) } ) ) | 
						
							| 117 | 116 | adantr | ⊢ ( ( 𝐹  ∈  dom  𝑆  ∧  𝐴  ∈  ran  ( 𝑇 ‘ ( 𝑆 ‘ 𝐹 ) ) )  →  ( 1 ..^ ( ( ♯ ‘ 𝐹 )  +  1 ) )  =  ( ( 1 ..^ ( ♯ ‘ 𝐹 ) )  ∪  { ( ♯ ‘ 𝐹 ) } ) ) | 
						
							| 118 | 112 117 | eqtrd | ⊢ ( ( 𝐹  ∈  dom  𝑆  ∧  𝐴  ∈  ran  ( 𝑇 ‘ ( 𝑆 ‘ 𝐹 ) ) )  →  ( 1 ..^ ( ♯ ‘ ( 𝐹  ++  〈“ 𝐴 ”〉 ) ) )  =  ( ( 1 ..^ ( ♯ ‘ 𝐹 ) )  ∪  { ( ♯ ‘ 𝐹 ) } ) ) | 
						
							| 119 | 107 118 | raleqtrrdv | ⊢ ( ( 𝐹  ∈  dom  𝑆  ∧  𝐴  ∈  ran  ( 𝑇 ‘ ( 𝑆 ‘ 𝐹 ) ) )  →  ∀ 𝑖  ∈  ( 1 ..^ ( ♯ ‘ ( 𝐹  ++  〈“ 𝐴 ”〉 ) ) ) ( ( 𝐹  ++  〈“ 𝐴 ”〉 ) ‘ 𝑖 )  ∈  ran  ( 𝑇 ‘ ( ( 𝐹  ++  〈“ 𝐴 ”〉 ) ‘ ( 𝑖  −  1 ) ) ) ) | 
						
							| 120 | 1 2 3 4 5 6 | efgsdm | ⊢ ( ( 𝐹  ++  〈“ 𝐴 ”〉 )  ∈  dom  𝑆  ↔  ( ( 𝐹  ++  〈“ 𝐴 ”〉 )  ∈  ( Word  𝑊  ∖  { ∅ } )  ∧  ( ( 𝐹  ++  〈“ 𝐴 ”〉 ) ‘ 0 )  ∈  𝐷  ∧  ∀ 𝑖  ∈  ( 1 ..^ ( ♯ ‘ ( 𝐹  ++  〈“ 𝐴 ”〉 ) ) ) ( ( 𝐹  ++  〈“ 𝐴 ”〉 ) ‘ 𝑖 )  ∈  ran  ( 𝑇 ‘ ( ( 𝐹  ++  〈“ 𝐴 ”〉 ) ‘ ( 𝑖  −  1 ) ) ) ) ) | 
						
							| 121 | 27 41 119 120 | syl3anbrc | ⊢ ( ( 𝐹  ∈  dom  𝑆  ∧  𝐴  ∈  ran  ( 𝑇 ‘ ( 𝑆 ‘ 𝐹 ) ) )  →  ( 𝐹  ++  〈“ 𝐴 ”〉 )  ∈  dom  𝑆 ) |