Metamath Proof Explorer


Theorem fproddiv

Description: The quotient of two finite products. (Contributed by Scott Fenton, 15-Jan-2018)

Ref Expression
Hypotheses fprodmul.1 ⊢ φ → A ∈ Fin
fprodmul.2 ⊢ φ ∧ k ∈ A → B ∈ ℂ
fprodmul.3 ⊢ φ ∧ k ∈ A → C ∈ ℂ
fproddiv.4 ⊢ φ ∧ k ∈ A → C ≠ 0
Assertion fproddiv ⊢ φ → ∏ k ∈ A B C = ∏ k ∈ A B ∏ k ∈ A C

Proof

Step Hyp Ref Expression
1 fprodmul.1 ⊢ φ → A ∈ Fin
2 fprodmul.2 ⊢ φ ∧ k ∈ A → B ∈ ℂ
3 fprodmul.3 ⊢ φ ∧ k ∈ A → C ∈ ℂ
4 fproddiv.4 ⊢ φ ∧ k ∈ A → C ≠ 0
5 1div1e1 ⊢ 1 1 = 1
6 5 eqcomi ⊢ 1 = 1 1
7 prodeq1 ⊢ A = ∅ → ∏ k ∈ A B C = ∏ k ∈ ∅ B C
8 prod0 ⊢ ∏ k ∈ ∅ B C = 1
9 7 8 eqtrdi ⊢ A = ∅ → ∏ k ∈ A B C = 1
10 prodeq1 ⊢ A = ∅ → ∏ k ∈ A B = ∏ k ∈ ∅ B
11 prod0 ⊢ ∏ k ∈ ∅ B = 1
12 10 11 eqtrdi ⊢ A = ∅ → ∏ k ∈ A B = 1
13 prodeq1 ⊢ A = ∅ → ∏ k ∈ A C = ∏ k ∈ ∅ C
14 prod0 ⊢ ∏ k ∈ ∅ C = 1
15 13 14 eqtrdi ⊢ A = ∅ → ∏ k ∈ A C = 1
16 12 15 oveq12d ⊢ A = ∅ → ∏ k ∈ A B ∏ k ∈ A C = 1 1
17 6 9 16 3eqtr4a ⊢ A = ∅ → ∏ k ∈ A B C = ∏ k ∈ A B ∏ k ∈ A C
18 17 a1i ⊢ φ → A = ∅ → ∏ k ∈ A B C = ∏ k ∈ A B ∏ k ∈ A C
19 simprl ⊢ φ ∧ A ∈ ℕ ∧ f : 1 … A ⟶ 1-1 onto A → A ∈ ℕ
20 nnuz ⊢ ℕ = ℤ ≥ 1
21 19 20 eleqtrdi ⊢ φ ∧ A ∈ ℕ ∧ f : 1 … A ⟶ 1-1 onto A → A ∈ ℤ ≥ 1
22 2 fmpttd ⊢ φ → k ∈ A ⟼ B : A ⟶ ℂ
23 f1of ⊢ f : 1 … A ⟶ 1-1 onto A → f : 1 … A ⟶ A
24 23 adantl ⊢ A ∈ ℕ ∧ f : 1 … A ⟶ 1-1 onto A → f : 1 … A ⟶ A
25 fco ⊢ k ∈ A ⟼ B : A ⟶ ℂ ∧ f : 1 … A ⟶ A → k ∈ A ⟼ B ∘ f : 1 … A ⟶ ℂ
26 22 24 25 syl2an ⊢ φ ∧ A ∈ ℕ ∧ f : 1 … A ⟶ 1-1 onto A → k ∈ A ⟼ B ∘ f : 1 … A ⟶ ℂ
27 26 ffvelcdmda ⊢ φ ∧ A ∈ ℕ ∧ f : 1 … A ⟶ 1-1 onto A ∧ n ∈ 1 … A → k ∈ A ⟼ B ∘ f ⁡ n ∈ ℂ
28 3 fmpttd ⊢ φ → k ∈ A ⟼ C : A ⟶ ℂ
29 fco ⊢ k ∈ A ⟼ C : A ⟶ ℂ ∧ f : 1 … A ⟶ A → k ∈ A ⟼ C ∘ f : 1 … A ⟶ ℂ
30 28 24 29 syl2an ⊢ φ ∧ A ∈ ℕ ∧ f : 1 … A ⟶ 1-1 onto A → k ∈ A ⟼ C ∘ f : 1 … A ⟶ ℂ
31 30 ffvelcdmda ⊢ φ ∧ A ∈ ℕ ∧ f : 1 … A ⟶ 1-1 onto A ∧ n ∈ 1 … A → k ∈ A ⟼ C ∘ f ⁡ n ∈ ℂ
32 simprr ⊢ φ ∧ A ∈ ℕ ∧ f : 1 … A ⟶ 1-1 onto A → f : 1 … A ⟶ 1-1 onto A
33 32 23 syl ⊢ φ ∧ A ∈ ℕ ∧ f : 1 … A ⟶ 1-1 onto A → f : 1 … A ⟶ A
34 fvco3 ⊢ f : 1 … A ⟶ A ∧ n ∈ 1 … A → k ∈ A ⟼ C ∘ f ⁡ n = k ∈ A ⟼ C ⁡ f ⁡ n
35 33 34 sylan ⊢ φ ∧ A ∈ ℕ ∧ f : 1 … A ⟶ 1-1 onto A ∧ n ∈ 1 … A → k ∈ A ⟼ C ∘ f ⁡ n = k ∈ A ⟼ C ⁡ f ⁡ n
36 33 ffvelcdmda ⊢ φ ∧ A ∈ ℕ ∧ f : 1 … A ⟶ 1-1 onto A ∧ n ∈ 1 … A → f ⁡ n ∈ A
37 simpr ⊢ φ ∧ k ∈ A → k ∈ A
38 eqid ⊢ k ∈ A ⟼ C = k ∈ A ⟼ C
39 38 fvmpt2 ⊢ k ∈ A ∧ C ∈ ℂ → k ∈ A ⟼ C ⁡ k = C
40 37 3 39 syl2anc ⊢ φ ∧ k ∈ A → k ∈ A ⟼ C ⁡ k = C
41 40 4 eqnetrd ⊢ φ ∧ k ∈ A → k ∈ A ⟼ C ⁡ k ≠ 0
42 41 ralrimiva ⊢ φ → ∀ k ∈ A k ∈ A ⟼ C ⁡ k ≠ 0
43 42 ad2antrr ⊢ φ ∧ A ∈ ℕ ∧ f : 1 … A ⟶ 1-1 onto A ∧ n ∈ 1 … A → ∀ k ∈ A k ∈ A ⟼ C ⁡ k ≠ 0
44 nffvmpt1 ⊢ Ⅎ _ k k ∈ A ⟼ C ⁡ f ⁡ n
45 nfcv ⊢ Ⅎ _ k 0
46 44 45 nfne ⊢ Ⅎ k k ∈ A ⟼ C ⁡ f ⁡ n ≠ 0
47 fveq2 ⊢ k = f ⁡ n → k ∈ A ⟼ C ⁡ k = k ∈ A ⟼ C ⁡ f ⁡ n
48 47 neeq1d ⊢ k = f ⁡ n → k ∈ A ⟼ C ⁡ k ≠ 0 ↔ k ∈ A ⟼ C ⁡ f ⁡ n ≠ 0
49 46 48 rspc ⊢ f ⁡ n ∈ A → ∀ k ∈ A k ∈ A ⟼ C ⁡ k ≠ 0 → k ∈ A ⟼ C ⁡ f ⁡ n ≠ 0
50 36 43 49 sylc ⊢ φ ∧ A ∈ ℕ ∧ f : 1 … A ⟶ 1-1 onto A ∧ n ∈ 1 … A → k ∈ A ⟼ C ⁡ f ⁡ n ≠ 0
51 35 50 eqnetrd ⊢ φ ∧ A ∈ ℕ ∧ f : 1 … A ⟶ 1-1 onto A ∧ n ∈ 1 … A → k ∈ A ⟼ C ∘ f ⁡ n ≠ 0
52 2 3 4 divcld ⊢ φ ∧ k ∈ A → B C ∈ ℂ
53 eqid ⊢ k ∈ A ⟼ B C = k ∈ A ⟼ B C
54 53 fvmpt2 ⊢ k ∈ A ∧ B C ∈ ℂ → k ∈ A ⟼ B C ⁡ k = B C
55 37 52 54 syl2anc ⊢ φ ∧ k ∈ A → k ∈ A ⟼ B C ⁡ k = B C
56 eqid ⊢ k ∈ A ⟼ B = k ∈ A ⟼ B
57 56 fvmpt2 ⊢ k ∈ A ∧ B ∈ ℂ → k ∈ A ⟼ B ⁡ k = B
58 37 2 57 syl2anc ⊢ φ ∧ k ∈ A → k ∈ A ⟼ B ⁡ k = B
59 58 40 oveq12d ⊢ φ ∧ k ∈ A → k ∈ A ⟼ B ⁡ k k ∈ A ⟼ C ⁡ k = B C
60 55 59 eqtr4d ⊢ φ ∧ k ∈ A → k ∈ A ⟼ B C ⁡ k = k ∈ A ⟼ B ⁡ k k ∈ A ⟼ C ⁡ k
61 60 ralrimiva ⊢ φ → ∀ k ∈ A k ∈ A ⟼ B C ⁡ k = k ∈ A ⟼ B ⁡ k k ∈ A ⟼ C ⁡ k
62 61 ad2antrr ⊢ φ ∧ A ∈ ℕ ∧ f : 1 … A ⟶ 1-1 onto A ∧ n ∈ 1 … A → ∀ k ∈ A k ∈ A ⟼ B C ⁡ k = k ∈ A ⟼ B ⁡ k k ∈ A ⟼ C ⁡ k
63 nffvmpt1 ⊢ Ⅎ _ k k ∈ A ⟼ B C ⁡ f ⁡ n
64 nffvmpt1 ⊢ Ⅎ _ k k ∈ A ⟼ B ⁡ f ⁡ n
65 nfcv ⊢ Ⅎ _ k ÷
66 64 65 44 nfov ⊢ Ⅎ _ k k ∈ A ⟼ B ⁡ f ⁡ n k ∈ A ⟼ C ⁡ f ⁡ n
67 63 66 nfeq ⊢ Ⅎ k k ∈ A ⟼ B C ⁡ f ⁡ n = k ∈ A ⟼ B ⁡ f ⁡ n k ∈ A ⟼ C ⁡ f ⁡ n
68 fveq2 ⊢ k = f ⁡ n → k ∈ A ⟼ B C ⁡ k = k ∈ A ⟼ B C ⁡ f ⁡ n
69 fveq2 ⊢ k = f ⁡ n → k ∈ A ⟼ B ⁡ k = k ∈ A ⟼ B ⁡ f ⁡ n
70 69 47 oveq12d ⊢ k = f ⁡ n → k ∈ A ⟼ B ⁡ k k ∈ A ⟼ C ⁡ k = k ∈ A ⟼ B ⁡ f ⁡ n k ∈ A ⟼ C ⁡ f ⁡ n
71 68 70 eqeq12d ⊢ k = f ⁡ n → k ∈ A ⟼ B C ⁡ k = k ∈ A ⟼ B ⁡ k k ∈ A ⟼ C ⁡ k ↔ k ∈ A ⟼ B C ⁡ f ⁡ n = k ∈ A ⟼ B ⁡ f ⁡ n k ∈ A ⟼ C ⁡ f ⁡ n
72 67 71 rspc ⊢ f ⁡ n ∈ A → ∀ k ∈ A k ∈ A ⟼ B C ⁡ k = k ∈ A ⟼ B ⁡ k k ∈ A ⟼ C ⁡ k → k ∈ A ⟼ B C ⁡ f ⁡ n = k ∈ A ⟼ B ⁡ f ⁡ n k ∈ A ⟼ C ⁡ f ⁡ n
73 36 62 72 sylc ⊢ φ ∧ A ∈ ℕ ∧ f : 1 … A ⟶ 1-1 onto A ∧ n ∈ 1 … A → k ∈ A ⟼ B C ⁡ f ⁡ n = k ∈ A ⟼ B ⁡ f ⁡ n k ∈ A ⟼ C ⁡ f ⁡ n
74 fvco3 ⊢ f : 1 … A ⟶ A ∧ n ∈ 1 … A → k ∈ A ⟼ B C ∘ f ⁡ n = k ∈ A ⟼ B C ⁡ f ⁡ n
75 33 74 sylan ⊢ φ ∧ A ∈ ℕ ∧ f : 1 … A ⟶ 1-1 onto A ∧ n ∈ 1 … A → k ∈ A ⟼ B C ∘ f ⁡ n = k ∈ A ⟼ B C ⁡ f ⁡ n
76 fvco3 ⊢ f : 1 … A ⟶ A ∧ n ∈ 1 … A → k ∈ A ⟼ B ∘ f ⁡ n = k ∈ A ⟼ B ⁡ f ⁡ n
77 33 76 sylan ⊢ φ ∧ A ∈ ℕ ∧ f : 1 … A ⟶ 1-1 onto A ∧ n ∈ 1 … A → k ∈ A ⟼ B ∘ f ⁡ n = k ∈ A ⟼ B ⁡ f ⁡ n
78 77 35 oveq12d ⊢ φ ∧ A ∈ ℕ ∧ f : 1 … A ⟶ 1-1 onto A ∧ n ∈ 1 … A → k ∈ A ⟼ B ∘ f ⁡ n k ∈ A ⟼ C ∘ f ⁡ n = k ∈ A ⟼ B ⁡ f ⁡ n k ∈ A ⟼ C ⁡ f ⁡ n
79 73 75 78 3eqtr4d ⊢ φ ∧ A ∈ ℕ ∧ f : 1 … A ⟶ 1-1 onto A ∧ n ∈ 1 … A → k ∈ A ⟼ B C ∘ f ⁡ n = k ∈ A ⟼ B ∘ f ⁡ n k ∈ A ⟼ C ∘ f ⁡ n
80 21 27 31 51 79 prodfdiv ⊢ φ ∧ A ∈ ℕ ∧ f : 1 … A ⟶ 1-1 onto A → seq 1 × k ∈ A ⟼ B C ∘ f ⁡ A = seq 1 × k ∈ A ⟼ B ∘ f ⁡ A seq 1 × k ∈ A ⟼ C ∘ f ⁡ A
81 fveq2 ⊢ m = f ⁡ n → k ∈ A ⟼ B C ⁡ m = k ∈ A ⟼ B C ⁡ f ⁡ n
82 52 fmpttd ⊢ φ → k ∈ A ⟼ B C : A ⟶ ℂ
83 82 adantr ⊢ φ ∧ A ∈ ℕ ∧ f : 1 … A ⟶ 1-1 onto A → k ∈ A ⟼ B C : A ⟶ ℂ
84 83 ffvelcdmda ⊢ φ ∧ A ∈ ℕ ∧ f : 1 … A ⟶ 1-1 onto A ∧ m ∈ A → k ∈ A ⟼ B C ⁡ m ∈ ℂ
85 81 19 32 84 75 fprod ⊢ φ ∧ A ∈ ℕ ∧ f : 1 … A ⟶ 1-1 onto A → ∏ m ∈ A k ∈ A ⟼ B C ⁡ m = seq 1 × k ∈ A ⟼ B C ∘ f ⁡ A
86 fveq2 ⊢ m = f ⁡ n → k ∈ A ⟼ B ⁡ m = k ∈ A ⟼ B ⁡ f ⁡ n
87 22 adantr ⊢ φ ∧ A ∈ ℕ ∧ f : 1 … A ⟶ 1-1 onto A → k ∈ A ⟼ B : A ⟶ ℂ
88 87 ffvelcdmda ⊢ φ ∧ A ∈ ℕ ∧ f : 1 … A ⟶ 1-1 onto A ∧ m ∈ A → k ∈ A ⟼ B ⁡ m ∈ ℂ
89 86 19 32 88 77 fprod ⊢ φ ∧ A ∈ ℕ ∧ f : 1 … A ⟶ 1-1 onto A → ∏ m ∈ A k ∈ A ⟼ B ⁡ m = seq 1 × k ∈ A ⟼ B ∘ f ⁡ A
90 fveq2 ⊢ m = f ⁡ n → k ∈ A ⟼ C ⁡ m = k ∈ A ⟼ C ⁡ f ⁡ n
91 28 adantr ⊢ φ ∧ A ∈ ℕ ∧ f : 1 … A ⟶ 1-1 onto A → k ∈ A ⟼ C : A ⟶ ℂ
92 91 ffvelcdmda ⊢ φ ∧ A ∈ ℕ ∧ f : 1 … A ⟶ 1-1 onto A ∧ m ∈ A → k ∈ A ⟼ C ⁡ m ∈ ℂ
93 90 19 32 92 35 fprod ⊢ φ ∧ A ∈ ℕ ∧ f : 1 … A ⟶ 1-1 onto A → ∏ m ∈ A k ∈ A ⟼ C ⁡ m = seq 1 × k ∈ A ⟼ C ∘ f ⁡ A
94 89 93 oveq12d ⊢ φ ∧ A ∈ ℕ ∧ f : 1 … A ⟶ 1-1 onto A → ∏ m ∈ A k ∈ A ⟼ B ⁡ m ∏ m ∈ A k ∈ A ⟼ C ⁡ m = seq 1 × k ∈ A ⟼ B ∘ f ⁡ A seq 1 × k ∈ A ⟼ C ∘ f ⁡ A
95 80 85 94 3eqtr4d ⊢ φ ∧ A ∈ ℕ ∧ f : 1 … A ⟶ 1-1 onto A → ∏ m ∈ A k ∈ A ⟼ B C ⁡ m = ∏ m ∈ A k ∈ A ⟼ B ⁡ m ∏ m ∈ A k ∈ A ⟼ C ⁡ m
96 prodfc ⊢ ∏ m ∈ A k ∈ A ⟼ B C ⁡ m = ∏ k ∈ A B C
97 prodfc ⊢ ∏ m ∈ A k ∈ A ⟼ B ⁡ m = ∏ k ∈ A B
98 prodfc ⊢ ∏ m ∈ A k ∈ A ⟼ C ⁡ m = ∏ k ∈ A C
99 97 98 oveq12i ⊢ ∏ m ∈ A k ∈ A ⟼ B ⁡ m ∏ m ∈ A k ∈ A ⟼ C ⁡ m = ∏ k ∈ A B ∏ k ∈ A C
100 95 96 99 3eqtr3g ⊢ φ ∧ A ∈ ℕ ∧ f : 1 … A ⟶ 1-1 onto A → ∏ k ∈ A B C = ∏ k ∈ A B ∏ k ∈ A C
101 100 expr ⊢ φ ∧ A ∈ ℕ → f : 1 … A ⟶ 1-1 onto A → ∏ k ∈ A B C = ∏ k ∈ A B ∏ k ∈ A C
102 101 exlimdv ⊢ φ ∧ A ∈ ℕ → ∃ f f : 1 … A ⟶ 1-1 onto A → ∏ k ∈ A B C = ∏ k ∈ A B ∏ k ∈ A C
103 102 expimpd ⊢ φ → A ∈ ℕ ∧ ∃ f f : 1 … A ⟶ 1-1 onto A → ∏ k ∈ A B C = ∏ k ∈ A B ∏ k ∈ A C
104 fz1f1o ⊢ A ∈ Fin → A = ∅ ∨ A ∈ ℕ ∧ ∃ f f : 1 … A ⟶ 1-1 onto A
105 1 104 syl ⊢ φ → A = ∅ ∨ A ∈ ℕ ∧ ∃ f f : 1 … A ⟶ 1-1 onto A
106 18 103 105 mpjaod ⊢ φ → ∏ k ∈ A B C = ∏ k ∈ A B ∏ k ∈ A C