[alicebot-archcomm] Attribute var
Dr. Richard S. Wallace
alicebot-archcomm@list.alicebot.org
Thu, 14 Mar 2002 08:46:12 -0800
Very true. Mathematicians and Logicians define a predicate that way too.
Not only that, the "predicates" we have can represent only one-to-one maps.
In my SETL implementation, the predicate "name" is actually stored in binary
map:
P('localhost', 'name') := 'Martin'.
If it were a true logic Predicate, we would have to write a ternary clause,
as in Prolog:
P('localhost', 'name', 'Martin').
One thing we cannot do with our existing predicates is more complex
relations like "taller than" or "between":
Taller('Rich','Fritz'), or perhaps more accurately
Taller('localhost', 'Rich', 'Fritz'), because some other client may think
Fritz is taller than me.
Between('Office', 'Haight St.', 'Webster St.') means
"The office is between Haight St. and Webster St."
I have experimented with using Prolog through the <system> tag to capture
such higher-order predicates and even do commonsense reasoning with them
("what is the difference between a dog and a cat?"). I suppose it is part
of my vision for AIML to eventually include higher order predicates, so
that's why I favor sticking with "predicates" for our humble variables.
----- Original Message -----
From: "John Foderaro" <jkf@franz.com>
To: <alicebot-archcomm@list.alicebot.org>
Sent: Thursday, March 14, 2002 8:33 AM
Subject: Re: [alicebot-archcomm] Attribute var
>
> Computer scientists consider a predicate to be a function
> that returns true or false.
>
> The Lisp language uses this convention and usually ends
> the names of predicates with a 'p'.
>
>
> The float function converts its argument to a float:
>
> cl-user(3): (float 3)
> 3.0
>
> and the floatp predicate tests to see if its argument is a float:
>
> cl-user(4): (floatp 3)
> nil
>
>
> cl-user(5): (floatp 3.0)
> t
>
>
>
> What AIML has are variables: named objects holding values.
>
> _______________________________________________
> alicebot-archcomm mailing list
> alicebot-archcomm@list.alicebot.org
> http://list.alicebot.org/mailman/listinfo/alicebot-archcomm