| Step | Hyp | Ref | Expression | 
						
							| 1 |  | assintopmap |  |-  ( M e. V -> ( assIntOp ` M ) = { o e. ( M ^m ( M X. M ) ) | o assLaw M } ) | 
						
							| 2 | 1 | eleq2d |  |-  ( M e. V -> ( .o. e. ( assIntOp ` M ) <-> .o. e. { o e. ( M ^m ( M X. M ) ) | o assLaw M } ) ) | 
						
							| 3 |  | breq1 |  |-  ( o = .o. -> ( o assLaw M <-> .o. assLaw M ) ) | 
						
							| 4 | 3 | elrab |  |-  ( .o. e. { o e. ( M ^m ( M X. M ) ) | o assLaw M } <-> ( .o. e. ( M ^m ( M X. M ) ) /\ .o. assLaw M ) ) | 
						
							| 5 | 2 4 | bitrdi |  |-  ( M e. V -> ( .o. e. ( assIntOp ` M ) <-> ( .o. e. ( M ^m ( M X. M ) ) /\ .o. assLaw M ) ) ) | 
						
							| 6 |  | elmapi |  |-  ( .o. e. ( M ^m ( M X. M ) ) -> .o. : ( M X. M ) --> M ) | 
						
							| 7 | 6 | ad2antrl |  |-  ( ( M e. V /\ ( .o. e. ( M ^m ( M X. M ) ) /\ .o. assLaw M ) ) -> .o. : ( M X. M ) --> M ) | 
						
							| 8 |  | isasslaw |  |-  ( ( .o. e. ( M ^m ( M X. M ) ) /\ M e. V ) -> ( .o. assLaw M <-> A. x e. M A. y e. M A. z e. M ( ( x .o. y ) .o. z ) = ( x .o. ( y .o. z ) ) ) ) | 
						
							| 9 | 8 | biimpd |  |-  ( ( .o. e. ( M ^m ( M X. M ) ) /\ M e. V ) -> ( .o. assLaw M -> A. x e. M A. y e. M A. z e. M ( ( x .o. y ) .o. z ) = ( x .o. ( y .o. z ) ) ) ) | 
						
							| 10 | 9 | impancom |  |-  ( ( .o. e. ( M ^m ( M X. M ) ) /\ .o. assLaw M ) -> ( M e. V -> A. x e. M A. y e. M A. z e. M ( ( x .o. y ) .o. z ) = ( x .o. ( y .o. z ) ) ) ) | 
						
							| 11 | 10 | impcom |  |-  ( ( M e. V /\ ( .o. e. ( M ^m ( M X. M ) ) /\ .o. assLaw M ) ) -> A. x e. M A. y e. M A. z e. M ( ( x .o. y ) .o. z ) = ( x .o. ( y .o. z ) ) ) | 
						
							| 12 | 7 11 | jca |  |-  ( ( M e. V /\ ( .o. e. ( M ^m ( M X. M ) ) /\ .o. assLaw M ) ) -> ( .o. : ( M X. M ) --> M /\ A. x e. M A. y e. M A. z e. M ( ( x .o. y ) .o. z ) = ( x .o. ( y .o. z ) ) ) ) | 
						
							| 13 | 12 | ex |  |-  ( M e. V -> ( ( .o. e. ( M ^m ( M X. M ) ) /\ .o. assLaw M ) -> ( .o. : ( M X. M ) --> M /\ A. x e. M A. y e. M A. z e. M ( ( x .o. y ) .o. z ) = ( x .o. ( y .o. z ) ) ) ) ) | 
						
							| 14 | 5 13 | sylbid |  |-  ( M e. V -> ( .o. e. ( assIntOp ` M ) -> ( .o. : ( M X. M ) --> M /\ A. x e. M A. y e. M A. z e. M ( ( x .o. y ) .o. z ) = ( x .o. ( y .o. z ) ) ) ) ) | 
						
							| 15 |  | isclintop |  |-  ( M e. V -> ( .o. e. ( clIntOp ` M ) <-> .o. : ( M X. M ) --> M ) ) | 
						
							| 16 | 15 | biimprcd |  |-  ( .o. : ( M X. M ) --> M -> ( M e. V -> .o. e. ( clIntOp ` M ) ) ) | 
						
							| 17 | 16 | adantr |  |-  ( ( .o. : ( M X. M ) --> M /\ A. x e. M A. y e. M A. z e. M ( ( x .o. y ) .o. z ) = ( x .o. ( y .o. z ) ) ) -> ( M e. V -> .o. e. ( clIntOp ` M ) ) ) | 
						
							| 18 | 17 | impcom |  |-  ( ( M e. V /\ ( .o. : ( M X. M ) --> M /\ A. x e. M A. y e. M A. z e. M ( ( x .o. y ) .o. z ) = ( x .o. ( y .o. z ) ) ) ) -> .o. e. ( clIntOp ` M ) ) | 
						
							| 19 |  | sqxpexg |  |-  ( M e. V -> ( M X. M ) e. _V ) | 
						
							| 20 |  | fex |  |-  ( ( .o. : ( M X. M ) --> M /\ ( M X. M ) e. _V ) -> .o. e. _V ) | 
						
							| 21 | 19 20 | sylan2 |  |-  ( ( .o. : ( M X. M ) --> M /\ M e. V ) -> .o. e. _V ) | 
						
							| 22 | 21 | ancoms |  |-  ( ( M e. V /\ .o. : ( M X. M ) --> M ) -> .o. e. _V ) | 
						
							| 23 |  | simpl |  |-  ( ( M e. V /\ .o. : ( M X. M ) --> M ) -> M e. V ) | 
						
							| 24 |  | isasslaw |  |-  ( ( .o. e. _V /\ M e. V ) -> ( .o. assLaw M <-> A. x e. M A. y e. M A. z e. M ( ( x .o. y ) .o. z ) = ( x .o. ( y .o. z ) ) ) ) | 
						
							| 25 | 24 | bicomd |  |-  ( ( .o. e. _V /\ M e. V ) -> ( A. x e. M A. y e. M A. z e. M ( ( x .o. y ) .o. z ) = ( x .o. ( y .o. z ) ) <-> .o. assLaw M ) ) | 
						
							| 26 | 22 23 25 | syl2anc |  |-  ( ( M e. V /\ .o. : ( M X. M ) --> M ) -> ( A. x e. M A. y e. M A. z e. M ( ( x .o. y ) .o. z ) = ( x .o. ( y .o. z ) ) <-> .o. assLaw M ) ) | 
						
							| 27 | 26 | biimpd |  |-  ( ( M e. V /\ .o. : ( M X. M ) --> M ) -> ( A. x e. M A. y e. M A. z e. M ( ( x .o. y ) .o. z ) = ( x .o. ( y .o. z ) ) -> .o. assLaw M ) ) | 
						
							| 28 | 27 | impr |  |-  ( ( M e. V /\ ( .o. : ( M X. M ) --> M /\ A. x e. M A. y e. M A. z e. M ( ( x .o. y ) .o. z ) = ( x .o. ( y .o. z ) ) ) ) -> .o. assLaw M ) | 
						
							| 29 |  | assintopval |  |-  ( M e. V -> ( assIntOp ` M ) = { o e. ( clIntOp ` M ) | o assLaw M } ) | 
						
							| 30 | 29 | adantr |  |-  ( ( M e. V /\ ( .o. : ( M X. M ) --> M /\ A. x e. M A. y e. M A. z e. M ( ( x .o. y ) .o. z ) = ( x .o. ( y .o. z ) ) ) ) -> ( assIntOp ` M ) = { o e. ( clIntOp ` M ) | o assLaw M } ) | 
						
							| 31 | 30 | eleq2d |  |-  ( ( M e. V /\ ( .o. : ( M X. M ) --> M /\ A. x e. M A. y e. M A. z e. M ( ( x .o. y ) .o. z ) = ( x .o. ( y .o. z ) ) ) ) -> ( .o. e. ( assIntOp ` M ) <-> .o. e. { o e. ( clIntOp ` M ) | o assLaw M } ) ) | 
						
							| 32 | 3 | elrab |  |-  ( .o. e. { o e. ( clIntOp ` M ) | o assLaw M } <-> ( .o. e. ( clIntOp ` M ) /\ .o. assLaw M ) ) | 
						
							| 33 | 31 32 | bitrdi |  |-  ( ( M e. V /\ ( .o. : ( M X. M ) --> M /\ A. x e. M A. y e. M A. z e. M ( ( x .o. y ) .o. z ) = ( x .o. ( y .o. z ) ) ) ) -> ( .o. e. ( assIntOp ` M ) <-> ( .o. e. ( clIntOp ` M ) /\ .o. assLaw M ) ) ) | 
						
							| 34 | 18 28 33 | mpbir2and |  |-  ( ( M e. V /\ ( .o. : ( M X. M ) --> M /\ A. x e. M A. y e. M A. z e. M ( ( x .o. y ) .o. z ) = ( x .o. ( y .o. z ) ) ) ) -> .o. e. ( assIntOp ` M ) ) | 
						
							| 35 | 34 | ex |  |-  ( M e. V -> ( ( .o. : ( M X. M ) --> M /\ A. x e. M A. y e. M A. z e. M ( ( x .o. y ) .o. z ) = ( x .o. ( y .o. z ) ) ) -> .o. e. ( assIntOp ` M ) ) ) | 
						
							| 36 | 14 35 | impbid |  |-  ( M e. V -> ( .o. e. ( assIntOp ` M ) <-> ( .o. : ( M X. M ) --> M /\ A. x e. M A. y e. M A. z e. M ( ( x .o. y ) .o. z ) = ( x .o. ( y .o. z ) ) ) ) ) |