| Step | Hyp | Ref | Expression | 
						
							| 1 |  | proot1hash.g | ⊢ 𝐺  =  ( ( mulGrp ‘ 𝑅 )  ↾s  ( Unit ‘ 𝑅 ) ) | 
						
							| 2 |  | proot1hash.o | ⊢ 𝑂  =  ( od ‘ 𝐺 ) | 
						
							| 3 |  | eqid | ⊢ ( Base ‘ 𝐺 )  =  ( Base ‘ 𝐺 ) | 
						
							| 4 | 3 2 | odf | ⊢ 𝑂 : ( Base ‘ 𝐺 ) ⟶ ℕ0 | 
						
							| 5 |  | ffn | ⊢ ( 𝑂 : ( Base ‘ 𝐺 ) ⟶ ℕ0  →  𝑂  Fn  ( Base ‘ 𝐺 ) ) | 
						
							| 6 |  | fniniseg2 | ⊢ ( 𝑂  Fn  ( Base ‘ 𝐺 )  →  ( ◡ 𝑂  “  { 𝑁 } )  =  { 𝑥  ∈  ( Base ‘ 𝐺 )  ∣  ( 𝑂 ‘ 𝑥 )  =  𝑁 } ) | 
						
							| 7 | 4 5 6 | mp2b | ⊢ ( ◡ 𝑂  “  { 𝑁 } )  =  { 𝑥  ∈  ( Base ‘ 𝐺 )  ∣  ( 𝑂 ‘ 𝑥 )  =  𝑁 } | 
						
							| 8 |  | simp3 | ⊢ ( ( 𝑅  ∈  IDomn  ∧  𝑁  ∈  ℕ  ∧  𝑋  ∈  ( ◡ 𝑂  “  { 𝑁 } ) )  →  𝑋  ∈  ( ◡ 𝑂  “  { 𝑁 } ) ) | 
						
							| 9 |  | fniniseg | ⊢ ( 𝑂  Fn  ( Base ‘ 𝐺 )  →  ( 𝑋  ∈  ( ◡ 𝑂  “  { 𝑁 } )  ↔  ( 𝑋  ∈  ( Base ‘ 𝐺 )  ∧  ( 𝑂 ‘ 𝑋 )  =  𝑁 ) ) ) | 
						
							| 10 | 4 5 9 | mp2b | ⊢ ( 𝑋  ∈  ( ◡ 𝑂  “  { 𝑁 } )  ↔  ( 𝑋  ∈  ( Base ‘ 𝐺 )  ∧  ( 𝑂 ‘ 𝑋 )  =  𝑁 ) ) | 
						
							| 11 | 8 10 | sylib | ⊢ ( ( 𝑅  ∈  IDomn  ∧  𝑁  ∈  ℕ  ∧  𝑋  ∈  ( ◡ 𝑂  “  { 𝑁 } ) )  →  ( 𝑋  ∈  ( Base ‘ 𝐺 )  ∧  ( 𝑂 ‘ 𝑋 )  =  𝑁 ) ) | 
						
							| 12 | 11 | simprd | ⊢ ( ( 𝑅  ∈  IDomn  ∧  𝑁  ∈  ℕ  ∧  𝑋  ∈  ( ◡ 𝑂  “  { 𝑁 } ) )  →  ( 𝑂 ‘ 𝑋 )  =  𝑁 ) | 
						
							| 13 | 12 | eqeq2d | ⊢ ( ( 𝑅  ∈  IDomn  ∧  𝑁  ∈  ℕ  ∧  𝑋  ∈  ( ◡ 𝑂  “  { 𝑁 } ) )  →  ( ( 𝑂 ‘ 𝑥 )  =  ( 𝑂 ‘ 𝑋 )  ↔  ( 𝑂 ‘ 𝑥 )  =  𝑁 ) ) | 
						
							| 14 | 13 | rabbidv | ⊢ ( ( 𝑅  ∈  IDomn  ∧  𝑁  ∈  ℕ  ∧  𝑋  ∈  ( ◡ 𝑂  “  { 𝑁 } ) )  →  { 𝑥  ∈  ( ( mrCls ‘ ( SubGrp ‘ 𝐺 ) ) ‘ { 𝑋 } )  ∣  ( 𝑂 ‘ 𝑥 )  =  ( 𝑂 ‘ 𝑋 ) }  =  { 𝑥  ∈  ( ( mrCls ‘ ( SubGrp ‘ 𝐺 ) ) ‘ { 𝑋 } )  ∣  ( 𝑂 ‘ 𝑥 )  =  𝑁 } ) | 
						
							| 15 |  | isidom | ⊢ ( 𝑅  ∈  IDomn  ↔  ( 𝑅  ∈  CRing  ∧  𝑅  ∈  Domn ) ) | 
						
							| 16 | 15 | simprbi | ⊢ ( 𝑅  ∈  IDomn  →  𝑅  ∈  Domn ) | 
						
							| 17 | 16 | 3ad2ant1 | ⊢ ( ( 𝑅  ∈  IDomn  ∧  𝑁  ∈  ℕ  ∧  𝑋  ∈  ( ◡ 𝑂  “  { 𝑁 } ) )  →  𝑅  ∈  Domn ) | 
						
							| 18 |  | domnring | ⊢ ( 𝑅  ∈  Domn  →  𝑅  ∈  Ring ) | 
						
							| 19 |  | eqid | ⊢ ( Unit ‘ 𝑅 )  =  ( Unit ‘ 𝑅 ) | 
						
							| 20 | 19 1 | unitgrp | ⊢ ( 𝑅  ∈  Ring  →  𝐺  ∈  Grp ) | 
						
							| 21 | 17 18 20 | 3syl | ⊢ ( ( 𝑅  ∈  IDomn  ∧  𝑁  ∈  ℕ  ∧  𝑋  ∈  ( ◡ 𝑂  “  { 𝑁 } ) )  →  𝐺  ∈  Grp ) | 
						
							| 22 | 3 | subgacs | ⊢ ( 𝐺  ∈  Grp  →  ( SubGrp ‘ 𝐺 )  ∈  ( ACS ‘ ( Base ‘ 𝐺 ) ) ) | 
						
							| 23 |  | acsmre | ⊢ ( ( SubGrp ‘ 𝐺 )  ∈  ( ACS ‘ ( Base ‘ 𝐺 ) )  →  ( SubGrp ‘ 𝐺 )  ∈  ( Moore ‘ ( Base ‘ 𝐺 ) ) ) | 
						
							| 24 | 21 22 23 | 3syl | ⊢ ( ( 𝑅  ∈  IDomn  ∧  𝑁  ∈  ℕ  ∧  𝑋  ∈  ( ◡ 𝑂  “  { 𝑁 } ) )  →  ( SubGrp ‘ 𝐺 )  ∈  ( Moore ‘ ( Base ‘ 𝐺 ) ) ) | 
						
							| 25 |  | eqid | ⊢ ( mrCls ‘ ( SubGrp ‘ 𝐺 ) )  =  ( mrCls ‘ ( SubGrp ‘ 𝐺 ) ) | 
						
							| 26 | 25 | mrcssv | ⊢ ( ( SubGrp ‘ 𝐺 )  ∈  ( Moore ‘ ( Base ‘ 𝐺 ) )  →  ( ( mrCls ‘ ( SubGrp ‘ 𝐺 ) ) ‘ { 𝑋 } )  ⊆  ( Base ‘ 𝐺 ) ) | 
						
							| 27 |  | dfrab3ss | ⊢ ( ( ( mrCls ‘ ( SubGrp ‘ 𝐺 ) ) ‘ { 𝑋 } )  ⊆  ( Base ‘ 𝐺 )  →  { 𝑥  ∈  ( ( mrCls ‘ ( SubGrp ‘ 𝐺 ) ) ‘ { 𝑋 } )  ∣  ( 𝑂 ‘ 𝑥 )  =  𝑁 }  =  ( ( ( mrCls ‘ ( SubGrp ‘ 𝐺 ) ) ‘ { 𝑋 } )  ∩  { 𝑥  ∈  ( Base ‘ 𝐺 )  ∣  ( 𝑂 ‘ 𝑥 )  =  𝑁 } ) ) | 
						
							| 28 | 24 26 27 | 3syl | ⊢ ( ( 𝑅  ∈  IDomn  ∧  𝑁  ∈  ℕ  ∧  𝑋  ∈  ( ◡ 𝑂  “  { 𝑁 } ) )  →  { 𝑥  ∈  ( ( mrCls ‘ ( SubGrp ‘ 𝐺 ) ) ‘ { 𝑋 } )  ∣  ( 𝑂 ‘ 𝑥 )  =  𝑁 }  =  ( ( ( mrCls ‘ ( SubGrp ‘ 𝐺 ) ) ‘ { 𝑋 } )  ∩  { 𝑥  ∈  ( Base ‘ 𝐺 )  ∣  ( 𝑂 ‘ 𝑥 )  =  𝑁 } ) ) | 
						
							| 29 |  | incom | ⊢ ( ( ( mrCls ‘ ( SubGrp ‘ 𝐺 ) ) ‘ { 𝑋 } )  ∩  { 𝑥  ∈  ( Base ‘ 𝐺 )  ∣  ( 𝑂 ‘ 𝑥 )  =  𝑁 } )  =  ( { 𝑥  ∈  ( Base ‘ 𝐺 )  ∣  ( 𝑂 ‘ 𝑥 )  =  𝑁 }  ∩  ( ( mrCls ‘ ( SubGrp ‘ 𝐺 ) ) ‘ { 𝑋 } ) ) | 
						
							| 30 |  | simpl1 | ⊢ ( ( ( 𝑅  ∈  IDomn  ∧  𝑁  ∈  ℕ  ∧  𝑋  ∈  ( ◡ 𝑂  “  { 𝑁 } ) )  ∧  𝑥  ∈  ( ◡ 𝑂  “  { 𝑁 } ) )  →  𝑅  ∈  IDomn ) | 
						
							| 31 |  | simpl2 | ⊢ ( ( ( 𝑅  ∈  IDomn  ∧  𝑁  ∈  ℕ  ∧  𝑋  ∈  ( ◡ 𝑂  “  { 𝑁 } ) )  ∧  𝑥  ∈  ( ◡ 𝑂  “  { 𝑁 } ) )  →  𝑁  ∈  ℕ ) | 
						
							| 32 |  | simpr | ⊢ ( ( ( 𝑅  ∈  IDomn  ∧  𝑁  ∈  ℕ  ∧  𝑋  ∈  ( ◡ 𝑂  “  { 𝑁 } ) )  ∧  𝑥  ∈  ( ◡ 𝑂  “  { 𝑁 } ) )  →  𝑥  ∈  ( ◡ 𝑂  “  { 𝑁 } ) ) | 
						
							| 33 |  | simpl3 | ⊢ ( ( ( 𝑅  ∈  IDomn  ∧  𝑁  ∈  ℕ  ∧  𝑋  ∈  ( ◡ 𝑂  “  { 𝑁 } ) )  ∧  𝑥  ∈  ( ◡ 𝑂  “  { 𝑁 } ) )  →  𝑋  ∈  ( ◡ 𝑂  “  { 𝑁 } ) ) | 
						
							| 34 | 1 2 25 | proot1mul | ⊢ ( ( ( 𝑅  ∈  IDomn  ∧  𝑁  ∈  ℕ )  ∧  ( 𝑥  ∈  ( ◡ 𝑂  “  { 𝑁 } )  ∧  𝑋  ∈  ( ◡ 𝑂  “  { 𝑁 } ) ) )  →  𝑥  ∈  ( ( mrCls ‘ ( SubGrp ‘ 𝐺 ) ) ‘ { 𝑋 } ) ) | 
						
							| 35 | 30 31 32 33 34 | syl22anc | ⊢ ( ( ( 𝑅  ∈  IDomn  ∧  𝑁  ∈  ℕ  ∧  𝑋  ∈  ( ◡ 𝑂  “  { 𝑁 } ) )  ∧  𝑥  ∈  ( ◡ 𝑂  “  { 𝑁 } ) )  →  𝑥  ∈  ( ( mrCls ‘ ( SubGrp ‘ 𝐺 ) ) ‘ { 𝑋 } ) ) | 
						
							| 36 | 35 | ex | ⊢ ( ( 𝑅  ∈  IDomn  ∧  𝑁  ∈  ℕ  ∧  𝑋  ∈  ( ◡ 𝑂  “  { 𝑁 } ) )  →  ( 𝑥  ∈  ( ◡ 𝑂  “  { 𝑁 } )  →  𝑥  ∈  ( ( mrCls ‘ ( SubGrp ‘ 𝐺 ) ) ‘ { 𝑋 } ) ) ) | 
						
							| 37 | 36 | ssrdv | ⊢ ( ( 𝑅  ∈  IDomn  ∧  𝑁  ∈  ℕ  ∧  𝑋  ∈  ( ◡ 𝑂  “  { 𝑁 } ) )  →  ( ◡ 𝑂  “  { 𝑁 } )  ⊆  ( ( mrCls ‘ ( SubGrp ‘ 𝐺 ) ) ‘ { 𝑋 } ) ) | 
						
							| 38 | 7 37 | eqsstrrid | ⊢ ( ( 𝑅  ∈  IDomn  ∧  𝑁  ∈  ℕ  ∧  𝑋  ∈  ( ◡ 𝑂  “  { 𝑁 } ) )  →  { 𝑥  ∈  ( Base ‘ 𝐺 )  ∣  ( 𝑂 ‘ 𝑥 )  =  𝑁 }  ⊆  ( ( mrCls ‘ ( SubGrp ‘ 𝐺 ) ) ‘ { 𝑋 } ) ) | 
						
							| 39 |  | dfss2 | ⊢ ( { 𝑥  ∈  ( Base ‘ 𝐺 )  ∣  ( 𝑂 ‘ 𝑥 )  =  𝑁 }  ⊆  ( ( mrCls ‘ ( SubGrp ‘ 𝐺 ) ) ‘ { 𝑋 } )  ↔  ( { 𝑥  ∈  ( Base ‘ 𝐺 )  ∣  ( 𝑂 ‘ 𝑥 )  =  𝑁 }  ∩  ( ( mrCls ‘ ( SubGrp ‘ 𝐺 ) ) ‘ { 𝑋 } ) )  =  { 𝑥  ∈  ( Base ‘ 𝐺 )  ∣  ( 𝑂 ‘ 𝑥 )  =  𝑁 } ) | 
						
							| 40 | 38 39 | sylib | ⊢ ( ( 𝑅  ∈  IDomn  ∧  𝑁  ∈  ℕ  ∧  𝑋  ∈  ( ◡ 𝑂  “  { 𝑁 } ) )  →  ( { 𝑥  ∈  ( Base ‘ 𝐺 )  ∣  ( 𝑂 ‘ 𝑥 )  =  𝑁 }  ∩  ( ( mrCls ‘ ( SubGrp ‘ 𝐺 ) ) ‘ { 𝑋 } ) )  =  { 𝑥  ∈  ( Base ‘ 𝐺 )  ∣  ( 𝑂 ‘ 𝑥 )  =  𝑁 } ) | 
						
							| 41 | 29 40 | eqtrid | ⊢ ( ( 𝑅  ∈  IDomn  ∧  𝑁  ∈  ℕ  ∧  𝑋  ∈  ( ◡ 𝑂  “  { 𝑁 } ) )  →  ( ( ( mrCls ‘ ( SubGrp ‘ 𝐺 ) ) ‘ { 𝑋 } )  ∩  { 𝑥  ∈  ( Base ‘ 𝐺 )  ∣  ( 𝑂 ‘ 𝑥 )  =  𝑁 } )  =  { 𝑥  ∈  ( Base ‘ 𝐺 )  ∣  ( 𝑂 ‘ 𝑥 )  =  𝑁 } ) | 
						
							| 42 | 14 28 41 | 3eqtrrd | ⊢ ( ( 𝑅  ∈  IDomn  ∧  𝑁  ∈  ℕ  ∧  𝑋  ∈  ( ◡ 𝑂  “  { 𝑁 } ) )  →  { 𝑥  ∈  ( Base ‘ 𝐺 )  ∣  ( 𝑂 ‘ 𝑥 )  =  𝑁 }  =  { 𝑥  ∈  ( ( mrCls ‘ ( SubGrp ‘ 𝐺 ) ) ‘ { 𝑋 } )  ∣  ( 𝑂 ‘ 𝑥 )  =  ( 𝑂 ‘ 𝑋 ) } ) | 
						
							| 43 | 7 42 | eqtrid | ⊢ ( ( 𝑅  ∈  IDomn  ∧  𝑁  ∈  ℕ  ∧  𝑋  ∈  ( ◡ 𝑂  “  { 𝑁 } ) )  →  ( ◡ 𝑂  “  { 𝑁 } )  =  { 𝑥  ∈  ( ( mrCls ‘ ( SubGrp ‘ 𝐺 ) ) ‘ { 𝑋 } )  ∣  ( 𝑂 ‘ 𝑥 )  =  ( 𝑂 ‘ 𝑋 ) } ) | 
						
							| 44 | 43 | fveq2d | ⊢ ( ( 𝑅  ∈  IDomn  ∧  𝑁  ∈  ℕ  ∧  𝑋  ∈  ( ◡ 𝑂  “  { 𝑁 } ) )  →  ( ♯ ‘ ( ◡ 𝑂  “  { 𝑁 } ) )  =  ( ♯ ‘ { 𝑥  ∈  ( ( mrCls ‘ ( SubGrp ‘ 𝐺 ) ) ‘ { 𝑋 } )  ∣  ( 𝑂 ‘ 𝑥 )  =  ( 𝑂 ‘ 𝑋 ) } ) ) | 
						
							| 45 | 11 | simpld | ⊢ ( ( 𝑅  ∈  IDomn  ∧  𝑁  ∈  ℕ  ∧  𝑋  ∈  ( ◡ 𝑂  “  { 𝑁 } ) )  →  𝑋  ∈  ( Base ‘ 𝐺 ) ) | 
						
							| 46 |  | simp2 | ⊢ ( ( 𝑅  ∈  IDomn  ∧  𝑁  ∈  ℕ  ∧  𝑋  ∈  ( ◡ 𝑂  “  { 𝑁 } ) )  →  𝑁  ∈  ℕ ) | 
						
							| 47 | 12 46 | eqeltrd | ⊢ ( ( 𝑅  ∈  IDomn  ∧  𝑁  ∈  ℕ  ∧  𝑋  ∈  ( ◡ 𝑂  “  { 𝑁 } ) )  →  ( 𝑂 ‘ 𝑋 )  ∈  ℕ ) | 
						
							| 48 | 3 2 25 | odngen | ⊢ ( ( 𝐺  ∈  Grp  ∧  𝑋  ∈  ( Base ‘ 𝐺 )  ∧  ( 𝑂 ‘ 𝑋 )  ∈  ℕ )  →  ( ♯ ‘ { 𝑥  ∈  ( ( mrCls ‘ ( SubGrp ‘ 𝐺 ) ) ‘ { 𝑋 } )  ∣  ( 𝑂 ‘ 𝑥 )  =  ( 𝑂 ‘ 𝑋 ) } )  =  ( ϕ ‘ ( 𝑂 ‘ 𝑋 ) ) ) | 
						
							| 49 | 21 45 47 48 | syl3anc | ⊢ ( ( 𝑅  ∈  IDomn  ∧  𝑁  ∈  ℕ  ∧  𝑋  ∈  ( ◡ 𝑂  “  { 𝑁 } ) )  →  ( ♯ ‘ { 𝑥  ∈  ( ( mrCls ‘ ( SubGrp ‘ 𝐺 ) ) ‘ { 𝑋 } )  ∣  ( 𝑂 ‘ 𝑥 )  =  ( 𝑂 ‘ 𝑋 ) } )  =  ( ϕ ‘ ( 𝑂 ‘ 𝑋 ) ) ) | 
						
							| 50 | 12 | fveq2d | ⊢ ( ( 𝑅  ∈  IDomn  ∧  𝑁  ∈  ℕ  ∧  𝑋  ∈  ( ◡ 𝑂  “  { 𝑁 } ) )  →  ( ϕ ‘ ( 𝑂 ‘ 𝑋 ) )  =  ( ϕ ‘ 𝑁 ) ) | 
						
							| 51 | 44 49 50 | 3eqtrd | ⊢ ( ( 𝑅  ∈  IDomn  ∧  𝑁  ∈  ℕ  ∧  𝑋  ∈  ( ◡ 𝑂  “  { 𝑁 } ) )  →  ( ♯ ‘ ( ◡ 𝑂  “  { 𝑁 } ) )  =  ( ϕ ‘ 𝑁 ) ) |