This page uses an antique notation and is probably in need of maintenance.

Any equation of form a+e=a in a scalar domain implies that the scalar domain has a zero (it is e) and is not multiplicatively complete, or even cancellable. So I'll start by considering what's true of a scalar domain with no zero: then I'll move on to consider what happens when this is augmented with multiplicative cancellability or completeness, ending with positive scalar domains, in which multiplication forms a group.

The first consequence of having no zero is that the scalar domain can't be trivial: the trivial scalar domain's one member is a zero in that domain (as well as the 1). But that is just the first thing we get.

From the raw definition of the natural numbers, and addition thereon, we know that any two non-equal natural numbers are n and n+m for some natural numbers n and m. This applies equally to the positive integers, a subset of the natural numbers. The natural embedding of the positive integers in our scalar domain also has n and n+m distinct (because their equality would make m a zero), and this suffices to make it a full representation of the positive integers (it doesn't loop back on itself to form a cyclic additive group). So abandoning zero, all on its own, guarantees us the positive integers in the context of a scalar domain. Thus, when we come to consider multiplicative completeness, we'll get the rationals before we begin.

Another general consequence of abandoning zero is that it instantly induces a strict partial order on the scalar domain: s<s+r for all scalars r, s. This is strict in the sense that no s<s – that is, there is no r for which s=s+r. It is also transitive: s<r<t implies s<t. For any scalars s, r and a:

&implies; a+s<a+r and a.s<a.r

because s<r implies some scalar u for which s+u=r; whence a+s+u=a+r and a.s+a.u=a.r.

&implies; s<r

because we can cancel a from a+s+u=a+r. Notice, however, that a.s+u=a.r need not imply s<r unless we are guaranteed that u will be a.v for some v: we get such a guarantee when multiplication forms a group, but I'll work without it for now.

For scalars s, t, I define functions (scalar| below :), (scalar| above :) and (scalar × scalar: between :), all yielding sets of scalars, by:

={scalars r<t} =(|<:{t})

Notice that, for any r<t, below(r) is a subset of below(t), by transitivity of our ordering. Likewise, above(t) is a subset of above(r).

={scalars r with s<r} =({t}:<|), and
to be their intersection

If this is non-empty, so there is some u with s<u<t, s<t. Conversely, if we have s<t, we have some r with s+r=t; now addition is epic, so r=a+b for some a, b: whence s<s+a<s+a+b = s+r=t, so between(s,t) is non-empty precisely when s<t.

Both addition and multiplication are epic (in any scalar domain): this means that, for any scalar s, there are scalars b, c, d, e with b+d=s and e.c=s. Applying this to addition with s=1, we obtain some a,b for which a+b=1, consequently some a<1. The successive power of a, (i.e. 1, a, a.a, a.a.a, …) consequently form a diminishing sequence: we can think of it as getting arbitrarily small.

Equally, for any positive integer n = {0, …, n-1} any function (n|f:scalars) is bulkable with respect to either addition or multiplication: write the bulk action, whether sum or product, as bulk(f). Now, f(n-1) is a scalar, so it is the sum of some a,c: define g= (1+n| (n-1:f:), (n-1)->a, n->c :) and observe that bulk(g)=bulk(f)=s. Thus any finite bulkable function with bulk action s can be extended to another such from a larger finite domain: we have (1| 0->s :) bulkable with bulk action s, so we can use induction, from this, to show that, for any scalar and any positive integer, n, {(n|:scalars)} contains at least some functions with product s and at least some with sum s. Thus we can chop any scalar into arbitrarily little pieces.

For every b<d, we have between(b,d) non-empty: indeed, for any monotonically increasing function from a natural number (n|f :between(b,d)), including the empty function, let u be b if n=0, otherwise f(n-1); observe u<d and so some a+c+u=d, so we can induce a function (1+n| (n|f:), n-> c+u :between(b,d)), which is also monotonically increasing (and, therefore, monic). Thus between(b,d) contains more than any finite number of elements.

The orderings between successive elements in a monotonically increasing sequence between b and d imply differences between these elements: likewise, we get differences between b and the sequence's start and between the sequence's end and d. The sum of these differences is that between b and d: and we have 1+n summands, of which at most n can be greater than 1/(1+n). This tells us that (formally) at least one of these differences, when multiplied by 1+n, yields an answer which is not greater than 1. [Irritatingly, we can't yet deduce, from this, that multiplying such a difference by n will yield an answer actually less than 1.]

As discussed above, a zero-free scalar domain contains arbitrarily small values, to go with the (arbitrarily large) positive integers: and in any between(r,s) with r<s one may find arbitrarily many scalars. The toolset for situations with such a profusion of almost equal things is topology: this enables us to characterize sensible behaviour of things in terms of continuity of functions and compactness of sets.


By taking arbitrary unions of finite intersections, we can obtain an open topology from (below|) and (above|): we get arbitrarily small intervals at out disposal everywhere; any open neighbourhood, of some scalar t, has some interval spanning t as a subset. Indeed, for any t we have some r+s=t, with t in the middle of between(r,t+s): we can pick s as small as we like, if only by splitting t= t.b+t.a, using some a+b=1 with a tiny, to make s=t.a tiny (at least in relation to t).

Some simple questions arise: are addition and multiplication continuous ? Continuity of a function (A:f:B), in terms of open topologies on A and B, says that, for every open subset U of B, (|f:U) is open in A. Our topology on scalars induces one on the Cartesian self product of our scalar domain, which is (|+) and (|.). So + is continuous precisely if (|+:below(t)) and (|+:above(t)) are open in this induced topology for every t (any other open set, U, of scalars being a union of finite intersections of (above|) and (below|), so that (|+:U) is a union of finite intersections of the sets we're considering – so if these are, so will (|+:U) be).

The topology induced on (|+)=(|.) is the collection of unions of finite intersections of sets of form U×V with U,V open sets of scalars. In fact, it suffices to take U,V in the union of (below|) and (above|).

For r,s in (|+:below(t)), we have r+s+u=t for some u: in particular, r,s are necessarily in below(t). Any p<r and q<s then have p+q<t, so we have below(r)×below(s) a subset of (|+:below(t)). Furthermore, u=a+b+c for some a,b,c so (r+a)+(s+b)+c=t, so (r+a, s+b) is also in (|+:below(t)) and (r,s) is in below(r+a)×below(s+b). Thus the union of ((|+:below(t))| (r,s)-> below(r)×below(s) :open(|+)), which is open, subsumes (|+:below(t)). Since it is a union of subsets of (|+:below(t)), it is also a subset of below(t), so equal to it. Thus (|+:below(t)) is open.

Now consider r,s in (|+:above(t)).


For any set, S, of scalars, define range(S) to be the intersection of every above and every below of which S is a subset. When between(s,t) is empty, it is a subset of any set, including range({s,t}): otherwise, there is some u between s and t (and s<t). Any such u is in above(s), so in above(r) for any r<s, so in any above which contains s; u is likewise in every below which contains t. Taking these together, we have u in range({s,t}): so any non-empty between(s,t) is a subset of range({s,t}). If between(s,t) is empty, on the other hand, it is a subset of anything, including range({s,t}): so between(s,t) is always a subset of range({s,t}). We also, trivially, have s and t in range({s,t}) but not in between(s,t), so the latter is a proper subset of the former.

In the eyes of topology given above, the range of any finite set of scalars is compact – that is, any open cover of it includes a finite sub-cover of it. (An open cover of a set is a collection of open sets whose union has the given set as a sub-set.) [Proof: in an open cover of the range of some finite set, each member of that finite set is a member of the range and so of at least one of the open sets in the cover: take one such per member of our finite set, take their union: this is open and contains all elements of the finite set; so it is one of the sets intersected to obtain the range; so it subsumes the range. As this is a finite union of open sets from our original cover, it is a finite sub-cover of the range.]

The natural Cartesian product of two scalar domains supports addition and multiplication induced by those on the domains thus combined: (r,u).(s,v) = (r.s,u.v) and (r,u)+(s,v) = (r+s,u+v). A solution to a+e=a in this product space thus implies one in each of the constituents: i.e. if either space lacks solutions to such equations, so does the product space. When the other factor is additively complete, any s, t with nothing between them (in either order) in the zero-free factor have range({(r,u),(s,v)}) = {(t,w): t in range({r,s})} for any u,v in the additively complete factor (w being implicitly arbitrary in that domain). Adding any scalar in the product space to any member of this range yields a value greater than any member of this range, as we might hope, precisely when the same is true in the zero-free factor for range({r,s}).

When both factors in a Cartesian product of scalar domains are zero-free, we find that any s<t and u<v have nothing between (s,v) and (t,u), in either order: however, range({(s,v),(t,u)}) includes some members, such as (s,u), which are less than some others, such as (t,v). So, although between((s,v),(t,u)) is empty, range({(s,v),(t,u)}) subsumes between((s,u),(t,v)), which is non-empty: in particular, adding a scalar to a member of a range need not yield a value greater than all members of that range – it may yield a member of the range.

For any scalars s, t, we know that the intersection of above(t) and above(s) is non-empty: s+t is in it. Now consider below(t) and below(s). When any of s<t, s=t or t<s holds, their intersection is one of them, so it is, indeed, non-empty (as + is epic). However, otherwise, we don't yet have enough equipment to force there to be some scalar below both t and s.

So, to escape, I'll describe a zero-free scalar domain as monotonic (um, and I'll try to think of a better name) precisely if, for any scalars s, a: the union of above(s) and below(s+a) is the entire scalar domain. [The property here added to zero-free is expressible for arbitrary scalar domain: the requirement is that, for all scalars s, a,: the union of (scalars: r-> s+r |) and ((|+:{s+a}): (u,v)->u |) is the scalar domain.] This says that whenever r<s, for every scalar t, either t<s or r<t.


I define the locality, local(t), of a scalar, t, in a zero-free scalar domain, to be the collection of scalars, s, for which neither s<t nor t<s: I'll then describe s as local to t and s, t as local to one another (the relation is trivially symmetric). Because our ordering is strict, t is local to itself (the relation is reflexive).

If we have s local to t and s+a=t+b, then a must be local to b – if either were expressed as a sum with the other, this other could then be cancelled from s+a=t+b to leave s or t as a sum with the other. (Can we avoid using reductio here ?) The basic problem with locality, appealing as I find it, is that it's negatively defined: local(t) is defined as the complement of the union of below(t) and above(t). Proving anything about locality is, consequently, hideously wrapped up in double negation. I shall, by preference, work in terms of below and above, but accumulate here what seems worth saying about locality.

For s local to t in a zero-free scalar domain, given any a+b=1, consider s.a+t.b. Now, s.a+s.b=s and t.a+t.b=t: so cancellability ensures that s is local to s.a+t.b precisely when s.b is local to t.b; and t is local to s.a+t.b precisely when t.a is local to s.a. Consequently, if we have multiplicative completeness, we obtain s.a+t.b local to both s and t whenever s, t are local and a+b=1. Consequently, the set of values local to t is a star-shaped domain. Locality is then transitive precisely if each local(t) is, in fact, convex.


The problems with locality get much easier to handle once we make the addition monotonic. We can characterize locality in terms of our topology, using the fact that above(s) and below(r) cover all scalars whenever s<r. This characterization shows that locality is transitive, thus an equivalence relation, and things get easier to prove again (even without multiplicative completeness or cancellability).

Given a scalar t in between(r,s) in a monotonic scalar domain, we have two open covers of the scalars: one by above(r) and below(t), the other by below(s) and above(t). Any u in local(t), so in neither below(t) nor above(t), is then in above(r) and below(s) – that is, also between r and s. Thus local(t) is a subset of every open set which contains t. We saw above that, for any t, there are arbitrarily small intervals containing t: so values in local(t) are, at least, very close to t.

In particular, local(t) is a subset of the intersection of all open sets containing t (this need not be open – the intersection is not finite). Any value, r, in this intersection is, then, in every open set containing t: so, in particular, for any a+b=t, r<t+a (as t is in below(t+a)) and t<r+a (t in above(b), so b<r, t=b+a<r+a) whence no scalar yields equality in place of either of these orderings, so r is local to t. Thus the intersection is a subset of local(t), so equal to it.

This, at last, proves that locality is transitive. Any two values local to one another are members of exactly the same open sets as one another, so the intersection of all open sets containing one is the intersection of all open sets containing the other: and these are their respective localities, so their localities are equal. Thus r local to s and s local to t imply r in local(s) which is local(t) so r is local to t. Consequently, locality is an equivalence relation.

We have local(t) as the intersection of all open sets containing any member of it. Now consider a union of open sets, with local(t) a subset of the union – this is called an open cover of local(t). Now, t is in the union and so in at least one of the open sets united. Any one such, having t as a member, has local(t) as a subset: so it, on its own, is a cover for local(t). Consequently, any open cover of local(t), in our topology, has a finite (single-member, in fact) sub-cover: local(t) is compact.

For any a+b=1, a zero-free scalar domain gives 1>a>a.a>a.a.a>… arbitrarily small in the sense that for any integer, there is some power of a which, when multiplied by that integer, yields a value no greater than 1. With monotonic addition, we can turn the no greater than into a less than. Because the product, p, of a's power with the integer is no greater than 1, we have p less than any 1+r: in particular, with r=b, we have a<1, whence a.b<b, so that p<1+b yields a.p<a+a.b<a+b=1. Taking one higher power of a than before, we consequently get a power of a which scales our given integer to less than 1.

Positive Scalar Domains

I'll describe a scalar domain as positive if its addition is monotonic and its multiplication is both cancellable and complete.

Valid CSS ? Valid HTML ? Written by Eddy.