Page Numbers: Yes First Page: 1
Heading:
May 15, 1979 2:04 PM[IVY]<krl>document>ex-mccarthy-version1
Examples from McCarthy’s unpublished paper on concepts
Basic Units used in the examples
# Know1↑11: HasFunctional (knower, Knows1, description)
self: An Implication with
priorDescription =
A Seek with
processor = My knower
target = Translation(My description, WorldModel(My knower))
specifier = Translation (StandardConcept(My description),
WorldModel(My knower))
derivedDescription =
A Seek with
result = A Success
resultDesc = Translation(My item, WorldModel(My knower))
knower: A Processor
description: A Description with baseSpace = *M*
item: A Description with baseSpace = *M*
# Know2↑11: HasFunctional (knower, Knows2, datum, pattern)
self: An Implication with
priorDescription =
A Match with
processor = My knower
pattern = Translation(My pattern, WorldModel(My knower))
datum = Translation(My datum, WorldModel(My knower))
derivedDescription = A Process with result = A Success
knower: A Processor
pattern: A Description
datum: A Description
# StandardConcept↑1
1: Comment ("the filledSlot can be the self of a unit as well as any other slot. the
fillerDescription is a description of what is needed to be convinced
you really have the filler, not just a description of it. It is domain
and purpose dependent.")
filledSlot: A Slot
fillerDescription: A Description; Which Describes A Description
######################
Special units needed for the telephone number examples
# Person
self: A Processor
name: A String
telephoneNumber: A TelephoneNumber
# TelephoneNumber
self:↑1A String1: Which HasStandardConcept \An ExplicitSequenceOfCoreferences
A Sequence with length = 7
itemDescription = \A Digit
# Patself/Instance: A Person with name = "Pat"
# Mikeself/Instance: A Person with name = "Mike"
# Maryself/Instance: A Person with name = "Mary"
# Action
self: An Event
actor: A Person
object: A Thing
# Dial↑11: WhichIs FutherSpecified \Action
self: actor:
object: SequenceOf(A Digit)
# CallName1: HasFunctional (object, Called, name)
caller: A Person
name: A String
callee: An Entity
######################
Special units needed for the other examples
# Keplerself/Instance: A Person with name = "Kepler"
# Planets
self/Instance: SetOfAll(A Planet with sun = Sol)
# Composite
self:↑1 A Number1: Comment ("For the purposes here, this need not be defined further")
# EvenNumber
self:↑1 A Number1: Comment ("For the purposes here, this need not be defined further")
# Parent
self: An Animal
children: SetOf(An Animal)
Example 1
-----------------------------------------------
We are told: Mary’s telephone number is Mike’s telephone number
Direct result:
DescribeThe telephoneNumber from a Person thatIs Mary
\The telephoneNumber from a Person thatIs Mike
Possible additional inference (depending on the resources for Describe):
DescribeThe telephoneNumber from a Person thatIs Mike
\The telephoneNumber from a Person thatIs Mary
-----------------------------------------------
We are told: Pat dialed Mike’s telephone number
Direct result:
DescribePat
\The actor from a Dial with object = The telephoneNumber from
a Person thatIs Mike
-----------------------------------------------
We are told: Pat knows Mike’s telephone number
Direct result:
DescribePat
\Which Knows1 \The telephoneNumber from a Person thatIs Mike
or, expanded to make explicit the meaning of the functional:
DescribePat
\The knower from
a Know1 with description = \The telephoneNumber from
a Person thatIs Mike
-----------------------------------------------
Question: Did Pat dial Mary’s telephone number?
Answering process:
MatchPat
\The actor from a Dial with object = The telephoneNumber from
a Person thatIs Mary
-----------------------------------------------
Question: Does Pat know Mary’s telephone number?
Answering process:
MatchPat
\Which Knows1 \The telephoneNumber from a Person thatIs Mary
We are told: Pat knows Mike’s telephone number is 333-3333
Direct result: This sentence contains two propositions. One corresponding to "Pat thinks that..." and one corresponding to "I (the speaker) think that.." Assuming the hearer is entering everything the speaker says as truth, the result would be:
DescribeThe telephoneNumber from a Person thatIs Mike
\"333-3333"
DescribePat
\Which Knows2 (\The telephoneNumber from a Person thatIs Mike,
"333-3333")
Alternative result: If the hearer were more skeptical, and the sentence were spoken by John, the first Describe would be replaced by:
DescribeMike
\WhichIs DescribedAs (\A Person with
telephoneNumber = "333-3333")
with descriptionSpace = The worldModel from
a Processor thatIs John
Example 2
-----------------------------------------------
To represent: Pegasus is a horse, but doesn’t exist
# Pegasus
self/Instance:A Horse
Not (EntityOf(RealWorld))
-----------------------------------------------
Example 3
We are told: Kepler knew that the number of planets was composite (in the sense in which it is synonomous with "Kepler knew that 9 was composite")
Step 1: Analyze the Noun Phrase "the number of planets" as being opaque
A Seek with
target = \The cardinality from a Set thatIs Planets
Result: Find 9
Step 2:
DescribeKepler
\Which Knows2 (9, \A Composiite)
-----------------------------------------------
We are told: Kepler believed that the number of planets was even.
Step 1: Analyze the Noun Phrase "the number of planets" as being transparent
Step 2:
DescribeKepler
\Which Knows2 (\The cardinality from a Set thatIs Planets,
\An EvenNumber)
Example 4
-----------------------------------------------
To represent: Lassie knows the location of all her puppies (where a dog’s concept of location and puppies may be different from ours)
DescribeLassie
\Which Knows1
\The rangeSet from a SetMapping with
base = The children from a Parent thatIs Lassie
rangeElement = \The location from
a PhysicalObject thatIs This element
Example 5
To represent: the number of planets is 9
DescribeThe cardinality from a Set thatIs Planets
\9
-----------------------------------------------
To represent: 9 is necessarily 9
Describe9
\WhichIs↑1 DescribedAs 9
with descriptionSpace = WhichIs↑x: ExtentionOf LogicalWorld
1: WhichIs Universal {My x}
-----------------------------------------------
To represent: the number of planets is necessarily 9 (which is in fact false)
DescribePlanets
\WhichIs↑1 DescribedAs (A Set with cardinality = 9)
with descriptionSpace = WhichIs↑x: ExtentionOf LogicalWorld
1: WhichIs Universal {My x}
-----------------------------------------------
Example 6
We are told: Baldwin is a statesman
Direct result:
DescribeBaldwin
\
A Statesman
-----------------------------------------------
We are told: Pickwick is a fiction
Direct result:
DescribePickwick
\
Not(EntityOf(RealWorld))
Example 7
To represent: The situation in which "Phillip is unaware that Tully denounced Cataline" even though he knows that Cicero did it, and we know that one person is called both "Cicero" and "Tully".
# Cataline
self/Instance: A Person with name = "Cataline"
# Tully-Cicero
self/Instance: A Person; Which Denounced Cataline
# Philip
self/Instance:A Person with name = "Philip"
A Processor with worldModel = My model
model/Instance:
The worldModel from a Processor thatIs Philip
A DescriptionSpace with entities = Superset({My tully, My cicero})
cicero/Instance:
ConceptFor (Tully-Cicero, My model)
Not(EntityOf(RealWorld))
DescribedAs (\[A Person with name = "Cicero";
Which Denounced Cataline],
The model from Philip)
tully/Instance:
ConceptFor (Tully-Cicero, My model)
Not(EntityOf(RealWorld))
DescribedAs (\A Person with name = "Tully", The model from Philip)
Example 8
We are told: The morning star is the evening star
Direct result:
First Step:
Seek \WhichIs Called "the morning star"
Seek \WhichIs Called "the evening star"
If exactly one succeds, then add the other description to it.
If neither seek finds a unit, then create one:
# MorningEveningStar
self/Instance:WhichIs Called "the morning star"
WhichIs Called "the evening star"
Note that this involves no commitment as to whether it is a Star (which in fact it isn’t)
If both Seeks succeed and retrieve the same Unit, do nothing.
If they retrieve different units, then do:
DescribeMorningStar
\EveningStar
Describe\MorningStar
\Not(WhichIs UniqueUnitForEntity)
DescribeEveningStar
\MorningStar
Describe\EveningStar
\Not(WhichIs UniqueUnitForEntity)
Example 9
We are told: I thought Bill’s yacht was longer than it is (I have changed the deictic "you" to "Bill". This would be done at langauge interpretation time)
# Yacht
length: A Length
owner: A Person
# Yacht1 self/Instance: A Yacht with owner = Bill
Step 1: analyze the noun phrase "your yacht" as transparent
Seek: \A Yacht with owner = Bill
Result: Find Yacht1
Create
# E1
self/Instance: A PastEvent
mistakenLength/Instance:
A Length
WhichIs GreaterThan The length from a Yacht thatIs Yacht1
DescribeSpeaker
\WhichIs DescribedAs
(The knower from a Know1 with
target = \The length from a Yacht thatIs Yacht1
item = My mistakenLength)
with descriptionSpace = RealWorldDuring(E1)
???this still needs fixing?
We are told: Your yacht is longer than Peter thinks it is
DescribeThe length from a Boat thatIs Yacht1
\GreaterThan (The output from a Seek with
processor = Peter
target = \The length from
a Yacht thatIs Yacht1)
-----------------------------------------------
Example 10
To represent: A situation in which Ralph sees Orcutt skulking and concludes that he is a spy and also sees him on the beach, but doesn’t recognize him as the same person, and in which he doesn’t know anything about the name "Orcutt".
# Orcutt
self/Instance: A Person with name = "Orcutt"
# Ralph
self/Instance:A Person with name = "Ralph"
A Processor with worldModel = The model from Ralph
model/Instance:
The worldModel from a Processor thatIs Ralph
A DescriptionSpace with entities = Superset({My orcutt1, My orcutt2})
orcutt1/Instance:
ConceptFor (Orcutt, My model)
Not(EntityOf(RealWorld))
DescribedAs (\A Spy, The model from Ralph)
orcutt2/Instance:
ConceptFor (Orcutt, My model)
Not(EntityOf(RealWorld))
DescribedAs (\[A Person; WhichIs Located Beach1],
The model from Ralph)
Or alternatively:
# Ralph
self/Instance:
A Person with name = "Ralph"
A Processor with
worldModel =
A DescriptionSpace with
entities = WhichIs Superset
{[ConceptFor (Orcutt, WorldModel(Ralph))
DescribedAs (\A Spy, WorldModel(Ralph))],
[ConceptFor (Orcutt, WorldModel(Ralph))
DescribedAs (\[A Person; Located (Beach1)],
WorldModel(Ralph)]})
Example 11
Every child of Mike has the same telephone number as Mike
DescribeThe children from a Parent thatIs Mike
\SetOf(A Person with
telephone = the telephone from a Person thatIs Mike)
Mike’s only child
# Child1
self/Instance: TheOne(MemberOf(The children from a Parent thatIs Mike))
Mike has an only child
DescribeThe children from a Parent thatIs Mike
\A Set with cardinality = 1
Pat knows Mike’s number; Pat wants Joe to know Mike’s number; so Joe will know Mike’s number