Metamath Proof Explorer


Theorem fallfacval4

Description: Represent the falling factorial via factorials when the first argument is a natural. (Contributed by Scott Fenton, 20-Mar-2018)

Ref Expression
Assertion fallfacval4 ⊢ N ∈ 0 … A → A N _ = A ! A − N !

Proof

Step Hyp Ref Expression
1 fzfid ⊢ N ∈ 0 … A → A - N + 1 … A ∈ Fin
2 elfzelz ⊢ k ∈ A - N + 1 … A → k ∈ ℤ
3 2 zcnd ⊢ k ∈ A - N + 1 … A → k ∈ ℂ
4 3 adantl ⊢ N ∈ 0 … A ∧ k ∈ A - N + 1 … A → k ∈ ℂ
5 1 4 fprodcl ⊢ N ∈ 0 … A → ∏ k = A - N + 1 A k ∈ ℂ
6 fzfid ⊢ N ∈ 0 … A → 1 … A − N ∈ Fin
7 elfznn ⊢ k ∈ 1 … A − N → k ∈ ℕ
8 7 adantl ⊢ N ∈ 0 … A ∧ k ∈ 1 … A − N → k ∈ ℕ
9 8 nncnd ⊢ N ∈ 0 … A ∧ k ∈ 1 … A − N → k ∈ ℂ
10 6 9 fprodcl ⊢ N ∈ 0 … A → ∏ k = 1 A − N k ∈ ℂ
11 8 nnne0d ⊢ N ∈ 0 … A ∧ k ∈ 1 … A − N → k ≠ 0
12 6 9 11 fprodn0 ⊢ N ∈ 0 … A → ∏ k = 1 A − N k ≠ 0
13 5 10 12 divcan3d ⊢ N ∈ 0 … A → ∏ k = 1 A − N k ⁢ ∏ k = A - N + 1 A k ∏ k = 1 A − N k = ∏ k = A - N + 1 A k
14 fznn0sub ⊢ N ∈ 0 … A → A − N ∈ ℕ 0
15 14 nn0red ⊢ N ∈ 0 … A → A − N ∈ ℝ
16 15 ltp1d ⊢ N ∈ 0 … A → A − N < A - N + 1
17 fzdisj ⊢ A − N < A - N + 1 → 1 … A − N ∩ A - N + 1 … A = ∅
18 16 17 syl ⊢ N ∈ 0 … A → 1 … A − N ∩ A - N + 1 … A = ∅
19 nn0p1nn ⊢ A − N ∈ ℕ 0 → A - N + 1 ∈ ℕ
20 14 19 syl ⊢ N ∈ 0 … A → A - N + 1 ∈ ℕ
21 nnuz ⊢ ℕ = ℤ ≥ 1
22 20 21 eleqtrdi ⊢ N ∈ 0 … A → A - N + 1 ∈ ℤ ≥ 1
23 14 nn0zd ⊢ N ∈ 0 … A → A − N ∈ ℤ
24 elfzel2 ⊢ N ∈ 0 … A → A ∈ ℤ
25 elfzle1 ⊢ N ∈ 0 … A → 0 ≤ N
26 24 zred ⊢ N ∈ 0 … A → A ∈ ℝ
27 elfzelz ⊢ N ∈ 0 … A → N ∈ ℤ
28 27 zred ⊢ N ∈ 0 … A → N ∈ ℝ
29 26 28 subge02d ⊢ N ∈ 0 … A → 0 ≤ N ↔ A − N ≤ A
30 25 29 mpbid ⊢ N ∈ 0 … A → A − N ≤ A
31 eluz2 ⊢ A ∈ ℤ ≥ A − N ↔ A − N ∈ ℤ ∧ A ∈ ℤ ∧ A − N ≤ A
32 23 24 30 31 syl3anbrc ⊢ N ∈ 0 … A → A ∈ ℤ ≥ A − N
33 fzsplit2 ⊢ A - N + 1 ∈ ℤ ≥ 1 ∧ A ∈ ℤ ≥ A − N → 1 … A = 1 … A − N ∪ A - N + 1 … A
34 22 32 33 syl2anc ⊢ N ∈ 0 … A → 1 … A = 1 … A − N ∪ A - N + 1 … A
35 fzfid ⊢ N ∈ 0 … A → 1 … A ∈ Fin
36 elfznn ⊢ k ∈ 1 … A → k ∈ ℕ
37 36 nncnd ⊢ k ∈ 1 … A → k ∈ ℂ
38 37 adantl ⊢ N ∈ 0 … A ∧ k ∈ 1 … A → k ∈ ℂ
39 18 34 35 38 fprodsplit ⊢ N ∈ 0 … A → ∏ k = 1 A k = ∏ k = 1 A − N k ⁢ ∏ k = A - N + 1 A k
40 39 oveq1d ⊢ N ∈ 0 … A → ∏ k = 1 A k ∏ k = 1 A − N k = ∏ k = 1 A − N k ⁢ ∏ k = A - N + 1 A k ∏ k = 1 A − N k
41 24 zcnd ⊢ N ∈ 0 … A → A ∈ ℂ
42 27 zcnd ⊢ N ∈ 0 … A → N ∈ ℂ
43 1cnd ⊢ N ∈ 0 … A → 1 ∈ ℂ
44 41 42 43 subsubd ⊢ N ∈ 0 … A → A − N − 1 = A - N + 1
45 44 oveq1d ⊢ N ∈ 0 … A → A − N − 1 … A = A - N + 1 … A
46 45 prodeq1d ⊢ N ∈ 0 … A → ∏ k = A − N − 1 A k = ∏ k = A - N + 1 A k
47 13 40 46 3eqtr4rd ⊢ N ∈ 0 … A → ∏ k = A − N − 1 A k = ∏ k = 1 A k ∏ k = 1 A − N k
48 fallfacval3 ⊢ N ∈ 0 … A → A N _ = ∏ k = A − N − 1 A k
49 elfz3nn0 ⊢ N ∈ 0 … A → A ∈ ℕ 0
50 fprodfac ⊢ A ∈ ℕ 0 → A ! = ∏ k = 1 A k
51 49 50 syl ⊢ N ∈ 0 … A → A ! = ∏ k = 1 A k
52 fprodfac ⊢ A − N ∈ ℕ 0 → A − N ! = ∏ k = 1 A − N k
53 14 52 syl ⊢ N ∈ 0 … A → A − N ! = ∏ k = 1 A − N k
54 51 53 oveq12d ⊢ N ∈ 0 … A → A ! A − N ! = ∏ k = 1 A k ∏ k = 1 A − N k
55 47 48 54 3eqtr4d ⊢ N ∈ 0 … A → A N _ = A ! A − N !