Metamath Proof Explorer


Theorem fprodsplit

Description: Split a finite product into two parts. (Contributed by Scott Fenton, 16-Dec-2017)

Ref Expression
Hypotheses fprodsplit.1 โŠข ( ๐œ‘ โ†’ ( ๐ด โˆฉ ๐ต ) = โˆ… )
fprodsplit.2 โŠข ( ๐œ‘ โ†’ ๐‘ˆ = ( ๐ด โˆช ๐ต ) )
fprodsplit.3 โŠข ( ๐œ‘ โ†’ ๐‘ˆ โˆˆ Fin )
fprodsplit.4 โŠข ( ( ๐œ‘ โˆง ๐‘˜ โˆˆ ๐‘ˆ ) โ†’ ๐ถ โˆˆ โ„‚ )
Assertion fprodsplit ( ๐œ‘ โ†’ โˆ ๐‘˜ โˆˆ ๐‘ˆ ๐ถ = ( โˆ ๐‘˜ โˆˆ ๐ด ๐ถ ยท โˆ ๐‘˜ โˆˆ ๐ต ๐ถ ) )

Proof

Step Hyp Ref Expression
1 fprodsplit.1 โŠข ( ๐œ‘ โ†’ ( ๐ด โˆฉ ๐ต ) = โˆ… )
2 fprodsplit.2 โŠข ( ๐œ‘ โ†’ ๐‘ˆ = ( ๐ด โˆช ๐ต ) )
3 fprodsplit.3 โŠข ( ๐œ‘ โ†’ ๐‘ˆ โˆˆ Fin )
4 fprodsplit.4 โŠข ( ( ๐œ‘ โˆง ๐‘˜ โˆˆ ๐‘ˆ ) โ†’ ๐ถ โˆˆ โ„‚ )
5 iftrue โŠข ( ๐‘˜ โˆˆ ๐ด โ†’ if ( ๐‘˜ โˆˆ ๐ด , ๐ถ , 1 ) = ๐ถ )
6 5 prodeq2i โŠข โˆ ๐‘˜ โˆˆ ๐ด if ( ๐‘˜ โˆˆ ๐ด , ๐ถ , 1 ) = โˆ ๐‘˜ โˆˆ ๐ด ๐ถ
7 ssun1 โŠข ๐ด โІ ( ๐ด โˆช ๐ต )
8 7 2 sseqtrrid โŠข ( ๐œ‘ โ†’ ๐ด โІ ๐‘ˆ )
9 5 adantl โŠข ( ( ๐œ‘ โˆง ๐‘˜ โˆˆ ๐ด ) โ†’ if ( ๐‘˜ โˆˆ ๐ด , ๐ถ , 1 ) = ๐ถ )
10 8 sselda โŠข ( ( ๐œ‘ โˆง ๐‘˜ โˆˆ ๐ด ) โ†’ ๐‘˜ โˆˆ ๐‘ˆ )
11 10 4 syldan โŠข ( ( ๐œ‘ โˆง ๐‘˜ โˆˆ ๐ด ) โ†’ ๐ถ โˆˆ โ„‚ )
12 9 11 eqeltrd โŠข ( ( ๐œ‘ โˆง ๐‘˜ โˆˆ ๐ด ) โ†’ if ( ๐‘˜ โˆˆ ๐ด , ๐ถ , 1 ) โˆˆ โ„‚ )
13 eldifn โŠข ( ๐‘˜ โˆˆ ( ๐‘ˆ โˆ– ๐ด ) โ†’ ยฌ ๐‘˜ โˆˆ ๐ด )
14 13 iffalsed โŠข ( ๐‘˜ โˆˆ ( ๐‘ˆ โˆ– ๐ด ) โ†’ if ( ๐‘˜ โˆˆ ๐ด , ๐ถ , 1 ) = 1 )
15 14 adantl โŠข ( ( ๐œ‘ โˆง ๐‘˜ โˆˆ ( ๐‘ˆ โˆ– ๐ด ) ) โ†’ if ( ๐‘˜ โˆˆ ๐ด , ๐ถ , 1 ) = 1 )
16 8 12 15 3 fprodss โŠข ( ๐œ‘ โ†’ โˆ ๐‘˜ โˆˆ ๐ด if ( ๐‘˜ โˆˆ ๐ด , ๐ถ , 1 ) = โˆ ๐‘˜ โˆˆ ๐‘ˆ if ( ๐‘˜ โˆˆ ๐ด , ๐ถ , 1 ) )
17 6 16 eqtr3id โŠข ( ๐œ‘ โ†’ โˆ ๐‘˜ โˆˆ ๐ด ๐ถ = โˆ ๐‘˜ โˆˆ ๐‘ˆ if ( ๐‘˜ โˆˆ ๐ด , ๐ถ , 1 ) )
18 iftrue โŠข ( ๐‘˜ โˆˆ ๐ต โ†’ if ( ๐‘˜ โˆˆ ๐ต , ๐ถ , 1 ) = ๐ถ )
19 18 prodeq2i โŠข โˆ ๐‘˜ โˆˆ ๐ต if ( ๐‘˜ โˆˆ ๐ต , ๐ถ , 1 ) = โˆ ๐‘˜ โˆˆ ๐ต ๐ถ
20 ssun2 โŠข ๐ต โІ ( ๐ด โˆช ๐ต )
21 20 2 sseqtrrid โŠข ( ๐œ‘ โ†’ ๐ต โІ ๐‘ˆ )
22 18 adantl โŠข ( ( ๐œ‘ โˆง ๐‘˜ โˆˆ ๐ต ) โ†’ if ( ๐‘˜ โˆˆ ๐ต , ๐ถ , 1 ) = ๐ถ )
23 21 sselda โŠข ( ( ๐œ‘ โˆง ๐‘˜ โˆˆ ๐ต ) โ†’ ๐‘˜ โˆˆ ๐‘ˆ )
24 23 4 syldan โŠข ( ( ๐œ‘ โˆง ๐‘˜ โˆˆ ๐ต ) โ†’ ๐ถ โˆˆ โ„‚ )
25 22 24 eqeltrd โŠข ( ( ๐œ‘ โˆง ๐‘˜ โˆˆ ๐ต ) โ†’ if ( ๐‘˜ โˆˆ ๐ต , ๐ถ , 1 ) โˆˆ โ„‚ )
26 eldifn โŠข ( ๐‘˜ โˆˆ ( ๐‘ˆ โˆ– ๐ต ) โ†’ ยฌ ๐‘˜ โˆˆ ๐ต )
27 26 iffalsed โŠข ( ๐‘˜ โˆˆ ( ๐‘ˆ โˆ– ๐ต ) โ†’ if ( ๐‘˜ โˆˆ ๐ต , ๐ถ , 1 ) = 1 )
28 27 adantl โŠข ( ( ๐œ‘ โˆง ๐‘˜ โˆˆ ( ๐‘ˆ โˆ– ๐ต ) ) โ†’ if ( ๐‘˜ โˆˆ ๐ต , ๐ถ , 1 ) = 1 )
29 21 25 28 3 fprodss โŠข ( ๐œ‘ โ†’ โˆ ๐‘˜ โˆˆ ๐ต if ( ๐‘˜ โˆˆ ๐ต , ๐ถ , 1 ) = โˆ ๐‘˜ โˆˆ ๐‘ˆ if ( ๐‘˜ โˆˆ ๐ต , ๐ถ , 1 ) )
30 19 29 eqtr3id โŠข ( ๐œ‘ โ†’ โˆ ๐‘˜ โˆˆ ๐ต ๐ถ = โˆ ๐‘˜ โˆˆ ๐‘ˆ if ( ๐‘˜ โˆˆ ๐ต , ๐ถ , 1 ) )
31 17 30 oveq12d โŠข ( ๐œ‘ โ†’ ( โˆ ๐‘˜ โˆˆ ๐ด ๐ถ ยท โˆ ๐‘˜ โˆˆ ๐ต ๐ถ ) = ( โˆ ๐‘˜ โˆˆ ๐‘ˆ if ( ๐‘˜ โˆˆ ๐ด , ๐ถ , 1 ) ยท โˆ ๐‘˜ โˆˆ ๐‘ˆ if ( ๐‘˜ โˆˆ ๐ต , ๐ถ , 1 ) ) )
32 ax-1cn โŠข 1 โˆˆ โ„‚
33 ifcl โŠข ( ( ๐ถ โˆˆ โ„‚ โˆง 1 โˆˆ โ„‚ ) โ†’ if ( ๐‘˜ โˆˆ ๐ด , ๐ถ , 1 ) โˆˆ โ„‚ )
34 4 32 33 sylancl โŠข ( ( ๐œ‘ โˆง ๐‘˜ โˆˆ ๐‘ˆ ) โ†’ if ( ๐‘˜ โˆˆ ๐ด , ๐ถ , 1 ) โˆˆ โ„‚ )
35 ifcl โŠข ( ( ๐ถ โˆˆ โ„‚ โˆง 1 โˆˆ โ„‚ ) โ†’ if ( ๐‘˜ โˆˆ ๐ต , ๐ถ , 1 ) โˆˆ โ„‚ )
36 4 32 35 sylancl โŠข ( ( ๐œ‘ โˆง ๐‘˜ โˆˆ ๐‘ˆ ) โ†’ if ( ๐‘˜ โˆˆ ๐ต , ๐ถ , 1 ) โˆˆ โ„‚ )
37 3 34 36 fprodmul โŠข ( ๐œ‘ โ†’ โˆ ๐‘˜ โˆˆ ๐‘ˆ ( if ( ๐‘˜ โˆˆ ๐ด , ๐ถ , 1 ) ยท if ( ๐‘˜ โˆˆ ๐ต , ๐ถ , 1 ) ) = ( โˆ ๐‘˜ โˆˆ ๐‘ˆ if ( ๐‘˜ โˆˆ ๐ด , ๐ถ , 1 ) ยท โˆ ๐‘˜ โˆˆ ๐‘ˆ if ( ๐‘˜ โˆˆ ๐ต , ๐ถ , 1 ) ) )
38 2 eleq2d โŠข ( ๐œ‘ โ†’ ( ๐‘˜ โˆˆ ๐‘ˆ โ†” ๐‘˜ โˆˆ ( ๐ด โˆช ๐ต ) ) )
39 elun โŠข ( ๐‘˜ โˆˆ ( ๐ด โˆช ๐ต ) โ†” ( ๐‘˜ โˆˆ ๐ด โˆจ ๐‘˜ โˆˆ ๐ต ) )
40 38 39 bitrdi โŠข ( ๐œ‘ โ†’ ( ๐‘˜ โˆˆ ๐‘ˆ โ†” ( ๐‘˜ โˆˆ ๐ด โˆจ ๐‘˜ โˆˆ ๐ต ) ) )
41 40 biimpa โŠข ( ( ๐œ‘ โˆง ๐‘˜ โˆˆ ๐‘ˆ ) โ†’ ( ๐‘˜ โˆˆ ๐ด โˆจ ๐‘˜ โˆˆ ๐ต ) )
42 disjel โŠข ( ( ( ๐ด โˆฉ ๐ต ) = โˆ… โˆง ๐‘˜ โˆˆ ๐ด ) โ†’ ยฌ ๐‘˜ โˆˆ ๐ต )
43 1 42 sylan โŠข ( ( ๐œ‘ โˆง ๐‘˜ โˆˆ ๐ด ) โ†’ ยฌ ๐‘˜ โˆˆ ๐ต )
44 43 iffalsed โŠข ( ( ๐œ‘ โˆง ๐‘˜ โˆˆ ๐ด ) โ†’ if ( ๐‘˜ โˆˆ ๐ต , ๐ถ , 1 ) = 1 )
45 9 44 oveq12d โŠข ( ( ๐œ‘ โˆง ๐‘˜ โˆˆ ๐ด ) โ†’ ( if ( ๐‘˜ โˆˆ ๐ด , ๐ถ , 1 ) ยท if ( ๐‘˜ โˆˆ ๐ต , ๐ถ , 1 ) ) = ( ๐ถ ยท 1 ) )
46 11 mulridd โŠข ( ( ๐œ‘ โˆง ๐‘˜ โˆˆ ๐ด ) โ†’ ( ๐ถ ยท 1 ) = ๐ถ )
47 45 46 eqtrd โŠข ( ( ๐œ‘ โˆง ๐‘˜ โˆˆ ๐ด ) โ†’ ( if ( ๐‘˜ โˆˆ ๐ด , ๐ถ , 1 ) ยท if ( ๐‘˜ โˆˆ ๐ต , ๐ถ , 1 ) ) = ๐ถ )
48 43 ex โŠข ( ๐œ‘ โ†’ ( ๐‘˜ โˆˆ ๐ด โ†’ ยฌ ๐‘˜ โˆˆ ๐ต ) )
49 48 con2d โŠข ( ๐œ‘ โ†’ ( ๐‘˜ โˆˆ ๐ต โ†’ ยฌ ๐‘˜ โˆˆ ๐ด ) )
50 49 imp โŠข ( ( ๐œ‘ โˆง ๐‘˜ โˆˆ ๐ต ) โ†’ ยฌ ๐‘˜ โˆˆ ๐ด )
51 50 iffalsed โŠข ( ( ๐œ‘ โˆง ๐‘˜ โˆˆ ๐ต ) โ†’ if ( ๐‘˜ โˆˆ ๐ด , ๐ถ , 1 ) = 1 )
52 51 22 oveq12d โŠข ( ( ๐œ‘ โˆง ๐‘˜ โˆˆ ๐ต ) โ†’ ( if ( ๐‘˜ โˆˆ ๐ด , ๐ถ , 1 ) ยท if ( ๐‘˜ โˆˆ ๐ต , ๐ถ , 1 ) ) = ( 1 ยท ๐ถ ) )
53 24 mullidd โŠข ( ( ๐œ‘ โˆง ๐‘˜ โˆˆ ๐ต ) โ†’ ( 1 ยท ๐ถ ) = ๐ถ )
54 52 53 eqtrd โŠข ( ( ๐œ‘ โˆง ๐‘˜ โˆˆ ๐ต ) โ†’ ( if ( ๐‘˜ โˆˆ ๐ด , ๐ถ , 1 ) ยท if ( ๐‘˜ โˆˆ ๐ต , ๐ถ , 1 ) ) = ๐ถ )
55 47 54 jaodan โŠข ( ( ๐œ‘ โˆง ( ๐‘˜ โˆˆ ๐ด โˆจ ๐‘˜ โˆˆ ๐ต ) ) โ†’ ( if ( ๐‘˜ โˆˆ ๐ด , ๐ถ , 1 ) ยท if ( ๐‘˜ โˆˆ ๐ต , ๐ถ , 1 ) ) = ๐ถ )
56 41 55 syldan โŠข ( ( ๐œ‘ โˆง ๐‘˜ โˆˆ ๐‘ˆ ) โ†’ ( if ( ๐‘˜ โˆˆ ๐ด , ๐ถ , 1 ) ยท if ( ๐‘˜ โˆˆ ๐ต , ๐ถ , 1 ) ) = ๐ถ )
57 56 prodeq2dv โŠข ( ๐œ‘ โ†’ โˆ ๐‘˜ โˆˆ ๐‘ˆ ( if ( ๐‘˜ โˆˆ ๐ด , ๐ถ , 1 ) ยท if ( ๐‘˜ โˆˆ ๐ต , ๐ถ , 1 ) ) = โˆ ๐‘˜ โˆˆ ๐‘ˆ ๐ถ )
58 31 37 57 3eqtr2rd โŠข ( ๐œ‘ โ†’ โˆ ๐‘˜ โˆˆ ๐‘ˆ ๐ถ = ( โˆ ๐‘˜ โˆˆ ๐ด ๐ถ ยท โˆ ๐‘˜ โˆˆ ๐ต ๐ถ ) )