| 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 |  | efgredlem.1 | ⊢ ( 𝜑  →  ∀ 𝑎  ∈  dom  𝑆 ∀ 𝑏  ∈  dom  𝑆 ( ( ♯ ‘ ( 𝑆 ‘ 𝑎 ) )  <  ( ♯ ‘ ( 𝑆 ‘ 𝐴 ) )  →  ( ( 𝑆 ‘ 𝑎 )  =  ( 𝑆 ‘ 𝑏 )  →  ( 𝑎 ‘ 0 )  =  ( 𝑏 ‘ 0 ) ) ) ) | 
						
							| 8 |  | efgredlem.2 | ⊢ ( 𝜑  →  𝐴  ∈  dom  𝑆 ) | 
						
							| 9 |  | efgredlem.3 | ⊢ ( 𝜑  →  𝐵  ∈  dom  𝑆 ) | 
						
							| 10 |  | efgredlem.4 | ⊢ ( 𝜑  →  ( 𝑆 ‘ 𝐴 )  =  ( 𝑆 ‘ 𝐵 ) ) | 
						
							| 11 |  | efgredlem.5 | ⊢ ( 𝜑  →  ¬  ( 𝐴 ‘ 0 )  =  ( 𝐵 ‘ 0 ) ) | 
						
							| 12 |  | efgredlemb.k | ⊢ 𝐾  =  ( ( ( ♯ ‘ 𝐴 )  −  1 )  −  1 ) | 
						
							| 13 |  | efgredlemb.l | ⊢ 𝐿  =  ( ( ( ♯ ‘ 𝐵 )  −  1 )  −  1 ) | 
						
							| 14 | 1 2 3 4 5 6 | efgsdm | ⊢ ( 𝐴  ∈  dom  𝑆  ↔  ( 𝐴  ∈  ( Word  𝑊  ∖  { ∅ } )  ∧  ( 𝐴 ‘ 0 )  ∈  𝐷  ∧  ∀ 𝑖  ∈  ( 1 ..^ ( ♯ ‘ 𝐴 ) ) ( 𝐴 ‘ 𝑖 )  ∈  ran  ( 𝑇 ‘ ( 𝐴 ‘ ( 𝑖  −  1 ) ) ) ) ) | 
						
							| 15 | 14 | simp1bi | ⊢ ( 𝐴  ∈  dom  𝑆  →  𝐴  ∈  ( Word  𝑊  ∖  { ∅ } ) ) | 
						
							| 16 | 8 15 | syl | ⊢ ( 𝜑  →  𝐴  ∈  ( Word  𝑊  ∖  { ∅ } ) ) | 
						
							| 17 | 16 | eldifad | ⊢ ( 𝜑  →  𝐴  ∈  Word  𝑊 ) | 
						
							| 18 |  | wrdf | ⊢ ( 𝐴  ∈  Word  𝑊  →  𝐴 : ( 0 ..^ ( ♯ ‘ 𝐴 ) ) ⟶ 𝑊 ) | 
						
							| 19 | 17 18 | syl | ⊢ ( 𝜑  →  𝐴 : ( 0 ..^ ( ♯ ‘ 𝐴 ) ) ⟶ 𝑊 ) | 
						
							| 20 |  | fzossfz | ⊢ ( 0 ..^ ( ( ♯ ‘ 𝐴 )  −  1 ) )  ⊆  ( 0 ... ( ( ♯ ‘ 𝐴 )  −  1 ) ) | 
						
							| 21 |  | lencl | ⊢ ( 𝐴  ∈  Word  𝑊  →  ( ♯ ‘ 𝐴 )  ∈  ℕ0 ) | 
						
							| 22 | 17 21 | syl | ⊢ ( 𝜑  →  ( ♯ ‘ 𝐴 )  ∈  ℕ0 ) | 
						
							| 23 | 22 | nn0zd | ⊢ ( 𝜑  →  ( ♯ ‘ 𝐴 )  ∈  ℤ ) | 
						
							| 24 |  | fzoval | ⊢ ( ( ♯ ‘ 𝐴 )  ∈  ℤ  →  ( 0 ..^ ( ♯ ‘ 𝐴 ) )  =  ( 0 ... ( ( ♯ ‘ 𝐴 )  −  1 ) ) ) | 
						
							| 25 | 23 24 | syl | ⊢ ( 𝜑  →  ( 0 ..^ ( ♯ ‘ 𝐴 ) )  =  ( 0 ... ( ( ♯ ‘ 𝐴 )  −  1 ) ) ) | 
						
							| 26 | 20 25 | sseqtrrid | ⊢ ( 𝜑  →  ( 0 ..^ ( ( ♯ ‘ 𝐴 )  −  1 ) )  ⊆  ( 0 ..^ ( ♯ ‘ 𝐴 ) ) ) | 
						
							| 27 | 1 2 3 4 5 6 7 8 9 10 11 | efgredlema | ⊢ ( 𝜑  →  ( ( ( ♯ ‘ 𝐴 )  −  1 )  ∈  ℕ  ∧  ( ( ♯ ‘ 𝐵 )  −  1 )  ∈  ℕ ) ) | 
						
							| 28 | 27 | simpld | ⊢ ( 𝜑  →  ( ( ♯ ‘ 𝐴 )  −  1 )  ∈  ℕ ) | 
						
							| 29 |  | fzo0end | ⊢ ( ( ( ♯ ‘ 𝐴 )  −  1 )  ∈  ℕ  →  ( ( ( ♯ ‘ 𝐴 )  −  1 )  −  1 )  ∈  ( 0 ..^ ( ( ♯ ‘ 𝐴 )  −  1 ) ) ) | 
						
							| 30 | 28 29 | syl | ⊢ ( 𝜑  →  ( ( ( ♯ ‘ 𝐴 )  −  1 )  −  1 )  ∈  ( 0 ..^ ( ( ♯ ‘ 𝐴 )  −  1 ) ) ) | 
						
							| 31 | 12 30 | eqeltrid | ⊢ ( 𝜑  →  𝐾  ∈  ( 0 ..^ ( ( ♯ ‘ 𝐴 )  −  1 ) ) ) | 
						
							| 32 | 26 31 | sseldd | ⊢ ( 𝜑  →  𝐾  ∈  ( 0 ..^ ( ♯ ‘ 𝐴 ) ) ) | 
						
							| 33 | 19 32 | ffvelcdmd | ⊢ ( 𝜑  →  ( 𝐴 ‘ 𝐾 )  ∈  𝑊 ) | 
						
							| 34 | 1 2 3 4 5 6 | efgsdm | ⊢ ( 𝐵  ∈  dom  𝑆  ↔  ( 𝐵  ∈  ( Word  𝑊  ∖  { ∅ } )  ∧  ( 𝐵 ‘ 0 )  ∈  𝐷  ∧  ∀ 𝑖  ∈  ( 1 ..^ ( ♯ ‘ 𝐵 ) ) ( 𝐵 ‘ 𝑖 )  ∈  ran  ( 𝑇 ‘ ( 𝐵 ‘ ( 𝑖  −  1 ) ) ) ) ) | 
						
							| 35 | 34 | simp1bi | ⊢ ( 𝐵  ∈  dom  𝑆  →  𝐵  ∈  ( Word  𝑊  ∖  { ∅ } ) ) | 
						
							| 36 | 9 35 | syl | ⊢ ( 𝜑  →  𝐵  ∈  ( Word  𝑊  ∖  { ∅ } ) ) | 
						
							| 37 | 36 | eldifad | ⊢ ( 𝜑  →  𝐵  ∈  Word  𝑊 ) | 
						
							| 38 |  | wrdf | ⊢ ( 𝐵  ∈  Word  𝑊  →  𝐵 : ( 0 ..^ ( ♯ ‘ 𝐵 ) ) ⟶ 𝑊 ) | 
						
							| 39 | 37 38 | syl | ⊢ ( 𝜑  →  𝐵 : ( 0 ..^ ( ♯ ‘ 𝐵 ) ) ⟶ 𝑊 ) | 
						
							| 40 |  | fzossfz | ⊢ ( 0 ..^ ( ( ♯ ‘ 𝐵 )  −  1 ) )  ⊆  ( 0 ... ( ( ♯ ‘ 𝐵 )  −  1 ) ) | 
						
							| 41 |  | lencl | ⊢ ( 𝐵  ∈  Word  𝑊  →  ( ♯ ‘ 𝐵 )  ∈  ℕ0 ) | 
						
							| 42 | 37 41 | syl | ⊢ ( 𝜑  →  ( ♯ ‘ 𝐵 )  ∈  ℕ0 ) | 
						
							| 43 | 42 | nn0zd | ⊢ ( 𝜑  →  ( ♯ ‘ 𝐵 )  ∈  ℤ ) | 
						
							| 44 |  | fzoval | ⊢ ( ( ♯ ‘ 𝐵 )  ∈  ℤ  →  ( 0 ..^ ( ♯ ‘ 𝐵 ) )  =  ( 0 ... ( ( ♯ ‘ 𝐵 )  −  1 ) ) ) | 
						
							| 45 | 43 44 | syl | ⊢ ( 𝜑  →  ( 0 ..^ ( ♯ ‘ 𝐵 ) )  =  ( 0 ... ( ( ♯ ‘ 𝐵 )  −  1 ) ) ) | 
						
							| 46 | 40 45 | sseqtrrid | ⊢ ( 𝜑  →  ( 0 ..^ ( ( ♯ ‘ 𝐵 )  −  1 ) )  ⊆  ( 0 ..^ ( ♯ ‘ 𝐵 ) ) ) | 
						
							| 47 |  | fzo0end | ⊢ ( ( ( ♯ ‘ 𝐵 )  −  1 )  ∈  ℕ  →  ( ( ( ♯ ‘ 𝐵 )  −  1 )  −  1 )  ∈  ( 0 ..^ ( ( ♯ ‘ 𝐵 )  −  1 ) ) ) | 
						
							| 48 | 27 47 | simpl2im | ⊢ ( 𝜑  →  ( ( ( ♯ ‘ 𝐵 )  −  1 )  −  1 )  ∈  ( 0 ..^ ( ( ♯ ‘ 𝐵 )  −  1 ) ) ) | 
						
							| 49 | 13 48 | eqeltrid | ⊢ ( 𝜑  →  𝐿  ∈  ( 0 ..^ ( ( ♯ ‘ 𝐵 )  −  1 ) ) ) | 
						
							| 50 | 46 49 | sseldd | ⊢ ( 𝜑  →  𝐿  ∈  ( 0 ..^ ( ♯ ‘ 𝐵 ) ) ) | 
						
							| 51 | 39 50 | ffvelcdmd | ⊢ ( 𝜑  →  ( 𝐵 ‘ 𝐿 )  ∈  𝑊 ) | 
						
							| 52 | 33 51 | jca | ⊢ ( 𝜑  →  ( ( 𝐴 ‘ 𝐾 )  ∈  𝑊  ∧  ( 𝐵 ‘ 𝐿 )  ∈  𝑊 ) ) |