| Step | Hyp | Ref
| Expression |
| 1 | | eqid 2196 |
. . 3
⊢
(ℤ≥‘𝑀) = (ℤ≥‘𝑀) |
| 2 | | simp1 999 |
. . 3
⊢ ((𝑀 ∈ ℤ ∧ 𝐴 ⊆
(ℤ≥‘𝑀) ∧ ∀𝑗 ∈ (ℤ≥‘𝑀)DECID 𝑗 ∈ 𝐴) → 𝑀 ∈ ℤ) |
| 3 | | 1ap0 8634 |
. . . 4
⊢ 1 #
0 |
| 4 | 3 | a1i 9 |
. . 3
⊢ ((𝑀 ∈ ℤ ∧ 𝐴 ⊆
(ℤ≥‘𝑀) ∧ ∀𝑗 ∈ (ℤ≥‘𝑀)DECID 𝑗 ∈ 𝐴) → 1 # 0) |
| 5 | 1 | prodfclim1 11726 |
. . . 4
⊢ (𝑀 ∈ ℤ → seq𝑀( · ,
((ℤ≥‘𝑀) × {1})) ⇝ 1) |
| 6 | 2, 5 | syl 14 |
. . 3
⊢ ((𝑀 ∈ ℤ ∧ 𝐴 ⊆
(ℤ≥‘𝑀) ∧ ∀𝑗 ∈ (ℤ≥‘𝑀)DECID 𝑗 ∈ 𝐴) → seq𝑀( · ,
((ℤ≥‘𝑀) × {1})) ⇝ 1) |
| 7 | | simp3 1001 |
. . . 4
⊢ ((𝑀 ∈ ℤ ∧ 𝐴 ⊆
(ℤ≥‘𝑀) ∧ ∀𝑗 ∈ (ℤ≥‘𝑀)DECID 𝑗 ∈ 𝐴) → ∀𝑗 ∈ (ℤ≥‘𝑀)DECID 𝑗 ∈ 𝐴) |
| 8 | | eleq1w 2257 |
. . . . . 6
⊢ (𝑗 = 𝑎 → (𝑗 ∈ 𝐴 ↔ 𝑎 ∈ 𝐴)) |
| 9 | 8 | dcbid 839 |
. . . . 5
⊢ (𝑗 = 𝑎 → (DECID 𝑗 ∈ 𝐴 ↔ DECID 𝑎 ∈ 𝐴)) |
| 10 | 9 | cbvralv 2729 |
. . . 4
⊢
(∀𝑗 ∈
(ℤ≥‘𝑀)DECID 𝑗 ∈ 𝐴 ↔ ∀𝑎 ∈ (ℤ≥‘𝑀)DECID 𝑎 ∈ 𝐴) |
| 11 | 7, 10 | sylib 122 |
. . 3
⊢ ((𝑀 ∈ ℤ ∧ 𝐴 ⊆
(ℤ≥‘𝑀) ∧ ∀𝑗 ∈ (ℤ≥‘𝑀)DECID 𝑗 ∈ 𝐴) → ∀𝑎 ∈ (ℤ≥‘𝑀)DECID 𝑎 ∈ 𝐴) |
| 12 | | simp2 1000 |
. . 3
⊢ ((𝑀 ∈ ℤ ∧ 𝐴 ⊆
(ℤ≥‘𝑀) ∧ ∀𝑗 ∈ (ℤ≥‘𝑀)DECID 𝑗 ∈ 𝐴) → 𝐴 ⊆ (ℤ≥‘𝑀)) |
| 13 | | 1ex 8038 |
. . . . . 6
⊢ 1 ∈
V |
| 14 | 13 | fvconst2 5781 |
. . . . 5
⊢ (𝑘 ∈
(ℤ≥‘𝑀) →
(((ℤ≥‘𝑀) × {1})‘𝑘) = 1) |
| 15 | 14 | adantl 277 |
. . . 4
⊢ (((𝑀 ∈ ℤ ∧ 𝐴 ⊆
(ℤ≥‘𝑀) ∧ ∀𝑗 ∈ (ℤ≥‘𝑀)DECID 𝑗 ∈ 𝐴) ∧ 𝑘 ∈ (ℤ≥‘𝑀)) →
(((ℤ≥‘𝑀) × {1})‘𝑘) = 1) |
| 16 | | eleq1w 2257 |
. . . . . . 7
⊢ (𝑎 = 𝑘 → (𝑎 ∈ 𝐴 ↔ 𝑘 ∈ 𝐴)) |
| 17 | 16 | dcbid 839 |
. . . . . 6
⊢ (𝑎 = 𝑘 → (DECID 𝑎 ∈ 𝐴 ↔ DECID 𝑘 ∈ 𝐴)) |
| 18 | 11 | adantr 276 |
. . . . . 6
⊢ (((𝑀 ∈ ℤ ∧ 𝐴 ⊆
(ℤ≥‘𝑀) ∧ ∀𝑗 ∈ (ℤ≥‘𝑀)DECID 𝑗 ∈ 𝐴) ∧ 𝑘 ∈ (ℤ≥‘𝑀)) → ∀𝑎 ∈
(ℤ≥‘𝑀)DECID 𝑎 ∈ 𝐴) |
| 19 | | simpr 110 |
. . . . . 6
⊢ (((𝑀 ∈ ℤ ∧ 𝐴 ⊆
(ℤ≥‘𝑀) ∧ ∀𝑗 ∈ (ℤ≥‘𝑀)DECID 𝑗 ∈ 𝐴) ∧ 𝑘 ∈ (ℤ≥‘𝑀)) → 𝑘 ∈ (ℤ≥‘𝑀)) |
| 20 | 17, 18, 19 | rspcdva 2873 |
. . . . 5
⊢ (((𝑀 ∈ ℤ ∧ 𝐴 ⊆
(ℤ≥‘𝑀) ∧ ∀𝑗 ∈ (ℤ≥‘𝑀)DECID 𝑗 ∈ 𝐴) ∧ 𝑘 ∈ (ℤ≥‘𝑀)) → DECID
𝑘 ∈ 𝐴) |
| 21 | | ifiddc 3596 |
. . . . 5
⊢
(DECID 𝑘 ∈ 𝐴 → if(𝑘 ∈ 𝐴, 1, 1) = 1) |
| 22 | 20, 21 | syl 14 |
. . . 4
⊢ (((𝑀 ∈ ℤ ∧ 𝐴 ⊆
(ℤ≥‘𝑀) ∧ ∀𝑗 ∈ (ℤ≥‘𝑀)DECID 𝑗 ∈ 𝐴) ∧ 𝑘 ∈ (ℤ≥‘𝑀)) → if(𝑘 ∈ 𝐴, 1, 1) = 1) |
| 23 | 15, 22 | eqtr4d 2232 |
. . 3
⊢ (((𝑀 ∈ ℤ ∧ 𝐴 ⊆
(ℤ≥‘𝑀) ∧ ∀𝑗 ∈ (ℤ≥‘𝑀)DECID 𝑗 ∈ 𝐴) ∧ 𝑘 ∈ (ℤ≥‘𝑀)) →
(((ℤ≥‘𝑀) × {1})‘𝑘) = if(𝑘 ∈ 𝐴, 1, 1)) |
| 24 | | 1cnd 8059 |
. . 3
⊢ (((𝑀 ∈ ℤ ∧ 𝐴 ⊆
(ℤ≥‘𝑀) ∧ ∀𝑗 ∈ (ℤ≥‘𝑀)DECID 𝑗 ∈ 𝐴) ∧ 𝑘 ∈ 𝐴) → 1 ∈ ℂ) |
| 25 | 1, 2, 4, 6, 11, 12, 23, 24 | zprodap0 11763 |
. 2
⊢ ((𝑀 ∈ ℤ ∧ 𝐴 ⊆
(ℤ≥‘𝑀) ∧ ∀𝑗 ∈ (ℤ≥‘𝑀)DECID 𝑗 ∈ 𝐴) → ∏𝑘 ∈ 𝐴 1 = 1) |
| 26 | | fz1f1o 11557 |
. . 3
⊢ (𝐴 ∈ Fin → (𝐴 = ∅ ∨
((♯‘𝐴) ∈
ℕ ∧ ∃𝑓
𝑓:(1...(♯‘𝐴))–1-1-onto→𝐴))) |
| 27 | | prodeq1 11735 |
. . . . 5
⊢ (𝐴 = ∅ → ∏𝑘 ∈ 𝐴 1 = ∏𝑘 ∈ ∅ 1) |
| 28 | | prod0 11767 |
. . . . 5
⊢
∏𝑘 ∈
∅ 1 = 1 |
| 29 | 27, 28 | eqtrdi 2245 |
. . . 4
⊢ (𝐴 = ∅ → ∏𝑘 ∈ 𝐴 1 = 1) |
| 30 | | eqidd 2197 |
. . . . . . . . . 10
⊢ (𝑘 = (𝑓‘𝑗) → 1 = 1) |
| 31 | | simpl 109 |
. . . . . . . . . 10
⊢
(((♯‘𝐴)
∈ ℕ ∧ 𝑓:(1...(♯‘𝐴))–1-1-onto→𝐴) → (♯‘𝐴) ∈
ℕ) |
| 32 | | simpr 110 |
. . . . . . . . . 10
⊢
(((♯‘𝐴)
∈ ℕ ∧ 𝑓:(1...(♯‘𝐴))–1-1-onto→𝐴) → 𝑓:(1...(♯‘𝐴))–1-1-onto→𝐴) |
| 33 | | 1cnd 8059 |
. . . . . . . . . 10
⊢
((((♯‘𝐴)
∈ ℕ ∧ 𝑓:(1...(♯‘𝐴))–1-1-onto→𝐴) ∧ 𝑘 ∈ 𝐴) → 1 ∈ ℂ) |
| 34 | | elfznn 10146 |
. . . . . . . . . . . 12
⊢ (𝑗 ∈
(1...(♯‘𝐴))
→ 𝑗 ∈
ℕ) |
| 35 | 13 | fvconst2 5781 |
. . . . . . . . . . . 12
⊢ (𝑗 ∈ ℕ → ((ℕ
× {1})‘𝑗) =
1) |
| 36 | 34, 35 | syl 14 |
. . . . . . . . . . 11
⊢ (𝑗 ∈
(1...(♯‘𝐴))
→ ((ℕ × {1})‘𝑗) = 1) |
| 37 | 36 | adantl 277 |
. . . . . . . . . 10
⊢
((((♯‘𝐴)
∈ ℕ ∧ 𝑓:(1...(♯‘𝐴))–1-1-onto→𝐴) ∧ 𝑗 ∈ (1...(♯‘𝐴))) → ((ℕ ×
{1})‘𝑗) =
1) |
| 38 | 30, 31, 32, 33, 37 | fprodseq 11765 |
. . . . . . . . 9
⊢
(((♯‘𝐴)
∈ ℕ ∧ 𝑓:(1...(♯‘𝐴))–1-1-onto→𝐴) → ∏𝑘 ∈ 𝐴 1 = (seq1( · , (𝑗 ∈ ℕ ↦ if(𝑗 ≤ (♯‘𝐴), ((ℕ × {1})‘𝑗),
1)))‘(♯‘𝐴))) |
| 39 | | simpr 110 |
. . . . . . . . . . . . . . . . 17
⊢
((((♯‘𝐴)
∈ ℕ ∧ 𝑗
∈ ℕ) ∧ 𝑗
≤ (♯‘𝐴))
→ 𝑗 ≤
(♯‘𝐴)) |
| 40 | 39 | iftrued 3569 |
. . . . . . . . . . . . . . . 16
⊢
((((♯‘𝐴)
∈ ℕ ∧ 𝑗
∈ ℕ) ∧ 𝑗
≤ (♯‘𝐴))
→ if(𝑗 ≤
(♯‘𝐴),
((ℕ × {1})‘𝑗), 1) = ((ℕ × {1})‘𝑗)) |
| 41 | 35 | ad2antlr 489 |
. . . . . . . . . . . . . . . 16
⊢
((((♯‘𝐴)
∈ ℕ ∧ 𝑗
∈ ℕ) ∧ 𝑗
≤ (♯‘𝐴))
→ ((ℕ × {1})‘𝑗) = 1) |
| 42 | 40, 41 | eqtrd 2229 |
. . . . . . . . . . . . . . 15
⊢
((((♯‘𝐴)
∈ ℕ ∧ 𝑗
∈ ℕ) ∧ 𝑗
≤ (♯‘𝐴))
→ if(𝑗 ≤
(♯‘𝐴),
((ℕ × {1})‘𝑗), 1) = 1) |
| 43 | | simpr 110 |
. . . . . . . . . . . . . . . 16
⊢
((((♯‘𝐴)
∈ ℕ ∧ 𝑗
∈ ℕ) ∧ ¬ 𝑗 ≤ (♯‘𝐴)) → ¬ 𝑗 ≤ (♯‘𝐴)) |
| 44 | 43 | iffalsed 3572 |
. . . . . . . . . . . . . . 15
⊢
((((♯‘𝐴)
∈ ℕ ∧ 𝑗
∈ ℕ) ∧ ¬ 𝑗 ≤ (♯‘𝐴)) → if(𝑗 ≤ (♯‘𝐴), ((ℕ × {1})‘𝑗), 1) = 1) |
| 45 | | nnz 9362 |
. . . . . . . . . . . . . . . . 17
⊢ (𝑗 ∈ ℕ → 𝑗 ∈
ℤ) |
| 46 | | nnz 9362 |
. . . . . . . . . . . . . . . . 17
⊢
((♯‘𝐴)
∈ ℕ → (♯‘𝐴) ∈ ℤ) |
| 47 | | zdcle 9419 |
. . . . . . . . . . . . . . . . 17
⊢ ((𝑗 ∈ ℤ ∧
(♯‘𝐴) ∈
ℤ) → DECID 𝑗 ≤ (♯‘𝐴)) |
| 48 | 45, 46, 47 | syl2anr 290 |
. . . . . . . . . . . . . . . 16
⊢
(((♯‘𝐴)
∈ ℕ ∧ 𝑗
∈ ℕ) → DECID 𝑗 ≤ (♯‘𝐴)) |
| 49 | | exmiddc 837 |
. . . . . . . . . . . . . . . 16
⊢
(DECID 𝑗 ≤ (♯‘𝐴) → (𝑗 ≤ (♯‘𝐴) ∨ ¬ 𝑗 ≤ (♯‘𝐴))) |
| 50 | 48, 49 | syl 14 |
. . . . . . . . . . . . . . 15
⊢
(((♯‘𝐴)
∈ ℕ ∧ 𝑗
∈ ℕ) → (𝑗
≤ (♯‘𝐴) ∨
¬ 𝑗 ≤
(♯‘𝐴))) |
| 51 | 42, 44, 50 | mpjaodan 799 |
. . . . . . . . . . . . . 14
⊢
(((♯‘𝐴)
∈ ℕ ∧ 𝑗
∈ ℕ) → if(𝑗
≤ (♯‘𝐴),
((ℕ × {1})‘𝑗), 1) = 1) |
| 52 | 51 | mpteq2dva 4124 |
. . . . . . . . . . . . 13
⊢
((♯‘𝐴)
∈ ℕ → (𝑗
∈ ℕ ↦ if(𝑗
≤ (♯‘𝐴),
((ℕ × {1})‘𝑗), 1)) = (𝑗 ∈ ℕ ↦ 1)) |
| 53 | | fconstmpt 4711 |
. . . . . . . . . . . . 13
⊢ (ℕ
× {1}) = (𝑗 ∈
ℕ ↦ 1) |
| 54 | 52, 53 | eqtr4di 2247 |
. . . . . . . . . . . 12
⊢
((♯‘𝐴)
∈ ℕ → (𝑗
∈ ℕ ↦ if(𝑗
≤ (♯‘𝐴),
((ℕ × {1})‘𝑗), 1)) = (ℕ ×
{1})) |
| 55 | 54 | seqeq3d 10564 |
. . . . . . . . . . 11
⊢
((♯‘𝐴)
∈ ℕ → seq1( · , (𝑗 ∈ ℕ ↦ if(𝑗 ≤ (♯‘𝐴), ((ℕ × {1})‘𝑗), 1))) = seq1( · ,
(ℕ × {1}))) |
| 56 | 55 | adantr 276 |
. . . . . . . . . 10
⊢
(((♯‘𝐴)
∈ ℕ ∧ 𝑓:(1...(♯‘𝐴))–1-1-onto→𝐴) → seq1( · , (𝑗 ∈ ℕ ↦ if(𝑗 ≤ (♯‘𝐴), ((ℕ ×
{1})‘𝑗), 1))) = seq1(
· , (ℕ × {1}))) |
| 57 | 56 | fveq1d 5563 |
. . . . . . . . 9
⊢
(((♯‘𝐴)
∈ ℕ ∧ 𝑓:(1...(♯‘𝐴))–1-1-onto→𝐴) → (seq1( · ,
(𝑗 ∈ ℕ ↦
if(𝑗 ≤
(♯‘𝐴),
((ℕ × {1})‘𝑗), 1)))‘(♯‘𝐴)) = (seq1( · , (ℕ
× {1}))‘(♯‘𝐴))) |
| 58 | 38, 57 | eqtrd 2229 |
. . . . . . . 8
⊢
(((♯‘𝐴)
∈ ℕ ∧ 𝑓:(1...(♯‘𝐴))–1-1-onto→𝐴) → ∏𝑘 ∈ 𝐴 1 = (seq1( · , (ℕ ×
{1}))‘(♯‘𝐴))) |
| 59 | | nnuz 9654 |
. . . . . . . . . 10
⊢ ℕ =
(ℤ≥‘1) |
| 60 | 59 | prodf1 11724 |
. . . . . . . . 9
⊢
((♯‘𝐴)
∈ ℕ → (seq1( · , (ℕ ×
{1}))‘(♯‘𝐴)) = 1) |
| 61 | 60 | adantr 276 |
. . . . . . . 8
⊢
(((♯‘𝐴)
∈ ℕ ∧ 𝑓:(1...(♯‘𝐴))–1-1-onto→𝐴) → (seq1( · ,
(ℕ × {1}))‘(♯‘𝐴)) = 1) |
| 62 | 58, 61 | eqtrd 2229 |
. . . . . . 7
⊢
(((♯‘𝐴)
∈ ℕ ∧ 𝑓:(1...(♯‘𝐴))–1-1-onto→𝐴) → ∏𝑘 ∈ 𝐴 1 = 1) |
| 63 | 62 | ex 115 |
. . . . . 6
⊢
((♯‘𝐴)
∈ ℕ → (𝑓:(1...(♯‘𝐴))–1-1-onto→𝐴 → ∏𝑘 ∈ 𝐴 1 = 1)) |
| 64 | 63 | exlimdv 1833 |
. . . . 5
⊢
((♯‘𝐴)
∈ ℕ → (∃𝑓 𝑓:(1...(♯‘𝐴))–1-1-onto→𝐴 → ∏𝑘 ∈ 𝐴 1 = 1)) |
| 65 | 64 | imp 124 |
. . . 4
⊢
(((♯‘𝐴)
∈ ℕ ∧ ∃𝑓 𝑓:(1...(♯‘𝐴))–1-1-onto→𝐴) → ∏𝑘 ∈ 𝐴 1 = 1) |
| 66 | 29, 65 | jaoi 717 |
. . 3
⊢ ((𝐴 = ∅ ∨
((♯‘𝐴) ∈
ℕ ∧ ∃𝑓
𝑓:(1...(♯‘𝐴))–1-1-onto→𝐴)) → ∏𝑘 ∈ 𝐴 1 = 1) |
| 67 | 26, 66 | syl 14 |
. 2
⊢ (𝐴 ∈ Fin → ∏𝑘 ∈ 𝐴 1 = 1) |
| 68 | 25, 67 | jaoi 717 |
1
⊢ (((𝑀 ∈ ℤ ∧ 𝐴 ⊆
(ℤ≥‘𝑀) ∧ ∀𝑗 ∈ (ℤ≥‘𝑀)DECID 𝑗 ∈ 𝐴) ∨ 𝐴 ∈ Fin) → ∏𝑘 ∈ 𝐴 1 = 1) |