Metamath Proof Explorer


Theorem fprodmodd

Description: If all factors of two finite products are equal modulo M , the products are equal modulo M . (Contributed by AV, 7-Jul-2021)

Ref Expression
Hypotheses fprodmodd.a φAFin
fprodmodd.b φkAB
fprodmodd.c φkAC
fprodmodd.m φM
fprodmodd.p φkABmodM=CmodM
Assertion fprodmodd φkABmodM=kACmodM

Proof

Step Hyp Ref Expression
1 fprodmodd.a φAFin
2 fprodmodd.b φkAB
3 fprodmodd.c φkAC
4 fprodmodd.m φM
5 fprodmodd.p φkABmodM=CmodM
6 prodeq1 x=kxB=kB
7 6 oveq1d x=kxBmodM=kBmodM
8 prodeq1 x=kxC=kC
9 8 oveq1d x=kxCmodM=kCmodM
10 7 9 eqeq12d x=kxBmodM=kxCmodMkBmodM=kCmodM
11 prodeq1 x=ykxB=kyB
12 11 oveq1d x=ykxBmodM=kyBmodM
13 prodeq1 x=ykxC=kyC
14 13 oveq1d x=ykxCmodM=kyCmodM
15 12 14 eqeq12d x=ykxBmodM=kxCmodMkyBmodM=kyCmodM
16 prodeq1 x=yikxB=kyiB
17 16 oveq1d x=yikxBmodM=kyiBmodM
18 prodeq1 x=yikxC=kyiC
19 18 oveq1d x=yikxCmodM=kyiCmodM
20 17 19 eqeq12d x=yikxBmodM=kxCmodMkyiBmodM=kyiCmodM
21 prodeq1 x=AkxB=kAB
22 21 oveq1d x=AkxBmodM=kABmodM
23 prodeq1 x=AkxC=kAC
24 23 oveq1d x=AkxCmodM=kACmodM
25 22 24 eqeq12d x=AkxBmodM=kxCmodMkABmodM=kACmodM
26 prod0 kB=1
27 26 a1i φkB=1
28 27 oveq1d φkBmodM=1modM
29 prod0 kC=1
30 29 eqcomi 1=kC
31 30 oveq1i 1modM=kCmodM
32 28 31 eqtrdi φkBmodM=kCmodM
33 nfv kφyAiAy
34 nfcsb1v _ki/kB
35 ssfi AFinyAyFin
36 35 ex AFinyAyFin
37 36 1 syl11 yAφyFin
38 37 adantr yAiAyφyFin
39 38 impcom φyAiAyyFin
40 simpr yAiAyiAy
41 40 adantl φyAiAyiAy
42 eldifn iAy¬iy
43 42 adantl yAiAy¬iy
44 43 adantl φyAiAy¬iy
45 simpll φyAiAykyφ
46 ssel yAkykA
47 46 adantr yAiAykykA
48 47 adantl φyAiAykykA
49 48 imp φyAiAykykA
50 45 49 2 syl2anc φyAiAykyB
51 50 zcnd φyAiAykyB
52 csbeq1a k=iB=i/kB
53 eldifi iAyiA
54 53 adantl yAiAyiA
55 2 ralrimiva φkAB
56 rspcsbela iAkABi/kB
57 54 55 56 syl2anr φyAiAyi/kB
58 57 zcnd φyAiAyi/kB
59 33 34 39 41 44 51 52 58 fprodsplitsn φyAiAykyiB=kyBi/kB
60 59 oveq1d φyAiAykyiBmodM=kyBi/kBmodM
61 60 adantr φyAiAykyBmodM=kyCmodMkyiBmodM=kyBi/kBmodM
62 39 50 fprodzcl φyAiAykyB
63 62 adantr φyAiAykyBmodM=kyCmodMkyB
64 45 49 3 syl2anc φyAiAykyC
65 39 64 fprodzcl φyAiAykyC
66 65 adantr φyAiAykyBmodM=kyCmodMkyC
67 57 adantr φyAiAykyBmodM=kyCmodMi/kB
68 3 ralrimiva φkAC
69 rspcsbela iAkACi/kC
70 54 68 69 syl2anr φyAiAyi/kC
71 70 adantr φyAiAykyBmodM=kyCmodMi/kC
72 4 nnrpd φM+
73 72 adantr φyAiAyM+
74 73 adantr φyAiAykyBmodM=kyCmodMM+
75 simpr φyAiAykyBmodM=kyCmodMkyBmodM=kyCmodM
76 5 ralrimiva φkABmodM=CmodM
77 rspsbca iAkABmodM=CmodM[˙i/k]˙BmodM=CmodM
78 54 76 77 syl2anr φyAiAy[˙i/k]˙BmodM=CmodM
79 vex iV
80 sbceqg iV[˙i/k]˙BmodM=CmodMi/kBmodM=i/kCmodM
81 79 80 mp1i φyAiAy[˙i/k]˙BmodM=CmodMi/kBmodM=i/kCmodM
82 78 81 mpbid φyAiAyi/kBmodM=i/kCmodM
83 csbov1g iVi/kBmodM=i/kBmodM
84 83 elv i/kBmodM=i/kBmodM
85 csbov1g iVi/kCmodM=i/kCmodM
86 85 elv i/kCmodM=i/kCmodM
87 82 84 86 3eqtr3g φyAiAyi/kBmodM=i/kCmodM
88 87 adantr φyAiAykyBmodM=kyCmodMi/kBmodM=i/kCmodM
89 63 66 67 71 74 75 88 modmul12d φyAiAykyBmodM=kyCmodMkyBi/kBmodM=kyCi/kCmodM
90 nfcsb1v _ki/kC
91 64 zcnd φyAiAykyC
92 csbeq1a k=iC=i/kC
93 70 zcnd φyAiAyi/kC
94 33 90 39 41 44 91 92 93 fprodsplitsn φyAiAykyiC=kyCi/kC
95 94 oveq1d φyAiAykyiCmodM=kyCi/kCmodM
96 95 eqcomd φyAiAykyCi/kCmodM=kyiCmodM
97 96 adantr φyAiAykyBmodM=kyCmodMkyCi/kCmodM=kyiCmodM
98 61 89 97 3eqtrd φyAiAykyBmodM=kyCmodMkyiBmodM=kyiCmodM
99 98 ex φyAiAykyBmodM=kyCmodMkyiBmodM=kyiCmodM
100 10 15 20 25 32 99 1 findcard2d φkABmodM=kACmodM