Metamath Proof Explorer


Theorem etransclem10

Description: The given if term is an integer. (Contributed by Glauco Siliprandi, 5-Apr-2020)

Ref Expression
Hypotheses etransclem10.n ⊢ φ → P ∈ ℕ
etransclem10.m ⊢ φ → M ∈ ℕ 0
etransclem10.c ⊢ φ → C : 0 … M ⟶ 0 … N
etransclem10.j ⊢ φ → J ∈ ℤ
Assertion etransclem10 ⊢ φ → if P − 1 < C ⁡ 0 0 P − 1 ! P - 1 - C ⁡ 0 ! ⁢ J P - 1 - C ⁡ 0 ∈ ℤ

Proof

Step Hyp Ref Expression
1 etransclem10.n ⊢ φ → P ∈ ℕ
2 etransclem10.m ⊢ φ → M ∈ ℕ 0
3 etransclem10.c ⊢ φ → C : 0 … M ⟶ 0 … N
4 etransclem10.j ⊢ φ → J ∈ ℤ
5 0zd ⊢ φ ∧ P − 1 < C ⁡ 0 → 0 ∈ ℤ
6 0zd ⊢ φ → 0 ∈ ℤ
7 nnm1nn0 ⊢ P ∈ ℕ → P − 1 ∈ ℕ 0
8 1 7 syl ⊢ φ → P − 1 ∈ ℕ 0
9 8 nn0zd ⊢ φ → P − 1 ∈ ℤ
10 nn0uz ⊢ ℕ 0 = ℤ ≥ 0
11 2 10 eleqtrdi ⊢ φ → M ∈ ℤ ≥ 0
12 eluzfz1 ⊢ M ∈ ℤ ≥ 0 → 0 ∈ 0 … M
13 11 12 syl ⊢ φ → 0 ∈ 0 … M
14 3 13 ffvelcdmd ⊢ φ → C ⁡ 0 ∈ 0 … N
15 14 elfzelzd ⊢ φ → C ⁡ 0 ∈ ℤ
16 9 15 zsubcld ⊢ φ → P - 1 - C ⁡ 0 ∈ ℤ
17 6 9 16 3jca ⊢ φ → 0 ∈ ℤ ∧ P − 1 ∈ ℤ ∧ P - 1 - C ⁡ 0 ∈ ℤ
18 17 adantr ⊢ φ ∧ ¬ P − 1 < C ⁡ 0 → 0 ∈ ℤ ∧ P − 1 ∈ ℤ ∧ P - 1 - C ⁡ 0 ∈ ℤ
19 15 zred ⊢ φ → C ⁡ 0 ∈ ℝ
20 19 adantr ⊢ φ ∧ ¬ P − 1 < C ⁡ 0 → C ⁡ 0 ∈ ℝ
21 8 nn0red ⊢ φ → P − 1 ∈ ℝ
22 21 adantr ⊢ φ ∧ ¬ P − 1 < C ⁡ 0 → P − 1 ∈ ℝ
23 simpr ⊢ φ ∧ ¬ P − 1 < C ⁡ 0 → ¬ P − 1 < C ⁡ 0
24 20 22 23 nltled ⊢ φ ∧ ¬ P − 1 < C ⁡ 0 → C ⁡ 0 ≤ P − 1
25 22 20 subge0d ⊢ φ ∧ ¬ P − 1 < C ⁡ 0 → 0 ≤ P - 1 - C ⁡ 0 ↔ C ⁡ 0 ≤ P − 1
26 24 25 mpbird ⊢ φ ∧ ¬ P − 1 < C ⁡ 0 → 0 ≤ P - 1 - C ⁡ 0
27 elfzle1 ⊢ C ⁡ 0 ∈ 0 … N → 0 ≤ C ⁡ 0
28 14 27 syl ⊢ φ → 0 ≤ C ⁡ 0
29 28 adantr ⊢ φ ∧ ¬ P − 1 < C ⁡ 0 → 0 ≤ C ⁡ 0
30 22 20 subge02d ⊢ φ ∧ ¬ P − 1 < C ⁡ 0 → 0 ≤ C ⁡ 0 ↔ P - 1 - C ⁡ 0 ≤ P − 1
31 29 30 mpbid ⊢ φ ∧ ¬ P − 1 < C ⁡ 0 → P - 1 - C ⁡ 0 ≤ P − 1
32 18 26 31 jca32 ⊢ φ ∧ ¬ P − 1 < C ⁡ 0 → 0 ∈ ℤ ∧ P − 1 ∈ ℤ ∧ P - 1 - C ⁡ 0 ∈ ℤ ∧ 0 ≤ P - 1 - C ⁡ 0 ∧ P - 1 - C ⁡ 0 ≤ P − 1
33 elfz2 ⊢ P - 1 - C ⁡ 0 ∈ 0 … P − 1 ↔ 0 ∈ ℤ ∧ P − 1 ∈ ℤ ∧ P - 1 - C ⁡ 0 ∈ ℤ ∧ 0 ≤ P - 1 - C ⁡ 0 ∧ P - 1 - C ⁡ 0 ≤ P − 1
34 32 33 sylibr ⊢ φ ∧ ¬ P − 1 < C ⁡ 0 → P - 1 - C ⁡ 0 ∈ 0 … P − 1
35 permnn ⊢ P - 1 - C ⁡ 0 ∈ 0 … P − 1 → P − 1 ! P - 1 - C ⁡ 0 ! ∈ ℕ
36 34 35 syl ⊢ φ ∧ ¬ P − 1 < C ⁡ 0 → P − 1 ! P - 1 - C ⁡ 0 ! ∈ ℕ
37 36 nnzd ⊢ φ ∧ ¬ P − 1 < C ⁡ 0 → P − 1 ! P - 1 - C ⁡ 0 ! ∈ ℤ
38 4 adantr ⊢ φ ∧ ¬ P − 1 < C ⁡ 0 → J ∈ ℤ
39 16 adantr ⊢ φ ∧ ¬ P − 1 < C ⁡ 0 → P - 1 - C ⁡ 0 ∈ ℤ
40 elnn0z ⊢ P - 1 - C ⁡ 0 ∈ ℕ 0 ↔ P - 1 - C ⁡ 0 ∈ ℤ ∧ 0 ≤ P - 1 - C ⁡ 0
41 39 26 40 sylanbrc ⊢ φ ∧ ¬ P − 1 < C ⁡ 0 → P - 1 - C ⁡ 0 ∈ ℕ 0
42 zexpcl ⊢ J ∈ ℤ ∧ P - 1 - C ⁡ 0 ∈ ℕ 0 → J P - 1 - C ⁡ 0 ∈ ℤ
43 38 41 42 syl2anc ⊢ φ ∧ ¬ P − 1 < C ⁡ 0 → J P - 1 - C ⁡ 0 ∈ ℤ
44 37 43 zmulcld ⊢ φ ∧ ¬ P − 1 < C ⁡ 0 → P − 1 ! P - 1 - C ⁡ 0 ! ⁢ J P - 1 - C ⁡ 0 ∈ ℤ
45 5 44 ifclda ⊢ φ → if P − 1 < C ⁡ 0 0 P − 1 ! P - 1 - C ⁡ 0 ! ⁢ J P - 1 - C ⁡ 0 ∈ ℤ