@soaproot Dedekind cuts should *absolutely* be two-sided, because the two sides may sometimes come adrift.
First of all, mathematics is about *symmetry* and there is no reason for favouring one side of the real line over the other. (Classical logic often gratuitously throws symmetry away.)
In *any* real number computation (for example Archimedes' calculation of pi by inscribing and escribing polygons in a circle) what we calculate is *always* an interval, or a sequence of nested intervals.
An "interval" is a Dedekind cut in which they two halves don't quite meet.
Then in analysis there are lots of apparent pathologies that are easily explained by saying that the "number" is a one-sided real number, not a two-sided one. Of course it could be either upper or lower.
As for multiplication, in fact Richard Dedekind chickened out of doing it in his famous paper.
John Conway has a fascinatingly original answer in "On Numbers and Games".
Multiplication can be defined for intervals fairly easily, but there is also a version including "backwards" intervals, such as [1,0] instead of [0,1], originally due to Edgar Kaucher.
See the two papers by @andrejbauer and me: https://www.paultaylor.eu/ASD/analysis