The Math Forum

Search All of the Math Forum:

Views expressed in these public forums are not endorsed by NCTM or The Math Forum.

Math Forum » Discussions » sci.math.* » sci.math

Notice: We are no longer accepting new posts, but the forums will continue to be readable.

Topic: On Generalizing the Natural Numbers
Replies: 4   Last Post: Nov 25, 2012 10:04 PM

Advanced Search

Back to Topic List Back to Topic List Jump to Tree View Jump to Tree View   Messages: [ Previous | Next ]
Graham Cooper

Posts: 4,495
Registered: 5/20/10
Re: On Generalizing the Natural Numbers
Posted: Nov 25, 2012 8:01 PM
  Click to see the message monospaced in plain text Plain Text   Click to reply to this topic Reply

On Nov 26, 3:37 am, George Greene <> wrote:
> On Nov 24, 6:59 pm, Charlie-Boo <> wrote:

> > Define ADD(a,b,c) as a+b=c
> That is not doable unless you ALREADY defined "+" and "=".

> > and MUL(a,b,c) as a x b = c (Peano's axioms.)
> If I already have Peano's Axioms then why am I not simply ALREADY
> WHY DO I NEED *YOUR* upper-case predicates AS WELL??
> Don't you know you could just REWRITE Peano's Axioms USING your
> upper-case predicates?  Isn't that what you REALLY MEANT to do?
> ADD( x,0, x) ?
> MUL( x,1, x) ?

> > For any relation P(,) defind P(I,x) as the
> > process of inputting a value for I and outputting all values for x
> > that are in that relation, where I in general is any number of
> > components with values I, J, K, . .. and x is x, y, z, ...  That is,
> > R(I,x) = { x | R(I,x) is true.}

> What in THE HELL makes you think any of THAT shit is COHERENT??
> R(I,x) = { SOME SET }
> AND THEN *SIMULTANEOUSLY* HAVE (as you have inside on the right of the
> set-brackets)
> "R(I,x) is true"!!  R(I,x) CANNOT simultaneously be BOTH *a*SET* AND a
> TRUTH-value!!

It's workable though. Certain predicates, let's give them a
convention of starting with s,

sadd( n,m,a )

is the set of all values of a that satisfy n+m=a

Now at the HUMAN/COMPUTER PARSER LEVEL, we convert this to and from:

{a | add(n,m)=a }

or just {a | sadd(n,m,a) } //for those of us who use prefix


E(n) n=4
E(m) m<=3
{a | add(n,m)=a }

and the PROLOG PREPARSER converts this to:

?- sadd(4,M,A) , less(M,3)

outputs the full result set

M=0, A=4
M=1, A=5
M=2, A=6
M=3, A=7

then the PROLOG POSTPARSER converts it back to the Human Format

{ 4, 5, 6, 7 }


I think pred(X, a, b, c) <=> { X | pred(X, a, b, c) }

might be a more natural convention, X is argument 1.


Point your RSS reader here for a feed of the latest messages in this topic.

[Privacy Policy] [Terms of Use]

© The Math Forum at NCTM 1994-2018. All Rights Reserved.