Metamath Proof Explorer


Theorem hashreprin

Description: Express a sum of representations over an intersection using a product of the indicator function. (Contributed by Thierry Arnoux, 11-Dec-2021)

Ref Expression
Hypotheses reprval.a โŠข ( ๐œ‘ โ†’ ๐ด โŠ† โ„• )
reprval.m โŠข ( ๐œ‘ โ†’ ๐‘€ โˆˆ โ„ค )
reprval.s โŠข ( ๐œ‘ โ†’ ๐‘† โˆˆ โ„•0 )
hashreprin.b โŠข ( ๐œ‘ โ†’ ๐ต โˆˆ Fin )
hashreprin.1 โŠข ( ๐œ‘ โ†’ ๐ต โŠ† โ„• )
Assertion hashreprin ( ๐œ‘ โ†’ ( โ™ฏ โ€˜ ( ( ๐ด โˆฉ ๐ต ) ( repr โ€˜ ๐‘† ) ๐‘€ ) ) = ฮฃ ๐‘ โˆˆ ( ๐ต ( repr โ€˜ ๐‘† ) ๐‘€ ) โˆ ๐‘Ž โˆˆ ( 0 ..^ ๐‘† ) ( ( ( ๐Ÿญ โ€˜ โ„• ) โ€˜ ๐ด ) โ€˜ ( ๐‘ โ€˜ ๐‘Ž ) ) )

Proof

