Page Numbers: Yes First Page: 1
Heading:
December 4, 1976 9:12 PM[IVY]<KRL>document>ex-mcccarthy-version2
Examples from McCarthy’s unpublished paper on concepts
Basic Units used in the examples
# Know1↑11: HasFunctional (knower, Knows1, description)
knower:
A DescriptionSystem with
entities = HasMember(My entity)
beliefs = HasMember(An Existence with
entity = My entity
world = SharedWorld(My knower))
descriptions = IncludesSet
{[A Description with referent = My entity
Translation(My description, My knower)],
[A Description with referent = My entity
Translation([A Description;
DescribedBy(StandardConcept
(My description))],
My knower)]}

entity: MemberOf(The entities from My knower)
description: A Description with descriptionSystem = *M*
# Know2↑11: HasFunctional (knower, Knows2, datum, pattern)
knower:
A DescriptionSystem with
entities = HasMember(My entity)
descriptions =
HasMember(Translation(My pattern, My knower)
Describes(My entity))
HasMember(Translation(My datum, My knower)
Describes(My entity))
entity: MemberOf(The entities from My knower)
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: A Person with name = "Pat"; Which ExistsIn(RealWorld)
# Mikeself: A Person with name = "Mike"; Which ExistsIn(RealWorld)
# Maryself: A Person with name = "Mary"; Which ExistsIn(RealWorld)
# 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: A Person with name = "Kepler"; Which ExistsIn(RealWorld)
# Planets
self: SetOfAll(A Planet with sun = Sol; Which ExistsIn(RealWorld))
# 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
Abstract Result:
Establish CoReference in the world of arithmetic, between the entities described by:
The telephoneNumber from Mary viewedAs a Person
The telephoneNumber from Mike viewedAs a Person
Realization of the result:
DescribeThe telephoneNumber from Mary viewedAs a Person
\The telephoneNumber from Mike viewedAs a Person
Possible additional inference (depending on the resources for Describe):
DescribeThe telephoneNumber from Mike viewedAs a Person
\The telephoneNumber from Mary viewedAs a Person
-----------------------------------------------
We are told: Pat dialed Mike’s telephone number
Abstract Result:
Create Entity for the event of dialing
Create Mapping describing it
Add Beliefs for the existence of the entity and the mapping in the real world
Direct result:
DescribePat
\The actor from a Dial with object = The telephoneNumber from
Mike viewedAs a Person
-----------------------------------------------
We are told: Pat knows Mike’s telephone number
Direct result:
DescribePat
\Which Knows1 \The telephoneNumber from Mike viewedAs a Person
or, expanded to make explicit the meaning of the functional:
DescribePat
\The knower from
a Know1 with description = \The telephoneNumber from
Mike viewedAs a Person
-----------------------------------------------
Question: Did Pat dial Mary’s telephone number?
Answering process:
MatchPat
\The actor from a Dial with object = The telephoneNumber from
Mary viewedAs a Person
-----------------------------------------------
Question: Does Pat know Mary’s telephone number?
Answering process:
MatchPat
\Which Knows1 \The telephoneNumber from Mary viewedAs a Person
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 Mike viewedAs a Person
\"333-3333"
DescribePat
\Which Knows2 (\The telephoneNumber from Mike viewedAs a Person,
"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
John viewedAs a Processor

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 Planets viewedAs a Set

Result: Find 9

Step 2:
Describe
Kepler
\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:
Describe
Kepler
\Which Knows2 (\The cardinality from Planets viewedAs a Set,
\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 Lassie viewedAs a Parent
rangeElement = \The location from This element
viewedAs a PhysicalObject

Example 5
To represent: the number of planets is 9
DescribeThe cardinality from Planets viewedAs a Set
\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 Philip viewedAs a Processor
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 inUnit Philip)
tully/Instance:
ConceptFor (Tully-Cicero, My model)
Not(EntityOf(RealWorld))
DescribedAs (\A Person with name = "Tully", The model inUnit 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 Yacht1 viewedAs a Yacht


DescribeSpeaker
\WhichIs DescribedAs
(The knower from a Know1 with
target = \The length from Yacht1 viewedAs a Yacht
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 Yacht1 viewedAs a Yacht
\GreaterThan (The output from a Seek with
processor = Peter
target = \The length from
Yacht1 viewedAs a Yacht)
-----------------------------------------------
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 inUnit Ralph
model/Instance:
The worldModel from Ralph viewedAs a Processor
A DescriptionSpace with entities = Superset({My orcutt1, My orcutt2})
orcutt1/Instance:
ConceptFor (Orcutt, My model)
Not(EntityOf(RealWorld))
DescribedAs (\A Spy, The model inUnit Ralph)
orcutt2/Instance:
ConceptFor (Orcutt, My model)
Not(EntityOf(RealWorld))
DescribedAs (\[A Person; WhichIs Located Beach1],
The model inUnit 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 Mike viewedAs a Parent
\SetOf(A Person with
telephone = the telephone from Mike viewedAs a Person)
Mike’s only child
# Child1
self/Instance: TheOne(MemberOf(The children from Mike viewedAs a Parent))
Mike has an only child
DescribeThe children from Mike viewedAs a Parent
\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