Metamath Proof Explorer


Theorem fprodsplit1f

Description: Separate out a term in a finite product. A version of fprodsplit1 using bound-variable hypotheses instead of distinct variable conditions. (Contributed by Glauco Siliprandi, 5-Apr-2020)

Ref Expression
Hypotheses fprodsplit1f.kph โŠข โ„ฒ ๐‘˜ ๐œ‘
fprodsplit1f.fk โŠข ( ๐œ‘ โ†’ โ„ฒ ๐‘˜ ๐ท )
fprodsplit1f.a โŠข ( ๐œ‘ โ†’ ๐ด โˆˆ Fin )
fprodsplit1f.b โŠข ( ( ๐œ‘ โˆง ๐‘˜ โˆˆ ๐ด ) โ†’ ๐ต โˆˆ โ„‚ )
fprodsplit1f.c โŠข ( ๐œ‘ โ†’ ๐ถ โˆˆ ๐ด )
fprodsplit1f.d โŠข ( ( ๐œ‘ โˆง ๐‘˜ = ๐ถ ) โ†’ ๐ต = ๐ท )
Assertion fprodsplit1f ( ๐œ‘ โ†’ โˆ ๐‘˜ โˆˆ ๐ด ๐ต = ( ๐ท ยท โˆ ๐‘˜ โˆˆ ( ๐ด โˆ– { ๐ถ } ) ๐ต ) )

Proof

