| Step | Hyp | Ref | Expression | 
						
							| 1 |  | unmnd.1 | ⊢ 𝐻  =  ( 2nd  ‘ 𝑅 ) | 
						
							| 2 |  | eqid | ⊢ ( 1st  ‘ 𝑅 )  =  ( 1st  ‘ 𝑅 ) | 
						
							| 3 |  | eqid | ⊢ ran  ( 1st  ‘ 𝑅 )  =  ran  ( 1st  ‘ 𝑅 ) | 
						
							| 4 | 2 1 3 | rngosm | ⊢ ( 𝑅  ∈  RingOps  →  𝐻 : ( ran  ( 1st  ‘ 𝑅 )  ×  ran  ( 1st  ‘ 𝑅 ) ) ⟶ ran  ( 1st  ‘ 𝑅 ) ) | 
						
							| 5 | 2 1 3 | rngoass | ⊢ ( ( 𝑅  ∈  RingOps  ∧  ( 𝑥  ∈  ran  ( 1st  ‘ 𝑅 )  ∧  𝑦  ∈  ran  ( 1st  ‘ 𝑅 )  ∧  𝑧  ∈  ran  ( 1st  ‘ 𝑅 ) ) )  →  ( ( 𝑥 𝐻 𝑦 ) 𝐻 𝑧 )  =  ( 𝑥 𝐻 ( 𝑦 𝐻 𝑧 ) ) ) | 
						
							| 6 | 5 | ralrimivvva | ⊢ ( 𝑅  ∈  RingOps  →  ∀ 𝑥  ∈  ran  ( 1st  ‘ 𝑅 ) ∀ 𝑦  ∈  ran  ( 1st  ‘ 𝑅 ) ∀ 𝑧  ∈  ran  ( 1st  ‘ 𝑅 ) ( ( 𝑥 𝐻 𝑦 ) 𝐻 𝑧 )  =  ( 𝑥 𝐻 ( 𝑦 𝐻 𝑧 ) ) ) | 
						
							| 7 | 2 1 3 | rngoi | ⊢ ( 𝑅  ∈  RingOps  →  ( ( ( 1st  ‘ 𝑅 )  ∈  AbelOp  ∧  𝐻 : ( ran  ( 1st  ‘ 𝑅 )  ×  ran  ( 1st  ‘ 𝑅 ) ) ⟶ ran  ( 1st  ‘ 𝑅 ) )  ∧  ( ∀ 𝑥  ∈  ran  ( 1st  ‘ 𝑅 ) ∀ 𝑦  ∈  ran  ( 1st  ‘ 𝑅 ) ∀ 𝑧  ∈  ran  ( 1st  ‘ 𝑅 ) ( ( ( 𝑥 𝐻 𝑦 ) 𝐻 𝑧 )  =  ( 𝑥 𝐻 ( 𝑦 𝐻 𝑧 ) )  ∧  ( 𝑥 𝐻 ( 𝑦 ( 1st  ‘ 𝑅 ) 𝑧 ) )  =  ( ( 𝑥 𝐻 𝑦 ) ( 1st  ‘ 𝑅 ) ( 𝑥 𝐻 𝑧 ) )  ∧  ( ( 𝑥 ( 1st  ‘ 𝑅 ) 𝑦 ) 𝐻 𝑧 )  =  ( ( 𝑥 𝐻 𝑧 ) ( 1st  ‘ 𝑅 ) ( 𝑦 𝐻 𝑧 ) ) )  ∧  ∃ 𝑥  ∈  ran  ( 1st  ‘ 𝑅 ) ∀ 𝑦  ∈  ran  ( 1st  ‘ 𝑅 ) ( ( 𝑥 𝐻 𝑦 )  =  𝑦  ∧  ( 𝑦 𝐻 𝑥 )  =  𝑦 ) ) ) ) | 
						
							| 8 | 7 | simprrd | ⊢ ( 𝑅  ∈  RingOps  →  ∃ 𝑥  ∈  ran  ( 1st  ‘ 𝑅 ) ∀ 𝑦  ∈  ran  ( 1st  ‘ 𝑅 ) ( ( 𝑥 𝐻 𝑦 )  =  𝑦  ∧  ( 𝑦 𝐻 𝑥 )  =  𝑦 ) ) | 
						
							| 9 | 1 2 | rngorn1 | ⊢ ( 𝑅  ∈  RingOps  →  ran  ( 1st  ‘ 𝑅 )  =  dom  dom  𝐻 ) | 
						
							| 10 |  | xpid11 | ⊢ ( ( dom  dom  𝐻  ×  dom  dom  𝐻 )  =  ( ran  ( 1st  ‘ 𝑅 )  ×  ran  ( 1st  ‘ 𝑅 ) )  ↔  dom  dom  𝐻  =  ran  ( 1st  ‘ 𝑅 ) ) | 
						
							| 11 | 10 | biimpri | ⊢ ( dom  dom  𝐻  =  ran  ( 1st  ‘ 𝑅 )  →  ( dom  dom  𝐻  ×  dom  dom  𝐻 )  =  ( ran  ( 1st  ‘ 𝑅 )  ×  ran  ( 1st  ‘ 𝑅 ) ) ) | 
						
							| 12 |  | feq23 | ⊢ ( ( ( dom  dom  𝐻  ×  dom  dom  𝐻 )  =  ( ran  ( 1st  ‘ 𝑅 )  ×  ran  ( 1st  ‘ 𝑅 ) )  ∧  dom  dom  𝐻  =  ran  ( 1st  ‘ 𝑅 ) )  →  ( 𝐻 : ( dom  dom  𝐻  ×  dom  dom  𝐻 ) ⟶ dom  dom  𝐻  ↔  𝐻 : ( ran  ( 1st  ‘ 𝑅 )  ×  ran  ( 1st  ‘ 𝑅 ) ) ⟶ ran  ( 1st  ‘ 𝑅 ) ) ) | 
						
							| 13 | 11 12 | mpancom | ⊢ ( dom  dom  𝐻  =  ran  ( 1st  ‘ 𝑅 )  →  ( 𝐻 : ( dom  dom  𝐻  ×  dom  dom  𝐻 ) ⟶ dom  dom  𝐻  ↔  𝐻 : ( ran  ( 1st  ‘ 𝑅 )  ×  ran  ( 1st  ‘ 𝑅 ) ) ⟶ ran  ( 1st  ‘ 𝑅 ) ) ) | 
						
							| 14 |  | raleq | ⊢ ( dom  dom  𝐻  =  ran  ( 1st  ‘ 𝑅 )  →  ( ∀ 𝑧  ∈  dom  dom  𝐻 ( ( 𝑥 𝐻 𝑦 ) 𝐻 𝑧 )  =  ( 𝑥 𝐻 ( 𝑦 𝐻 𝑧 ) )  ↔  ∀ 𝑧  ∈  ran  ( 1st  ‘ 𝑅 ) ( ( 𝑥 𝐻 𝑦 ) 𝐻 𝑧 )  =  ( 𝑥 𝐻 ( 𝑦 𝐻 𝑧 ) ) ) ) | 
						
							| 15 | 14 | raleqbi1dv | ⊢ ( dom  dom  𝐻  =  ran  ( 1st  ‘ 𝑅 )  →  ( ∀ 𝑦  ∈  dom  dom  𝐻 ∀ 𝑧  ∈  dom  dom  𝐻 ( ( 𝑥 𝐻 𝑦 ) 𝐻 𝑧 )  =  ( 𝑥 𝐻 ( 𝑦 𝐻 𝑧 ) )  ↔  ∀ 𝑦  ∈  ran  ( 1st  ‘ 𝑅 ) ∀ 𝑧  ∈  ran  ( 1st  ‘ 𝑅 ) ( ( 𝑥 𝐻 𝑦 ) 𝐻 𝑧 )  =  ( 𝑥 𝐻 ( 𝑦 𝐻 𝑧 ) ) ) ) | 
						
							| 16 | 15 | raleqbi1dv | ⊢ ( dom  dom  𝐻  =  ran  ( 1st  ‘ 𝑅 )  →  ( ∀ 𝑥  ∈  dom  dom  𝐻 ∀ 𝑦  ∈  dom  dom  𝐻 ∀ 𝑧  ∈  dom  dom  𝐻 ( ( 𝑥 𝐻 𝑦 ) 𝐻 𝑧 )  =  ( 𝑥 𝐻 ( 𝑦 𝐻 𝑧 ) )  ↔  ∀ 𝑥  ∈  ran  ( 1st  ‘ 𝑅 ) ∀ 𝑦  ∈  ran  ( 1st  ‘ 𝑅 ) ∀ 𝑧  ∈  ran  ( 1st  ‘ 𝑅 ) ( ( 𝑥 𝐻 𝑦 ) 𝐻 𝑧 )  =  ( 𝑥 𝐻 ( 𝑦 𝐻 𝑧 ) ) ) ) | 
						
							| 17 |  | raleq | ⊢ ( dom  dom  𝐻  =  ran  ( 1st  ‘ 𝑅 )  →  ( ∀ 𝑦  ∈  dom  dom  𝐻 ( ( 𝑥 𝐻 𝑦 )  =  𝑦  ∧  ( 𝑦 𝐻 𝑥 )  =  𝑦 )  ↔  ∀ 𝑦  ∈  ran  ( 1st  ‘ 𝑅 ) ( ( 𝑥 𝐻 𝑦 )  =  𝑦  ∧  ( 𝑦 𝐻 𝑥 )  =  𝑦 ) ) ) | 
						
							| 18 | 17 | rexeqbi1dv | ⊢ ( dom  dom  𝐻  =  ran  ( 1st  ‘ 𝑅 )  →  ( ∃ 𝑥  ∈  dom  dom  𝐻 ∀ 𝑦  ∈  dom  dom  𝐻 ( ( 𝑥 𝐻 𝑦 )  =  𝑦  ∧  ( 𝑦 𝐻 𝑥 )  =  𝑦 )  ↔  ∃ 𝑥  ∈  ran  ( 1st  ‘ 𝑅 ) ∀ 𝑦  ∈  ran  ( 1st  ‘ 𝑅 ) ( ( 𝑥 𝐻 𝑦 )  =  𝑦  ∧  ( 𝑦 𝐻 𝑥 )  =  𝑦 ) ) ) | 
						
							| 19 | 13 16 18 | 3anbi123d | ⊢ ( dom  dom  𝐻  =  ran  ( 1st  ‘ 𝑅 )  →  ( ( 𝐻 : ( dom  dom  𝐻  ×  dom  dom  𝐻 ) ⟶ dom  dom  𝐻  ∧  ∀ 𝑥  ∈  dom  dom  𝐻 ∀ 𝑦  ∈  dom  dom  𝐻 ∀ 𝑧  ∈  dom  dom  𝐻 ( ( 𝑥 𝐻 𝑦 ) 𝐻 𝑧 )  =  ( 𝑥 𝐻 ( 𝑦 𝐻 𝑧 ) )  ∧  ∃ 𝑥  ∈  dom  dom  𝐻 ∀ 𝑦  ∈  dom  dom  𝐻 ( ( 𝑥 𝐻 𝑦 )  =  𝑦  ∧  ( 𝑦 𝐻 𝑥 )  =  𝑦 ) )  ↔  ( 𝐻 : ( ran  ( 1st  ‘ 𝑅 )  ×  ran  ( 1st  ‘ 𝑅 ) ) ⟶ ran  ( 1st  ‘ 𝑅 )  ∧  ∀ 𝑥  ∈  ran  ( 1st  ‘ 𝑅 ) ∀ 𝑦  ∈  ran  ( 1st  ‘ 𝑅 ) ∀ 𝑧  ∈  ran  ( 1st  ‘ 𝑅 ) ( ( 𝑥 𝐻 𝑦 ) 𝐻 𝑧 )  =  ( 𝑥 𝐻 ( 𝑦 𝐻 𝑧 ) )  ∧  ∃ 𝑥  ∈  ran  ( 1st  ‘ 𝑅 ) ∀ 𝑦  ∈  ran  ( 1st  ‘ 𝑅 ) ( ( 𝑥 𝐻 𝑦 )  =  𝑦  ∧  ( 𝑦 𝐻 𝑥 )  =  𝑦 ) ) ) ) | 
						
							| 20 | 19 | eqcoms | ⊢ ( ran  ( 1st  ‘ 𝑅 )  =  dom  dom  𝐻  →  ( ( 𝐻 : ( dom  dom  𝐻  ×  dom  dom  𝐻 ) ⟶ dom  dom  𝐻  ∧  ∀ 𝑥  ∈  dom  dom  𝐻 ∀ 𝑦  ∈  dom  dom  𝐻 ∀ 𝑧  ∈  dom  dom  𝐻 ( ( 𝑥 𝐻 𝑦 ) 𝐻 𝑧 )  =  ( 𝑥 𝐻 ( 𝑦 𝐻 𝑧 ) )  ∧  ∃ 𝑥  ∈  dom  dom  𝐻 ∀ 𝑦  ∈  dom  dom  𝐻 ( ( 𝑥 𝐻 𝑦 )  =  𝑦  ∧  ( 𝑦 𝐻 𝑥 )  =  𝑦 ) )  ↔  ( 𝐻 : ( ran  ( 1st  ‘ 𝑅 )  ×  ran  ( 1st  ‘ 𝑅 ) ) ⟶ ran  ( 1st  ‘ 𝑅 )  ∧  ∀ 𝑥  ∈  ran  ( 1st  ‘ 𝑅 ) ∀ 𝑦  ∈  ran  ( 1st  ‘ 𝑅 ) ∀ 𝑧  ∈  ran  ( 1st  ‘ 𝑅 ) ( ( 𝑥 𝐻 𝑦 ) 𝐻 𝑧 )  =  ( 𝑥 𝐻 ( 𝑦 𝐻 𝑧 ) )  ∧  ∃ 𝑥  ∈  ran  ( 1st  ‘ 𝑅 ) ∀ 𝑦  ∈  ran  ( 1st  ‘ 𝑅 ) ( ( 𝑥 𝐻 𝑦 )  =  𝑦  ∧  ( 𝑦 𝐻 𝑥 )  =  𝑦 ) ) ) ) | 
						
							| 21 | 9 20 | syl | ⊢ ( 𝑅  ∈  RingOps  →  ( ( 𝐻 : ( dom  dom  𝐻  ×  dom  dom  𝐻 ) ⟶ dom  dom  𝐻  ∧  ∀ 𝑥  ∈  dom  dom  𝐻 ∀ 𝑦  ∈  dom  dom  𝐻 ∀ 𝑧  ∈  dom  dom  𝐻 ( ( 𝑥 𝐻 𝑦 ) 𝐻 𝑧 )  =  ( 𝑥 𝐻 ( 𝑦 𝐻 𝑧 ) )  ∧  ∃ 𝑥  ∈  dom  dom  𝐻 ∀ 𝑦  ∈  dom  dom  𝐻 ( ( 𝑥 𝐻 𝑦 )  =  𝑦  ∧  ( 𝑦 𝐻 𝑥 )  =  𝑦 ) )  ↔  ( 𝐻 : ( ran  ( 1st  ‘ 𝑅 )  ×  ran  ( 1st  ‘ 𝑅 ) ) ⟶ ran  ( 1st  ‘ 𝑅 )  ∧  ∀ 𝑥  ∈  ran  ( 1st  ‘ 𝑅 ) ∀ 𝑦  ∈  ran  ( 1st  ‘ 𝑅 ) ∀ 𝑧  ∈  ran  ( 1st  ‘ 𝑅 ) ( ( 𝑥 𝐻 𝑦 ) 𝐻 𝑧 )  =  ( 𝑥 𝐻 ( 𝑦 𝐻 𝑧 ) )  ∧  ∃ 𝑥  ∈  ran  ( 1st  ‘ 𝑅 ) ∀ 𝑦  ∈  ran  ( 1st  ‘ 𝑅 ) ( ( 𝑥 𝐻 𝑦 )  =  𝑦  ∧  ( 𝑦 𝐻 𝑥 )  =  𝑦 ) ) ) ) | 
						
							| 22 | 4 6 8 21 | mpbir3and | ⊢ ( 𝑅  ∈  RingOps  →  ( 𝐻 : ( dom  dom  𝐻  ×  dom  dom  𝐻 ) ⟶ dom  dom  𝐻  ∧  ∀ 𝑥  ∈  dom  dom  𝐻 ∀ 𝑦  ∈  dom  dom  𝐻 ∀ 𝑧  ∈  dom  dom  𝐻 ( ( 𝑥 𝐻 𝑦 ) 𝐻 𝑧 )  =  ( 𝑥 𝐻 ( 𝑦 𝐻 𝑧 ) )  ∧  ∃ 𝑥  ∈  dom  dom  𝐻 ∀ 𝑦  ∈  dom  dom  𝐻 ( ( 𝑥 𝐻 𝑦 )  =  𝑦  ∧  ( 𝑦 𝐻 𝑥 )  =  𝑦 ) ) ) | 
						
							| 23 |  | fvex | ⊢ ( 2nd  ‘ 𝑅 )  ∈  V | 
						
							| 24 |  | eleq1 | ⊢ ( 𝐻  =  ( 2nd  ‘ 𝑅 )  →  ( 𝐻  ∈  V  ↔  ( 2nd  ‘ 𝑅 )  ∈  V ) ) | 
						
							| 25 | 23 24 | mpbiri | ⊢ ( 𝐻  =  ( 2nd  ‘ 𝑅 )  →  𝐻  ∈  V ) | 
						
							| 26 |  | eqid | ⊢ dom  dom  𝐻  =  dom  dom  𝐻 | 
						
							| 27 | 26 | ismndo1 | ⊢ ( 𝐻  ∈  V  →  ( 𝐻  ∈  MndOp  ↔  ( 𝐻 : ( dom  dom  𝐻  ×  dom  dom  𝐻 ) ⟶ dom  dom  𝐻  ∧  ∀ 𝑥  ∈  dom  dom  𝐻 ∀ 𝑦  ∈  dom  dom  𝐻 ∀ 𝑧  ∈  dom  dom  𝐻 ( ( 𝑥 𝐻 𝑦 ) 𝐻 𝑧 )  =  ( 𝑥 𝐻 ( 𝑦 𝐻 𝑧 ) )  ∧  ∃ 𝑥  ∈  dom  dom  𝐻 ∀ 𝑦  ∈  dom  dom  𝐻 ( ( 𝑥 𝐻 𝑦 )  =  𝑦  ∧  ( 𝑦 𝐻 𝑥 )  =  𝑦 ) ) ) ) | 
						
							| 28 | 1 25 27 | mp2b | ⊢ ( 𝐻  ∈  MndOp  ↔  ( 𝐻 : ( dom  dom  𝐻  ×  dom  dom  𝐻 ) ⟶ dom  dom  𝐻  ∧  ∀ 𝑥  ∈  dom  dom  𝐻 ∀ 𝑦  ∈  dom  dom  𝐻 ∀ 𝑧  ∈  dom  dom  𝐻 ( ( 𝑥 𝐻 𝑦 ) 𝐻 𝑧 )  =  ( 𝑥 𝐻 ( 𝑦 𝐻 𝑧 ) )  ∧  ∃ 𝑥  ∈  dom  dom  𝐻 ∀ 𝑦  ∈  dom  dom  𝐻 ( ( 𝑥 𝐻 𝑦 )  =  𝑦  ∧  ( 𝑦 𝐻 𝑥 )  =  𝑦 ) ) ) | 
						
							| 29 | 22 28 | sylibr | ⊢ ( 𝑅  ∈  RingOps  →  𝐻  ∈  MndOp ) |