Step Hyp Ref Expression
1 reprval.a โŠข ( ๐œ‘ โ†’ ๐ด โŠ† โ„• )
2 reprval.m โŠข ( ๐œ‘ โ†’ ๐‘€ โˆˆ โ„ค )
3 reprval.s โŠข ( ๐œ‘ โ†’ ๐‘† โˆˆ โ„•0 )
4 hashreprin.b โŠข ( ๐œ‘ โ†’ ๐ต โˆˆ Fin )
5 hashreprin.1 โŠข ( ๐œ‘ โ†’ ๐ต โŠ† โ„• )
6 5 2 3 4 reprfi โŠข ( ๐œ‘ โ†’ ( ๐ต ( repr โ€˜ ๐‘† ) ๐‘€ ) โˆˆ Fin )
7 inss2 โŠข ( ๐ด โˆฉ ๐ต ) โŠ† ๐ต
8 7 a1i โŠข ( ๐œ‘ โ†’ ( ๐ด โˆฉ ๐ต ) โŠ† ๐ต )
9 5 2 3 8 reprss โŠข ( ๐œ‘ โ†’ ( ( ๐ด โˆฉ ๐ต ) ( repr โ€˜ ๐‘† ) ๐‘€ ) โŠ† ( ๐ต ( repr โ€˜ ๐‘† ) ๐‘€ ) )
10 6 9 ssfid โŠข ( ๐œ‘ โ†’ ( ( ๐ด โˆฉ ๐ต ) ( repr โ€˜ ๐‘† ) ๐‘€ ) โˆˆ Fin )
11 1cnd โŠข ( ๐œ‘ โ†’ 1 โˆˆ โ„‚ )
12 fsumconst โŠข ( ( ( ( ๐ด โˆฉ ๐ต ) ( repr โ€˜ ๐‘† ) ๐‘€ ) โˆˆ Fin โˆง 1 โˆˆ โ„‚ ) โ†’ ฮฃ ๐‘ โˆˆ ( ( ๐ด โˆฉ ๐ต ) ( repr โ€˜ ๐‘† ) ๐‘€ ) 1 = ( ( โ™ฏ โ€˜ ( ( ๐ด โˆฉ ๐ต ) ( repr โ€˜ ๐‘† ) ๐‘€ ) ) ยท 1 ) )
13 10 11 12 syl2anc โŠข ( ๐œ‘ โ†’ ฮฃ ๐‘ โˆˆ ( ( ๐ด โˆฉ ๐ต ) ( repr โ€˜ ๐‘† ) ๐‘€ ) 1 = ( ( โ™ฏ โ€˜ ( ( ๐ด โˆฉ ๐ต ) ( repr โ€˜ ๐‘† ) ๐‘€ ) ) ยท 1 ) )
14 11 ralrimivw โŠข ( ๐œ‘ โ†’ โˆ€ ๐‘ โˆˆ ( ( ๐ด โˆฉ ๐ต ) ( repr โ€˜ ๐‘† ) ๐‘€ ) 1 โˆˆ โ„‚ )
15 6 olcd โŠข ( ๐œ‘ โ†’ ( ( ๐ต ( repr โ€˜ ๐‘† ) ๐‘€ ) โŠ† ( โ„คโ‰ฅ โ€˜ 0 ) โˆจ ( ๐ต ( repr โ€˜ ๐‘† ) ๐‘€ ) โˆˆ Fin ) )
16 sumss2 โŠข ( ( ( ( ( ๐ด โˆฉ ๐ต ) ( repr โ€˜ ๐‘† ) ๐‘€ ) โŠ† ( ๐ต ( repr โ€˜ ๐‘† ) ๐‘€ ) โˆง โˆ€ ๐‘ โˆˆ ( ( ๐ด โˆฉ ๐ต ) ( repr โ€˜ ๐‘† ) ๐‘€ ) 1 โˆˆ โ„‚ ) โˆง ( ( ๐ต ( repr โ€˜ ๐‘† ) ๐‘€ ) โŠ† ( โ„คโ‰ฅ โ€˜ 0 ) โˆจ ( ๐ต ( repr โ€˜ ๐‘† ) ๐‘€ ) โˆˆ Fin ) ) โ†’ ฮฃ ๐‘ โˆˆ ( ( ๐ด โˆฉ ๐ต ) ( repr โ€˜ ๐‘† ) ๐‘€ ) 1 = ฮฃ ๐‘ โˆˆ ( ๐ต ( repr โ€˜ ๐‘† ) ๐‘€ ) if ( ๐‘ โˆˆ ( ( ๐ด โˆฉ ๐ต ) ( repr โ€˜ ๐‘† ) ๐‘€ ) , 1 , 0 ) )
17 9 14 15 16 syl21anc โŠข ( ๐œ‘ โ†’ ฮฃ ๐‘ โˆˆ ( ( ๐ด โˆฉ ๐ต ) ( repr โ€˜ ๐‘† ) ๐‘€ ) 1 = ฮฃ ๐‘ โˆˆ ( ๐ต ( repr โ€˜ ๐‘† ) ๐‘€ ) if ( ๐‘ โˆˆ ( ( ๐ด โˆฉ ๐ต ) ( repr โ€˜ ๐‘† ) ๐‘€ ) , 1 , 0 ) )
18 5 2 3 reprinrn โŠข ( ๐œ‘ โ†’ ( ๐‘ โˆˆ ( ( ๐ต โˆฉ ๐ด ) ( repr โ€˜ ๐‘† ) ๐‘€ ) โ†” ( ๐‘ โˆˆ ( ๐ต ( repr โ€˜ ๐‘† ) ๐‘€ ) โˆง ran ๐‘ โŠ† ๐ด ) ) )
19 incom โŠข ( ๐ต โˆฉ ๐ด ) = ( ๐ด โˆฉ ๐ต )
20 19 oveq1i โŠข ( ( ๐ต โˆฉ ๐ด ) ( repr โ€˜ ๐‘† ) ๐‘€ ) = ( ( ๐ด โˆฉ ๐ต ) ( repr โ€˜ ๐‘† ) ๐‘€ )
21 20 eleq2i โŠข ( ๐‘ โˆˆ ( ( ๐ต โˆฉ ๐ด ) ( repr โ€˜ ๐‘† ) ๐‘€ ) โ†” ๐‘ โˆˆ ( ( ๐ด โˆฉ ๐ต ) ( repr โ€˜ ๐‘† ) ๐‘€ ) )
22 21 bibi1i โŠข ( ( ๐‘ โˆˆ ( ( ๐ต โˆฉ ๐ด ) ( repr โ€˜ ๐‘† ) ๐‘€ ) โ†” ( ๐‘ โˆˆ ( ๐ต ( repr โ€˜ ๐‘† ) ๐‘€ ) โˆง ran ๐‘ โŠ† ๐ด ) ) โ†” ( ๐‘ โˆˆ ( ( ๐ด โˆฉ ๐ต ) ( repr โ€˜ ๐‘† ) ๐‘€ ) โ†” ( ๐‘ โˆˆ ( ๐ต ( repr โ€˜ ๐‘† ) ๐‘€ ) โˆง ran ๐‘ โŠ† ๐ด ) ) )
23 22 imbi2i โŠข ( ( ๐œ‘ โ†’ ( ๐‘ โˆˆ ( ( ๐ต โˆฉ ๐ด ) ( repr โ€˜ ๐‘† ) ๐‘€ ) โ†” ( ๐‘ โˆˆ ( ๐ต ( repr โ€˜ ๐‘† ) ๐‘€ ) โˆง ran ๐‘ โŠ† ๐ด ) ) ) โ†” ( ๐œ‘ โ†’ ( ๐‘ โˆˆ ( ( ๐ด โˆฉ ๐ต ) ( repr โ€˜ ๐‘† ) ๐‘€ ) โ†” ( ๐‘ โˆˆ ( ๐ต ( repr โ€˜ ๐‘† ) ๐‘€ ) โˆง ran ๐‘ โŠ† ๐ด ) ) ) )
24 18 23 mpbi โŠข ( ๐œ‘ โ†’ ( ๐‘ โˆˆ ( ( ๐ด โˆฉ ๐ต ) ( repr โ€˜ ๐‘† ) ๐‘€ ) โ†” ( ๐‘ โˆˆ ( ๐ต ( repr โ€˜ ๐‘† ) ๐‘€ ) โˆง ran ๐‘ โŠ† ๐ด ) ) )
25 24 baibd โŠข ( ( ๐œ‘ โˆง ๐‘ โˆˆ ( ๐ต ( repr โ€˜ ๐‘† ) ๐‘€ ) ) โ†’ ( ๐‘ โˆˆ ( ( ๐ด โˆฉ ๐ต ) ( repr โ€˜ ๐‘† ) ๐‘€ ) โ†” ran ๐‘ โŠ† ๐ด ) )
26 25 ifbid โŠข ( ( ๐œ‘ โˆง ๐‘ โˆˆ ( ๐ต ( repr โ€˜ ๐‘† ) ๐‘€ ) ) โ†’ if ( ๐‘ โˆˆ ( ( ๐ด โˆฉ ๐ต ) ( repr โ€˜ ๐‘† ) ๐‘€ ) , 1 , 0 ) = if ( ran ๐‘ โŠ† ๐ด , 1 , 0 ) )
27 nnex โŠข โ„• โˆˆ V
28 27 a1i โŠข ( ๐œ‘ โ†’ โ„• โˆˆ V )
29 28 ralrimivw โŠข ( ๐œ‘ โ†’ โˆ€ ๐‘ โˆˆ ( ๐ต ( repr โ€˜ ๐‘† ) ๐‘€ ) โ„• โˆˆ V )
30 29 r19.21bi โŠข ( ( ๐œ‘ โˆง ๐‘ โˆˆ ( ๐ต ( repr โ€˜ ๐‘† ) ๐‘€ ) ) โ†’ โ„• โˆˆ V )
31 fzofi โŠข ( 0 ..^ ๐‘† ) โˆˆ Fin
32 31 a1i โŠข ( ( ๐œ‘ โˆง ๐‘ โˆˆ ( ๐ต ( repr โ€˜ ๐‘† ) ๐‘€ ) ) โ†’ ( 0 ..^ ๐‘† ) โˆˆ Fin )
33 1 adantr โŠข ( ( ๐œ‘ โˆง ๐‘ โˆˆ ( ๐ต ( repr โ€˜ ๐‘† ) ๐‘€ ) ) โ†’ ๐ด โŠ† โ„• )
34 5 adantr โŠข ( ( ๐œ‘ โˆง ๐‘ โˆˆ ( ๐ต ( repr โ€˜ ๐‘† ) ๐‘€ ) ) โ†’ ๐ต โŠ† โ„• )
35 2 adantr โŠข ( ( ๐œ‘ โˆง ๐‘ โˆˆ ( ๐ต ( repr โ€˜ ๐‘† ) ๐‘€ ) ) โ†’ ๐‘€ โˆˆ โ„ค )
36 3 adantr โŠข ( ( ๐œ‘ โˆง ๐‘ โˆˆ ( ๐ต ( repr โ€˜ ๐‘† ) ๐‘€ ) ) โ†’ ๐‘† โˆˆ โ„•0 )
37 simpr โŠข ( ( ๐œ‘ โˆง ๐‘ โˆˆ ( ๐ต ( repr โ€˜ ๐‘† ) ๐‘€ ) ) โ†’ ๐‘ โˆˆ ( ๐ต ( repr โ€˜ ๐‘† ) ๐‘€ ) )
38 34 35 36 37 reprf โŠข ( ( ๐œ‘ โˆง ๐‘ โˆˆ ( ๐ต ( repr โ€˜ ๐‘† ) ๐‘€ ) ) โ†’ ๐‘ : ( 0 ..^ ๐‘† ) โŸถ ๐ต )
39 38 34 fssd โŠข ( ( ๐œ‘ โˆง ๐‘ โˆˆ ( ๐ต ( repr โ€˜ ๐‘† ) ๐‘€ ) ) โ†’ ๐‘ : ( 0 ..^ ๐‘† ) โŸถ โ„• )
40 30 32 33 39 prodindf โŠข ( ( ๐œ‘ โˆง ๐‘ โˆˆ ( ๐ต ( repr โ€˜ ๐‘† ) ๐‘€ ) ) โ†’ โˆ ๐‘Ž โˆˆ ( 0 ..^ ๐‘† ) ( ( ( ๐Ÿญ โ€˜ โ„• ) โ€˜ ๐ด ) โ€˜ ( ๐‘ โ€˜ ๐‘Ž ) ) = if ( ran ๐‘ โŠ† ๐ด , 1 , 0 ) )
41 26 40 eqtr4d โŠข ( ( ๐œ‘ โˆง ๐‘ โˆˆ ( ๐ต ( repr โ€˜ ๐‘† ) ๐‘€ ) ) โ†’ if ( ๐‘ โˆˆ ( ( ๐ด โˆฉ ๐ต ) ( repr โ€˜ ๐‘† ) ๐‘€ ) , 1 , 0 ) = โˆ ๐‘Ž โˆˆ ( 0 ..^ ๐‘† ) ( ( ( ๐Ÿญ โ€˜ โ„• ) โ€˜ ๐ด ) โ€˜ ( ๐‘ โ€˜ ๐‘Ž ) ) )
42 41 sumeq2dv โŠข ( ๐œ‘ โ†’ ฮฃ ๐‘ โˆˆ ( ๐ต ( repr โ€˜ ๐‘† ) ๐‘€ ) if ( ๐‘ โˆˆ ( ( ๐ด โˆฉ ๐ต ) ( repr โ€˜ ๐‘† ) ๐‘€ ) , 1 , 0 ) = ฮฃ ๐‘ โˆˆ ( ๐ต ( repr โ€˜ ๐‘† ) ๐‘€ ) โˆ ๐‘Ž โˆˆ ( 0 ..^ ๐‘† ) ( ( ( ๐Ÿญ โ€˜ โ„• ) โ€˜ ๐ด ) โ€˜ ( ๐‘ โ€˜ ๐‘Ž ) ) )
43 17 42 eqtrd โŠข ( ๐œ‘ โ†’ ฮฃ ๐‘ โˆˆ ( ( ๐ด โˆฉ ๐ต ) ( repr โ€˜ ๐‘† ) ๐‘€ ) 1 = ฮฃ ๐‘ โˆˆ ( ๐ต ( repr โ€˜ ๐‘† ) ๐‘€ ) โˆ ๐‘Ž โˆˆ ( 0 ..^ ๐‘† ) ( ( ( ๐Ÿญ โ€˜ โ„• ) โ€˜ ๐ด ) โ€˜ ( ๐‘ โ€˜ ๐‘Ž ) ) )
44 hashcl โŠข ( ( ( ๐ด โˆฉ ๐ต ) ( repr โ€˜ ๐‘† ) ๐‘€ ) โˆˆ Fin โ†’ ( โ™ฏ โ€˜ ( ( ๐ด โˆฉ ๐ต ) ( repr โ€˜ ๐‘† ) ๐‘€ ) ) โˆˆ โ„•0 )
45 10 44 syl โŠข ( ๐œ‘ โ†’ ( โ™ฏ โ€˜ ( ( ๐ด โˆฉ ๐ต ) ( repr โ€˜ ๐‘† ) ๐‘€ ) ) โˆˆ โ„•0 )
46 45 nn0cnd โŠข ( ๐œ‘ โ†’ ( โ™ฏ โ€˜ ( ( ๐ด โˆฉ ๐ต ) ( repr โ€˜ ๐‘† ) ๐‘€ ) ) โˆˆ โ„‚ )
47 46 mulridd โŠข ( ๐œ‘ โ†’ ( ( โ™ฏ โ€˜ ( ( ๐ด โˆฉ ๐ต ) ( repr โ€˜ ๐‘† ) ๐‘€ ) ) ยท 1 ) = ( โ™ฏ โ€˜ ( ( ๐ด โˆฉ ๐ต ) ( repr โ€˜ ๐‘† ) ๐‘€ ) ) )
48 13 43 47 3eqtr3rd โŠข ( ๐œ‘ โ†’ ( โ™ฏ โ€˜ ( ( ๐ด โˆฉ ๐ต ) ( repr โ€˜ ๐‘† ) ๐‘€ ) ) = ฮฃ ๐‘ โˆˆ ( ๐ต ( repr โ€˜ ๐‘† ) ๐‘€ ) โˆ ๐‘Ž โˆˆ ( 0 ..^ ๐‘† ) ( ( ( ๐Ÿญ โ€˜ โ„• ) โ€˜ ๐ด ) โ€˜ ( ๐‘ โ€˜ ๐‘Ž ) ) )