Step |
Hyp |
Ref |
Expression |
1 |
|
elnn0 |
⊢ ( 𝐴 ∈ ℕ0 ↔ ( 𝐴 ∈ ℕ ∨ 𝐴 = 0 ) ) |
2 |
|
facnn |
⊢ ( 𝐴 ∈ ℕ → ( ! ‘ 𝐴 ) = ( seq 1 ( · , I ) ‘ 𝐴 ) ) |
3 |
|
vex |
⊢ 𝑘 ∈ V |
4 |
|
fvi |
⊢ ( 𝑘 ∈ V → ( I ‘ 𝑘 ) = 𝑘 ) |
5 |
3 4
|
mp1i |
⊢ ( ( 𝐴 ∈ ℕ ∧ 𝑘 ∈ ( 1 ... 𝐴 ) ) → ( I ‘ 𝑘 ) = 𝑘 ) |
6 |
|
elnnuz |
⊢ ( 𝐴 ∈ ℕ ↔ 𝐴 ∈ ( ℤ≥ ‘ 1 ) ) |
7 |
6
|
biimpi |
⊢ ( 𝐴 ∈ ℕ → 𝐴 ∈ ( ℤ≥ ‘ 1 ) ) |
8 |
|
elfznn |
⊢ ( 𝑘 ∈ ( 1 ... 𝐴 ) → 𝑘 ∈ ℕ ) |
9 |
8
|
nncnd |
⊢ ( 𝑘 ∈ ( 1 ... 𝐴 ) → 𝑘 ∈ ℂ ) |
10 |
9
|
adantl |
⊢ ( ( 𝐴 ∈ ℕ ∧ 𝑘 ∈ ( 1 ... 𝐴 ) ) → 𝑘 ∈ ℂ ) |
11 |
5 7 10
|
fprodser |
⊢ ( 𝐴 ∈ ℕ → ∏ 𝑘 ∈ ( 1 ... 𝐴 ) 𝑘 = ( seq 1 ( · , I ) ‘ 𝐴 ) ) |
12 |
2 11
|
eqtr4d |
⊢ ( 𝐴 ∈ ℕ → ( ! ‘ 𝐴 ) = ∏ 𝑘 ∈ ( 1 ... 𝐴 ) 𝑘 ) |
13 |
|
prod0 |
⊢ ∏ 𝑘 ∈ ∅ 𝑘 = 1 |
14 |
13
|
eqcomi |
⊢ 1 = ∏ 𝑘 ∈ ∅ 𝑘 |
15 |
|
fveq2 |
⊢ ( 𝐴 = 0 → ( ! ‘ 𝐴 ) = ( ! ‘ 0 ) ) |
16 |
|
fac0 |
⊢ ( ! ‘ 0 ) = 1 |
17 |
15 16
|
eqtrdi |
⊢ ( 𝐴 = 0 → ( ! ‘ 𝐴 ) = 1 ) |
18 |
|
oveq2 |
⊢ ( 𝐴 = 0 → ( 1 ... 𝐴 ) = ( 1 ... 0 ) ) |
19 |
|
fz10 |
⊢ ( 1 ... 0 ) = ∅ |
20 |
18 19
|
eqtrdi |
⊢ ( 𝐴 = 0 → ( 1 ... 𝐴 ) = ∅ ) |
21 |
20
|
prodeq1d |
⊢ ( 𝐴 = 0 → ∏ 𝑘 ∈ ( 1 ... 𝐴 ) 𝑘 = ∏ 𝑘 ∈ ∅ 𝑘 ) |
22 |
14 17 21
|
3eqtr4a |
⊢ ( 𝐴 = 0 → ( ! ‘ 𝐴 ) = ∏ 𝑘 ∈ ( 1 ... 𝐴 ) 𝑘 ) |
23 |
12 22
|
jaoi |
⊢ ( ( 𝐴 ∈ ℕ ∨ 𝐴 = 0 ) → ( ! ‘ 𝐴 ) = ∏ 𝑘 ∈ ( 1 ... 𝐴 ) 𝑘 ) |
24 |
1 23
|
sylbi |
⊢ ( 𝐴 ∈ ℕ0 → ( ! ‘ 𝐴 ) = ∏ 𝑘 ∈ ( 1 ... 𝐴 ) 𝑘 ) |