W O R K I N G PA P E R
When Summation and Rounding Fail to Commute Nine elementary questions that a fiscal product cannot leave implicit
Kylian de Groot 4 April 2025
ABSTRACT
The questions in this paper are elementary. They can be stated in one line each, and a reader who has divided integers will already suspect the answers. That is not a reason to leave them unwritten. Winstwaker is a product that must turn an integer-cent ledger into a whole-euro Dutch VAT return, and that must let software and language-model agents propose the same turn. Every wrong answer to these questions has a concrete product failure: two totals for one period, a year that is not the year, an amendment that is not the amendment, a “check” that invents tax.
This paper therefore does one thing. It states nine questions. It answers each of them by arithmetic in Z. The long products that justify the two division lemmas sit in the appendix; the body uses those lemmas and does not reprint them. It assumes no rounding convention, no tax commentary, and no property of any implementation. The only primitives are integer addition, multiplication, and the division algorithm with divisor 100. Where a claim is used later, it is proved first.
The answers are: rounding does not commute with addition; the filed payable total is not the rounding of the cent-level total; a position that is zero in cents can file as minus one euro; a filed euro cannot be inverted; a credit of 101 cents of VAT due files as minus two euros, not minus one; four filed quarters are not the filed year; rate times base is not booked tax; a mixed remainder vector files a different net from the rounding of its cent-level net; and the amendment of a filed period is the difference of two filings, not the filing of a cent-level increment.
These facts are what Winstwaker’s development is not allowed to forget. They are written here so that they do not have to be rediscovered in production.
KEYWORDS. integer division; directed rounding; non-commuting diagrams; value-added tax; tax amendment; product invariants.
1. Intention Winstwaker keeps books in cents and must, at the end of a quarter, produce the euro amounts that belong on a Dutch VAT return. That step looks like unit conversion. It is not. Conversion that is applied to a sum is a different function from conversion applied to each summand. Anyone who has split a restaurant bill has met the phenomenon. A fiscal product that files returns, prepares amendments, and lets agents “check the VAT” meets it every day, at amounts that change what is owed.
The intention of this paper is therefore not to introduce a new theory of tax, and not to describe Winstwaker’s internals. The intention is to write down, without a gap, the answers to nine questions that the product’s development will otherwise answer by habit:
1. May we add after rounding? 2. May we round the payable total as if it were a box? 3. Does a zero in cents file as a zero in euros? 4. May we read cents back from a filed euro? 5. How is a small credit rounded? 6. May we add four quarterly filings to obtain a year?
1
Kylian de Groot · When summation and rounding fail to commute
7. May we replace booked tax by a statutory rate times a base? 8. Do the answers survive a vector that is not a classroom example? 9. Is a suppletie the filing of the new invoices, or the difference of two already-rounded filings?
Each question is simple. Each wrong answer is a bug that does not look like a bug: the numbers are close, the forms still add up on the page, and the disagreement is one or two euros. Winstwaker cannot be developed on that tolerance. The paper exists to remove the tolerance. If a later design choice contradicts an equality below, the equality wins.
No number in the body is imported from a codebase. Every number is computed in the section that uses it. A companion check may refuse a silent edit of those integers; it is not a source.
2. What is not assumed The following are not taken as given.
That “rounding to euros” is a single function. Two functions are defined, from the division algorithm, and they are shown to differ on named integers. That ⌊x⌋ + ⌊y⌋ = ⌊x + y⌋. Question 1 computes both sides. That the payable box may be rounded like any other box. Question 2 computes both procedures. That a zero cent-net files as zero. Question 3 computes a counterexample. That a filed euro determines the cents. Question 4 lists a fibre of cardinality 100. That negative amounts round toward zero. Question 5 computes both directions. That years are sums of filed quarters. Question 6 computes both sides. That booked VAT equals rate times base. Question 7 computes both sides. That a “realistic” mix behaves like a multiple of 100. Question 8 computes a mix that does not. That an amendment is the filing of the increment in cents. Question 9 computes both procedures on one already-filed period.
IEEE 754, Knuth’s identities, and Dutch administrative guidance are cited only as related writing. They are not used as lemmas. If a sentence cannot be replaced by an integer calculation, it is marked as intention, not as claim.
3. Language
3.1 Integers Work throughout in Z, the integers, with the usual addition and multiplication. One euro is the integer 100. An amount of v cents is the integer v . No decimal point is used in a calculation. The symbol “€” appears only after a number that has already been obtained as a quotient; it is a label for that quotient, not a second unit.
3.2 The division algorithm, divisor 100
Lemma 1. For every integer v ≥ 0 there exist unique integers q ≥ 0 and r such that v = 100q + r and 0 ≤ r ≤ 99. Existence, by explicit construction for every v used later. Given v , let q be the largest integer with 100q ≤ v , and set r = v − 100q . Then r ≥ 0 by choice of q , and r ≤ 99 because if r ≥ 100 then 100(q + 1) ≤ v , contradicting maximality. Uniqueness: if v = 100q1 + r1 = 100q2 + r2 with both remainders in {0, … , 99}, then 100(q1 −
q2 ) = r2 − r1 , so 100 divides r2 − r1 . The only multiple of 100 in {−99, … , 99} is 0, hence r1 = r2 and q1 = q2
.
2
Kylian de Groot · When summation and rounding fail to commute
The pair (q, r) is written divrem(v) = (q, r). Every quotient and remainder used later is tabulated, with the products written out, in the appendix. The body cites those lines; it does not reprint them.
3.3 Negative dividends
Lemma 2. For every integer v < 0 there exist unique integers q and r such that v = 100q + r and 0 ≤ r ≤ 99. Construction. Let n = −v > 0 and write n = 100q+ + r+ by Lemma 1. If r+ = 0, then v = 100(−q+ ) + 0. If
r+ ≥ 1, then
v = −100q+ − r+ = 100(−q+ − 1) + (100 − r+ ),
and 1 ≤ 100 − r+ ≤ 99. Uniqueness is the same argument as in Lemma 1.
The only negative dividend used later is −101. 101 = 100 ⋅ 1 + 1, −101 = 100 ⋅ (−2) + 99, because −200 + 99 = −101. Check: 100 ⋅ (−2) = −200, −200 + 99 = −101.
3.4 Floor and ceil, defined, not assumed Define two functions Z → Z from the pair (q, r) of Lemma 1 or 2. ⌊v⌋ := q, the unique quotient in v = 100q + r with 0 ≤ r ≤ 99. This is division toward −∞: for v ≥ 0 it discards r; for v < 0 it is already the more negative quotient when r = 0. Define ⌈v⌉ as the unique integer satisfying
⌈v⌉ = { q if r = 0, q + 1 if r ≥ 1.
Then ⌈v⌉ is division toward +∞. Equivalently, for v ≥ 0, ⌈v⌉ = q when 100 divides v and ⌈v⌉ = q + 1 otherwise; for v < 0, writing n = −v = 100q+ + r+ , one has ⌈v⌉ = −q+ (the remainder of n is discarded, which
moves toward +∞).
Lemma 3 (values used later). Each floor is the quotient q of Lemma 1 or 2. Each ceil with remainder at least 1 is that q plus one. The named values — ⌊199⌋ = 1, ⌊398⌋ = 3, ⌈101⌉ = 2, ⌈202⌉ = 3, ⌊−101⌋ = −2, and the rest — are the appendix table “Floor and ceil”. A later section that writes ⌊199⌋ = 1 is citing that line, not assuming a rounding convention.
3.5 Filing, as a pair of functions A due box is an integer of cents that is filed by ⌊⋅⌋. An input box is an integer of cents that is filed by ⌈⋅⌉. If d1 , … , dm are due boxes and b is an input box, the filed payable total is defined by
D := ⌊d1 ⌋ + ⋯ + ⌊dm ⌋, B := ⌈b⌉, N := D − B. The cent-level payable total and cent-level net are d := d1 + ⋯ + dm , n := d − b. Question 2 asks whether D = ⌊d⌋. Question 3 asks whether n = 0 implies N = 0. Nothing else is built in.
This pair of modes is the Dutch entrepreneur-advantage convention (due never rounded up, input never rounded down). The paper does not argue for the convention. It computes its consequences.
3
Kylian de Groot · When summation and rounding fail to commute
3.6 Homomorphism, as an equality A map f : Z → Z preserves addition when f (x + y) = f (x) + f (y) for all x, y . The word “homomorphism” means that equality and nothing else. Summation of several due boxes in cents preserves addition, because addition in Z does. Filing does not, which is Question 1.
4. Question 1 Does rounding down commute with addition? Does rounding up?
4.1 Floor Let x = 199 and y = 199. From Lemma 3, ⌊199⌋ = 1, ⌊199⌋ = 1. Add the filed values: 1 + 1 = 2. Add the cents, then file: 199 + 199 = 398, 398 = 100 ⋅ 3 + 98, ⌊398⌋ = 3. 2= 3. A second pair, so the disagreement is not an artefact of the remainder 99. Let x = 101 and y = 199: ⌊101⌋ = 1, ⌊199⌋ = 1, 1 + 1 = 2, 101 + 199 = 300, 300 = 100 ⋅ 3 + 0, ⌊300⌋ = 3. 2= 3. A pair that does commute, so the paper does not claim that every pair fails. Let x = 100 and y = 200: ⌊100⌋ = 1, ⌊200⌋ = 2, 1 + 2 = 3, 100 + 200 = 300, ⌊300⌋ = 3. Here both remainders are 0, and the two sides agree. Agreement on multiples of 100 is not a licence to treat agreement as the general case.
4.2 Ceil Let x = 101 and y = 101. ⌈101⌉ = 2, 2 + 2 = 4, 101 + 101 = 202, 202 = 100 ⋅ 2 + 2, ⌈202⌉ = 2 + 1 = 3. 4= 3. A second pair: x = 1, y = 1. ⌈1⌉ = 1, 1 + 1 = 2, 1 + 1 = 2, 2 = 100 ⋅ 0 + 2, ⌈2⌉ = 1. 2= 1.
4.3 Answer No. There exist integers — exhibited above — for which ⌊x⌋ + ⌊y⌋ = ⌊x + y⌋, ⌈x⌉ + ⌈y⌉ = ⌈x + y⌉.
4
Kylian de Groot · When summation and rounding fail to commute
What Winstwaker’s development must not do. It must not add two already filed euro amounts and treat the sum as the filing of the combined cents. The disagreement on the first pair is one euro on 398 cents. That is large enough to change a return and small enough to look like a rounding trifle.
5. Question 2 Is the filed payable total the rounding of the cent-level payable total?
Let two due boxes be d1 = 199 and d2 = 199, and let there be no input box. Then
d = 199 + 199 = 398, ⌊d⌋ = 3 by §4.1. The filed payable total, by the definition in §3.5, is D = ⌊199⌋ + ⌊199⌋ = 1 + 1 = 2. D= ⌊d⌋. The same disagreement on the mixed pair of §4.1: d1 = 101, d2 = 199, d = 300, ⌊d⌋ = 3, D = 1 + 1 = 2, 2= 3.
Answer. No. The payable total is not a box. Filing it as if it were a box — rounding the sum of the cents — is a different function from summing the filed boxes.
What Winstwaker’s development must not do. It must not take a cent-level 5a, divide by 100, and print that quotient as the return’s 5a. It must form 5a from the filed due boxes. Question 8 repeats the disagreement on a longer vector.
6. Question 3 If the cent-level net is zero, is the filed net zero?
Let d1 = 199 (due) and b = 199 (input). The cent-level net is
n = 199 − 199 = 0. The filed amounts, from Lemma 3, are D = ⌊199⌋ = 1, B = ⌈199⌉ = 2, N = 1 − 2 = −1. n = 0, N = −1, N= n/100. A second witness, so the result is not tied to the remainder 99. Let d1 = 101 and b = 101:
n = 0, D = ⌊101⌋ = 1, B = ⌈101⌉ = 2, N = 1 − 2 = −1. A witness that does file as zero: d1 = 100, b = 100.
n = 0, D = 1, B = ⌈100⌉ = 1, N = 0. Zero files as zero when both sides are multiples of 100. That is a special case, not the definition.
Answer. No. A position that is exactly settled in cents can file as minus one euro — one euro receivable — because due is floored and input is ceiled.
What Winstwaker’s development must not do. It must not treat “the books net to zero, so the return is zero”
5
Kylian de Groot · When summation and rounding fail to commute
as a lemma. The return is N , not n.
7. Question 4 Does a filed euro determine the cents that produced it?
7.1 Two preimages of 1 under floor From Lemma 3, ⌊100⌋ = 1, ⌊199⌋ = 1, 100 = 199. The same filed euro, two cent amounts.
7.2 The whole fibre
Lemma 4. For each integer k ≥ 1, ⌊v⌋ = k ⟺ v ∈ {100k, 100k + 1, … , 100k + 99}. That set has 99 − 0 + 1 = 100 elements when counted from 100k to 100k + 99: (100k + 99) − (100k) + 1 = 100. Proof. If v = 100k + r with 0 ≤ r ≤ 99, then ⌊v⌋ = k by definition. If ⌊v⌋ = k , then v = 100k + r for a unique such r, so v lies in the set. □
For k = 1 the fibre is {100, 101, 102, … , 199}. The four boundary checks of Lemma 3 sit on the edge of this set: ⌊99⌋ = 0, ⌊100⌋ = 1, ⌊199⌋ = 1, ⌊200⌋ = 2.
7.3 The fibre under ceil
Lemma 5. For each integer k ≥ 1, ⌈v⌉ = k ⟺ v ∈ {100(k − 1) + 1, … , 100k}. Cardinality: 100k − (100k − 100 + 1) + 1 = 100.
Proof. Write v = 100q + r. Then ⌈v⌉ = k means either (r = 0 and q = k ) or (r ≥ 1 and q + 1 = k ). The first case is v = 100k . The second is q = k − 1 and 1 ≤ r ≤ 99, i.e. v ∈ {100(k − 1) + 1, … , 100(k − 1) + 99}. The union is the claimed set. □
For k = 1: {1, 2, … , 100}. Boundaries: ⌈0⌉ = 0, ⌈1⌉ = 1, ⌈100⌉ = 1, ⌈101⌉ = 2.
7.4 Answer No. Each filed euro k ≥ 1 has 100 cent-preimages under floor, and 100 under ceil. An observer of the filed return cannot know whether a due box of €1 was 100 cents or 199 cents.
What Winstwaker’s development must not do. It must not let an agent, a control, or a year-on-year comparison treat a filed euro as if the cents were known. The cents live in the ledger. The return is a non- invertible image.
6
Kylian de Groot · When summation and rounding fail to commute
8. Question 5 A credit of 101 cents of VAT due: which euro is filed? A credit of 101 cents of input VAT?
From Lemma 2 and Lemma 3, −101 = 100 ⋅ (−2) + 99, ⌊−101⌋ = −2. The same 101 cents, rounded toward zero, would have been −1, because 101 = 100 ⋅ 1 + 1 and the sign would have been kept on the quotient 1. Toward-zero is not the function defined in §3.4. It is mentioned only to name the integer that must not be used.
Input side: 101 = 100 ⋅ 1 + 1, ⌈−101⌉ = −1. Together, a due credit of 101 and an input credit of 101 file as N = ⌊−101⌋ − ⌈−101⌉ = −2 − (−1) = −1. The cent-level net is −101 − (−101) = 0. Again n = 0 and N = −1, the signed form of Question 3.
Answer. A 101-cent due credit files as −€2. A 101-cent input credit files as −€1. Directed rounding does not round toward zero.
What Winstwaker’s development must not do. It must not implement negative filing as “drop the remainder and keep the sign.” That is toward-zero. Due credits become one euro too small in magnitude; the return is then wrong on every credit note whose remainder is not zero.
9. Question 6 May four quarterly filed returns be added to obtain the filed year?
Let each of four quarters contain a single due remainder of 199 cents and nothing else.
One quarter, from Lemma 3: ⌊199⌋ = 1. Four filed quarters, added as euros: 1 + 1 + 1 + 1 = 4. Four quarters, added as cents: 199 + 199 = 398, 398 + 199 = 597, 597 + 199 = 796. Check the last sum: 597 + 200 = 797, so 597 + 199 = 796. Also 4 ⋅ 199 = 4 ⋅ 200 − 4 = 800 − 4 = 796.
The year, filed once: 796 = 100 ⋅ 7 + 96, ⌊796⌋ = 7. 4= 7. The disagreement is three euros on a year whose only VAT is four remainders of 199 cents. No turnover was invented. The only operation that produced the 4 was the one Question 1 already forbade, applied three times.
A second year, with a remainder that does add: four quarters of 100 cents. ⌊100⌋ = 1, 1 + 1 + 1 + 1 = 4, 4 ⋅ 100 = 400, ⌊400⌋ = 4.
7
Kylian de Groot · When summation and rounding fail to commute
The sides agree because each remainder is 0. Agreement on this year does not license adding filed quarters in general.
Answer. No. The filed year is ⌊dyear ⌋ (or the analogue of D if several boxes are present). It is not the sum of the
four filed quarterly D’s.
What Winstwaker’s development must not do. It must not produce an annual picture, a dashboard total, or an agent summary by adding four quarterly PDFs. It must fold the year’s cents and file once.
10. Question 7 If the books record 2 000 cents of VAT on a 10 000-cent base at a rate of 21%, does “21% of the base” recover the booked tax?
Twenty-one percent is the integer ratio 21/100, or 2100 basis points on 10000. The integer 10 000 ⋅ 2 100 10 000
is evaluated as a product and a quotient, not as a decimal: 10 000 ⋅ 2 100 = 21 000 000, because 10 000 ⋅ 2 000 = 20 000 000 and 10 000 ⋅ 100 = 1 000 000, and 20 000 000 + 1 000 000 = 21 000 000. Then 21 000 000/10 000 = 2 100, because 2 100 ⋅ 10 000 = 21 000 000. The books, by the question’s hypothesis, record 2 000. 2 100 = 2 000. The difference is 100 cents, which files as one euro.
Answer. No. Rate times base is one integer. Booked tax is another. A return that copies the books reports 2000. A return that recomputes the rate reports 2100. Those are two functions. Winstwaker’s development has to choose the first: the return is a projection of what was booked, not a second calculation of what “should” have been booked. A later control may compare the two integers (Question 7 names them). It may not silently replace one by the other.
What Winstwaker’s development must not do. It must not let an agent “verify” box 1a by computing 0.21 times turnover and calling a disagreement a rounding error. The disagreement of 100 cents is exact.
11. Question 8 Do Questions 1–2 survive a vector that is not a multiple of 100 in every coordinate?
Let the due boxes be 1841, 500, and 467 cents, and let the input box be 934 cents.
11.1 Cent-level sums 1841 + 500 = 2341, because 1800 + 500 = 2300 and 2300 + 41 = 2341. 2341 + 467 = 2808,
8
Kylian de Groot · When summation and rounding fail to commute
because 2341 + 400 = 2741 and 2741 + 67 = 2808. Check against §3.2: 2808 = 100 ⋅ 28 + 8. 2808 − 934 = 1874, because 2808 − 900 = 1908 and 1908 − 34 = 1874. Check: 1874 = 100 ⋅ 18 + 74.
So d = 2808 and n = 1874.
11.2 Filing each box From Lemma 3: ⌊1841⌋ = 18, ⌊500⌋ = 5, ⌊467⌋ = 4, ⌈934⌉ = 10.
11.3 Filed totals D = 18 + 5 + 4. 18 + 5 = 23, 23 + 4 = 27. So D = 27. N = 27 − 10 = 17.
11.4 The two forbidden shortcuts ⌊d⌋ = ⌊2808⌋ = 28, 28 = 27, ⌊n⌋ = ⌊1874⌋ = 18, 18 = 17. Question 2, on this vector: the filed payable is 27, not 28. The filed net is 17, not 18.
11.5 Answer Yes, the disagreements survive. The filed net is €17. It is not the rounding of the cent-level net.
What Winstwaker’s development must not do. It must not treat a “messy” period as a reason to switch to rounding the totals. The messy period is the ordinary case. Question 8 is the ordinary case written out.
12. Question 9 Is the amendment of a filed period the filing of the new invoices, or the difference between two already-rounded filings?
12.1 Two procedures on one period A period has already been filed. Later bookings change the cents. Write d for the due-box cents that were filed, and δ for the increment in the same box — the late invoice, the backlog booking. Two procedures present themselves.
Procedure SR (difference of two filings):
SR := ⌊d + δ⌋ − ⌊d⌋.
File the old snapshot. File the new snapshot. Subtract. That difference is the amendment.
Procedure SC (file the increment):
SC := ⌊δ⌋.
Take the new invoices as cents, file that vector once, and call the result the correction.
Question 6 asked whether four filed periods sum to the filing of their union. Both sides of Question 6 start from unfiled cents. Question 9 starts from a period that has already been filed, and asks whether the correction is the filing of the increment. A reader who accepted Question 6 can still believe SC : the new invoices look like a fresh
return of their own.
9
Kylian de Groot · When summation and rounding fail to commute
12.2 The increment identity
Lemma 6. Write d = 100q + r and δ = 100s + t with 0 ≤ r, t ≤ 99. Then
⌊d + δ⌋ − ⌊d⌋ = { ⌊δ⌋ if r + t < 100, ⌊δ⌋ + 1 if r + t ≥ 100.
Proof. d + δ = 100(q + s) + (r + t). If r + t < 100, the remainder is already in range, so ⌊d + δ⌋ = q + s and the left-hand side is s = ⌊δ⌋. If r + t ≥ 100, write r + t = 100 + u with 0 ≤ u ≤ 98, so ⌊d + δ⌋ = q + s + 1 and the left-hand side is s + 1.
Hence SR = SC if and only if the two remainders do not overflow. That is not the general case, and it is not the
backlog case.
12.3 Due box, same rubric grows Let d = 199 and δ = 199. From Lemma 3, ⌊199⌋ = 1. The new snapshot is 199 + 199 = 398, and ⌊398⌋ = 3. SR = 3 − 1 = 2, SC = ⌊199⌋ = 1.
2= 1. The remainders are 99 + 99 = 198, and 198 ≥ 100, so Lemma 6 already predicted the extra euro.
A third procedure also presents itself in backlog work: treat the amendment as the new filing itself, SN := ⌊d + δ⌋ = 3.
That re-declares the original euro. It is not an increment at all.
12.4 Input box Let b = 101 and ε = 101. Then ⌈101⌉ = 2 and ⌈202⌉ = 3. SR = 3 − 2 = 1, SC = ⌈101⌉ = 2.
1= 2. Filing the increment of input overstates the correction by one euro. The same overflow that added a euro on the due side removes a euro on the input side, because the ceil of a sum is not the sum of ceils (Question 1).
12.5 Why this is not Question 6 Question 6 compared ∑i file(Qi ) with file(∑i Qi ) across four periods. Both sides start from unfiled cents.
Question 9 starts from a period that has already been filed. The old filing is a photograph; the later bookings are the film. The amendment is the difference of two photographs, not a third photograph of the new frames alone.
A product that answers Question 6 correctly can still compute a suppletie by rounding the cent-level delta. That is SC . It produces a different integer from SR on the same named pair (199, 199).
12.6 Answer The amendment is SR : file both snapshots, subtract. It is not SC : file the increment. It is not SN : send the new
filing as the correction.
What Winstwaker’s development must not do. It must not compute a suppletie by applying ⌊⋅⌋ or ⌈⋅⌉ to the difference of two cent-vectors. It files the old declaration, files the new declaration, and subtracts those euros. “Previously declared” is the already-filed photograph. The correction is not a re-file of the backlog invoices.
10
Kylian de Groot · When summation and rounding fail to commute
13. What the nine answers require of Winstwaker The questions are simple. The product consequences are not optional.
1. Compute in cents. Every intermediate total in a prepare, an amendment, a dashboard, or an agent draft is an integer of cents until the last step. 2. File once. ⌊⋅⌋ and ⌈⋅⌉ are applied to each box, then D and N are formed from those quotients. They are not applied to d or n. 3. Do not add filings of different periods. Four quarterly filings are not a year. The year is computed from the year’s cents. 4. Do not invert a filing. A control that sees only euros does not know the cents (Lemma 4, Lemma 5). The ledger is the preimage. 5. Do not recompute tax from a rate. Booked tax is the input to filing. Rate times base is a comparison, not a substitute. 6. Do not round credits toward zero. ⌊−101⌋ = −2. 7. Do not file the increment. A suppletie is file(current) − file(previous), both already rounded per box. It is not file(current − previous) in cents, and it is not the new filing sent as the correction.
These seven sentences are the development rule. The paper is the proof that they are not style. Each is the negation of a procedure that produces a different integer from the one the return, or the amendment, must show.
14. Related writing Pacioli (1494) treats the journal as a conservation law: every fact is written twice. Ellerman (1985) recasts that conservation as a linear condition on a module of T-accounts. The present paper is about a second map, out of that module, which is not linear. The non-linearity is not a new theorem about floor and ceil — it is the content of Question 1, written as school arithmetic because school arithmetic is what the product will actually run.
IEEE 754-2019 names directed rounding. Knuth (1997, Vol. 1) records floor and ceiling identities. Neither text is used as a lemma here. The identities that the paper needs are Lemma 1 through Lemma 6, each with the integers that Winstwaker’s filing will meet.
Dutch administrative notes describe filing in whole euros and the entrepreneur-advantage pair of modes. They do not write D = ⌊d⌋. That missing equality is why a product can implement the notes and still compute the wrong 5a.
15. Conclusion Nine questions, all of a kind that is easy to skip. The answers, all computed:
Question Sides Integers 1 Floor/ceil commute with +? no 1+1=2= 3, 2 + 2 = 4 = 3 2 D = ⌊d⌋? no 2= 3
3 n = 0 ⇒ N = 0? no N = −1
4 Invertible? no fibre size 100 5 Credit 101 due? −2 −200 + 99 = −101 6 Year = sum of quarters? no 4= 7
7 Rate × base = booked? no 2100 = 2000 8 Ordinary mix? N = 17 28 = 27, 18 = 17
11
Kylian de Groot · When summation and rounding fail to commute
Question Sides Integers 9 Amendment = file the increment? no SR = 2 = 1 = SC
Winstwaker’s development needs these answers in writing because the questions look too simple to deserve writing. The cost of leaving them implicit is a second total for the same period. The paper is the first total, fully expanded, so that the second one can be refused.
References Ellerman, D. P. (1985). The mathematics of double entry bookkeeping. Mathematics Magazine, 58(4), 226–233.
IEEE Computer Society. (2019). IEEE Standard for Floating-Point Arithmetic (IEEE 754-2019).
Knuth, D. E. (1997). The Art of Computer Programming, Vol. 1: Fundamental Algorithms (3rd ed.). Addison- Wesley.
Pacioli, L. (1494). Summa de arithmetica, geometria, proportioni et proportionalita. Venice.
Appendix. Calculation ledger Every product, remainder, floor and ceil used in the body, in one place. Each line is recomputed from the two factors on the right. Section 3 cites these tables and does not reprint them.
Division with remainder, divisor 100 99 = 100 ⋅ 0 + 99 100 = 100 ⋅ 1 + 0
101 = 100 ⋅ 1 + 1 199 = 100 ⋅ 1 + 99 200 = 100 ⋅ 2 + 0 202 = 100 ⋅ 2 + 2 398 = 100 ⋅ 3 + 98 467 = 100 ⋅ 4 + 67 500 = 100 ⋅ 5 + 0 796 = 100 ⋅ 7 + 96
934 = 100 ⋅ 9 + 34 1841 = 100 ⋅ 18 + 41 1874 = 100 ⋅ 18 + 74 2000 = 100 ⋅ 20 + 0 2100 = 100 ⋅ 21 + 0 2808 = 100 ⋅ 28 + 8
−101 = 100 ⋅ (−2) + 99
Products
Identity Expansion 100 ⋅ 1 = 100 100 100 ⋅ 2 = 200 100 + 100 100 ⋅ 3 = 300 200 + 100; 300 + 98 = 398 100 ⋅ 4 = 400 300 + 100; 400 + 67 = 467
100 ⋅ 5 = 500 400 + 100 100 ⋅ 7 = 700 500 + 200; 700 + 96 = 796 100 ⋅ 9 = 900 500 + 400; 900 + 34 = 934
100 ⋅ 18 = 1800 10 ⋅ 180 = 1800; 1800 + 41 = 1841; 1800 + 74 = 1874 100 ⋅ 20 = 2000 2 ⋅ 1000 100 ⋅ 21 = 2100 2000 + 100
12
Kylian de Groot · When summation and rounding fail to commute
Identity Expansion 100 ⋅ 28 = 2800 1800 + 1000; 2800 + 8 = 2808
100 ⋅ (−2) = −200 −(100 ⋅ 2) 199 + 199 = 398 200 + 198 = 398 101 + 199 = 300 100 + 200 101 + 101 = 202 200 + 2
4 ⋅ 199 = 796 800 − 4 199 + 199 + 199 + 199 = 796 398 + 398 = 796 1841 + 500 = 2341 2300 + 41
2341 + 467 = 2808 2741 + 67 2808 − 934 = 1874 1908 − 34 18 + 5 + 4 = 27 23 + 4
27 − 10 = 17 17 10 000 ⋅ 2 100 = 21 000 000 20 000 000 + 1 000 000 21 000 000/10 000 = 2 100 inverse of the previous line −200 + 99 = −101 −101
−2 − (−1) = −1 −2 + 1 3−1=2 Question 9, SR due
3−2=1 Question 9, SR input
99 + 99 = 198 remainder overflow, Lemma 6
Floor and ceil
Floor Ceil ⌊99⌋ 0 ⌈0⌉ 0
⌊100⌋ 1 ⌈1⌉ 1 ⌊101⌋ 1 ⌈100⌉ 1 ⌊199⌋ 1 ⌈101⌉ 2
⌊200⌋ 2 ⌈199⌉ 2 ⌊202⌋ 2 ⌈202⌉ 3 ⌊398⌋ 3 ⌈934⌉ 10
⌊467⌋ 4 ⌈−101⌉ −1 ⌊500⌋ 5 ⌊796⌋ 7 ⌊1841⌋ 18
⌊1874⌋ 18 ⌊2808⌋ 28 ⌊−101⌋ −2
13
Kylian de Groot · When summation and rounding fail to commute
Each left-hand side is the q of Lemma 1 or 2. Each ceil with remainder at least 1 is that q plus one: ⌈101⌉ = 1 + 1 = 2, ⌈199⌉ = 1 + 1 = 2, ⌈202⌉ = 2 + 1 = 3, ⌈934⌉ = 9 + 1 = 10. For −101, Lemma 2 gave q = −2, so ⌊−101⌋ = −2; and 101 = 100 ⋅ 1 + 1, so ⌈−101⌉ = −1.
14