Download presentation
Presentation is loading. Please wait.
1
Copyright © 2002 Cycorp The Basics Arity Argument Types Second-Order Predicates More on Functions Predicates and Denotational Functions
2
Copyright © 2002 Cycorp Function Result Types Know what type of thing a given function returns for any appropriate argument #$MotherFn always returns some female animal #$TransportViaFn always returns some collection of transportation events In CycL it’s easy to specify function result types...
3
Copyright © 2002 Cycorp Function Result Types Specified in two primary ways #$resultIsa : states what type of thing the result is an instance of #$resultGenl : states what type of thing the result is a specialization of
4
Copyright © 2002 Cycorp Function Result Types: #$resultIsa Example 1 (#$resultIsa #$GovernmentFn #$RegionalGovernment) Thus, (#$isa (#$GovernmentFn #$Sweden) #$RegionalGovernment) and (#$isa (#$GovernmentFn #$CityofAustinTX) #$RegionalGovernment)
5
Copyright © 2002 Cycorp Function Result Types: #$resultIsa and #$resultGenl Example 2 (#$resultIsa #$TransportViaFn #$Collection) and (#$resultGenl #$TransportViaFn #$TransportationEvent) Thus, (#$TransportViaFn #$Automobile) is an instance of #$Collection and a specialization of #$TransportationEvent
6
Copyright © 2002 Cycorp Transitivity of #$genls Given the transitivity of #$genls and the “transfer of #$isa through #$genls ” result types are powerful. Example (using transitivity of #$genls ) : (#$resultGenl #$TransportViaFn #$TransportionEvent) and (#$genls #$TransportationEvent #$Event) Thus, (#$genls (#$TransportViaFn #$Automobile) #$Event)
7
Copyright © 2002 Cycorp Transitivity of #$genls Example Example (using “transfer of #$isa through #$genls ”) : (#$resultIsa #$GovernmentFn #$RegionalGovernment ) and (#$genls #$RegionalGovernment #$Organization) Thus, (#$isa (#$GovernmentFn #$Sweden) #$Organization)
8
Copyright © 2002 Cycorp Examples of Function Use: #$BodyPartFn Given this information : (#$isa #$BodyPartFn #$BinaryFunction) (#$arg1Isa #$BodyPartFn #$Animal) (#$arg2Isa #$BodyPartFn #$AnimalBodyPartType) (#$arg2Isa #$BodyPartFn #$UniqueAnatomicalBodyPartType) (#$arg2Genl #$BodyPartFn #$AnimalBodyPart) (#$resultIsa #$BodyPartFn #$AnimalBodyPart) Are these well-formed NATs ? (#$BodyPartFn #$SubaruCar #$Fender) (#$BodyPartFn #$GoldenRetriever #$Tail) (#$BodyPartFn #$Rover) (#$BodyPartFn #$Rover #$Tail)
9
Copyright © 2002 Cycorp Examples of Function Use: #$BodyPartFn Given this information : (#$isa #$BodyPartFn #$BinaryFunction) (#$arg1Isa #$BodyPartFn #$Animal) (#$arg2Isa #$BodyPartFn #$AnimalBodyPartType) (#$arg2Isa #$BodyPartFn #$UniqueAnatomicalBodyPartType) (#$arg2Genl #$BodyPartFn #$AnimalBodyPart) (#$resultIsa #$BodyPartFn #$AnimalBodyPart) Are these well-formed NATs ? (#$BodyPartFn #$SubaruCar #$Fender) (#$BodyPartFn #$GoldenRetriever #$Tail) (#$BodyPartFn #$Rover) (#$BodyPartFn #$Rover #$Tail)
10
Copyright © 2002 Cycorp Examples of Function Use: #$BodyPartFn Given this information : (#$isa #$BodyPartFn #$BinaryFunction) (#$arg1Isa #$BodyPartFn #$Animal) (#$arg2Isa #$BodyPartFn #$AnimalBodyPartType) (#$arg2Isa #$BodyPartFn #$UniqueAnatomicalBodyPartType) (#$arg2Genl #$BodyPartFn #$AnimalBodyPart) (#$resultIsa #$BodyPartFn #$AnimalBodyPart) Are these well-formed NATs ? (#$BodyPartFn #$SubaruCar #$Fender) (#$BodyPartFn #$GoldenRetriever #$Tail) (#$BodyPartFn #$Rover) (#$BodyPartFn #$Rover #$Tail)
11
Copyright © 2002 Cycorp Examples of Function Use: #$InstructionsFn-Making Given this information : (#$isa #$InstructionsFn-Making #$UnaryFunction) (#$arg1Isa #$InstructionsFn-Making #$ExistingObjectType) (#$arg1Genl #$InstructionsFn-Making #$Artifact-Generic) (#$resultIsa #$InstructionsFn-Making #$ObjectType) (#$resultGenl #$InstructionsFn-Making #$Instructions) Are these well-formed NATs ? (#$InstructionsFn-Making #$Recipe #$ChickenSoup) (#$InstructionsFn-Making #$RadioReceiver) (#$InstructionsFn-Making #$Mud) (#$InstructionsFn-Making #$SetOrCollection)
12
Copyright © 2002 Cycorp Examples of Function Use: #$InstructionsFn-Making Given this information : (#$isa #$InstructionsFn-Making #$UnaryFunction) (#$arg1Isa #$InstructionsFn-Making #$ExistingObjectType) (#$arg1Genl #$InstructionsFn-Making #$Artifact-Generic) (#$resultIsa #$InstructionsFn-Making #$ObjectType) (#$resultGenl #$InstructionsFn-Making #$Instructions) Are these well-formed NATs ? (#$InstructionsFn-Making #$Recipe #$ChickenSoup) (#$InstructionsFn-Making #$RadioReceiver) (#$InstructionsFn-Making #$Mud) (#$InstructionsFn-Making #$SetOrCollection)
13
Copyright © 2002 Cycorp Examples of Function Use: #$InstructionsFn-Making Given this information : (#$isa #$InstructionsFn-Making #$UnaryFunction) (#$arg1Isa #$InstructionsFn-Making #$ExistingObjectType) (#$arg1Genl #$InstructionsFn-Making #$Artifact-Generic) (#$resultIsa #$InstructionsFn-Making #$ObjectType) (#$resultGenl #$InstructionsFn-Making #$Instructions) Are these well-formed NATs ? (#$InstructionsFn-Making #$Recipe #$ChickenSoup) (#$InstructionsFn-Making #$RadioReceiver) (#$InstructionsFn-Making #$Mud) (#$InstructionsFn-Making #$SetOrCollection)
14
Copyright © 2002 Cycorp Individuals or Collections? A key distinction among functions : Does it always return an individual ? #$MotherFn #$BorderBetweenFn Does it always return a collection ? #$TransportViaFn #$GroupFn
15
Copyright © 2002 Cycorp #$IndividualDenotingFunction All functions such that : (#$resultIsa ?FUNCTION #$Individual) Any NAT made by applying ?FUNCTION denotes an individual (as opposed to a collection). Must have a #$resultIsa specification. Must not have a #$resultGenl specification. Why not? More Examples : #$GovernmentFn, #$BirthFn
16
Copyright © 2002 Cycorp #$CollectionDenotingFunction All functions such that : (#$resultIsa ?FUNCTION #$Collection) Any NAT made by applying ?FUNCTION denotes a collection (as opposed to an individual). Must have a #$resultIsa specification. May also have a #$resultGenl specification. More Examples : #$ResidentsFn, #$TeacherFn)
17
Copyright © 2002 Cycorp Individual vs. Collection Denoting Functions The Hierarchy #$Function-Denotational disjoint #$Individual Denoting Function #$Collection Denoting Function isa genls #$GovernmentFn#$BirthFn#$GroupFn#$ResidentsFn
18
Copyright © 2002 Cycorp Summary Function result types Transitivity of #$genls Individual-denoting vs. collection-denoting functions
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.