Metamath Proof Explorer


Theorem quoremz

Description: Quotient and remainder of an integer divided by a positive integer. TODO - is this really needed for anything? Should we use mod to simplify it? Remark (AV): This is a special case of divalg . (Contributed by NM, 14-Aug-2008)

Ref Expression
Hypotheses quorem.1 ⊢ Q = A B
quorem.2 ⊢ R = A − B ⁢ Q
Assertion quoremz ⊢ A ∈ ℤ ∧ B ∈ ℕ → Q ∈ ℤ ∧ R ∈ ℕ 0 ∧ R < B ∧ A = B ⁢ Q + R

Proof

Step Hyp Ref Expression
1 quorem.1 ⊢ Q = A B
2 quorem.2 ⊢ R = A − B ⁢ Q
3 zre ⊢ A ∈ ℤ → A ∈ ℝ
4 3 adantr ⊢ A ∈ ℤ ∧ B ∈ ℕ → A ∈ ℝ
5 nnre ⊢ B ∈ ℕ → B ∈ ℝ
6 5 adantl ⊢ A ∈ ℤ ∧ B ∈ ℕ → B ∈ ℝ
7 nnne0 ⊢ B ∈ ℕ → B ≠ 0
8 7 adantl ⊢ A ∈ ℤ ∧ B ∈ ℕ → B ≠ 0
9 4 6 8 redivcld ⊢ A ∈ ℤ ∧ B ∈ ℕ → A B ∈ ℝ
10 9 flcld ⊢ A ∈ ℤ ∧ B ∈ ℕ → A B ∈ ℤ
11 1 10 eqeltrid ⊢ A ∈ ℤ ∧ B ∈ ℕ → Q ∈ ℤ
12 11 zcnd ⊢ A ∈ ℤ ∧ B ∈ ℕ → Q ∈ ℂ
13 nncn ⊢ B ∈ ℕ → B ∈ ℂ
14 13 adantl ⊢ A ∈ ℤ ∧ B ∈ ℕ → B ∈ ℂ
15 12 14 8 divcan3d ⊢ A ∈ ℤ ∧ B ∈ ℕ → B ⁢ Q B = Q
16 flle ⊢ A B ∈ ℝ → A B ≤ A B
17 9 16 syl ⊢ A ∈ ℤ ∧ B ∈ ℕ → A B ≤ A B
18 1 17 eqbrtrid ⊢ A ∈ ℤ ∧ B ∈ ℕ → Q ≤ A B
19 15 18 eqbrtrd ⊢ A ∈ ℤ ∧ B ∈ ℕ → B ⁢ Q B ≤ A B
20 nnz ⊢ B ∈ ℕ → B ∈ ℤ
21 20 adantl ⊢ A ∈ ℤ ∧ B ∈ ℕ → B ∈ ℤ
22 21 11 zmulcld ⊢ A ∈ ℤ ∧ B ∈ ℕ → B ⁢ Q ∈ ℤ
23 22 zred ⊢ A ∈ ℤ ∧ B ∈ ℕ → B ⁢ Q ∈ ℝ
24 nngt0 ⊢ B ∈ ℕ → 0 < B
25 24 adantl ⊢ A ∈ ℤ ∧ B ∈ ℕ → 0 < B
26 lediv1 ⊢ B ⁢ Q ∈ ℝ ∧ A ∈ ℝ ∧ B ∈ ℝ ∧ 0 < B → B ⁢ Q ≤ A ↔ B ⁢ Q B ≤ A B
27 23 4 6 25 26 syl112anc ⊢ A ∈ ℤ ∧ B ∈ ℕ → B ⁢ Q ≤ A ↔ B ⁢ Q B ≤ A B
28 19 27 mpbird ⊢ A ∈ ℤ ∧ B ∈ ℕ → B ⁢ Q ≤ A
29 simpl ⊢ A ∈ ℤ ∧ B ∈ ℕ → A ∈ ℤ
30 znn0sub ⊢ B ⁢ Q ∈ ℤ ∧ A ∈ ℤ → B ⁢ Q ≤ A ↔ A − B ⁢ Q ∈ ℕ 0
31 22 29 30 syl2anc ⊢ A ∈ ℤ ∧ B ∈ ℕ → B ⁢ Q ≤ A ↔ A − B ⁢ Q ∈ ℕ 0
32 28 31 mpbid ⊢ A ∈ ℤ ∧ B ∈ ℕ → A − B ⁢ Q ∈ ℕ 0
33 2 32 eqeltrid ⊢ A ∈ ℤ ∧ B ∈ ℕ → R ∈ ℕ 0
34 1 oveq2i ⊢ A B − Q = A B − A B
35 fraclt1 ⊢ A B ∈ ℝ → A B − A B < 1
36 9 35 syl ⊢ A ∈ ℤ ∧ B ∈ ℕ → A B − A B < 1
37 34 36 eqbrtrid ⊢ A ∈ ℤ ∧ B ∈ ℕ → A B − Q < 1
38 2 oveq1i ⊢ R B = A − B ⁢ Q B
39 zcn ⊢ A ∈ ℤ → A ∈ ℂ
40 39 adantr ⊢ A ∈ ℤ ∧ B ∈ ℕ → A ∈ ℂ
41 22 zcnd ⊢ A ∈ ℤ ∧ B ∈ ℕ → B ⁢ Q ∈ ℂ
42 13 7 jca ⊢ B ∈ ℕ → B ∈ ℂ ∧ B ≠ 0
43 42 adantl ⊢ A ∈ ℤ ∧ B ∈ ℕ → B ∈ ℂ ∧ B ≠ 0
44 divsubdir ⊢ A ∈ ℂ ∧ B ⁢ Q ∈ ℂ ∧ B ∈ ℂ ∧ B ≠ 0 → A − B ⁢ Q B = A B − B ⁢ Q B
45 40 41 43 44 syl3anc ⊢ A ∈ ℤ ∧ B ∈ ℕ → A − B ⁢ Q B = A B − B ⁢ Q B
46 15 oveq2d ⊢ A ∈ ℤ ∧ B ∈ ℕ → A B − B ⁢ Q B = A B − Q
47 45 46 eqtrd ⊢ A ∈ ℤ ∧ B ∈ ℕ → A − B ⁢ Q B = A B − Q
48 38 47 eqtrid ⊢ A ∈ ℤ ∧ B ∈ ℕ → R B = A B − Q
49 13 7 dividd ⊢ B ∈ ℕ → B B = 1
50 49 adantl ⊢ A ∈ ℤ ∧ B ∈ ℕ → B B = 1
51 37 48 50 3brtr4d ⊢ A ∈ ℤ ∧ B ∈ ℕ → R B < B B
52 33 nn0red ⊢ A ∈ ℤ ∧ B ∈ ℕ → R ∈ ℝ
53 ltdiv1 ⊢ R ∈ ℝ ∧ B ∈ ℝ ∧ B ∈ ℝ ∧ 0 < B → R < B ↔ R B < B B
54 52 6 6 25 53 syl112anc ⊢ A ∈ ℤ ∧ B ∈ ℕ → R < B ↔ R B < B B
55 51 54 mpbird ⊢ A ∈ ℤ ∧ B ∈ ℕ → R < B
56 2 oveq2i ⊢ B ⁢ Q + R = B ⁢ Q + A - B ⁢ Q
57 41 40 pncan3d ⊢ A ∈ ℤ ∧ B ∈ ℕ → B ⁢ Q + A - B ⁢ Q = A
58 56 57 eqtr2id ⊢ A ∈ ℤ ∧ B ∈ ℕ → A = B ⁢ Q + R
59 55 58 jca ⊢ A ∈ ℤ ∧ B ∈ ℕ → R < B ∧ A = B ⁢ Q + R
60 11 33 59 jca31 ⊢ A ∈ ℤ ∧ B ∈ ℕ → Q ∈ ℤ ∧ R ∈ ℕ 0 ∧ R < B ∧ A = B ⁢ Q + R