1. Introduction
This paper describes some exotic arithmatic operators which have interesting arithmetic
properties. The original reason for the search was because in sequence algebraic analyses, one
often encounters the need to use mixed-mode operations [4 to 6]. The following operators will
be described and possible applications suggested.
(i) Normalising operator Normc( )
When the author discovered that some number theoretic functions cannot be written in sequence
algebraic format using arithmetic operators alone, he solved these by mixed mode formulations,
i.e. algebraic equations which contain both arithmetic and logical operations [4 to 6]. They are
the next-best things but their use hinders algebraic manipulations. Amongst the very first one
developed was Normc( ) which is called a normalising operator. This is in the same category as
Abs( ), Float( ), Fract( ), and Floor( ) and like them are not really arithmetic operators as they do
not follow conventional arithmetic rules. In spite of this, Normc( ) is still a powerful operator
which gives much insights on sequence algebraic manipulations and the developments of
efficient algorithms. What Normc( ) operator does is to reduce all numerator coefficients to unity
values in an algebraic sequence. Without it, it is impossible to handle sequences as algebraic
objects within sequence generating functions.
Example 1 shows an important use of Normc( ) to derive the Prime(z) sequence from the already
known Nat(z) and Comp(z) sequences. The problem with Comp(z) sequence is that most
numerators have values greater than unity. This often arises from cross multiplications of terms
in sequences. This means that it is not possible to subtract Comp(z) from Nat(z) to find
Prime(z). This is remedied by applying Normc(Comp(z)) to reduce all its numerators to unities
before sequence subtraction.
At present Normc( ) has not been included as a builtin intrinsic function by symbolic software
developers. The computational problem would have been made easier if symbolic softwares
offer two types of sequence multiplications instead of just cross multiplication. When two
sequences each with n terms are multiplied, we get the product sequence containing 2n-1 cross
product terms. We will call this sequence cross product. The other type of multiplication could
be called sequence ordered multiplication where terms of the same order are multiplied without
any cross product terms. The resultant sequence has only n terms just like in sequence addition
and subtraction. The absence of sequence ordered multiplication makes it difficult to develop
arithmetic operators which could emulate logical operators in operations. Addition and
subtraction are sequence ordered but the numerator coefficients can only be summed or
differenced but not multiplied. Example 1 shows the application of Normc( ).
Example 1: Prime(z) = Nat(z) - Normc(Comp(z));
Nat(z) :=
................1......1......1......1......1......1.....1.....1......1......1......1......1.......1
1 + 1/z + ---+ ---+ ---+ ---+ ---+ ---+ ---+ ---+ ---+ ---+ ---+ ---+ ----+..
..................2.......3......4......5......6......7......8......9.....10....11...12...13....14
................z......z.......z.......z.......z......z......z......z.......z......z......z......z.......z.................(1)
.......................................1........2........2........1.........2......4.......2...........1
...................Comp(z) := ---- + ---- + ---- + ---- + --- + --- + --- + O(---)................(2).
...........................................4.........6.......8........9......10.....12.....14........15
........................................z........z........z.........z.........z........z........z.........z
.................................................1........1........1........1........1........1........1
................Normc(Comp(z)) := ---- + ---- + ---- + ---- + --- + --- + -----+... ...............(3).
..................................................4.......6.......8.......9.......10.......12.......14
.................................................z........z... ...z........z........z.........z.........z
......................................1........1........1........1........1........1
.................Prime(z) := ---- + ---- + ---- + ---- + --- + ------ +... ..............................(4).
........................................2........3.......5.......7......11.......13
......................................z........z........z........z........z........z
(ii) 1AND: A noncommutable arithmetic AND operator
The mathematical function F(x,y) = x^y can be developed into a one-way arithmetic 1AND
operator. y can accept binary or arithmetic inputs but x must accept binary inputs. We demonstrate this by example 2.
Example 2: Given x = {1,0,1,0,1,0,1,0,1} as the filter and y = {1,2,3,4,5,6,0,8,9} as the
sequence to be filtered by AND logic, here is how this can be effected arithmetically using a
mapping procedure.
1AND(x,y) = x^y = {1^1,0^2,1^3,0^4,1^5,0^6,1^0,0^8,1^9} = {1,0,1,0,1,0,1,0,1} ...................(5).
???(y,x) = y^x = {1^1,2^0,3^1,4^0,5^1,6^0,0^1,8^0,9^1} = {1,1,3,1,5,1,0,1,9} ......................(6).
In equation (5), x is the arithemtic one-way or 1AND operator where the 1s will allow similarly
ordered elements from y to pass through being at the same time reduced to unities, and the 0s
will block correspondingly order elements from the y-sequence. After processing, the resultant
sequence is in 1s and 0s which could be interpreted either as numerics or binary logical levels.
The elements in the filter x can be arranged in any order one chooses.
Reversing the role of x and y will give different results. This is why 1AND is a one-way
arithmetic AND operator. In equation (6), ???(x,y) = y^x does not give very interesting result
and it will not be adopted.
Map is an instrinsic function in LISP and also most symbolic softwares. Here we have a look at
the Map function in Maple V R 3 (see refernce section 4a). Unfortunatley the syntax does not
provide for the last item to be replaced by an array sequence thus limiting the processing power
of this function. What is required is an ordered mapping between two sequences of the same
length. It has not been verified whether there are other symbolic softwares which might provide
the ordered Map function. There is one catch as 0^0 is not defined. In the present
context, it would be necessary to redefine 0^0 = 0 for consistency.
>map(proc(x,y) x^y end,[1,2,3,4,5,0,8,9],2);
......................{1,4,9,16,25,0,64,81} ..............................................(7).
In view of the absence of a proper ordered Map function, one called OMAP will be
defined here as follows:
> 1AND(x,y):= OMAP(proc(x,y) x^y end, [1,2,3,4,5,6,0,0,9],[1,0,1,0,1,0,1,0,1]);
.......................{1,0,1,0,1,0,1,0,1} ................................................(8).
Following after this is a group of arithmetic operators which accepts only binary logic inputs but
processes these using arithmetic operations only.
(iii) AAND: A commutable arithmetic AND operator (both x and y accept binary inputs only)
.................AAND(x,y):= (2x-1)*(2y-1); .......................................(9).
Here are the rules of AAND-operator:
..................(2^1-1)*(2^1-1) = 1
..................(2^1-1)*(2^0-1) = 0
..................(2^0-1)*(2^1-1) = 0
..................(2^0-1)*(2^0-1) = 0 ................................................(10).
(iv) SXOR: A dual personality arithmetic XOR operator
(a) A binary to tertiary level convertor:
..................SXOR(x,y) := (2x-1)-(2y-1); ...................................(11a).
Rules of SXOR:<
..................(2^1-1)-(2^1-1) = 0
..................(2^1-1)-(2^0-1) = 1
..................(2^0-1)-(2^1-1) = -1
..................(2^0-1)-(2^0-1) = 0 ...........................................(11b).
(b) An arithmetic XOR-operator:
..................SXOR(x,y) := ABS((2x-1)-(2y-1)); ..........................(12a).
Rules of arithmetic XOR:
..................(2^1-1)-(2^1-1) = 0
..................(2^1-1)-(2^0-1) = 1
..................(2^0-1)-(2^1-1) = 1
..................(2^0-1)-(2^0-1) = 0 ...........................................(12b).
(v) No-carry arithmetics
What is no-carry arithmetics? Answer: it is arithmetics of infinite radix based integers. We are
used to the decimal radix but there are other radices such as the binary, the octal and the
hexadecimal number systems. We are at home with the decimal system by long usage -- not
because we have ten fingers although that helped before the advent of handheld calculators.
Imagine a calculator which adopts the infinite radix based number system. We need only one
alphnumeric LED display unit on the calculator so that the symbol # might represent 1234059839.
You will need infinite number of distinctive symbols to represent all the distinctive integers.
Surely, it is madness! Well, not really. Since we do not have a bottomless symbol set, let us
use the decimal number system itself as the symbol set to represent infinite radix based integers
within each digit. However within the symbol set, we still need carries since we are still using
the decimal number set. This will save us from using an infinite number of symbols.
No-carry arithmetics can easily be simulated in sequence algebra. Given an integer number =
12345, we can represent this in sequence algebraic format as shown in equation (13):
..................................................................3..........2........1
...............................Numb(z) := 5 + 4/z + ---- + ---- + ------ .........................(13).
.....................................................................2.........3........4
...................................................................z..........z........z
Conventionally we write multidigit integers from left to right starting with the most significant
digit. In machine languages, we write these backward in chunks called nibbles or bytes. Ideally
we should write from right to left so that all numbers are aligned at the least significant
digit. The way 12345 is represented in sequence algebraic format in equation (13) follows the
right-to-left rule.
Note that the least significant digit, i.e. 5 is associated with 1/z^o and the most significant digit,
i.e. 1 is associated with 1/z^4. The choice of z^o ensures that when Numb(z) is raised to any
positive integer power n, the product sequence will always start from z^o. This is called order-
invariance [1,2,3].
Let us compare conventional arithmetic operations on Numb(z) with no-carry arithmetics using
sequence algebra.
Conventional Arithmetics:
Addition: 12345 + 12345 = 24690 where the least significant digit has a carry over to the
next higher digit because it exceeds 9. This is done automatically in calculators and computers.
However, carries can be suppressed in machine languages but may not be available in some
higher level languages.
Multiplication: (12345)^2 = 152399025
A 5-digit integer number when squared yields a product of 9 or 10 digits and of course all carries
are automatically processed.
Sequence Algebraic No-Carry Arithmetics
.......................................................3.......2.......1
Let...............Numb(z) := 5 + 4/z + ---- + ---- + ---- ...............................(14).
.........................................................2.......3.......4
.......................................................z.......z......z
......................................................................................6.......4........2
Then........ Sum(z):= Numb(z) + Numb(z) = 10 + 8/z + ---- + ---- + ----
.........................................................................................2.......3.......4
......................................................................................z........z.......z
...........................................................= {2, 4, 6, 8, 10}. ...................(15).
If carries are effected in equation (15) the result will be {2,3,5,9,0} which agrees with conventional
arithmetical computations.
Here is an example of sequence cross multiplication used to emulate ordinary multiplication of
12345^2.
..............................40....46.......44......35.....20......10.......4.......1
Numb(z)^2=25+ ---- + ---- + ---- + ---- + ---- + ---- + ---- + ---- .......................(16).
............................z.............2.........3.......4.......5........6.......7.......8
........................................z..........z.......z.........z........z........z.......z
This would be reported in no-carry format as: {1,4,10,20,35,44,46,40,25}. ...........(17).
If carries are cleared, then we get: 152399025 which agrees with computations from
conventional arithmetics.
Not shown here is subtraction which can result in under-carries. Sequence algebra cannot
handle sequence divisions since conventional divisions involve multiple digits and are quite
different from conventional multiplications.
With no-carries, representations of numerator coefficients could reach astronomical sizes using
decimal based symbols in compiled programs. Since sequence algebra is computed using
symbolic softwares, this is not a major problem. The application is confined to number theoretic
sequences in the natural number system where positive numerator coefficients are expected.
No-carry arithmetics does not make life any easier for school children since we do not have an
infinite symbolic set, but multiprecision integer computations are made easy using a symbolic
algebraic software.
2. Computations Of Goldbach's Sequences
Goldbach's sequence is defined as follows by the author:
..................Goldbach(z) : = Normc(Prime(z)^2); ........................(18).
Note that Godlbach(z) has a quadratic form with Prime(z) as its variable. All sequence
algebraic functions process holistic sequences as algebraic variables. It is quite unlike
conventional number theory. This is a good example of the application of no-carry arithmetics.
Example 2: Determine whether Prime(z)={3,......,19} is a full goldbach sequences which is also
labelled as GS1(19):0.
..........................................1..........1.......1.......1.......1.......1.......1
.......................Prime(z) := ---- + ---- + ---- + --- + --- + --- + ------ ...............(19).
.............................................3.........5.......7......11......13......17......19
..........................................z.........z........z......z........z........z.........z
Goldbach(z) :=
..1......2.....3.......2......3......4......4......4.......5......6......3......2.....4......2......1.......2......1
----+ ----+ ---+ ---+ ---+ ---+ ---+ ---+ ---+ ---+ ---+ ---+ ---+ ---+ ---+ ---+ ----
.....6......8.....10....12....14....16....18...20....22....24....26....28...30....32...34....36...38
..z.......z......z......z......z......z......z......z.......z......z......z......z......z......z.......z.......z......z
...........................................................................................................................(20).
On checking the indices of the order variables z's in the denominators, it can be seen that no
even integers are missing. This is therefore a full Goldbach's sequence.
One interesting question is whether there are any more full Goldbach's sequences. So far none
have been found. Even if another is found at an astronomical scale, it will not prove or disprove
Godlbach's conjecture. In fact it might be more fruitful to investigate whether half the
Godlbach(z) sequence is full. If you square two identical Prime(z) sequence you will get a
triangular formation of coefficient arrays as shown in equation (23).
........................................a(3).....a(5).....a(7).....a(11).....a(13).....a(17).....a(19)
...................Prime(z) := ------ + ----- + ----- + ------ + ------- + ------ + ------- .............(21).
............................................3..........5.........7.........11.........13.........17.........19
.........................................z..........z..........z..........z.............z............z...........z
The reason for assigning array indices to follow the order values of z-variables is obvious if you
note that the sum of the numerator indices equal exactly the index values of the z-variable in the
Goldbach(z) as shown in equation (22).
.................................2..............................2...............................................2
............................a(3).......a(3) a(5)......a(5)......a(3) a(7).......a(5) a(7)...a(7)......a(3) a(11)
Goldbach(z) := ------- + 2 ---------+ -------+2---------+2-----------+-----+2----------
...................................6.............8...........10...........10...............12.........14...............14
................................z...............z............z.............z..................z..........z................z
.........a(3) a(13)..........a(5) a(11)..........a(5) a(13)........a(7) a(11)......a(3) a(17).......a(7) a(13)
.....+2 ----------+ 2 --------------+ 2 ------------+ 2 ------------+ 2 -----------+ 2-----------
.....................16....................16....................18..................18...................20...................20
...................z......................z.......................z....................z.....................z.....................z
...................................................................2
...........a(3) a(19).............a(5) a(17).....a(11)........a(5) a(19).........a(7) a(17).........a(11) a(13)
.......+2 ------------ +2 ------------ + ------- +2 ------------ +2 ------------ +2 ------------
......................22...................22...............22...................24..................24...................24
..................z......................z...................z....................z....................z....................z
...................................2.....................................................................................................2
.....a(7) a(19)......a(13).....a(11) a(17).......a(11) a(19).....a(13) a(17).....a(13) a(19)....a(17)
+ 2 -----------+ ------ +2 -----------+2 ------------+2 -----------+2 ------------+-------
..............26.............26.............28....................30....................30...............32.............34
...........z.................z...............z......................z......................z.................z...............z
................................................2
............a(17) a(19)...........a(19)
.......+ 2 --------------- + -------- ..............................................................(22).
......................36..................38
....................z....................z
If all the array terms belong to the same ordered z-variable terms are collected together, we get
equation (23). From this set of equations we note that squared arrays are located along the
diagonal of the Goldbach's matrix. Those off diagonal elements always appear in pairs. The
values on the RHS are simply the arithmetic sums of the numerator coefficients in Goldbach(z)
(see equation (22)) on the LHS.
Equation (23) shows the equations for the first half of the Goldbach(z) sequence.
Order...Arrays......................................................Sum
z^6.....a(3)^2.........................................................=9
z^8.....2a(3)a(5)....................................................=30
z^10....a(5)^2+2a(3)a(7).........................................=67
z^12....2a(5)a(7)....................................................=70
z^14....a(7)^2+2a(3)a(11).......................................=115
z^16....2a(3)a(13)+2a(5)a(11)................................=188
z^18....2a(5)a(13)+2a(7)a(11)................................=244
z^20....2a(3)a(17)+2a(7)a(13)................................=246
z^22....2a(3)a(19)+2a(5)a(17)+a(11)^2...................=405
z^24....2a(5)a(19)+2a(7)a(17)+2a(11)a(13)............=834
z^26....2a(7)a(19)+a(13)^2 ....................................=475
z^28....2a(11)a(17).................................................=374
z^30....2a(11)A(19)+2a(13)a(17).............................=860
z^32....2a(13)a(19).................................................=494
z^34....a(17)^2........................................................=289
z^36....2a(17)a(19).................................................=343
z^38....a(19)^2........................................................=361 ............................(23).
Table 1 shows how these array elements are arranged in the Goldbach's matrix form.
Table 1 - Elements of Eqn(23) Arranged In A Goldbach's Matrix
......3..........5..........7.........11.........13.........17.........19
------------------------------------------------------------------------------------------
3....x..........2x........2x........2x.........2x.........2x.........2x
5.................x.........2x........2x.........2x.........2x..........2x
7.............................x.........2x.........2x..........2x.........2x
11.......................................x..........2x..........2x..........2x
13....................................................x...........2x..........2x
17..................................................................x...........2x
19.................................................................................x
-----------------------------------------------------------------------------------------
.....{key: x represent array products. For exampe
.....Array (3,3), the array product is a(3)^2}
The array sum on the RHS of equation (23) can be computed a Maple V R 3
program line as shown below:
> for i from 3 to 19 do map(proc(x,i) i*x*(isprime(i)-false)/(true-false) end,
[3,5,7,11,13,17,19], i) od;
The output lines will contain zeroes only if i is a nonprime being detected by the primality testing
function isprime( ). The expression (isprime(i)-false)/(true-false) will be zero if i is a nonprime. The
summed arrays corresponding to the first half of Goldbach(z) in the last line in equation (24)
placed to the left of the # marks.
[9, 15, 21, 33, 39, 51, 57] #
....[15, 25, 35, 55, 65, 85, # 95]
..........[21, 35, 49, 77, 91, # 119, 133]
.................[33, 55, 77, 121, # 143, 187, 209]
.......................[39, 65, 91, # 143, 169, 221, 247]
..............................[51, 85, # 119, 187, 221, 289, 323]
......................................[57, # 95, 133, 209, 247, 323, 361]
The array sums are shown to the right of the # sign.
[9 30 67 115 188 244 246 # 405 834 475 374 860] ................ ............(24).
The computations are made to demonstrate the use of no-carry arithmetics
in sequence algebra using Maple V R 3. Whether the material will be of help
to those who attempt to prove Goldbach's conjecture is not clear. One of the
advantages of having defined Goldbach(z) as a sequence algebraic formulation
is that one has a reference datum by which to carry out analytical and numeric
investigations. It is difficult to come to grip with a statement such as every
even number greater than 6 is the sum of two primes when the two can be anywhere
within the global set. The Goldbach's sequence formulation limits your choice
of prime parameters. The author has the intuitive feeling that the proof of
Goldbach's conjecture can be found in GS2 and not GS1.
3. Conclusions
This paper shows that there are quite a few exotic arithmetic operators which could be
discovered if one sets one's mind to it. Maybe these were not discovered because in the past no
one has any need for them. The problem surfaced when the author attempted to write explicit
sequence algebraic formulations for some higher sequences such as Twinprime(z),
Mersenneprime(z) and Fermatprime(z). The author speculated that these cropped up because
of some weaknesses or lack of expressiveness in the arithmetic domain. Just having defined
these new operators is not enough unless symbolic software developers provide
builtin intrinsic functions which could make use of them.
4. References
a) FUNCTION:map - apply a procedure to each operand of an expression
(Abstracted from the Help Menu of Maple V R 3).
CALLING SEQUENCE:
map(fcn, expr, arg_2, ..., arg_n)
PARAMETERS:
fcn - a procedure or a name
expr - any expression
arg_i - (optional) further arguments to fcn
EXAMPLES:
> map(f, x + y*z);
f(x) + f(y z)
> map(f, y*z);
f(y) f(z)
> map(f, {a,b,c});
{f(a), f(c), f(b)}
b) FUNCTION: array - create an array
CALLING SEQUENCE:
array( indexfcn, bounds, list)
PARAMETERS:
indexfcn - (optional) an indexing function
bounds - (optional) sequence of ranges
list - (optional) list of initial values
EXAMPLES:
> v := array(1..4):
> for i to 3 do v[i] := i^2 od:
> print(v);
[ 1, 4, 9, v[4] ]
> v[2];
4
(c) Reference Papers
1. Huen Y.K.: A Simple Introduction To Sequence Algebra, a free downloadable paper available
from the author's URL site: http://web.singnet.com.sg/~huens/
2. Huen Y.K.: The Canonical Generating Function or CGF(z) - a Swiss-knife function. URL site:
http://web.singnet.com.sg/~huens/
3. Huen Y.K.: Information Contents Of Number Theoretic Functions. URL site:
http://web.singnet.com.sg/~huens/
4. Huen Y.K.: A Matrix Map for Prime and Non-prime Numbers, INT. J. Math. Educ. Sci.
Technol., 1994, VOL. 25, NO.6, pp 913-920.
5. Huen Y.K.: Some Interesing Properties Of The Natural Number System, Int. J. Math. Educ.
Sci. Technol., 1996, VOL.27, NO. 5, 685-691.
6. Huen Y.K.: Visual algebra and its applications, INT. J. Math. Educ. Sci. Technol.,1996,
VOL.??, NO.?, ???-??? (In the press as proof paper mes 100421).
=======================END OF PAPER=====================