Metamath Proof Explorer


Theorem dpjfval

Description: Value of the direct product projection (defined in terms of binary projection). (Contributed by Mario Carneiro, 26-Apr-2016)

Ref Expression
Hypotheses dpjfval.1
|- ( ph -> G dom DProd S )
dpjfval.2
|- ( ph -> dom S = I )
dpjfval.p
|- P = ( G dProj S )
dpjfval.q
|- Q = ( proj1 ` G )
Assertion dpjfval
|- ( ph -> P = ( i e. I |-> ( ( S ` i ) Q ( G DProd ( S |` ( I \ { i } ) ) ) ) ) )

Proof

Step Hyp Ref Expression
1 dpjfval.1
 |-  ( ph -> G dom DProd S )
2 dpjfval.2
 |-  ( ph -> dom S = I )
3 dpjfval.p
 |-  P = ( G dProj S )
4 dpjfval.q
 |-  Q = ( proj1 ` G )
5 df-dpj
 |-  dProj = ( g e. Grp , s e. ( dom DProd " { g } ) |-> ( i e. dom s |-> ( ( s ` i ) ( proj1 ` g ) ( g DProd ( s |` ( dom s \ { i } ) ) ) ) ) )
6 5 a1i
 |-  ( ph -> dProj = ( g e. Grp , s e. ( dom DProd " { g } ) |-> ( i e. dom s |-> ( ( s ` i ) ( proj1 ` g ) ( g DProd ( s |` ( dom s \ { i } ) ) ) ) ) ) )
7 simprr
 |-  ( ( ph /\ ( g = G /\ s = S ) ) -> s = S )
8 7 dmeqd
 |-  ( ( ph /\ ( g = G /\ s = S ) ) -> dom s = dom S )
9 2 adantr
 |-  ( ( ph /\ ( g = G /\ s = S ) ) -> dom S = I )
10 8 9 eqtrd
 |-  ( ( ph /\ ( g = G /\ s = S ) ) -> dom s = I )
11 simprl
 |-  ( ( ph /\ ( g = G /\ s = S ) ) -> g = G )
12 11 fveq2d
 |-  ( ( ph /\ ( g = G /\ s = S ) ) -> ( proj1 ` g ) = ( proj1 ` G ) )
13 12 4 eqtr4di
 |-  ( ( ph /\ ( g = G /\ s = S ) ) -> ( proj1 ` g ) = Q )
14 7 fveq1d
 |-  ( ( ph /\ ( g = G /\ s = S ) ) -> ( s ` i ) = ( S ` i ) )
15 10 difeq1d
 |-  ( ( ph /\ ( g = G /\ s = S ) ) -> ( dom s \ { i } ) = ( I \ { i } ) )
16 7 15 reseq12d
 |-  ( ( ph /\ ( g = G /\ s = S ) ) -> ( s |` ( dom s \ { i } ) ) = ( S |` ( I \ { i } ) ) )
17 11 16 oveq12d
 |-  ( ( ph /\ ( g = G /\ s = S ) ) -> ( g DProd ( s |` ( dom s \ { i } ) ) ) = ( G DProd ( S |` ( I \ { i } ) ) ) )
18 13 14 17 oveq123d
 |-  ( ( ph /\ ( g = G /\ s = S ) ) -> ( ( s ` i ) ( proj1 ` g ) ( g DProd ( s |` ( dom s \ { i } ) ) ) ) = ( ( S ` i ) Q ( G DProd ( S |` ( I \ { i } ) ) ) ) )
19 10 18 mpteq12dv
 |-  ( ( ph /\ ( g = G /\ s = S ) ) -> ( i e. dom s |-> ( ( s ` i ) ( proj1 ` g ) ( g DProd ( s |` ( dom s \ { i } ) ) ) ) ) = ( i e. I |-> ( ( S ` i ) Q ( G DProd ( S |` ( I \ { i } ) ) ) ) ) )
20 simpr
 |-  ( ( ph /\ g = G ) -> g = G )
21 20 sneqd
 |-  ( ( ph /\ g = G ) -> { g } = { G } )
22 21 imaeq2d
 |-  ( ( ph /\ g = G ) -> ( dom DProd " { g } ) = ( dom DProd " { G } ) )
23 dprdgrp
 |-  ( G dom DProd S -> G e. Grp )
24 1 23 syl
 |-  ( ph -> G e. Grp )
25 reldmdprd
 |-  Rel dom DProd
26 elrelimasn
 |-  ( Rel dom DProd -> ( S e. ( dom DProd " { G } ) <-> G dom DProd S ) )
27 25 26 ax-mp
 |-  ( S e. ( dom DProd " { G } ) <-> G dom DProd S )
28 1 27 sylibr
 |-  ( ph -> S e. ( dom DProd " { G } ) )
29 1 2 dprddomcld
 |-  ( ph -> I e. _V )
30 29 mptexd
 |-  ( ph -> ( i e. I |-> ( ( S ` i ) Q ( G DProd ( S |` ( I \ { i } ) ) ) ) ) e. _V )
31 6 19 22 24 28 30 ovmpodx
 |-  ( ph -> ( G dProj S ) = ( i e. I |-> ( ( S ` i ) Q ( G DProd ( S |` ( I \ { i } ) ) ) ) ) )
32 3 31 syl5eq
 |-  ( ph -> P = ( i e. I |-> ( ( S ` i ) Q ( G DProd ( S |` ( I \ { i } ) ) ) ) ) )