| 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 |  | eldifn | ⊢ ( ( 𝑆 ‘ 𝐴 )  ∈  ( 𝑊  ∖  ∪  𝑥  ∈  𝑊 ran  ( 𝑇 ‘ 𝑥 ) )  →  ¬  ( 𝑆 ‘ 𝐴 )  ∈  ∪  𝑥  ∈  𝑊 ran  ( 𝑇 ‘ 𝑥 ) ) | 
						
							| 8 | 7 5 | eleq2s | ⊢ ( ( 𝑆 ‘ 𝐴 )  ∈  𝐷  →  ¬  ( 𝑆 ‘ 𝐴 )  ∈  ∪  𝑥  ∈  𝑊 ran  ( 𝑇 ‘ 𝑥 ) ) | 
						
							| 9 | 1 2 3 4 5 6 | efgsdm | ⊢ ( 𝐴  ∈  dom  𝑆  ↔  ( 𝐴  ∈  ( Word  𝑊  ∖  { ∅ } )  ∧  ( 𝐴 ‘ 0 )  ∈  𝐷  ∧  ∀ 𝑎  ∈  ( 1 ..^ ( ♯ ‘ 𝐴 ) ) ( 𝐴 ‘ 𝑎 )  ∈  ran  ( 𝑇 ‘ ( 𝐴 ‘ ( 𝑎  −  1 ) ) ) ) ) | 
						
							| 10 | 9 | simp1bi | ⊢ ( 𝐴  ∈  dom  𝑆  →  𝐴  ∈  ( Word  𝑊  ∖  { ∅ } ) ) | 
						
							| 11 |  | eldifsn | ⊢ ( 𝐴  ∈  ( Word  𝑊  ∖  { ∅ } )  ↔  ( 𝐴  ∈  Word  𝑊  ∧  𝐴  ≠  ∅ ) ) | 
						
							| 12 |  | lennncl | ⊢ ( ( 𝐴  ∈  Word  𝑊  ∧  𝐴  ≠  ∅ )  →  ( ♯ ‘ 𝐴 )  ∈  ℕ ) | 
						
							| 13 | 11 12 | sylbi | ⊢ ( 𝐴  ∈  ( Word  𝑊  ∖  { ∅ } )  →  ( ♯ ‘ 𝐴 )  ∈  ℕ ) | 
						
							| 14 | 10 13 | syl | ⊢ ( 𝐴  ∈  dom  𝑆  →  ( ♯ ‘ 𝐴 )  ∈  ℕ ) | 
						
							| 15 |  | elnn1uz2 | ⊢ ( ( ♯ ‘ 𝐴 )  ∈  ℕ  ↔  ( ( ♯ ‘ 𝐴 )  =  1  ∨  ( ♯ ‘ 𝐴 )  ∈  ( ℤ≥ ‘ 2 ) ) ) | 
						
							| 16 | 14 15 | sylib | ⊢ ( 𝐴  ∈  dom  𝑆  →  ( ( ♯ ‘ 𝐴 )  =  1  ∨  ( ♯ ‘ 𝐴 )  ∈  ( ℤ≥ ‘ 2 ) ) ) | 
						
							| 17 | 16 | ord | ⊢ ( 𝐴  ∈  dom  𝑆  →  ( ¬  ( ♯ ‘ 𝐴 )  =  1  →  ( ♯ ‘ 𝐴 )  ∈  ( ℤ≥ ‘ 2 ) ) ) | 
						
							| 18 | 10 | eldifad | ⊢ ( 𝐴  ∈  dom  𝑆  →  𝐴  ∈  Word  𝑊 ) | 
						
							| 19 | 18 | adantr | ⊢ ( ( 𝐴  ∈  dom  𝑆  ∧  ( ♯ ‘ 𝐴 )  ∈  ( ℤ≥ ‘ 2 ) )  →  𝐴  ∈  Word  𝑊 ) | 
						
							| 20 |  | wrdf | ⊢ ( 𝐴  ∈  Word  𝑊  →  𝐴 : ( 0 ..^ ( ♯ ‘ 𝐴 ) ) ⟶ 𝑊 ) | 
						
							| 21 | 19 20 | syl | ⊢ ( ( 𝐴  ∈  dom  𝑆  ∧  ( ♯ ‘ 𝐴 )  ∈  ( ℤ≥ ‘ 2 ) )  →  𝐴 : ( 0 ..^ ( ♯ ‘ 𝐴 ) ) ⟶ 𝑊 ) | 
						
							| 22 |  | 1z | ⊢ 1  ∈  ℤ | 
						
							| 23 |  | simpr | ⊢ ( ( 𝐴  ∈  dom  𝑆  ∧  ( ♯ ‘ 𝐴 )  ∈  ( ℤ≥ ‘ 2 ) )  →  ( ♯ ‘ 𝐴 )  ∈  ( ℤ≥ ‘ 2 ) ) | 
						
							| 24 |  | df-2 | ⊢ 2  =  ( 1  +  1 ) | 
						
							| 25 | 24 | fveq2i | ⊢ ( ℤ≥ ‘ 2 )  =  ( ℤ≥ ‘ ( 1  +  1 ) ) | 
						
							| 26 | 23 25 | eleqtrdi | ⊢ ( ( 𝐴  ∈  dom  𝑆  ∧  ( ♯ ‘ 𝐴 )  ∈  ( ℤ≥ ‘ 2 ) )  →  ( ♯ ‘ 𝐴 )  ∈  ( ℤ≥ ‘ ( 1  +  1 ) ) ) | 
						
							| 27 |  | eluzp1m1 | ⊢ ( ( 1  ∈  ℤ  ∧  ( ♯ ‘ 𝐴 )  ∈  ( ℤ≥ ‘ ( 1  +  1 ) ) )  →  ( ( ♯ ‘ 𝐴 )  −  1 )  ∈  ( ℤ≥ ‘ 1 ) ) | 
						
							| 28 | 22 26 27 | sylancr | ⊢ ( ( 𝐴  ∈  dom  𝑆  ∧  ( ♯ ‘ 𝐴 )  ∈  ( ℤ≥ ‘ 2 ) )  →  ( ( ♯ ‘ 𝐴 )  −  1 )  ∈  ( ℤ≥ ‘ 1 ) ) | 
						
							| 29 |  | nnuz | ⊢ ℕ  =  ( ℤ≥ ‘ 1 ) | 
						
							| 30 | 28 29 | eleqtrrdi | ⊢ ( ( 𝐴  ∈  dom  𝑆  ∧  ( ♯ ‘ 𝐴 )  ∈  ( ℤ≥ ‘ 2 ) )  →  ( ( ♯ ‘ 𝐴 )  −  1 )  ∈  ℕ ) | 
						
							| 31 |  | lbfzo0 | ⊢ ( 0  ∈  ( 0 ..^ ( ( ♯ ‘ 𝐴 )  −  1 ) )  ↔  ( ( ♯ ‘ 𝐴 )  −  1 )  ∈  ℕ ) | 
						
							| 32 | 30 31 | sylibr | ⊢ ( ( 𝐴  ∈  dom  𝑆  ∧  ( ♯ ‘ 𝐴 )  ∈  ( ℤ≥ ‘ 2 ) )  →  0  ∈  ( 0 ..^ ( ( ♯ ‘ 𝐴 )  −  1 ) ) ) | 
						
							| 33 |  | fzoend | ⊢ ( 0  ∈  ( 0 ..^ ( ( ♯ ‘ 𝐴 )  −  1 ) )  →  ( ( ( ♯ ‘ 𝐴 )  −  1 )  −  1 )  ∈  ( 0 ..^ ( ( ♯ ‘ 𝐴 )  −  1 ) ) ) | 
						
							| 34 |  | elfzofz | ⊢ ( ( ( ( ♯ ‘ 𝐴 )  −  1 )  −  1 )  ∈  ( 0 ..^ ( ( ♯ ‘ 𝐴 )  −  1 ) )  →  ( ( ( ♯ ‘ 𝐴 )  −  1 )  −  1 )  ∈  ( 0 ... ( ( ♯ ‘ 𝐴 )  −  1 ) ) ) | 
						
							| 35 | 32 33 34 | 3syl | ⊢ ( ( 𝐴  ∈  dom  𝑆  ∧  ( ♯ ‘ 𝐴 )  ∈  ( ℤ≥ ‘ 2 ) )  →  ( ( ( ♯ ‘ 𝐴 )  −  1 )  −  1 )  ∈  ( 0 ... ( ( ♯ ‘ 𝐴 )  −  1 ) ) ) | 
						
							| 36 |  | eluzelz | ⊢ ( ( ♯ ‘ 𝐴 )  ∈  ( ℤ≥ ‘ 2 )  →  ( ♯ ‘ 𝐴 )  ∈  ℤ ) | 
						
							| 37 | 36 | adantl | ⊢ ( ( 𝐴  ∈  dom  𝑆  ∧  ( ♯ ‘ 𝐴 )  ∈  ( ℤ≥ ‘ 2 ) )  →  ( ♯ ‘ 𝐴 )  ∈  ℤ ) | 
						
							| 38 |  | fzoval | ⊢ ( ( ♯ ‘ 𝐴 )  ∈  ℤ  →  ( 0 ..^ ( ♯ ‘ 𝐴 ) )  =  ( 0 ... ( ( ♯ ‘ 𝐴 )  −  1 ) ) ) | 
						
							| 39 | 37 38 | syl | ⊢ ( ( 𝐴  ∈  dom  𝑆  ∧  ( ♯ ‘ 𝐴 )  ∈  ( ℤ≥ ‘ 2 ) )  →  ( 0 ..^ ( ♯ ‘ 𝐴 ) )  =  ( 0 ... ( ( ♯ ‘ 𝐴 )  −  1 ) ) ) | 
						
							| 40 | 35 39 | eleqtrrd | ⊢ ( ( 𝐴  ∈  dom  𝑆  ∧  ( ♯ ‘ 𝐴 )  ∈  ( ℤ≥ ‘ 2 ) )  →  ( ( ( ♯ ‘ 𝐴 )  −  1 )  −  1 )  ∈  ( 0 ..^ ( ♯ ‘ 𝐴 ) ) ) | 
						
							| 41 | 21 40 | ffvelcdmd | ⊢ ( ( 𝐴  ∈  dom  𝑆  ∧  ( ♯ ‘ 𝐴 )  ∈  ( ℤ≥ ‘ 2 ) )  →  ( 𝐴 ‘ ( ( ( ♯ ‘ 𝐴 )  −  1 )  −  1 ) )  ∈  𝑊 ) | 
						
							| 42 |  | uz2m1nn | ⊢ ( ( ♯ ‘ 𝐴 )  ∈  ( ℤ≥ ‘ 2 )  →  ( ( ♯ ‘ 𝐴 )  −  1 )  ∈  ℕ ) | 
						
							| 43 | 1 2 3 4 5 6 | efgsdmi | ⊢ ( ( 𝐴  ∈  dom  𝑆  ∧  ( ( ♯ ‘ 𝐴 )  −  1 )  ∈  ℕ )  →  ( 𝑆 ‘ 𝐴 )  ∈  ran  ( 𝑇 ‘ ( 𝐴 ‘ ( ( ( ♯ ‘ 𝐴 )  −  1 )  −  1 ) ) ) ) | 
						
							| 44 | 42 43 | sylan2 | ⊢ ( ( 𝐴  ∈  dom  𝑆  ∧  ( ♯ ‘ 𝐴 )  ∈  ( ℤ≥ ‘ 2 ) )  →  ( 𝑆 ‘ 𝐴 )  ∈  ran  ( 𝑇 ‘ ( 𝐴 ‘ ( ( ( ♯ ‘ 𝐴 )  −  1 )  −  1 ) ) ) ) | 
						
							| 45 |  | fveq2 | ⊢ ( 𝑎  =  ( 𝐴 ‘ ( ( ( ♯ ‘ 𝐴 )  −  1 )  −  1 ) )  →  ( 𝑇 ‘ 𝑎 )  =  ( 𝑇 ‘ ( 𝐴 ‘ ( ( ( ♯ ‘ 𝐴 )  −  1 )  −  1 ) ) ) ) | 
						
							| 46 | 45 | rneqd | ⊢ ( 𝑎  =  ( 𝐴 ‘ ( ( ( ♯ ‘ 𝐴 )  −  1 )  −  1 ) )  →  ran  ( 𝑇 ‘ 𝑎 )  =  ran  ( 𝑇 ‘ ( 𝐴 ‘ ( ( ( ♯ ‘ 𝐴 )  −  1 )  −  1 ) ) ) ) | 
						
							| 47 | 46 | eliuni | ⊢ ( ( ( 𝐴 ‘ ( ( ( ♯ ‘ 𝐴 )  −  1 )  −  1 ) )  ∈  𝑊  ∧  ( 𝑆 ‘ 𝐴 )  ∈  ran  ( 𝑇 ‘ ( 𝐴 ‘ ( ( ( ♯ ‘ 𝐴 )  −  1 )  −  1 ) ) ) )  →  ( 𝑆 ‘ 𝐴 )  ∈  ∪  𝑎  ∈  𝑊 ran  ( 𝑇 ‘ 𝑎 ) ) | 
						
							| 48 | 41 44 47 | syl2anc | ⊢ ( ( 𝐴  ∈  dom  𝑆  ∧  ( ♯ ‘ 𝐴 )  ∈  ( ℤ≥ ‘ 2 ) )  →  ( 𝑆 ‘ 𝐴 )  ∈  ∪  𝑎  ∈  𝑊 ran  ( 𝑇 ‘ 𝑎 ) ) | 
						
							| 49 |  | fveq2 | ⊢ ( 𝑎  =  𝑥  →  ( 𝑇 ‘ 𝑎 )  =  ( 𝑇 ‘ 𝑥 ) ) | 
						
							| 50 | 49 | rneqd | ⊢ ( 𝑎  =  𝑥  →  ran  ( 𝑇 ‘ 𝑎 )  =  ran  ( 𝑇 ‘ 𝑥 ) ) | 
						
							| 51 | 50 | cbviunv | ⊢ ∪  𝑎  ∈  𝑊 ran  ( 𝑇 ‘ 𝑎 )  =  ∪  𝑥  ∈  𝑊 ran  ( 𝑇 ‘ 𝑥 ) | 
						
							| 52 | 48 51 | eleqtrdi | ⊢ ( ( 𝐴  ∈  dom  𝑆  ∧  ( ♯ ‘ 𝐴 )  ∈  ( ℤ≥ ‘ 2 ) )  →  ( 𝑆 ‘ 𝐴 )  ∈  ∪  𝑥  ∈  𝑊 ran  ( 𝑇 ‘ 𝑥 ) ) | 
						
							| 53 | 52 | ex | ⊢ ( 𝐴  ∈  dom  𝑆  →  ( ( ♯ ‘ 𝐴 )  ∈  ( ℤ≥ ‘ 2 )  →  ( 𝑆 ‘ 𝐴 )  ∈  ∪  𝑥  ∈  𝑊 ran  ( 𝑇 ‘ 𝑥 ) ) ) | 
						
							| 54 | 17 53 | syld | ⊢ ( 𝐴  ∈  dom  𝑆  →  ( ¬  ( ♯ ‘ 𝐴 )  =  1  →  ( 𝑆 ‘ 𝐴 )  ∈  ∪  𝑥  ∈  𝑊 ran  ( 𝑇 ‘ 𝑥 ) ) ) | 
						
							| 55 | 54 | con1d | ⊢ ( 𝐴  ∈  dom  𝑆  →  ( ¬  ( 𝑆 ‘ 𝐴 )  ∈  ∪  𝑥  ∈  𝑊 ran  ( 𝑇 ‘ 𝑥 )  →  ( ♯ ‘ 𝐴 )  =  1 ) ) | 
						
							| 56 | 8 55 | syl5 | ⊢ ( 𝐴  ∈  dom  𝑆  →  ( ( 𝑆 ‘ 𝐴 )  ∈  𝐷  →  ( ♯ ‘ 𝐴 )  =  1 ) ) | 
						
							| 57 | 9 | simp2bi | ⊢ ( 𝐴  ∈  dom  𝑆  →  ( 𝐴 ‘ 0 )  ∈  𝐷 ) | 
						
							| 58 |  | oveq1 | ⊢ ( ( ♯ ‘ 𝐴 )  =  1  →  ( ( ♯ ‘ 𝐴 )  −  1 )  =  ( 1  −  1 ) ) | 
						
							| 59 |  | 1m1e0 | ⊢ ( 1  −  1 )  =  0 | 
						
							| 60 | 58 59 | eqtrdi | ⊢ ( ( ♯ ‘ 𝐴 )  =  1  →  ( ( ♯ ‘ 𝐴 )  −  1 )  =  0 ) | 
						
							| 61 | 60 | fveq2d | ⊢ ( ( ♯ ‘ 𝐴 )  =  1  →  ( 𝐴 ‘ ( ( ♯ ‘ 𝐴 )  −  1 ) )  =  ( 𝐴 ‘ 0 ) ) | 
						
							| 62 | 61 | eleq1d | ⊢ ( ( ♯ ‘ 𝐴 )  =  1  →  ( ( 𝐴 ‘ ( ( ♯ ‘ 𝐴 )  −  1 ) )  ∈  𝐷  ↔  ( 𝐴 ‘ 0 )  ∈  𝐷 ) ) | 
						
							| 63 | 57 62 | syl5ibrcom | ⊢ ( 𝐴  ∈  dom  𝑆  →  ( ( ♯ ‘ 𝐴 )  =  1  →  ( 𝐴 ‘ ( ( ♯ ‘ 𝐴 )  −  1 ) )  ∈  𝐷 ) ) | 
						
							| 64 | 1 2 3 4 5 6 | efgsval | ⊢ ( 𝐴  ∈  dom  𝑆  →  ( 𝑆 ‘ 𝐴 )  =  ( 𝐴 ‘ ( ( ♯ ‘ 𝐴 )  −  1 ) ) ) | 
						
							| 65 | 64 | eleq1d | ⊢ ( 𝐴  ∈  dom  𝑆  →  ( ( 𝑆 ‘ 𝐴 )  ∈  𝐷  ↔  ( 𝐴 ‘ ( ( ♯ ‘ 𝐴 )  −  1 ) )  ∈  𝐷 ) ) | 
						
							| 66 | 63 65 | sylibrd | ⊢ ( 𝐴  ∈  dom  𝑆  →  ( ( ♯ ‘ 𝐴 )  =  1  →  ( 𝑆 ‘ 𝐴 )  ∈  𝐷 ) ) | 
						
							| 67 | 56 66 | impbid | ⊢ ( 𝐴  ∈  dom  𝑆  →  ( ( 𝑆 ‘ 𝐴 )  ∈  𝐷  ↔  ( ♯ ‘ 𝐴 )  =  1 ) ) |