| Step | Hyp | Ref | Expression | 
						
							| 1 |  | ringneg.1 | ⊢ 𝐺  =  ( 1st  ‘ 𝑅 ) | 
						
							| 2 |  | ringneg.2 | ⊢ 𝐻  =  ( 2nd  ‘ 𝑅 ) | 
						
							| 3 |  | ringneg.3 | ⊢ 𝑋  =  ran  𝐺 | 
						
							| 4 |  | ringneg.4 | ⊢ 𝑁  =  ( inv ‘ 𝐺 ) | 
						
							| 5 |  | ringneg.5 | ⊢ 𝑈  =  ( GId ‘ 𝐻 ) | 
						
							| 6 | 1 | rneqi | ⊢ ran  𝐺  =  ran  ( 1st  ‘ 𝑅 ) | 
						
							| 7 | 3 6 | eqtri | ⊢ 𝑋  =  ran  ( 1st  ‘ 𝑅 ) | 
						
							| 8 | 7 2 5 | rngo1cl | ⊢ ( 𝑅  ∈  RingOps  →  𝑈  ∈  𝑋 ) | 
						
							| 9 | 1 3 4 | rngonegcl | ⊢ ( ( 𝑅  ∈  RingOps  ∧  𝑈  ∈  𝑋 )  →  ( 𝑁 ‘ 𝑈 )  ∈  𝑋 ) | 
						
							| 10 | 8 9 | mpdan | ⊢ ( 𝑅  ∈  RingOps  →  ( 𝑁 ‘ 𝑈 )  ∈  𝑋 ) | 
						
							| 11 | 10 | adantr | ⊢ ( ( 𝑅  ∈  RingOps  ∧  𝐴  ∈  𝑋 )  →  ( 𝑁 ‘ 𝑈 )  ∈  𝑋 ) | 
						
							| 12 | 8 | adantr | ⊢ ( ( 𝑅  ∈  RingOps  ∧  𝐴  ∈  𝑋 )  →  𝑈  ∈  𝑋 ) | 
						
							| 13 | 11 12 | jca | ⊢ ( ( 𝑅  ∈  RingOps  ∧  𝐴  ∈  𝑋 )  →  ( ( 𝑁 ‘ 𝑈 )  ∈  𝑋  ∧  𝑈  ∈  𝑋 ) ) | 
						
							| 14 | 1 2 3 | rngodi | ⊢ ( ( 𝑅  ∈  RingOps  ∧  ( 𝐴  ∈  𝑋  ∧  ( 𝑁 ‘ 𝑈 )  ∈  𝑋  ∧  𝑈  ∈  𝑋 ) )  →  ( 𝐴 𝐻 ( ( 𝑁 ‘ 𝑈 ) 𝐺 𝑈 ) )  =  ( ( 𝐴 𝐻 ( 𝑁 ‘ 𝑈 ) ) 𝐺 ( 𝐴 𝐻 𝑈 ) ) ) | 
						
							| 15 | 14 | 3exp2 | ⊢ ( 𝑅  ∈  RingOps  →  ( 𝐴  ∈  𝑋  →  ( ( 𝑁 ‘ 𝑈 )  ∈  𝑋  →  ( 𝑈  ∈  𝑋  →  ( 𝐴 𝐻 ( ( 𝑁 ‘ 𝑈 ) 𝐺 𝑈 ) )  =  ( ( 𝐴 𝐻 ( 𝑁 ‘ 𝑈 ) ) 𝐺 ( 𝐴 𝐻 𝑈 ) ) ) ) ) ) | 
						
							| 16 | 15 | imp43 | ⊢ ( ( ( 𝑅  ∈  RingOps  ∧  𝐴  ∈  𝑋 )  ∧  ( ( 𝑁 ‘ 𝑈 )  ∈  𝑋  ∧  𝑈  ∈  𝑋 ) )  →  ( 𝐴 𝐻 ( ( 𝑁 ‘ 𝑈 ) 𝐺 𝑈 ) )  =  ( ( 𝐴 𝐻 ( 𝑁 ‘ 𝑈 ) ) 𝐺 ( 𝐴 𝐻 𝑈 ) ) ) | 
						
							| 17 | 13 16 | mpdan | ⊢ ( ( 𝑅  ∈  RingOps  ∧  𝐴  ∈  𝑋 )  →  ( 𝐴 𝐻 ( ( 𝑁 ‘ 𝑈 ) 𝐺 𝑈 ) )  =  ( ( 𝐴 𝐻 ( 𝑁 ‘ 𝑈 ) ) 𝐺 ( 𝐴 𝐻 𝑈 ) ) ) | 
						
							| 18 |  | eqid | ⊢ ( GId ‘ 𝐺 )  =  ( GId ‘ 𝐺 ) | 
						
							| 19 | 1 3 4 18 | rngoaddneg2 | ⊢ ( ( 𝑅  ∈  RingOps  ∧  𝑈  ∈  𝑋 )  →  ( ( 𝑁 ‘ 𝑈 ) 𝐺 𝑈 )  =  ( GId ‘ 𝐺 ) ) | 
						
							| 20 | 8 19 | mpdan | ⊢ ( 𝑅  ∈  RingOps  →  ( ( 𝑁 ‘ 𝑈 ) 𝐺 𝑈 )  =  ( GId ‘ 𝐺 ) ) | 
						
							| 21 | 20 | adantr | ⊢ ( ( 𝑅  ∈  RingOps  ∧  𝐴  ∈  𝑋 )  →  ( ( 𝑁 ‘ 𝑈 ) 𝐺 𝑈 )  =  ( GId ‘ 𝐺 ) ) | 
						
							| 22 | 21 | oveq2d | ⊢ ( ( 𝑅  ∈  RingOps  ∧  𝐴  ∈  𝑋 )  →  ( 𝐴 𝐻 ( ( 𝑁 ‘ 𝑈 ) 𝐺 𝑈 ) )  =  ( 𝐴 𝐻 ( GId ‘ 𝐺 ) ) ) | 
						
							| 23 | 18 3 1 2 | rngorz | ⊢ ( ( 𝑅  ∈  RingOps  ∧  𝐴  ∈  𝑋 )  →  ( 𝐴 𝐻 ( GId ‘ 𝐺 ) )  =  ( GId ‘ 𝐺 ) ) | 
						
							| 24 | 22 23 | eqtrd | ⊢ ( ( 𝑅  ∈  RingOps  ∧  𝐴  ∈  𝑋 )  →  ( 𝐴 𝐻 ( ( 𝑁 ‘ 𝑈 ) 𝐺 𝑈 ) )  =  ( GId ‘ 𝐺 ) ) | 
						
							| 25 | 2 7 5 | rngoridm | ⊢ ( ( 𝑅  ∈  RingOps  ∧  𝐴  ∈  𝑋 )  →  ( 𝐴 𝐻 𝑈 )  =  𝐴 ) | 
						
							| 26 | 25 | oveq2d | ⊢ ( ( 𝑅  ∈  RingOps  ∧  𝐴  ∈  𝑋 )  →  ( ( 𝐴 𝐻 ( 𝑁 ‘ 𝑈 ) ) 𝐺 ( 𝐴 𝐻 𝑈 ) )  =  ( ( 𝐴 𝐻 ( 𝑁 ‘ 𝑈 ) ) 𝐺 𝐴 ) ) | 
						
							| 27 | 17 24 26 | 3eqtr3rd | ⊢ ( ( 𝑅  ∈  RingOps  ∧  𝐴  ∈  𝑋 )  →  ( ( 𝐴 𝐻 ( 𝑁 ‘ 𝑈 ) ) 𝐺 𝐴 )  =  ( GId ‘ 𝐺 ) ) | 
						
							| 28 | 1 2 3 | rngocl | ⊢ ( ( 𝑅  ∈  RingOps  ∧  𝐴  ∈  𝑋  ∧  ( 𝑁 ‘ 𝑈 )  ∈  𝑋 )  →  ( 𝐴 𝐻 ( 𝑁 ‘ 𝑈 ) )  ∈  𝑋 ) | 
						
							| 29 | 11 28 | mpd3an3 | ⊢ ( ( 𝑅  ∈  RingOps  ∧  𝐴  ∈  𝑋 )  →  ( 𝐴 𝐻 ( 𝑁 ‘ 𝑈 ) )  ∈  𝑋 ) | 
						
							| 30 | 1 | rngogrpo | ⊢ ( 𝑅  ∈  RingOps  →  𝐺  ∈  GrpOp ) | 
						
							| 31 | 3 18 4 | grpoinvid2 | ⊢ ( ( 𝐺  ∈  GrpOp  ∧  𝐴  ∈  𝑋  ∧  ( 𝐴 𝐻 ( 𝑁 ‘ 𝑈 ) )  ∈  𝑋 )  →  ( ( 𝑁 ‘ 𝐴 )  =  ( 𝐴 𝐻 ( 𝑁 ‘ 𝑈 ) )  ↔  ( ( 𝐴 𝐻 ( 𝑁 ‘ 𝑈 ) ) 𝐺 𝐴 )  =  ( GId ‘ 𝐺 ) ) ) | 
						
							| 32 | 30 31 | syl3an1 | ⊢ ( ( 𝑅  ∈  RingOps  ∧  𝐴  ∈  𝑋  ∧  ( 𝐴 𝐻 ( 𝑁 ‘ 𝑈 ) )  ∈  𝑋 )  →  ( ( 𝑁 ‘ 𝐴 )  =  ( 𝐴 𝐻 ( 𝑁 ‘ 𝑈 ) )  ↔  ( ( 𝐴 𝐻 ( 𝑁 ‘ 𝑈 ) ) 𝐺 𝐴 )  =  ( GId ‘ 𝐺 ) ) ) | 
						
							| 33 | 29 32 | mpd3an3 | ⊢ ( ( 𝑅  ∈  RingOps  ∧  𝐴  ∈  𝑋 )  →  ( ( 𝑁 ‘ 𝐴 )  =  ( 𝐴 𝐻 ( 𝑁 ‘ 𝑈 ) )  ↔  ( ( 𝐴 𝐻 ( 𝑁 ‘ 𝑈 ) ) 𝐺 𝐴 )  =  ( GId ‘ 𝐺 ) ) ) | 
						
							| 34 | 27 33 | mpbird | ⊢ ( ( 𝑅  ∈  RingOps  ∧  𝐴  ∈  𝑋 )  →  ( 𝑁 ‘ 𝐴 )  =  ( 𝐴 𝐻 ( 𝑁 ‘ 𝑈 ) ) ) |