Metamath Proof Explorer


Theorem fprodex01

Description: A product of factors equal to zero or one is zero exactly when one of the factors is zero. (Contributed by Thierry Arnoux, 11-Dec-2021)

Ref Expression
Hypotheses fprodex01.1 ⊢ k = l → B = C
fprodex01.a ⊢ φ → A ∈ Fin
fprodex01.b ⊢ φ ∧ k ∈ A → B ∈ 0 1
Assertion fprodex01 ⊢ φ → ∏ k ∈ A B = if ∀ l ∈ A C = 1 1 0

Proof

Step Hyp Ref Expression
1 fprodex01.1 ⊢ k = l → B = C
2 fprodex01.a ⊢ φ → A ∈ Fin
3 fprodex01.b ⊢ φ ∧ k ∈ A → B ∈ 0 1
4 1 eqeq1d ⊢ k = l → B = 1 ↔ C = 1
5 4 cbvralvw ⊢ ∀ k ∈ A B = 1 ↔ ∀ l ∈ A C = 1
6 5 bilanri ⊢ φ ∧ ∀ l ∈ A C = 1 → ∀ k ∈ A B = 1
7 6 prodeq2d ⊢ φ ∧ ∀ l ∈ A C = 1 → ∏ k ∈ A B = ∏ k ∈ A 1
8 prod1 ⊢ A ⊆ ℤ ≥ 0 ∨ A ∈ Fin → ∏ k ∈ A 1 = 1
9 8 olcs ⊢ A ∈ Fin → ∏ k ∈ A 1 = 1
10 2 9 syl ⊢ φ → ∏ k ∈ A 1 = 1
11 10 adantr ⊢ φ ∧ ∀ l ∈ A C = 1 → ∏ k ∈ A 1 = 1
12 7 11 eqtr2d ⊢ φ ∧ ∀ l ∈ A C = 1 → 1 = ∏ k ∈ A B
13 nfv ⊢ Ⅎ l φ
14 nfra1 ⊢ Ⅎ l ∀ l ∈ A C = 1
15 14 nfn ⊢ Ⅎ l ¬ ∀ l ∈ A C = 1
16 13 15 nfan ⊢ Ⅎ l φ ∧ ¬ ∀ l ∈ A C = 1
17 nfv ⊢ Ⅎ l ∏ k ∈ A B = 0
18 2 adantr ⊢ φ ∧ ¬ ∀ l ∈ A C = 1 → A ∈ Fin
19 18 ad2antrr ⊢ φ ∧ ¬ ∀ l ∈ A C = 1 ∧ l ∈ A ∧ C = 0 → A ∈ Fin
20 pr01ssre ⊢ 0 1 ⊆ ℝ
21 ax-resscn ⊢ ℝ ⊆ ℂ
22 20 21 sstri ⊢ 0 1 ⊆ ℂ
23 22 3 sselid ⊢ φ ∧ k ∈ A → B ∈ ℂ
24 23 adantlr ⊢ φ ∧ ¬ ∀ l ∈ A C = 1 ∧ k ∈ A → B ∈ ℂ
25 24 adantlr ⊢ φ ∧ ¬ ∀ l ∈ A C = 1 ∧ l ∈ A ∧ k ∈ A → B ∈ ℂ
26 25 adantlr ⊢ φ ∧ ¬ ∀ l ∈ A C = 1 ∧ l ∈ A ∧ C = 0 ∧ k ∈ A → B ∈ ℂ
27 simplr ⊢ φ ∧ ¬ ∀ l ∈ A C = 1 ∧ l ∈ A ∧ C = 0 → l ∈ A
28 simpr ⊢ φ ∧ ¬ ∀ l ∈ A C = 1 ∧ l ∈ A ∧ C = 0 → C = 0
29 1 19 26 27 28 fprodeq02 ⊢ φ ∧ ¬ ∀ l ∈ A C = 1 ∧ l ∈ A ∧ C = 0 → ∏ k ∈ A B = 0
30 rexnal ⊢ ∃ l ∈ A ¬ C = 1 ↔ ¬ ∀ l ∈ A C = 1
31 30 bilanri ⊢ φ ∧ ¬ ∀ l ∈ A C = 1 → ∃ l ∈ A ¬ C = 1
32 3 ralrimiva ⊢ φ → ∀ k ∈ A B ∈ 0 1
33 1 eleq1d ⊢ k = l → B ∈ 0 1 ↔ C ∈ 0 1
34 33 cbvralvw ⊢ ∀ k ∈ A B ∈ 0 1 ↔ ∀ l ∈ A C ∈ 0 1
35 32 34 sylib ⊢ φ → ∀ l ∈ A C ∈ 0 1
36 35 r19.21bi ⊢ φ ∧ l ∈ A → C ∈ 0 1
37 c0ex ⊢ 0 ∈ V
38 1ex ⊢ 1 ∈ V
39 37 38 elpr2 ⊢ C ∈ 0 1 ↔ C = 0 ∨ C = 1
40 36 39 sylib ⊢ φ ∧ l ∈ A → C = 0 ∨ C = 1
41 40 orcomd ⊢ φ ∧ l ∈ A → C = 1 ∨ C = 0
42 41 ord ⊢ φ ∧ l ∈ A → ¬ C = 1 → C = 0
43 42 reximdva ⊢ φ → ∃ l ∈ A ¬ C = 1 → ∃ l ∈ A C = 0
44 43 adantr ⊢ φ ∧ ¬ ∀ l ∈ A C = 1 → ∃ l ∈ A ¬ C = 1 → ∃ l ∈ A C = 0
45 31 44 mpd ⊢ φ ∧ ¬ ∀ l ∈ A C = 1 → ∃ l ∈ A C = 0
46 16 17 29 45 r19.29af2 ⊢ φ ∧ ¬ ∀ l ∈ A C = 1 → ∏ k ∈ A B = 0
47 46 eqcomd ⊢ φ ∧ ¬ ∀ l ∈ A C = 1 → 0 = ∏ k ∈ A B
48 12 47 ifeqda ⊢ φ → if ∀ l ∈ A C = 1 1 0 = ∏ k ∈ A B
49 48 eqcomd ⊢ φ → ∏ k ∈ A B = if ∀ l ∈ A C = 1 1 0