Step Hyp Ref Expression
1 fprodsplit1f.kph โŠข โ„ฒ ๐‘˜ ๐œ‘
2 fprodsplit1f.fk โŠข ( ๐œ‘ โ†’ โ„ฒ ๐‘˜ ๐ท )
3 fprodsplit1f.a โŠข ( ๐œ‘ โ†’ ๐ด โˆˆ Fin )
4 fprodsplit1f.b โŠข ( ( ๐œ‘ โˆง ๐‘˜ โˆˆ ๐ด ) โ†’ ๐ต โˆˆ โ„‚ )
5 fprodsplit1f.c โŠข ( ๐œ‘ โ†’ ๐ถ โˆˆ ๐ด )
6 fprodsplit1f.d โŠข ( ( ๐œ‘ โˆง ๐‘˜ = ๐ถ ) โ†’ ๐ต = ๐ท )
7 disjdif โŠข ( { ๐ถ } โˆฉ ( ๐ด โˆ– { ๐ถ } ) ) = โˆ…
8 7 a1i โŠข ( ๐œ‘ โ†’ ( { ๐ถ } โˆฉ ( ๐ด โˆ– { ๐ถ } ) ) = โˆ… )
9 5 snssd โŠข ( ๐œ‘ โ†’ { ๐ถ } โŠ† ๐ด )
10 undif โŠข ( { ๐ถ } โŠ† ๐ด โ†” ( { ๐ถ } โˆช ( ๐ด โˆ– { ๐ถ } ) ) = ๐ด )
11 9 10 sylib โŠข ( ๐œ‘ โ†’ ( { ๐ถ } โˆช ( ๐ด โˆ– { ๐ถ } ) ) = ๐ด )
12 11 eqcomd โŠข ( ๐œ‘ โ†’ ๐ด = ( { ๐ถ } โˆช ( ๐ด โˆ– { ๐ถ } ) ) )
13 1 8 12 3 4 fprodsplitf โŠข ( ๐œ‘ โ†’ โˆ ๐‘˜ โˆˆ ๐ด ๐ต = ( โˆ ๐‘˜ โˆˆ { ๐ถ } ๐ต ยท โˆ ๐‘˜ โˆˆ ( ๐ด โˆ– { ๐ถ } ) ๐ต ) )
14 5 ancli โŠข ( ๐œ‘ โ†’ ( ๐œ‘ โˆง ๐ถ โˆˆ ๐ด ) )
15 nfv โŠข โ„ฒ ๐‘˜ ๐ถ โˆˆ ๐ด
16 1 15 nfan โŠข โ„ฒ ๐‘˜ ( ๐œ‘ โˆง ๐ถ โˆˆ ๐ด )
17 nfcsb1v โŠข โ„ฒ ๐‘˜ โฆ‹ ๐ถ / ๐‘˜ โฆŒ ๐ต
18 17 nfel1 โŠข โ„ฒ ๐‘˜ โฆ‹ ๐ถ / ๐‘˜ โฆŒ ๐ต โˆˆ โ„‚
19 16 18 nfim โŠข โ„ฒ ๐‘˜ ( ( ๐œ‘ โˆง ๐ถ โˆˆ ๐ด ) โ†’ โฆ‹ ๐ถ / ๐‘˜ โฆŒ ๐ต โˆˆ โ„‚ )
20 eleq1 โŠข ( ๐‘˜ = ๐ถ โ†’ ( ๐‘˜ โˆˆ ๐ด โ†” ๐ถ โˆˆ ๐ด ) )
21 20 anbi2d โŠข ( ๐‘˜ = ๐ถ โ†’ ( ( ๐œ‘ โˆง ๐‘˜ โˆˆ ๐ด ) โ†” ( ๐œ‘ โˆง ๐ถ โˆˆ ๐ด ) ) )
22 csbeq1a โŠข ( ๐‘˜ = ๐ถ โ†’ ๐ต = โฆ‹ ๐ถ / ๐‘˜ โฆŒ ๐ต )
23 22 eleq1d โŠข ( ๐‘˜ = ๐ถ โ†’ ( ๐ต โˆˆ โ„‚ โ†” โฆ‹ ๐ถ / ๐‘˜ โฆŒ ๐ต โˆˆ โ„‚ ) )
24 21 23 imbi12d โŠข ( ๐‘˜ = ๐ถ โ†’ ( ( ( ๐œ‘ โˆง ๐‘˜ โˆˆ ๐ด ) โ†’ ๐ต โˆˆ โ„‚ ) โ†” ( ( ๐œ‘ โˆง ๐ถ โˆˆ ๐ด ) โ†’ โฆ‹ ๐ถ / ๐‘˜ โฆŒ ๐ต โˆˆ โ„‚ ) ) )
25 19 24 4 vtoclg1f โŠข ( ๐ถ โˆˆ ๐ด โ†’ ( ( ๐œ‘ โˆง ๐ถ โˆˆ ๐ด ) โ†’ โฆ‹ ๐ถ / ๐‘˜ โฆŒ ๐ต โˆˆ โ„‚ ) )
26 5 14 25 sylc โŠข ( ๐œ‘ โ†’ โฆ‹ ๐ถ / ๐‘˜ โฆŒ ๐ต โˆˆ โ„‚ )
27 prodsns โŠข ( ( ๐ถ โˆˆ ๐ด โˆง โฆ‹ ๐ถ / ๐‘˜ โฆŒ ๐ต โˆˆ โ„‚ ) โ†’ โˆ ๐‘˜ โˆˆ { ๐ถ } ๐ต = โฆ‹ ๐ถ / ๐‘˜ โฆŒ ๐ต )
28 5 26 27 syl2anc โŠข ( ๐œ‘ โ†’ โˆ ๐‘˜ โˆˆ { ๐ถ } ๐ต = โฆ‹ ๐ถ / ๐‘˜ โฆŒ ๐ต )
29 1 2 5 6 csbiedf โŠข ( ๐œ‘ โ†’ โฆ‹ ๐ถ / ๐‘˜ โฆŒ ๐ต = ๐ท )
30 28 29 eqtrd โŠข ( ๐œ‘ โ†’ โˆ ๐‘˜ โˆˆ { ๐ถ } ๐ต = ๐ท )
31 30 oveq1d โŠข ( ๐œ‘ โ†’ ( โˆ ๐‘˜ โˆˆ { ๐ถ } ๐ต ยท โˆ ๐‘˜ โˆˆ ( ๐ด โˆ– { ๐ถ } ) ๐ต ) = ( ๐ท ยท โˆ ๐‘˜ โˆˆ ( ๐ด โˆ– { ๐ถ } ) ๐ต ) )
32 13 31 eqtrd โŠข ( ๐œ‘ โ†’ โˆ ๐‘˜ โˆˆ ๐ด ๐ต = ( ๐ท ยท โˆ ๐‘˜ โˆˆ ( ๐ด โˆ– { ๐ถ } ) ๐ต ) )