Google Answers Logo
View Question
Q: how do I define multiplication of real numbers in terms of addition? ( No Answer,   3 Comments )
Subject: how do I define multiplication of real numbers in terms of addition?
Category: Science > Math
Asked by: mxnmatch-ga
List Price: $10.00
Posted: 04 Jul 2006 21:24 PDT
Expires: 08 Jul 2006 16:04 PDT
Question ID: 743424
This is a continuation of my question at:

I tried going through:
But I got lost in the 3rd section.

From the summary at the end it looks to me like I can define my method
g the same way as before except that I add a special case when 0 < y <
1. For instance, g(1,2,4.5) = 2 + 2 + 2 + 2 + g(1,2,0.5)

I just need to know how to define that last part in terms of addition.
I'm betting that if I do that then it'll work all the way up. It looks
like it involves limits on some sort of sequence, but I can't figure
out what it should be.

Request for Question Clarification by eiffel-ga on 05 Jul 2006 07:03 PDT
Hi mxnmatch-ga,

The way to define multiplication of real numbers in terms of addition
is by using logarithms. To be specific:

   x * y = e^(ln x + ln y)

But this doesn't serve your needs, does it? It brings exponentiation
into the picture. Although you can obtain the value of "ln x" by
finding the limit of a sequence, the terms of that sequence involve

If you're working in a decimal representation, and don't need to worry
about numbers with infinitely-long decimal representations, you can
work recursively, one digit at a time. In that case,

   g(1,x,y) = g(1,x,10*y)/10  when 0 < y < 1

Multiplying y by 10 brings it into the range 1..10 and your main
formula can again be applied. If there is still an amount 'leftover'
(less than 1), it will again be multiplied by 10. Eventually, you run
out of decimal digits for y, then the recursion collapses and you have
your answer.

This technique involves multiplication and division - but only by 10,
and that's because we are working in base 10 decimal numbers. If you
wanted to work with a binary representation, you could alternatively

    g(1,x,y) = g(1,x,2*y)/2  when 0 < y < 1

I'm posting this as a request for clarification rather than as an
answer, because I don't think there is an answer to your question as
asked, and you may wish to revise your question. I can't see how you
can avoid using division (or some other higher-level operation than
addition) if you wish to represent real numbers between 0 and 1 using
operations on integers.

But I'm a researcher rather than a mathematician - perhaps someone
else will have the answer you are seeking.


Clarification of Question by mxnmatch-ga on 06 Jul 2006 03:04 PDT
Trying that did push the problem around, but I'm still not certain how to solve it.

To do what you suggest (multiply y by 10 then undo that operation) I need to apply:
    g(a,x,y) = g(a, g(a,x,y*k), g(a+1,y*k,-1) )
where k=10.

The problem there is that I don't yet know how to calculate the
results for g where y is negative.

Basically, if I can figure out how to calculate g(a,x,-1) then I
should be all set (at least logically. Speed wise this will have
serious problems, but I'll cross that bridge when I get to it).

Any ideas about how to calculate g(a,x,-1)?

g(0,x,-1) = x + -1
g(1,x,-1) = x * -1 = 0 - x
g(2,x,-1) = x ^ -1 = 1/x
g(3,x,-1) = xth root of 1 (I think)

Clarification of Question by mxnmatch-ga on 06 Jul 2006 12:58 PDT
Ok, wait. I think I may have been incorrect in my most recent
assertion. I don't think that accomplishes what I want it to. Oh well,
I'll work on it.
There is no answer at this time.

Subject: Re: how do I define multiplication of real numbers in terms of addition?
From: saem_aero-ga on 06 Jul 2006 06:46 PDT
To address the original question, along with the first clarification,
the problem appears to be the stumbling block of multiplying by ten
(or division). In this case, take the number you wish to multiply by
ten and ADD it to itself 9 more times. eg: 0.5*10 = 0.5+0.5+0.5+...
Now you have avoided the decimal problem. You can construct a similar
operation for division.

(2.5)*(3.5) = (25/10)*(35/10) = 25*35/100 = 25*35*(.01)

So we can write 25*35*.01 in terms of adding 25*35, 0.01's together.
Its easy now. I instructed someone to write this code for a general
case and it does indeed work only using + operations.

Your example:
2*4.5 = 20*45*.01 = (0.1+0.1+0.1+0.1+(roughly 20*45 more additions).

I fear that with large answers there may be numerical error. Can you
devise a different method to overcome these problems?
Subject: Re: how do I define multiplication of real numbers in terms of addition?
From: mxnmatch-ga on 06 Jul 2006 12:54 PDT
That will work for multiplication, but I wanted this in a general way.

In my clarification I proposed:
    g(a,x,y) = g(a, g(a,x,y*k), g(a+1,y*k,-1) )
For a=2 (exponentiation) and k=10 we get:
    g(2,x,y) = g(2, g(2,x,y*10), g(3,y*10,-1) )
             = root(x^(y*10), y*10)   (where root(m,n) is the nth root of m)
For a=1 (multiplication) and k=10 we get:
    g(1,x,y) = g(1, g(1,x,y*10), g(2,y*10,-1) )
             = x*y*10 / y*10
For a=0 (addition) and k=10 we get:
    g(0,x,y) = g(0, g(0,x,y*10), g(1,y*10,-1) )
             = x + y*10 - y*10

In other words, we multiply y by 10 and then use it as y and then undo
undo the multiplication by 10 in such a way that it works, not just
for multiplication, but for any operation g(a,x,y).

That's pretty much what you described, but I don't know how to do
g(a,x,-1) for any operation where a > 3.
Subject: Re: how do I define multiplication of real numbers in terms of addition?
From: berkeleychocolate-ga on 06 Jul 2006 18:24 PDT
In a specific context one can prove that multiplication cannot be
defined in terms of addition. The context is that of the natural
numbers and "first-order predicate logic" in which the only
quantification allowed is over the natural numbers. For a reference
see Enderton, "A Mathematical Introduction to Logic", Corollary 32G
which follows from the theorem that a set of natural numbers is
definable in terms of 0, successor operation, <, and + iff it is
eventually periodic.

This does not settle whether one can define * using higher-order
quantification and/or over the real numbers instead of just the
natural numbers.

Important Disclaimer: Answers and comments provided on Google Answers are general information, and are not intended to substitute for informed professional medical, psychiatric, psychological, tax, legal, investment, accounting, or other professional advice. Google does not endorse, and expressly disclaims liability for any product, manufacturer, distributor, service or service provider mentioned or any opinion expressed in answers or comments. Please read carefully the Google Answers Terms of Service.

If you feel that you have found inappropriate content, please let us know by emailing us at with the question ID listed above. Thank you.
Search Google Answers for
Google Answers  

Google Home - Answers FAQ - Terms of Service - Privacy Policy