Metamath Proof Explorer


Theorem prodss

Description: Change the index set to a subset in an upper integer product. (Contributed by Scott Fenton, 11-Dec-2017)

Ref Expression
Hypotheses prodss.1 ⊢ φ → A ⊆ B
prodss.2 ⊢ φ ∧ k ∈ A → C ∈ ℂ
prodss.3 ⊢ φ → ∃ n ∈ ℤ ≥ M ∃ y y ≠ 0 ∧ seq n × k ∈ ℤ ≥ M ⟼ if k ∈ B C 1 ⇝ y
prodss.4 ⊢ φ ∧ k ∈ B ∖ A → C = 1
prodss.5 ⊢ φ → B ⊆ ℤ ≥ M
Assertion prodss ⊢ φ → ∏ k ∈ A C = ∏ k ∈ B C

Proof

Step Hyp Ref Expression
1 prodss.1 ⊢ φ → A ⊆ B
2 prodss.2 ⊢ φ ∧ k ∈ A → C ∈ ℂ
3 prodss.3 ⊢ φ → ∃ n ∈ ℤ ≥ M ∃ y y ≠ 0 ∧ seq n × k ∈ ℤ ≥ M ⟼ if k ∈ B C 1 ⇝ y
4 prodss.4 ⊢ φ ∧ k ∈ B ∖ A → C = 1
5 prodss.5 ⊢ φ → B ⊆ ℤ ≥ M
6 eqid ⊢ ℤ ≥ M = ℤ ≥ M
7 simpr ⊢ φ ∧ M ∈ ℤ → M ∈ ℤ
8 3 adantr ⊢ φ ∧ M ∈ ℤ → ∃ n ∈ ℤ ≥ M ∃ y y ≠ 0 ∧ seq n × k ∈ ℤ ≥ M ⟼ if k ∈ B C 1 ⇝ y
9 1 5 sstrd ⊢ φ → A ⊆ ℤ ≥ M
10 9 adantr ⊢ φ ∧ M ∈ ℤ → A ⊆ ℤ ≥ M
11 simpr ⊢ φ ∧ M ∈ ℤ ∧ m ∈ ℤ ≥ M → m ∈ ℤ ≥ M
12 iftrue ⊢ m ∈ B → if m ∈ B ⦋ m / k⦌ C 1 = ⦋ m / k⦌ C
13 12 adantl ⊢ φ ∧ m ∈ B → if m ∈ B ⦋ m / k⦌ C 1 = ⦋ m / k⦌ C
14 2 ex ⊢ φ → k ∈ A → C ∈ ℂ
15 14 adantr ⊢ φ ∧ k ∈ B → k ∈ A → C ∈ ℂ
16 eldif ⊢ k ∈ B ∖ A ↔ k ∈ B ∧ ¬ k ∈ A
17 ax-1cn ⊢ 1 ∈ ℂ
18 4 17 eqeltrdi ⊢ φ ∧ k ∈ B ∖ A → C ∈ ℂ
19 16 18 sylan2br ⊢ φ ∧ k ∈ B ∧ ¬ k ∈ A → C ∈ ℂ
20 19 expr ⊢ φ ∧ k ∈ B → ¬ k ∈ A → C ∈ ℂ
21 15 20 pm2.61d ⊢ φ ∧ k ∈ B → C ∈ ℂ
22 21 ralrimiva ⊢ φ → ∀ k ∈ B C ∈ ℂ
23 nfcsb1v ⊢ Ⅎ _ k ⦋ m / k⦌ C
24 23 nfel1 ⊢ Ⅎ k ⦋ m / k⦌ C ∈ ℂ
25 csbeq1a ⊢ k = m → C = ⦋ m / k⦌ C
26 25 eleq1d ⊢ k = m → C ∈ ℂ ↔ ⦋ m / k⦌ C ∈ ℂ
27 24 26 rspc ⊢ m ∈ B → ∀ k ∈ B C ∈ ℂ → ⦋ m / k⦌ C ∈ ℂ
28 22 27 mpan9 ⊢ φ ∧ m ∈ B → ⦋ m / k⦌ C ∈ ℂ
29 13 28 eqeltrd ⊢ φ ∧ m ∈ B → if m ∈ B ⦋ m / k⦌ C 1 ∈ ℂ
30 iffalse ⊢ ¬ m ∈ B → if m ∈ B ⦋ m / k⦌ C 1 = 1
31 30 17 eqeltrdi ⊢ ¬ m ∈ B → if m ∈ B ⦋ m / k⦌ C 1 ∈ ℂ
32 31 adantl ⊢ φ ∧ ¬ m ∈ B → if m ∈ B ⦋ m / k⦌ C 1 ∈ ℂ
33 29 32 pm2.61dan ⊢ φ → if m ∈ B ⦋ m / k⦌ C 1 ∈ ℂ
34 33 adantr ⊢ φ ∧ M ∈ ℤ → if m ∈ B ⦋ m / k⦌ C 1 ∈ ℂ
35 34 adantr ⊢ φ ∧ M ∈ ℤ ∧ m ∈ ℤ ≥ M → if m ∈ B ⦋ m / k⦌ C 1 ∈ ℂ
36 nfcv ⊢ Ⅎ _ k m
37 nfv ⊢ Ⅎ k m ∈ B
38 nfcv ⊢ Ⅎ _ k 1
39 37 23 38 nfif ⊢ Ⅎ _ k if m ∈ B ⦋ m / k⦌ C 1
40 eleq1w ⊢ k = m → k ∈ B ↔ m ∈ B
41 40 25 ifbieq1d ⊢ k = m → if k ∈ B C 1 = if m ∈ B ⦋ m / k⦌ C 1
42 eqid ⊢ k ∈ ℤ ≥ M ⟼ if k ∈ B C 1 = k ∈ ℤ ≥ M ⟼ if k ∈ B C 1
43 36 39 41 42 fvmptf ⊢ m ∈ ℤ ≥ M ∧ if m ∈ B ⦋ m / k⦌ C 1 ∈ ℂ → k ∈ ℤ ≥ M ⟼ if k ∈ B C 1 ⁡ m = if m ∈ B ⦋ m / k⦌ C 1
44 11 35 43 syl2anc ⊢ φ ∧ M ∈ ℤ ∧ m ∈ ℤ ≥ M → k ∈ ℤ ≥ M ⟼ if k ∈ B C 1 ⁡ m = if m ∈ B ⦋ m / k⦌ C 1
45 iftrue ⊢ m ∈ A → if m ∈ A k ∈ A ⟼ C ⁡ m 1 = k ∈ A ⟼ C ⁡ m
46 45 adantl ⊢ φ ∧ M ∈ ℤ ∧ m ∈ A → if m ∈ A k ∈ A ⟼ C ⁡ m 1 = k ∈ A ⟼ C ⁡ m
47 simpr ⊢ φ ∧ M ∈ ℤ ∧ m ∈ A → m ∈ A
48 1 adantr ⊢ φ ∧ M ∈ ℤ → A ⊆ B
49 48 sselda ⊢ φ ∧ M ∈ ℤ ∧ m ∈ A → m ∈ B
50 28 adantlr ⊢ φ ∧ M ∈ ℤ ∧ m ∈ B → ⦋ m / k⦌ C ∈ ℂ
51 49 50 syldan ⊢ φ ∧ M ∈ ℤ ∧ m ∈ A → ⦋ m / k⦌ C ∈ ℂ
52 eqid ⊢ k ∈ A ⟼ C = k ∈ A ⟼ C
53 52 fvmpts ⊢ m ∈ A ∧ ⦋ m / k⦌ C ∈ ℂ → k ∈ A ⟼ C ⁡ m = ⦋ m / k⦌ C
54 47 51 53 syl2anc ⊢ φ ∧ M ∈ ℤ ∧ m ∈ A → k ∈ A ⟼ C ⁡ m = ⦋ m / k⦌ C
55 46 54 eqtrd ⊢ φ ∧ M ∈ ℤ ∧ m ∈ A → if m ∈ A k ∈ A ⟼ C ⁡ m 1 = ⦋ m / k⦌ C
56 55 ex ⊢ φ ∧ M ∈ ℤ → m ∈ A → if m ∈ A k ∈ A ⟼ C ⁡ m 1 = ⦋ m / k⦌ C
57 56 adantr ⊢ φ ∧ M ∈ ℤ ∧ m ∈ B → m ∈ A → if m ∈ A k ∈ A ⟼ C ⁡ m 1 = ⦋ m / k⦌ C
58 iffalse ⊢ ¬ m ∈ A → if m ∈ A k ∈ A ⟼ C ⁡ m 1 = 1
59 58 adantl ⊢ m ∈ B ∧ ¬ m ∈ A → if m ∈ A k ∈ A ⟼ C ⁡ m 1 = 1
60 59 adantl ⊢ φ ∧ M ∈ ℤ ∧ m ∈ B ∧ ¬ m ∈ A → if m ∈ A k ∈ A ⟼ C ⁡ m 1 = 1
61 eldif ⊢ m ∈ B ∖ A ↔ m ∈ B ∧ ¬ m ∈ A
62 4 ralrimiva ⊢ φ → ∀ k ∈ B ∖ A C = 1
63 62 adantr ⊢ φ ∧ M ∈ ℤ → ∀ k ∈ B ∖ A C = 1
64 23 nfeq1 ⊢ Ⅎ k ⦋ m / k⦌ C = 1
65 25 eqeq1d ⊢ k = m → C = 1 ↔ ⦋ m / k⦌ C = 1
66 64 65 rspc ⊢ m ∈ B ∖ A → ∀ k ∈ B ∖ A C = 1 → ⦋ m / k⦌ C = 1
67 63 66 mpan9 ⊢ φ ∧ M ∈ ℤ ∧ m ∈ B ∖ A → ⦋ m / k⦌ C = 1
68 61 67 sylan2br ⊢ φ ∧ M ∈ ℤ ∧ m ∈ B ∧ ¬ m ∈ A → ⦋ m / k⦌ C = 1
69 60 68 eqtr4d ⊢ φ ∧ M ∈ ℤ ∧ m ∈ B ∧ ¬ m ∈ A → if m ∈ A k ∈ A ⟼ C ⁡ m 1 = ⦋ m / k⦌ C
70 69 expr ⊢ φ ∧ M ∈ ℤ ∧ m ∈ B → ¬ m ∈ A → if m ∈ A k ∈ A ⟼ C ⁡ m 1 = ⦋ m / k⦌ C
71 57 70 pm2.61d ⊢ φ ∧ M ∈ ℤ ∧ m ∈ B → if m ∈ A k ∈ A ⟼ C ⁡ m 1 = ⦋ m / k⦌ C
72 12 adantl ⊢ φ ∧ M ∈ ℤ ∧ m ∈ B → if m ∈ B ⦋ m / k⦌ C 1 = ⦋ m / k⦌ C
73 71 72 eqtr4d ⊢ φ ∧ M ∈ ℤ ∧ m ∈ B → if m ∈ A k ∈ A ⟼ C ⁡ m 1 = if m ∈ B ⦋ m / k⦌ C 1
74 48 ssneld ⊢ φ ∧ M ∈ ℤ → ¬ m ∈ B → ¬ m ∈ A
75 74 imp ⊢ φ ∧ M ∈ ℤ ∧ ¬ m ∈ B → ¬ m ∈ A
76 75 58 syl ⊢ φ ∧ M ∈ ℤ ∧ ¬ m ∈ B → if m ∈ A k ∈ A ⟼ C ⁡ m 1 = 1
77 30 adantl ⊢ φ ∧ M ∈ ℤ ∧ ¬ m ∈ B → if m ∈ B ⦋ m / k⦌ C 1 = 1
78 76 77 eqtr4d ⊢ φ ∧ M ∈ ℤ ∧ ¬ m ∈ B → if m ∈ A k ∈ A ⟼ C ⁡ m 1 = if m ∈ B ⦋ m / k⦌ C 1
79 73 78 pm2.61dan ⊢ φ ∧ M ∈ ℤ → if m ∈ A k ∈ A ⟼ C ⁡ m 1 = if m ∈ B ⦋ m / k⦌ C 1
80 79 adantr ⊢ φ ∧ M ∈ ℤ ∧ m ∈ ℤ ≥ M → if m ∈ A k ∈ A ⟼ C ⁡ m 1 = if m ∈ B ⦋ m / k⦌ C 1
81 44 80 eqtr4d ⊢ φ ∧ M ∈ ℤ ∧ m ∈ ℤ ≥ M → k ∈ ℤ ≥ M ⟼ if k ∈ B C 1 ⁡ m = if m ∈ A k ∈ A ⟼ C ⁡ m 1
82 2 fmpttd ⊢ φ → k ∈ A ⟼ C : A ⟶ ℂ
83 82 adantr ⊢ φ ∧ M ∈ ℤ → k ∈ A ⟼ C : A ⟶ ℂ
84 83 ffvelcdmda ⊢ φ ∧ M ∈ ℤ ∧ m ∈ A → k ∈ A ⟼ C ⁡ m ∈ ℂ
85 6 7 8 10 81 84 zprod ⊢ φ ∧ M ∈ ℤ → ∏ m ∈ A k ∈ A ⟼ C ⁡ m = ⇝ ⁡ seq M × k ∈ ℤ ≥ M ⟼ if k ∈ B C 1
86 5 adantr ⊢ φ ∧ M ∈ ℤ → B ⊆ ℤ ≥ M
87 43 ancoms ⊢ if m ∈ B ⦋ m / k⦌ C 1 ∈ ℂ ∧ m ∈ ℤ ≥ M → k ∈ ℤ ≥ M ⟼ if k ∈ B C 1 ⁡ m = if m ∈ B ⦋ m / k⦌ C 1
88 34 87 sylan ⊢ φ ∧ M ∈ ℤ ∧ m ∈ ℤ ≥ M → k ∈ ℤ ≥ M ⟼ if k ∈ B C 1 ⁡ m = if m ∈ B ⦋ m / k⦌ C 1
89 simpr ⊢ φ ∧ M ∈ ℤ ∧ m ∈ B → m ∈ B
90 eqid ⊢ k ∈ B ⟼ C = k ∈ B ⟼ C
91 90 fvmpts ⊢ m ∈ B ∧ ⦋ m / k⦌ C ∈ ℂ → k ∈ B ⟼ C ⁡ m = ⦋ m / k⦌ C
92 89 50 91 syl2anc ⊢ φ ∧ M ∈ ℤ ∧ m ∈ B → k ∈ B ⟼ C ⁡ m = ⦋ m / k⦌ C
93 92 ifeq1d ⊢ φ ∧ M ∈ ℤ ∧ m ∈ B → if m ∈ B k ∈ B ⟼ C ⁡ m 1 = if m ∈ B ⦋ m / k⦌ C 1
94 93 adantlr ⊢ φ ∧ M ∈ ℤ ∧ m ∈ ℤ ≥ M ∧ m ∈ B → if m ∈ B k ∈ B ⟼ C ⁡ m 1 = if m ∈ B ⦋ m / k⦌ C 1
95 iffalse ⊢ ¬ m ∈ B → if m ∈ B k ∈ B ⟼ C ⁡ m 1 = 1
96 95 30 eqtr4d ⊢ ¬ m ∈ B → if m ∈ B k ∈ B ⟼ C ⁡ m 1 = if m ∈ B ⦋ m / k⦌ C 1
97 96 adantl ⊢ φ ∧ M ∈ ℤ ∧ m ∈ ℤ ≥ M ∧ ¬ m ∈ B → if m ∈ B k ∈ B ⟼ C ⁡ m 1 = if m ∈ B ⦋ m / k⦌ C 1
98 94 97 pm2.61dan ⊢ φ ∧ M ∈ ℤ ∧ m ∈ ℤ ≥ M → if m ∈ B k ∈ B ⟼ C ⁡ m 1 = if m ∈ B ⦋ m / k⦌ C 1
99 88 98 eqtr4d ⊢ φ ∧ M ∈ ℤ ∧ m ∈ ℤ ≥ M → k ∈ ℤ ≥ M ⟼ if k ∈ B C 1 ⁡ m = if m ∈ B k ∈ B ⟼ C ⁡ m 1
100 21 fmpttd ⊢ φ → k ∈ B ⟼ C : B ⟶ ℂ
101 100 adantr ⊢ φ ∧ M ∈ ℤ → k ∈ B ⟼ C : B ⟶ ℂ
102 101 ffvelcdmda ⊢ φ ∧ M ∈ ℤ ∧ m ∈ B → k ∈ B ⟼ C ⁡ m ∈ ℂ
103 6 7 8 86 99 102 zprod ⊢ φ ∧ M ∈ ℤ → ∏ m ∈ B k ∈ B ⟼ C ⁡ m = ⇝ ⁡ seq M × k ∈ ℤ ≥ M ⟼ if k ∈ B C 1
104 85 103 eqtr4d ⊢ φ ∧ M ∈ ℤ → ∏ m ∈ A k ∈ A ⟼ C ⁡ m = ∏ m ∈ B k ∈ B ⟼ C ⁡ m
105 prodfc ⊢ ∏ m ∈ A k ∈ A ⟼ C ⁡ m = ∏ k ∈ A C
106 prodfc ⊢ ∏ m ∈ B k ∈ B ⟼ C ⁡ m = ∏ k ∈ B C
107 104 105 106 3eqtr3g ⊢ φ ∧ M ∈ ℤ → ∏ k ∈ A C = ∏ k ∈ B C
108 1 adantr ⊢ φ ∧ ¬ M ∈ ℤ → A ⊆ B
109 5 adantr ⊢ φ ∧ ¬ M ∈ ℤ → B ⊆ ℤ ≥ M
110 uzf ⊢ ℤ ≥ : ℤ ⟶ 𝒫 ℤ
111 110 fdmi ⊢ dom ⁡ ℤ ≥ = ℤ
112 111 eleq2i ⊢ M ∈ dom ⁡ ℤ ≥ ↔ M ∈ ℤ
113 ndmfv ⊢ ¬ M ∈ dom ⁡ ℤ ≥ → ℤ ≥ M = ∅
114 112 113 sylnbir ⊢ ¬ M ∈ ℤ → ℤ ≥ M = ∅
115 114 adantl ⊢ φ ∧ ¬ M ∈ ℤ → ℤ ≥ M = ∅
116 109 115 sseqtrd ⊢ φ ∧ ¬ M ∈ ℤ → B ⊆ ∅
117 108 116 sstrd ⊢ φ ∧ ¬ M ∈ ℤ → A ⊆ ∅
118 ss0 ⊢ A ⊆ ∅ → A = ∅
119 117 118 syl ⊢ φ ∧ ¬ M ∈ ℤ → A = ∅
120 ss0 ⊢ B ⊆ ∅ → B = ∅
121 116 120 syl ⊢ φ ∧ ¬ M ∈ ℤ → B = ∅
122 119 121 eqtr4d ⊢ φ ∧ ¬ M ∈ ℤ → A = B
123 122 prodeq1d ⊢ φ ∧ ¬ M ∈ ℤ → ∏ k ∈ A C = ∏ k ∈ B C
124 107 123 pm2.61dan ⊢ φ → ∏ k ∈ A C = ∏ k ∈ B C