Metamath Proof Explorer


Theorem ceildivmod

Description: Expressing the ceiling of a division by the modulo operator. (Contributed by AV, 7-Sep-2025)

Ref Expression
Assertion ceildivmod ⊢ A ∈ ℝ ∧ B ∈ ℝ + → A B = A + B − A mod B B

Proof

Step Hyp Ref Expression
1 rerpdivcl ⊢ A ∈ ℝ ∧ B ∈ ℝ + → A B ∈ ℝ
2 ceilval ⊢ A B ∈ ℝ → A B = − − A B
3 1 2 syl ⊢ A ∈ ℝ ∧ B ∈ ℝ + → A B = − − A B
4 recn ⊢ A ∈ ℝ → A ∈ ℂ
5 4 adantr ⊢ A ∈ ℝ ∧ B ∈ ℝ + → A ∈ ℂ
6 rpcn ⊢ B ∈ ℝ + → B ∈ ℂ
7 6 adantl ⊢ A ∈ ℝ ∧ B ∈ ℝ + → B ∈ ℂ
8 rpne0 ⊢ B ∈ ℝ + → B ≠ 0
9 8 adantl ⊢ A ∈ ℝ ∧ B ∈ ℝ + → B ≠ 0
10 5 7 9 divnegd ⊢ A ∈ ℝ ∧ B ∈ ℝ + → − A B = − A B
11 10 fveq2d ⊢ A ∈ ℝ ∧ B ∈ ℝ + → − A B = − A B
12 renegcl ⊢ A ∈ ℝ → − A ∈ ℝ
13 fldivmod ⊢ − A ∈ ℝ ∧ B ∈ ℝ + → − A B = - A - − A mod B B
14 12 13 sylan ⊢ A ∈ ℝ ∧ B ∈ ℝ + → − A B = - A - − A mod B B
15 11 14 eqtrd ⊢ A ∈ ℝ ∧ B ∈ ℝ + → − A B = - A - − A mod B B
16 15 negeqd ⊢ A ∈ ℝ ∧ B ∈ ℝ + → − − A B = − - A - − A mod B B
17 12 recnd ⊢ A ∈ ℝ → − A ∈ ℂ
18 17 adantr ⊢ A ∈ ℝ ∧ B ∈ ℝ + → − A ∈ ℂ
19 modcl ⊢ − A ∈ ℝ ∧ B ∈ ℝ + → − A mod B ∈ ℝ
20 12 19 sylan ⊢ A ∈ ℝ ∧ B ∈ ℝ + → − A mod B ∈ ℝ
21 20 recnd ⊢ A ∈ ℝ ∧ B ∈ ℝ + → − A mod B ∈ ℂ
22 18 21 subcld ⊢ A ∈ ℝ ∧ B ∈ ℝ + → - A - − A mod B ∈ ℂ
23 22 7 9 divnegd ⊢ A ∈ ℝ ∧ B ∈ ℝ + → − - A - − A mod B B = − - A - − A mod B B
24 16 23 eqtrd ⊢ A ∈ ℝ ∧ B ∈ ℝ + → − − A B = − - A - − A mod B B
25 18 21 negsubdid ⊢ A ∈ ℝ ∧ B ∈ ℝ + → − - A - − A mod B = - − A + − A mod B
26 4 negnegd ⊢ A ∈ ℝ → − − A = A
27 26 adantr ⊢ A ∈ ℝ ∧ B ∈ ℝ + → − − A = A
28 27 oveq1d ⊢ A ∈ ℝ ∧ B ∈ ℝ + → - − A + − A mod B = A + − A mod B
29 negmod ⊢ A ∈ ℝ ∧ B ∈ ℝ + → − A mod B = B − A mod B
30 29 oveq2d ⊢ A ∈ ℝ ∧ B ∈ ℝ + → A + − A mod B = A + B − A mod B
31 25 28 30 3eqtrd ⊢ A ∈ ℝ ∧ B ∈ ℝ + → − - A - − A mod B = A + B − A mod B
32 31 oveq1d ⊢ A ∈ ℝ ∧ B ∈ ℝ + → − - A - − A mod B B = A + B − A mod B B
33 3 24 32 3eqtrd ⊢ A ∈ ℝ ∧ B ∈ ℝ + → A B = A + B − A mod B B