| Step | Hyp | Ref | Expression | 
						
							| 1 |  | smndex1ibas.m | ⊢ 𝑀  =  ( EndoFMnd ‘ ℕ0 ) | 
						
							| 2 |  | smndex1ibas.n | ⊢ 𝑁  ∈  ℕ | 
						
							| 3 |  | smndex1ibas.i | ⊢ 𝐼  =  ( 𝑥  ∈  ℕ0  ↦  ( 𝑥  mod  𝑁 ) ) | 
						
							| 4 |  | smndex1ibas.g | ⊢ 𝐺  =  ( 𝑛  ∈  ( 0 ..^ 𝑁 )  ↦  ( 𝑥  ∈  ℕ0  ↦  𝑛 ) ) | 
						
							| 5 |  | smndex1mgm.b | ⊢ 𝐵  =  ( { 𝐼 }  ∪  ∪  𝑛  ∈  ( 0 ..^ 𝑁 ) { ( 𝐺 ‘ 𝑛 ) } ) | 
						
							| 6 |  | smndex1mgm.s | ⊢ 𝑆  =  ( 𝑀  ↾s  𝐵 ) | 
						
							| 7 | 1 2 3 4 5 | smndex1basss | ⊢ 𝐵  ⊆  ( Base ‘ 𝑀 ) | 
						
							| 8 |  | ssel | ⊢ ( 𝐵  ⊆  ( Base ‘ 𝑀 )  →  ( 𝑎  ∈  𝐵  →  𝑎  ∈  ( Base ‘ 𝑀 ) ) ) | 
						
							| 9 |  | ssel | ⊢ ( 𝐵  ⊆  ( Base ‘ 𝑀 )  →  ( 𝑏  ∈  𝐵  →  𝑏  ∈  ( Base ‘ 𝑀 ) ) ) | 
						
							| 10 | 8 9 | anim12d | ⊢ ( 𝐵  ⊆  ( Base ‘ 𝑀 )  →  ( ( 𝑎  ∈  𝐵  ∧  𝑏  ∈  𝐵 )  →  ( 𝑎  ∈  ( Base ‘ 𝑀 )  ∧  𝑏  ∈  ( Base ‘ 𝑀 ) ) ) ) | 
						
							| 11 | 7 10 | ax-mp | ⊢ ( ( 𝑎  ∈  𝐵  ∧  𝑏  ∈  𝐵 )  →  ( 𝑎  ∈  ( Base ‘ 𝑀 )  ∧  𝑏  ∈  ( Base ‘ 𝑀 ) ) ) | 
						
							| 12 |  | eqid | ⊢ ( Base ‘ 𝑀 )  =  ( Base ‘ 𝑀 ) | 
						
							| 13 |  | eqid | ⊢ ( +g ‘ 𝑀 )  =  ( +g ‘ 𝑀 ) | 
						
							| 14 | 1 12 13 | efmndov | ⊢ ( ( 𝑎  ∈  ( Base ‘ 𝑀 )  ∧  𝑏  ∈  ( Base ‘ 𝑀 ) )  →  ( 𝑎 ( +g ‘ 𝑀 ) 𝑏 )  =  ( 𝑎  ∘  𝑏 ) ) | 
						
							| 15 | 11 14 | syl | ⊢ ( ( 𝑎  ∈  𝐵  ∧  𝑏  ∈  𝐵 )  →  ( 𝑎 ( +g ‘ 𝑀 ) 𝑏 )  =  ( 𝑎  ∘  𝑏 ) ) | 
						
							| 16 |  | simpl | ⊢ ( ( 𝑎  =  𝐼  ∧  𝑏  =  𝐼 )  →  𝑎  =  𝐼 ) | 
						
							| 17 |  | simpr | ⊢ ( ( 𝑎  =  𝐼  ∧  𝑏  =  𝐼 )  →  𝑏  =  𝐼 ) | 
						
							| 18 | 16 17 | coeq12d | ⊢ ( ( 𝑎  =  𝐼  ∧  𝑏  =  𝐼 )  →  ( 𝑎  ∘  𝑏 )  =  ( 𝐼  ∘  𝐼 ) ) | 
						
							| 19 | 1 2 3 | smndex1iidm | ⊢ ( 𝐼  ∘  𝐼 )  =  𝐼 | 
						
							| 20 | 18 19 | eqtrdi | ⊢ ( ( 𝑎  =  𝐼  ∧  𝑏  =  𝐼 )  →  ( 𝑎  ∘  𝑏 )  =  𝐼 ) | 
						
							| 21 | 20 | orcd | ⊢ ( ( 𝑎  =  𝐼  ∧  𝑏  =  𝐼 )  →  ( ( 𝑎  ∘  𝑏 )  =  𝐼  ∨  ∃ 𝑘  ∈  ( 0 ..^ 𝑁 ) ( 𝑎  ∘  𝑏 )  =  ( 𝐺 ‘ 𝑘 ) ) ) | 
						
							| 22 | 21 | ex | ⊢ ( 𝑎  =  𝐼  →  ( 𝑏  =  𝐼  →  ( ( 𝑎  ∘  𝑏 )  =  𝐼  ∨  ∃ 𝑘  ∈  ( 0 ..^ 𝑁 ) ( 𝑎  ∘  𝑏 )  =  ( 𝐺 ‘ 𝑘 ) ) ) ) | 
						
							| 23 |  | simpll | ⊢ ( ( ( 𝑎  =  𝐼  ∧  𝑘  ∈  ( 0 ..^ 𝑁 ) )  ∧  𝑏  =  ( 𝐺 ‘ 𝑘 ) )  →  𝑎  =  𝐼 ) | 
						
							| 24 |  | simpr | ⊢ ( ( ( 𝑎  =  𝐼  ∧  𝑘  ∈  ( 0 ..^ 𝑁 ) )  ∧  𝑏  =  ( 𝐺 ‘ 𝑘 ) )  →  𝑏  =  ( 𝐺 ‘ 𝑘 ) ) | 
						
							| 25 | 23 24 | coeq12d | ⊢ ( ( ( 𝑎  =  𝐼  ∧  𝑘  ∈  ( 0 ..^ 𝑁 ) )  ∧  𝑏  =  ( 𝐺 ‘ 𝑘 ) )  →  ( 𝑎  ∘  𝑏 )  =  ( 𝐼  ∘  ( 𝐺 ‘ 𝑘 ) ) ) | 
						
							| 26 | 1 2 3 4 | smndex1igid | ⊢ ( 𝑘  ∈  ( 0 ..^ 𝑁 )  →  ( 𝐼  ∘  ( 𝐺 ‘ 𝑘 ) )  =  ( 𝐺 ‘ 𝑘 ) ) | 
						
							| 27 | 26 | ad2antlr | ⊢ ( ( ( 𝑎  =  𝐼  ∧  𝑘  ∈  ( 0 ..^ 𝑁 ) )  ∧  𝑏  =  ( 𝐺 ‘ 𝑘 ) )  →  ( 𝐼  ∘  ( 𝐺 ‘ 𝑘 ) )  =  ( 𝐺 ‘ 𝑘 ) ) | 
						
							| 28 | 25 27 | eqtrd | ⊢ ( ( ( 𝑎  =  𝐼  ∧  𝑘  ∈  ( 0 ..^ 𝑁 ) )  ∧  𝑏  =  ( 𝐺 ‘ 𝑘 ) )  →  ( 𝑎  ∘  𝑏 )  =  ( 𝐺 ‘ 𝑘 ) ) | 
						
							| 29 | 28 | ex | ⊢ ( ( 𝑎  =  𝐼  ∧  𝑘  ∈  ( 0 ..^ 𝑁 ) )  →  ( 𝑏  =  ( 𝐺 ‘ 𝑘 )  →  ( 𝑎  ∘  𝑏 )  =  ( 𝐺 ‘ 𝑘 ) ) ) | 
						
							| 30 | 29 | reximdva | ⊢ ( 𝑎  =  𝐼  →  ( ∃ 𝑘  ∈  ( 0 ..^ 𝑁 ) 𝑏  =  ( 𝐺 ‘ 𝑘 )  →  ∃ 𝑘  ∈  ( 0 ..^ 𝑁 ) ( 𝑎  ∘  𝑏 )  =  ( 𝐺 ‘ 𝑘 ) ) ) | 
						
							| 31 | 30 | imp | ⊢ ( ( 𝑎  =  𝐼  ∧  ∃ 𝑘  ∈  ( 0 ..^ 𝑁 ) 𝑏  =  ( 𝐺 ‘ 𝑘 ) )  →  ∃ 𝑘  ∈  ( 0 ..^ 𝑁 ) ( 𝑎  ∘  𝑏 )  =  ( 𝐺 ‘ 𝑘 ) ) | 
						
							| 32 | 31 | olcd | ⊢ ( ( 𝑎  =  𝐼  ∧  ∃ 𝑘  ∈  ( 0 ..^ 𝑁 ) 𝑏  =  ( 𝐺 ‘ 𝑘 ) )  →  ( ( 𝑎  ∘  𝑏 )  =  𝐼  ∨  ∃ 𝑘  ∈  ( 0 ..^ 𝑁 ) ( 𝑎  ∘  𝑏 )  =  ( 𝐺 ‘ 𝑘 ) ) ) | 
						
							| 33 | 32 | ex | ⊢ ( 𝑎  =  𝐼  →  ( ∃ 𝑘  ∈  ( 0 ..^ 𝑁 ) 𝑏  =  ( 𝐺 ‘ 𝑘 )  →  ( ( 𝑎  ∘  𝑏 )  =  𝐼  ∨  ∃ 𝑘  ∈  ( 0 ..^ 𝑁 ) ( 𝑎  ∘  𝑏 )  =  ( 𝐺 ‘ 𝑘 ) ) ) ) | 
						
							| 34 | 22 33 | jaod | ⊢ ( 𝑎  =  𝐼  →  ( ( 𝑏  =  𝐼  ∨  ∃ 𝑘  ∈  ( 0 ..^ 𝑁 ) 𝑏  =  ( 𝐺 ‘ 𝑘 ) )  →  ( ( 𝑎  ∘  𝑏 )  =  𝐼  ∨  ∃ 𝑘  ∈  ( 0 ..^ 𝑁 ) ( 𝑎  ∘  𝑏 )  =  ( 𝐺 ‘ 𝑘 ) ) ) ) | 
						
							| 35 |  | simpr | ⊢ ( ( ( 𝑏  =  𝐼  ∧  𝑘  ∈  ( 0 ..^ 𝑁 ) )  ∧  𝑎  =  ( 𝐺 ‘ 𝑘 ) )  →  𝑎  =  ( 𝐺 ‘ 𝑘 ) ) | 
						
							| 36 |  | simpll | ⊢ ( ( ( 𝑏  =  𝐼  ∧  𝑘  ∈  ( 0 ..^ 𝑁 ) )  ∧  𝑎  =  ( 𝐺 ‘ 𝑘 ) )  →  𝑏  =  𝐼 ) | 
						
							| 37 | 35 36 | coeq12d | ⊢ ( ( ( 𝑏  =  𝐼  ∧  𝑘  ∈  ( 0 ..^ 𝑁 ) )  ∧  𝑎  =  ( 𝐺 ‘ 𝑘 ) )  →  ( 𝑎  ∘  𝑏 )  =  ( ( 𝐺 ‘ 𝑘 )  ∘  𝐼 ) ) | 
						
							| 38 | 1 2 3 | smndex1ibas | ⊢ 𝐼  ∈  ( Base ‘ 𝑀 ) | 
						
							| 39 | 1 2 3 4 | smndex1gid | ⊢ ( ( 𝐼  ∈  ( Base ‘ 𝑀 )  ∧  𝑘  ∈  ( 0 ..^ 𝑁 ) )  →  ( ( 𝐺 ‘ 𝑘 )  ∘  𝐼 )  =  ( 𝐺 ‘ 𝑘 ) ) | 
						
							| 40 | 38 39 | mpan | ⊢ ( 𝑘  ∈  ( 0 ..^ 𝑁 )  →  ( ( 𝐺 ‘ 𝑘 )  ∘  𝐼 )  =  ( 𝐺 ‘ 𝑘 ) ) | 
						
							| 41 | 40 | ad2antlr | ⊢ ( ( ( 𝑏  =  𝐼  ∧  𝑘  ∈  ( 0 ..^ 𝑁 ) )  ∧  𝑎  =  ( 𝐺 ‘ 𝑘 ) )  →  ( ( 𝐺 ‘ 𝑘 )  ∘  𝐼 )  =  ( 𝐺 ‘ 𝑘 ) ) | 
						
							| 42 | 37 41 | eqtrd | ⊢ ( ( ( 𝑏  =  𝐼  ∧  𝑘  ∈  ( 0 ..^ 𝑁 ) )  ∧  𝑎  =  ( 𝐺 ‘ 𝑘 ) )  →  ( 𝑎  ∘  𝑏 )  =  ( 𝐺 ‘ 𝑘 ) ) | 
						
							| 43 | 42 | ex | ⊢ ( ( 𝑏  =  𝐼  ∧  𝑘  ∈  ( 0 ..^ 𝑁 ) )  →  ( 𝑎  =  ( 𝐺 ‘ 𝑘 )  →  ( 𝑎  ∘  𝑏 )  =  ( 𝐺 ‘ 𝑘 ) ) ) | 
						
							| 44 | 43 | reximdva | ⊢ ( 𝑏  =  𝐼  →  ( ∃ 𝑘  ∈  ( 0 ..^ 𝑁 ) 𝑎  =  ( 𝐺 ‘ 𝑘 )  →  ∃ 𝑘  ∈  ( 0 ..^ 𝑁 ) ( 𝑎  ∘  𝑏 )  =  ( 𝐺 ‘ 𝑘 ) ) ) | 
						
							| 45 | 44 | imp | ⊢ ( ( 𝑏  =  𝐼  ∧  ∃ 𝑘  ∈  ( 0 ..^ 𝑁 ) 𝑎  =  ( 𝐺 ‘ 𝑘 ) )  →  ∃ 𝑘  ∈  ( 0 ..^ 𝑁 ) ( 𝑎  ∘  𝑏 )  =  ( 𝐺 ‘ 𝑘 ) ) | 
						
							| 46 | 45 | olcd | ⊢ ( ( 𝑏  =  𝐼  ∧  ∃ 𝑘  ∈  ( 0 ..^ 𝑁 ) 𝑎  =  ( 𝐺 ‘ 𝑘 ) )  →  ( ( 𝑎  ∘  𝑏 )  =  𝐼  ∨  ∃ 𝑘  ∈  ( 0 ..^ 𝑁 ) ( 𝑎  ∘  𝑏 )  =  ( 𝐺 ‘ 𝑘 ) ) ) | 
						
							| 47 | 46 | expcom | ⊢ ( ∃ 𝑘  ∈  ( 0 ..^ 𝑁 ) 𝑎  =  ( 𝐺 ‘ 𝑘 )  →  ( 𝑏  =  𝐼  →  ( ( 𝑎  ∘  𝑏 )  =  𝐼  ∨  ∃ 𝑘  ∈  ( 0 ..^ 𝑁 ) ( 𝑎  ∘  𝑏 )  =  ( 𝐺 ‘ 𝑘 ) ) ) ) | 
						
							| 48 |  | fveq2 | ⊢ ( 𝑘  =  𝑚  →  ( 𝐺 ‘ 𝑘 )  =  ( 𝐺 ‘ 𝑚 ) ) | 
						
							| 49 | 48 | eqeq2d | ⊢ ( 𝑘  =  𝑚  →  ( 𝑏  =  ( 𝐺 ‘ 𝑘 )  ↔  𝑏  =  ( 𝐺 ‘ 𝑚 ) ) ) | 
						
							| 50 | 49 | cbvrexvw | ⊢ ( ∃ 𝑘  ∈  ( 0 ..^ 𝑁 ) 𝑏  =  ( 𝐺 ‘ 𝑘 )  ↔  ∃ 𝑚  ∈  ( 0 ..^ 𝑁 ) 𝑏  =  ( 𝐺 ‘ 𝑚 ) ) | 
						
							| 51 |  | simpr | ⊢ ( ( ( ( 𝑚  ∈  ( 0 ..^ 𝑁 )  ∧  𝑏  =  ( 𝐺 ‘ 𝑚 ) )  ∧  𝑘  ∈  ( 0 ..^ 𝑁 ) )  ∧  𝑎  =  ( 𝐺 ‘ 𝑘 ) )  →  𝑎  =  ( 𝐺 ‘ 𝑘 ) ) | 
						
							| 52 |  | simpllr | ⊢ ( ( ( ( 𝑚  ∈  ( 0 ..^ 𝑁 )  ∧  𝑏  =  ( 𝐺 ‘ 𝑚 ) )  ∧  𝑘  ∈  ( 0 ..^ 𝑁 ) )  ∧  𝑎  =  ( 𝐺 ‘ 𝑘 ) )  →  𝑏  =  ( 𝐺 ‘ 𝑚 ) ) | 
						
							| 53 | 51 52 | coeq12d | ⊢ ( ( ( ( 𝑚  ∈  ( 0 ..^ 𝑁 )  ∧  𝑏  =  ( 𝐺 ‘ 𝑚 ) )  ∧  𝑘  ∈  ( 0 ..^ 𝑁 ) )  ∧  𝑎  =  ( 𝐺 ‘ 𝑘 ) )  →  ( 𝑎  ∘  𝑏 )  =  ( ( 𝐺 ‘ 𝑘 )  ∘  ( 𝐺 ‘ 𝑚 ) ) ) | 
						
							| 54 | 1 2 3 4 | smndex1gbas | ⊢ ( 𝑚  ∈  ( 0 ..^ 𝑁 )  →  ( 𝐺 ‘ 𝑚 )  ∈  ( Base ‘ 𝑀 ) ) | 
						
							| 55 | 1 2 3 4 | smndex1gid | ⊢ ( ( ( 𝐺 ‘ 𝑚 )  ∈  ( Base ‘ 𝑀 )  ∧  𝑘  ∈  ( 0 ..^ 𝑁 ) )  →  ( ( 𝐺 ‘ 𝑘 )  ∘  ( 𝐺 ‘ 𝑚 ) )  =  ( 𝐺 ‘ 𝑘 ) ) | 
						
							| 56 | 54 55 | sylan | ⊢ ( ( 𝑚  ∈  ( 0 ..^ 𝑁 )  ∧  𝑘  ∈  ( 0 ..^ 𝑁 ) )  →  ( ( 𝐺 ‘ 𝑘 )  ∘  ( 𝐺 ‘ 𝑚 ) )  =  ( 𝐺 ‘ 𝑘 ) ) | 
						
							| 57 | 56 | ad4ant13 | ⊢ ( ( ( ( 𝑚  ∈  ( 0 ..^ 𝑁 )  ∧  𝑏  =  ( 𝐺 ‘ 𝑚 ) )  ∧  𝑘  ∈  ( 0 ..^ 𝑁 ) )  ∧  𝑎  =  ( 𝐺 ‘ 𝑘 ) )  →  ( ( 𝐺 ‘ 𝑘 )  ∘  ( 𝐺 ‘ 𝑚 ) )  =  ( 𝐺 ‘ 𝑘 ) ) | 
						
							| 58 | 53 57 | eqtrd | ⊢ ( ( ( ( 𝑚  ∈  ( 0 ..^ 𝑁 )  ∧  𝑏  =  ( 𝐺 ‘ 𝑚 ) )  ∧  𝑘  ∈  ( 0 ..^ 𝑁 ) )  ∧  𝑎  =  ( 𝐺 ‘ 𝑘 ) )  →  ( 𝑎  ∘  𝑏 )  =  ( 𝐺 ‘ 𝑘 ) ) | 
						
							| 59 | 58 | ex | ⊢ ( ( ( 𝑚  ∈  ( 0 ..^ 𝑁 )  ∧  𝑏  =  ( 𝐺 ‘ 𝑚 ) )  ∧  𝑘  ∈  ( 0 ..^ 𝑁 ) )  →  ( 𝑎  =  ( 𝐺 ‘ 𝑘 )  →  ( 𝑎  ∘  𝑏 )  =  ( 𝐺 ‘ 𝑘 ) ) ) | 
						
							| 60 | 59 | reximdva | ⊢ ( ( 𝑚  ∈  ( 0 ..^ 𝑁 )  ∧  𝑏  =  ( 𝐺 ‘ 𝑚 ) )  →  ( ∃ 𝑘  ∈  ( 0 ..^ 𝑁 ) 𝑎  =  ( 𝐺 ‘ 𝑘 )  →  ∃ 𝑘  ∈  ( 0 ..^ 𝑁 ) ( 𝑎  ∘  𝑏 )  =  ( 𝐺 ‘ 𝑘 ) ) ) | 
						
							| 61 | 60 | rexlimiva | ⊢ ( ∃ 𝑚  ∈  ( 0 ..^ 𝑁 ) 𝑏  =  ( 𝐺 ‘ 𝑚 )  →  ( ∃ 𝑘  ∈  ( 0 ..^ 𝑁 ) 𝑎  =  ( 𝐺 ‘ 𝑘 )  →  ∃ 𝑘  ∈  ( 0 ..^ 𝑁 ) ( 𝑎  ∘  𝑏 )  =  ( 𝐺 ‘ 𝑘 ) ) ) | 
						
							| 62 | 61 | imp | ⊢ ( ( ∃ 𝑚  ∈  ( 0 ..^ 𝑁 ) 𝑏  =  ( 𝐺 ‘ 𝑚 )  ∧  ∃ 𝑘  ∈  ( 0 ..^ 𝑁 ) 𝑎  =  ( 𝐺 ‘ 𝑘 ) )  →  ∃ 𝑘  ∈  ( 0 ..^ 𝑁 ) ( 𝑎  ∘  𝑏 )  =  ( 𝐺 ‘ 𝑘 ) ) | 
						
							| 63 | 62 | olcd | ⊢ ( ( ∃ 𝑚  ∈  ( 0 ..^ 𝑁 ) 𝑏  =  ( 𝐺 ‘ 𝑚 )  ∧  ∃ 𝑘  ∈  ( 0 ..^ 𝑁 ) 𝑎  =  ( 𝐺 ‘ 𝑘 ) )  →  ( ( 𝑎  ∘  𝑏 )  =  𝐼  ∨  ∃ 𝑘  ∈  ( 0 ..^ 𝑁 ) ( 𝑎  ∘  𝑏 )  =  ( 𝐺 ‘ 𝑘 ) ) ) | 
						
							| 64 | 63 | expcom | ⊢ ( ∃ 𝑘  ∈  ( 0 ..^ 𝑁 ) 𝑎  =  ( 𝐺 ‘ 𝑘 )  →  ( ∃ 𝑚  ∈  ( 0 ..^ 𝑁 ) 𝑏  =  ( 𝐺 ‘ 𝑚 )  →  ( ( 𝑎  ∘  𝑏 )  =  𝐼  ∨  ∃ 𝑘  ∈  ( 0 ..^ 𝑁 ) ( 𝑎  ∘  𝑏 )  =  ( 𝐺 ‘ 𝑘 ) ) ) ) | 
						
							| 65 | 50 64 | biimtrid | ⊢ ( ∃ 𝑘  ∈  ( 0 ..^ 𝑁 ) 𝑎  =  ( 𝐺 ‘ 𝑘 )  →  ( ∃ 𝑘  ∈  ( 0 ..^ 𝑁 ) 𝑏  =  ( 𝐺 ‘ 𝑘 )  →  ( ( 𝑎  ∘  𝑏 )  =  𝐼  ∨  ∃ 𝑘  ∈  ( 0 ..^ 𝑁 ) ( 𝑎  ∘  𝑏 )  =  ( 𝐺 ‘ 𝑘 ) ) ) ) | 
						
							| 66 | 47 65 | jaod | ⊢ ( ∃ 𝑘  ∈  ( 0 ..^ 𝑁 ) 𝑎  =  ( 𝐺 ‘ 𝑘 )  →  ( ( 𝑏  =  𝐼  ∨  ∃ 𝑘  ∈  ( 0 ..^ 𝑁 ) 𝑏  =  ( 𝐺 ‘ 𝑘 ) )  →  ( ( 𝑎  ∘  𝑏 )  =  𝐼  ∨  ∃ 𝑘  ∈  ( 0 ..^ 𝑁 ) ( 𝑎  ∘  𝑏 )  =  ( 𝐺 ‘ 𝑘 ) ) ) ) | 
						
							| 67 | 34 66 | jaoi | ⊢ ( ( 𝑎  =  𝐼  ∨  ∃ 𝑘  ∈  ( 0 ..^ 𝑁 ) 𝑎  =  ( 𝐺 ‘ 𝑘 ) )  →  ( ( 𝑏  =  𝐼  ∨  ∃ 𝑘  ∈  ( 0 ..^ 𝑁 ) 𝑏  =  ( 𝐺 ‘ 𝑘 ) )  →  ( ( 𝑎  ∘  𝑏 )  =  𝐼  ∨  ∃ 𝑘  ∈  ( 0 ..^ 𝑁 ) ( 𝑎  ∘  𝑏 )  =  ( 𝐺 ‘ 𝑘 ) ) ) ) | 
						
							| 68 | 67 | imp | ⊢ ( ( ( 𝑎  =  𝐼  ∨  ∃ 𝑘  ∈  ( 0 ..^ 𝑁 ) 𝑎  =  ( 𝐺 ‘ 𝑘 ) )  ∧  ( 𝑏  =  𝐼  ∨  ∃ 𝑘  ∈  ( 0 ..^ 𝑁 ) 𝑏  =  ( 𝐺 ‘ 𝑘 ) ) )  →  ( ( 𝑎  ∘  𝑏 )  =  𝐼  ∨  ∃ 𝑘  ∈  ( 0 ..^ 𝑁 ) ( 𝑎  ∘  𝑏 )  =  ( 𝐺 ‘ 𝑘 ) ) ) | 
						
							| 69 | 5 | eleq2i | ⊢ ( 𝑎  ∈  𝐵  ↔  𝑎  ∈  ( { 𝐼 }  ∪  ∪  𝑛  ∈  ( 0 ..^ 𝑁 ) { ( 𝐺 ‘ 𝑛 ) } ) ) | 
						
							| 70 |  | fveq2 | ⊢ ( 𝑛  =  𝑘  →  ( 𝐺 ‘ 𝑛 )  =  ( 𝐺 ‘ 𝑘 ) ) | 
						
							| 71 | 70 | sneqd | ⊢ ( 𝑛  =  𝑘  →  { ( 𝐺 ‘ 𝑛 ) }  =  { ( 𝐺 ‘ 𝑘 ) } ) | 
						
							| 72 | 71 | cbviunv | ⊢ ∪  𝑛  ∈  ( 0 ..^ 𝑁 ) { ( 𝐺 ‘ 𝑛 ) }  =  ∪  𝑘  ∈  ( 0 ..^ 𝑁 ) { ( 𝐺 ‘ 𝑘 ) } | 
						
							| 73 | 72 | uneq2i | ⊢ ( { 𝐼 }  ∪  ∪  𝑛  ∈  ( 0 ..^ 𝑁 ) { ( 𝐺 ‘ 𝑛 ) } )  =  ( { 𝐼 }  ∪  ∪  𝑘  ∈  ( 0 ..^ 𝑁 ) { ( 𝐺 ‘ 𝑘 ) } ) | 
						
							| 74 | 73 | eleq2i | ⊢ ( 𝑎  ∈  ( { 𝐼 }  ∪  ∪  𝑛  ∈  ( 0 ..^ 𝑁 ) { ( 𝐺 ‘ 𝑛 ) } )  ↔  𝑎  ∈  ( { 𝐼 }  ∪  ∪  𝑘  ∈  ( 0 ..^ 𝑁 ) { ( 𝐺 ‘ 𝑘 ) } ) ) | 
						
							| 75 | 69 74 | bitri | ⊢ ( 𝑎  ∈  𝐵  ↔  𝑎  ∈  ( { 𝐼 }  ∪  ∪  𝑘  ∈  ( 0 ..^ 𝑁 ) { ( 𝐺 ‘ 𝑘 ) } ) ) | 
						
							| 76 |  | elun | ⊢ ( 𝑎  ∈  ( { 𝐼 }  ∪  ∪  𝑘  ∈  ( 0 ..^ 𝑁 ) { ( 𝐺 ‘ 𝑘 ) } )  ↔  ( 𝑎  ∈  { 𝐼 }  ∨  𝑎  ∈  ∪  𝑘  ∈  ( 0 ..^ 𝑁 ) { ( 𝐺 ‘ 𝑘 ) } ) ) | 
						
							| 77 |  | velsn | ⊢ ( 𝑎  ∈  { 𝐼 }  ↔  𝑎  =  𝐼 ) | 
						
							| 78 |  | eliun | ⊢ ( 𝑎  ∈  ∪  𝑘  ∈  ( 0 ..^ 𝑁 ) { ( 𝐺 ‘ 𝑘 ) }  ↔  ∃ 𝑘  ∈  ( 0 ..^ 𝑁 ) 𝑎  ∈  { ( 𝐺 ‘ 𝑘 ) } ) | 
						
							| 79 |  | velsn | ⊢ ( 𝑎  ∈  { ( 𝐺 ‘ 𝑘 ) }  ↔  𝑎  =  ( 𝐺 ‘ 𝑘 ) ) | 
						
							| 80 | 79 | rexbii | ⊢ ( ∃ 𝑘  ∈  ( 0 ..^ 𝑁 ) 𝑎  ∈  { ( 𝐺 ‘ 𝑘 ) }  ↔  ∃ 𝑘  ∈  ( 0 ..^ 𝑁 ) 𝑎  =  ( 𝐺 ‘ 𝑘 ) ) | 
						
							| 81 | 78 80 | bitri | ⊢ ( 𝑎  ∈  ∪  𝑘  ∈  ( 0 ..^ 𝑁 ) { ( 𝐺 ‘ 𝑘 ) }  ↔  ∃ 𝑘  ∈  ( 0 ..^ 𝑁 ) 𝑎  =  ( 𝐺 ‘ 𝑘 ) ) | 
						
							| 82 | 77 81 | orbi12i | ⊢ ( ( 𝑎  ∈  { 𝐼 }  ∨  𝑎  ∈  ∪  𝑘  ∈  ( 0 ..^ 𝑁 ) { ( 𝐺 ‘ 𝑘 ) } )  ↔  ( 𝑎  =  𝐼  ∨  ∃ 𝑘  ∈  ( 0 ..^ 𝑁 ) 𝑎  =  ( 𝐺 ‘ 𝑘 ) ) ) | 
						
							| 83 | 75 76 82 | 3bitri | ⊢ ( 𝑎  ∈  𝐵  ↔  ( 𝑎  =  𝐼  ∨  ∃ 𝑘  ∈  ( 0 ..^ 𝑁 ) 𝑎  =  ( 𝐺 ‘ 𝑘 ) ) ) | 
						
							| 84 | 5 | eleq2i | ⊢ ( 𝑏  ∈  𝐵  ↔  𝑏  ∈  ( { 𝐼 }  ∪  ∪  𝑛  ∈  ( 0 ..^ 𝑁 ) { ( 𝐺 ‘ 𝑛 ) } ) ) | 
						
							| 85 | 73 | eleq2i | ⊢ ( 𝑏  ∈  ( { 𝐼 }  ∪  ∪  𝑛  ∈  ( 0 ..^ 𝑁 ) { ( 𝐺 ‘ 𝑛 ) } )  ↔  𝑏  ∈  ( { 𝐼 }  ∪  ∪  𝑘  ∈  ( 0 ..^ 𝑁 ) { ( 𝐺 ‘ 𝑘 ) } ) ) | 
						
							| 86 | 84 85 | bitri | ⊢ ( 𝑏  ∈  𝐵  ↔  𝑏  ∈  ( { 𝐼 }  ∪  ∪  𝑘  ∈  ( 0 ..^ 𝑁 ) { ( 𝐺 ‘ 𝑘 ) } ) ) | 
						
							| 87 |  | elun | ⊢ ( 𝑏  ∈  ( { 𝐼 }  ∪  ∪  𝑘  ∈  ( 0 ..^ 𝑁 ) { ( 𝐺 ‘ 𝑘 ) } )  ↔  ( 𝑏  ∈  { 𝐼 }  ∨  𝑏  ∈  ∪  𝑘  ∈  ( 0 ..^ 𝑁 ) { ( 𝐺 ‘ 𝑘 ) } ) ) | 
						
							| 88 |  | velsn | ⊢ ( 𝑏  ∈  { 𝐼 }  ↔  𝑏  =  𝐼 ) | 
						
							| 89 |  | eliun | ⊢ ( 𝑏  ∈  ∪  𝑘  ∈  ( 0 ..^ 𝑁 ) { ( 𝐺 ‘ 𝑘 ) }  ↔  ∃ 𝑘  ∈  ( 0 ..^ 𝑁 ) 𝑏  ∈  { ( 𝐺 ‘ 𝑘 ) } ) | 
						
							| 90 |  | velsn | ⊢ ( 𝑏  ∈  { ( 𝐺 ‘ 𝑘 ) }  ↔  𝑏  =  ( 𝐺 ‘ 𝑘 ) ) | 
						
							| 91 | 90 | rexbii | ⊢ ( ∃ 𝑘  ∈  ( 0 ..^ 𝑁 ) 𝑏  ∈  { ( 𝐺 ‘ 𝑘 ) }  ↔  ∃ 𝑘  ∈  ( 0 ..^ 𝑁 ) 𝑏  =  ( 𝐺 ‘ 𝑘 ) ) | 
						
							| 92 | 89 91 | bitri | ⊢ ( 𝑏  ∈  ∪  𝑘  ∈  ( 0 ..^ 𝑁 ) { ( 𝐺 ‘ 𝑘 ) }  ↔  ∃ 𝑘  ∈  ( 0 ..^ 𝑁 ) 𝑏  =  ( 𝐺 ‘ 𝑘 ) ) | 
						
							| 93 | 88 92 | orbi12i | ⊢ ( ( 𝑏  ∈  { 𝐼 }  ∨  𝑏  ∈  ∪  𝑘  ∈  ( 0 ..^ 𝑁 ) { ( 𝐺 ‘ 𝑘 ) } )  ↔  ( 𝑏  =  𝐼  ∨  ∃ 𝑘  ∈  ( 0 ..^ 𝑁 ) 𝑏  =  ( 𝐺 ‘ 𝑘 ) ) ) | 
						
							| 94 | 86 87 93 | 3bitri | ⊢ ( 𝑏  ∈  𝐵  ↔  ( 𝑏  =  𝐼  ∨  ∃ 𝑘  ∈  ( 0 ..^ 𝑁 ) 𝑏  =  ( 𝐺 ‘ 𝑘 ) ) ) | 
						
							| 95 | 83 94 | anbi12i | ⊢ ( ( 𝑎  ∈  𝐵  ∧  𝑏  ∈  𝐵 )  ↔  ( ( 𝑎  =  𝐼  ∨  ∃ 𝑘  ∈  ( 0 ..^ 𝑁 ) 𝑎  =  ( 𝐺 ‘ 𝑘 ) )  ∧  ( 𝑏  =  𝐼  ∨  ∃ 𝑘  ∈  ( 0 ..^ 𝑁 ) 𝑏  =  ( 𝐺 ‘ 𝑘 ) ) ) ) | 
						
							| 96 | 5 | eleq2i | ⊢ ( ( 𝑎  ∘  𝑏 )  ∈  𝐵  ↔  ( 𝑎  ∘  𝑏 )  ∈  ( { 𝐼 }  ∪  ∪  𝑛  ∈  ( 0 ..^ 𝑁 ) { ( 𝐺 ‘ 𝑛 ) } ) ) | 
						
							| 97 | 73 | eleq2i | ⊢ ( ( 𝑎  ∘  𝑏 )  ∈  ( { 𝐼 }  ∪  ∪  𝑛  ∈  ( 0 ..^ 𝑁 ) { ( 𝐺 ‘ 𝑛 ) } )  ↔  ( 𝑎  ∘  𝑏 )  ∈  ( { 𝐼 }  ∪  ∪  𝑘  ∈  ( 0 ..^ 𝑁 ) { ( 𝐺 ‘ 𝑘 ) } ) ) | 
						
							| 98 | 96 97 | bitri | ⊢ ( ( 𝑎  ∘  𝑏 )  ∈  𝐵  ↔  ( 𝑎  ∘  𝑏 )  ∈  ( { 𝐼 }  ∪  ∪  𝑘  ∈  ( 0 ..^ 𝑁 ) { ( 𝐺 ‘ 𝑘 ) } ) ) | 
						
							| 99 |  | elun | ⊢ ( ( 𝑎  ∘  𝑏 )  ∈  ( { 𝐼 }  ∪  ∪  𝑘  ∈  ( 0 ..^ 𝑁 ) { ( 𝐺 ‘ 𝑘 ) } )  ↔  ( ( 𝑎  ∘  𝑏 )  ∈  { 𝐼 }  ∨  ( 𝑎  ∘  𝑏 )  ∈  ∪  𝑘  ∈  ( 0 ..^ 𝑁 ) { ( 𝐺 ‘ 𝑘 ) } ) ) | 
						
							| 100 |  | vex | ⊢ 𝑎  ∈  V | 
						
							| 101 |  | vex | ⊢ 𝑏  ∈  V | 
						
							| 102 | 100 101 | coex | ⊢ ( 𝑎  ∘  𝑏 )  ∈  V | 
						
							| 103 | 102 | elsn | ⊢ ( ( 𝑎  ∘  𝑏 )  ∈  { 𝐼 }  ↔  ( 𝑎  ∘  𝑏 )  =  𝐼 ) | 
						
							| 104 |  | eliun | ⊢ ( ( 𝑎  ∘  𝑏 )  ∈  ∪  𝑘  ∈  ( 0 ..^ 𝑁 ) { ( 𝐺 ‘ 𝑘 ) }  ↔  ∃ 𝑘  ∈  ( 0 ..^ 𝑁 ) ( 𝑎  ∘  𝑏 )  ∈  { ( 𝐺 ‘ 𝑘 ) } ) | 
						
							| 105 | 102 | elsn | ⊢ ( ( 𝑎  ∘  𝑏 )  ∈  { ( 𝐺 ‘ 𝑘 ) }  ↔  ( 𝑎  ∘  𝑏 )  =  ( 𝐺 ‘ 𝑘 ) ) | 
						
							| 106 | 105 | rexbii | ⊢ ( ∃ 𝑘  ∈  ( 0 ..^ 𝑁 ) ( 𝑎  ∘  𝑏 )  ∈  { ( 𝐺 ‘ 𝑘 ) }  ↔  ∃ 𝑘  ∈  ( 0 ..^ 𝑁 ) ( 𝑎  ∘  𝑏 )  =  ( 𝐺 ‘ 𝑘 ) ) | 
						
							| 107 | 104 106 | bitri | ⊢ ( ( 𝑎  ∘  𝑏 )  ∈  ∪  𝑘  ∈  ( 0 ..^ 𝑁 ) { ( 𝐺 ‘ 𝑘 ) }  ↔  ∃ 𝑘  ∈  ( 0 ..^ 𝑁 ) ( 𝑎  ∘  𝑏 )  =  ( 𝐺 ‘ 𝑘 ) ) | 
						
							| 108 | 103 107 | orbi12i | ⊢ ( ( ( 𝑎  ∘  𝑏 )  ∈  { 𝐼 }  ∨  ( 𝑎  ∘  𝑏 )  ∈  ∪  𝑘  ∈  ( 0 ..^ 𝑁 ) { ( 𝐺 ‘ 𝑘 ) } )  ↔  ( ( 𝑎  ∘  𝑏 )  =  𝐼  ∨  ∃ 𝑘  ∈  ( 0 ..^ 𝑁 ) ( 𝑎  ∘  𝑏 )  =  ( 𝐺 ‘ 𝑘 ) ) ) | 
						
							| 109 | 98 99 108 | 3bitri | ⊢ ( ( 𝑎  ∘  𝑏 )  ∈  𝐵  ↔  ( ( 𝑎  ∘  𝑏 )  =  𝐼  ∨  ∃ 𝑘  ∈  ( 0 ..^ 𝑁 ) ( 𝑎  ∘  𝑏 )  =  ( 𝐺 ‘ 𝑘 ) ) ) | 
						
							| 110 | 68 95 109 | 3imtr4i | ⊢ ( ( 𝑎  ∈  𝐵  ∧  𝑏  ∈  𝐵 )  →  ( 𝑎  ∘  𝑏 )  ∈  𝐵 ) | 
						
							| 111 | 15 110 | eqeltrd | ⊢ ( ( 𝑎  ∈  𝐵  ∧  𝑏  ∈  𝐵 )  →  ( 𝑎 ( +g ‘ 𝑀 ) 𝑏 )  ∈  𝐵 ) | 
						
							| 112 | 111 | rgen2 | ⊢ ∀ 𝑎  ∈  𝐵 ∀ 𝑏  ∈  𝐵 ( 𝑎 ( +g ‘ 𝑀 ) 𝑏 )  ∈  𝐵 | 
						
							| 113 | 6 | ovexi | ⊢ 𝑆  ∈  V | 
						
							| 114 | 1 2 3 4 5 6 | smndex1bas | ⊢ ( Base ‘ 𝑆 )  =  𝐵 | 
						
							| 115 | 114 | eqcomi | ⊢ 𝐵  =  ( Base ‘ 𝑆 ) | 
						
							| 116 | 115 | fvexi | ⊢ 𝐵  ∈  V | 
						
							| 117 | 6 13 | ressplusg | ⊢ ( 𝐵  ∈  V  →  ( +g ‘ 𝑀 )  =  ( +g ‘ 𝑆 ) ) | 
						
							| 118 | 116 117 | ax-mp | ⊢ ( +g ‘ 𝑀 )  =  ( +g ‘ 𝑆 ) | 
						
							| 119 | 115 118 | ismgm | ⊢ ( 𝑆  ∈  V  →  ( 𝑆  ∈  Mgm  ↔  ∀ 𝑎  ∈  𝐵 ∀ 𝑏  ∈  𝐵 ( 𝑎 ( +g ‘ 𝑀 ) 𝑏 )  ∈  𝐵 ) ) | 
						
							| 120 | 113 119 | ax-mp | ⊢ ( 𝑆  ∈  Mgm  ↔  ∀ 𝑎  ∈  𝐵 ∀ 𝑏  ∈  𝐵 ( 𝑎 ( +g ‘ 𝑀 ) 𝑏 )  ∈  𝐵 ) | 
						
							| 121 | 112 120 | mpbir | ⊢ 𝑆  ∈  Mgm |