Metamath Proof Explorer


Theorem ovig

Description: The value of an operation class abstraction (weak version). (Contributed by NM, 14-Sep-1999) Remove unnecessary distinct variable conditions. (Revised by David Abernethy, 19-Jun-2012) (Revised by Mario Carneiro, 19-Dec-2013)

Ref Expression
Hypotheses ovig.1
|- ( ( x = A /\ y = B /\ z = C ) -> ( ph <-> ps ) )
ovig.2
|- ( ( x e. R /\ y e. S ) -> E* z ph )
ovig.3
|- F = { <. <. x , y >. , z >. | ( ( x e. R /\ y e. S ) /\ ph ) }
Assertion ovig
|- ( ( A e. R /\ B e. S /\ C e. D ) -> ( ps -> ( A F B ) = C ) )

Proof

Step Hyp Ref Expression
1 ovig.1
 |-  ( ( x = A /\ y = B /\ z = C ) -> ( ph <-> ps ) )
2 ovig.2
 |-  ( ( x e. R /\ y e. S ) -> E* z ph )
3 ovig.3
 |-  F = { <. <. x , y >. , z >. | ( ( x e. R /\ y e. S ) /\ ph ) }
4 3simpa
 |-  ( ( A e. R /\ B e. S /\ C e. D ) -> ( A e. R /\ B e. S ) )
5 eleq1
 |-  ( x = A -> ( x e. R <-> A e. R ) )
6 eleq1
 |-  ( y = B -> ( y e. S <-> B e. S ) )
7 5 6 bi2anan9
 |-  ( ( x = A /\ y = B ) -> ( ( x e. R /\ y e. S ) <-> ( A e. R /\ B e. S ) ) )
8 7 3adant3
 |-  ( ( x = A /\ y = B /\ z = C ) -> ( ( x e. R /\ y e. S ) <-> ( A e. R /\ B e. S ) ) )
9 8 1 anbi12d
 |-  ( ( x = A /\ y = B /\ z = C ) -> ( ( ( x e. R /\ y e. S ) /\ ph ) <-> ( ( A e. R /\ B e. S ) /\ ps ) ) )
10 moanimv
 |-  ( E* z ( ( x e. R /\ y e. S ) /\ ph ) <-> ( ( x e. R /\ y e. S ) -> E* z ph ) )
11 2 10 mpbir
 |-  E* z ( ( x e. R /\ y e. S ) /\ ph )
12 9 11 3 ovigg
 |-  ( ( A e. R /\ B e. S /\ C e. D ) -> ( ( ( A e. R /\ B e. S ) /\ ps ) -> ( A F B ) = C ) )
13 4 12 mpand
 |-  ( ( A e. R /\ B e. S /\ C e. D ) -> ( ps -> ( A F B ) = C ) )