Step |
Hyp |
Ref |
Expression |
1 |
|
fprodsplit.1 |
|- ( ph -> ( A i^i B ) = (/) ) |
2 |
|
fprodsplit.2 |
|- ( ph -> U = ( A u. B ) ) |
3 |
|
fprodsplit.3 |
|- ( ph -> U e. Fin ) |
4 |
|
fprodsplit.4 |
|- ( ( ph /\ k e. U ) -> C e. CC ) |
5 |
|
iftrue |
|- ( k e. A -> if ( k e. A , C , 1 ) = C ) |
6 |
5
|
prodeq2i |
|- prod_ k e. A if ( k e. A , C , 1 ) = prod_ k e. A C |
7 |
|
ssun1 |
|- A C_ ( A u. B ) |
8 |
7 2
|
sseqtrrid |
|- ( ph -> A C_ U ) |
9 |
5
|
adantl |
|- ( ( ph /\ k e. A ) -> if ( k e. A , C , 1 ) = C ) |
10 |
8
|
sselda |
|- ( ( ph /\ k e. A ) -> k e. U ) |
11 |
10 4
|
syldan |
|- ( ( ph /\ k e. A ) -> C e. CC ) |
12 |
9 11
|
eqeltrd |
|- ( ( ph /\ k e. A ) -> if ( k e. A , C , 1 ) e. CC ) |
13 |
|
eldifn |
|- ( k e. ( U \ A ) -> -. k e. A ) |
14 |
13
|
iffalsed |
|- ( k e. ( U \ A ) -> if ( k e. A , C , 1 ) = 1 ) |
15 |
14
|
adantl |
|- ( ( ph /\ k e. ( U \ A ) ) -> if ( k e. A , C , 1 ) = 1 ) |
16 |
8 12 15 3
|
fprodss |
|- ( ph -> prod_ k e. A if ( k e. A , C , 1 ) = prod_ k e. U if ( k e. A , C , 1 ) ) |
17 |
6 16
|
eqtr3id |
|- ( ph -> prod_ k e. A C = prod_ k e. U if ( k e. A , C , 1 ) ) |
18 |
|
iftrue |
|- ( k e. B -> if ( k e. B , C , 1 ) = C ) |
19 |
18
|
prodeq2i |
|- prod_ k e. B if ( k e. B , C , 1 ) = prod_ k e. B C |
20 |
|
ssun2 |
|- B C_ ( A u. B ) |
21 |
20 2
|
sseqtrrid |
|- ( ph -> B C_ U ) |
22 |
18
|
adantl |
|- ( ( ph /\ k e. B ) -> if ( k e. B , C , 1 ) = C ) |
23 |
21
|
sselda |
|- ( ( ph /\ k e. B ) -> k e. U ) |
24 |
23 4
|
syldan |
|- ( ( ph /\ k e. B ) -> C e. CC ) |
25 |
22 24
|
eqeltrd |
|- ( ( ph /\ k e. B ) -> if ( k e. B , C , 1 ) e. CC ) |
26 |
|
eldifn |
|- ( k e. ( U \ B ) -> -. k e. B ) |
27 |
26
|
iffalsed |
|- ( k e. ( U \ B ) -> if ( k e. B , C , 1 ) = 1 ) |
28 |
27
|
adantl |
|- ( ( ph /\ k e. ( U \ B ) ) -> if ( k e. B , C , 1 ) = 1 ) |
29 |
21 25 28 3
|
fprodss |
|- ( ph -> prod_ k e. B if ( k e. B , C , 1 ) = prod_ k e. U if ( k e. B , C , 1 ) ) |
30 |
19 29
|
eqtr3id |
|- ( ph -> prod_ k e. B C = prod_ k e. U if ( k e. B , C , 1 ) ) |
31 |
17 30
|
oveq12d |
|- ( ph -> ( prod_ k e. A C x. prod_ k e. B C ) = ( prod_ k e. U if ( k e. A , C , 1 ) x. prod_ k e. U if ( k e. B , C , 1 ) ) ) |
32 |
|
ax-1cn |
|- 1 e. CC |
33 |
|
ifcl |
|- ( ( C e. CC /\ 1 e. CC ) -> if ( k e. A , C , 1 ) e. CC ) |
34 |
4 32 33
|
sylancl |
|- ( ( ph /\ k e. U ) -> if ( k e. A , C , 1 ) e. CC ) |
35 |
|
ifcl |
|- ( ( C e. CC /\ 1 e. CC ) -> if ( k e. B , C , 1 ) e. CC ) |
36 |
4 32 35
|
sylancl |
|- ( ( ph /\ k e. U ) -> if ( k e. B , C , 1 ) e. CC ) |
37 |
3 34 36
|
fprodmul |
|- ( ph -> prod_ k e. U ( if ( k e. A , C , 1 ) x. if ( k e. B , C , 1 ) ) = ( prod_ k e. U if ( k e. A , C , 1 ) x. prod_ k e. U if ( k e. B , C , 1 ) ) ) |
38 |
2
|
eleq2d |
|- ( ph -> ( k e. U <-> k e. ( A u. B ) ) ) |
39 |
|
elun |
|- ( k e. ( A u. B ) <-> ( k e. A \/ k e. B ) ) |
40 |
38 39
|
bitrdi |
|- ( ph -> ( k e. U <-> ( k e. A \/ k e. B ) ) ) |
41 |
40
|
biimpa |
|- ( ( ph /\ k e. U ) -> ( k e. A \/ k e. B ) ) |
42 |
|
disjel |
|- ( ( ( A i^i B ) = (/) /\ k e. A ) -> -. k e. B ) |
43 |
1 42
|
sylan |
|- ( ( ph /\ k e. A ) -> -. k e. B ) |
44 |
43
|
iffalsed |
|- ( ( ph /\ k e. A ) -> if ( k e. B , C , 1 ) = 1 ) |
45 |
9 44
|
oveq12d |
|- ( ( ph /\ k e. A ) -> ( if ( k e. A , C , 1 ) x. if ( k e. B , C , 1 ) ) = ( C x. 1 ) ) |
46 |
11
|
mulid1d |
|- ( ( ph /\ k e. A ) -> ( C x. 1 ) = C ) |
47 |
45 46
|
eqtrd |
|- ( ( ph /\ k e. A ) -> ( if ( k e. A , C , 1 ) x. if ( k e. B , C , 1 ) ) = C ) |
48 |
43
|
ex |
|- ( ph -> ( k e. A -> -. k e. B ) ) |
49 |
48
|
con2d |
|- ( ph -> ( k e. B -> -. k e. A ) ) |
50 |
49
|
imp |
|- ( ( ph /\ k e. B ) -> -. k e. A ) |
51 |
50
|
iffalsed |
|- ( ( ph /\ k e. B ) -> if ( k e. A , C , 1 ) = 1 ) |
52 |
51 22
|
oveq12d |
|- ( ( ph /\ k e. B ) -> ( if ( k e. A , C , 1 ) x. if ( k e. B , C , 1 ) ) = ( 1 x. C ) ) |
53 |
24
|
mulid2d |
|- ( ( ph /\ k e. B ) -> ( 1 x. C ) = C ) |
54 |
52 53
|
eqtrd |
|- ( ( ph /\ k e. B ) -> ( if ( k e. A , C , 1 ) x. if ( k e. B , C , 1 ) ) = C ) |
55 |
47 54
|
jaodan |
|- ( ( ph /\ ( k e. A \/ k e. B ) ) -> ( if ( k e. A , C , 1 ) x. if ( k e. B , C , 1 ) ) = C ) |
56 |
41 55
|
syldan |
|- ( ( ph /\ k e. U ) -> ( if ( k e. A , C , 1 ) x. if ( k e. B , C , 1 ) ) = C ) |
57 |
56
|
prodeq2dv |
|- ( ph -> prod_ k e. U ( if ( k e. A , C , 1 ) x. if ( k e. B , C , 1 ) ) = prod_ k e. U C ) |
58 |
31 37 57
|
3eqtr2rd |
|- ( ph -> prod_ k e. U C = ( prod_ k e. A C x. prod_ k e. B C ) ) |