From 54f40a135f2dff103a531fe0e71d4c55f17d6a3e Mon Sep 17 00:00:00 2001 From: krasimir Date: Sun, 6 Jun 2010 11:44:51 +0000 Subject: [PATCH] SUMO: remove the uggly SubClassC and use KappaFn instead --- examples/SUMO/Basic.gf | 70 ++++++++++++---------- examples/SUMO/BasicEng.gf | 5 +- examples/SUMO/Merge.gf | 99 +++++++++++++++---------------- examples/SUMO/MergeEng.gf | 1 - examples/SUMO/MidLevelOntology.gf | 90 ++++++++++++++-------------- 5 files changed, 131 insertions(+), 134 deletions(-) diff --git a/examples/SUMO/Basic.gf b/examples/SUMO/Basic.gf index ebbc19193..f5962d43e 100644 --- a/examples/SUMO/Basic.gf +++ b/examples/SUMO/Basic.gf @@ -5,7 +5,6 @@ cat Class; El Class; Ind Class; - SubClassC (c1,c2 : Class) (Var c2 -> Formula); SubClass (c1,c2 : Class); Inherits Class Class ; [El Class]; @@ -15,24 +14,48 @@ cat Var Class; Stmt ; --- inheritance between classes -data - inhz : (c : Class) -> Inherits c c; - inhs : (c1, c2, c3 : Class) -> (p : Var c2 -> Formula) -> SubClassC c1 c2 p -> Inherits c2 c3 -> Inherits c1 c3; - inhsC : (c1, c2, c3 : Class) -> SubClass c1 c2 -> Inherits c2 c3 -> Inherits c1 c3; - --- coercion from Var to El -data - var : (c1 , c2 : Class) -> Inherits c1 c2 -> Var c1 -> El c2 ; - --- coercion from Ind to El -data - el : (c1, c2 : Class) -> Inherits c1 c2 -> Ind c1 -> El c2; -- class-forming operations data both : Class -> Class -> Class ; either : Class -> Class -> Class ; + + KappaFn : (c : Class) -> (Var c -> Formula) -> Class ; + + +-- inheritance between classes +data + -- simple sub-class relations + inhz : (c : Class) -> Inherits c c; + inhs : (c1, c2, c3 : Class) -> SubClass c1 c2 -> Inherits c2 c3 -> Inherits c1 c3; + + -- (both c1 c2) is subclass of c1 and of c2 + bothL : (c1, c2 : Class) -> Inherits (both c1 c2) c1 ; + bothR : (c1, c2 : Class) -> Inherits (both c1 c2) c2 ; + + -- relationship with other subclasses + bothC : (c1, c2, c3 : Class) -> Inherits c3 c1 -> Inherits c3 c2 -> Inherits c3 (both c1 c2); + + -- (either c1 c2) is superclass of c1 and of c2 + eitherL : (c1, c2 : Class) -> Inherits c1 (either c1 c2); + eitherR : (c1, c2 : Class) -> Inherits c2 (either c1 c2); + + -- relationship with other subclasses + eitherC : (c1,c2,c3 : Class) -> Inherits c1 c3 -> Inherits c2 c3 -> Inherits (either c1 c2) c3 ; + + -- sub-class axiom for KappaFn + kappa : (c : Class) -> (p : Var c -> Formula) -> Inherits (KappaFn c p) c ; + + +-- coercion from Var to El +data + var : (c1 , c2 : Class) -> Inherits c1 c2 -> Var c1 -> El c2 ; + + +-- coercion from Ind to El +data + el : (c1, c2 : Class) -> Inherits c1 c2 -> Ind c1 -> El c2; + -- first-order logic operations for Formula data @@ -47,23 +70,6 @@ data exists : (c : Class) -> (Var c -> Formula) -> Formula; forall : (c : Class) -> (Var c -> Formula) -> Formula; --- axioms for both -data - -- (both c1 c2) is subclass of c1 and of c2 - bothL : (c1, c2 : Class) -> Inherits (both c1 c2) c1 ; - bothR : (c1, c2 : Class) -> Inherits (both c1 c2) c2 ; - - -- relationship with other subclasses - bothC : (c1, c2, c3 : Class) -> Inherits c3 c1 -> Inherits c3 c2 -> Inherits c3 (both c1 c2); - - -- axioms for either -data - -- (either c1 c2) is superclass of c1 and of c2 - eitherL : (c1, c2 : Class) -> Inherits c1 (either c1 c2); - eitherR : (c1, c2 : Class) -> Inherits c2 (either c1 c2); - - -- relationship with other subclasses - eitherC : (c1,c2,c3 : Class) -> Inherits c1 c3 -> Inherits c2 c3 -> Inherits (either c1 c2) c3 ; -- Desc category data @@ -82,10 +88,10 @@ fun desc2desc : (c1,c2 : Class) -> Inherits c1 c2 -> Desc c1 -> Desc c2 ; --def plusInh _ _ _ inhz inh2 = inh2 ; -- plusInh _ _ _ (inhs _ _ _ sc inh1) inh2 = inhs ? ? ? sc (plusInh ? ? ? inh1 inh2) ; + -- statements data subClassStm : (c1,c2 : Class) -> SubClass c1 c2 -> Stmt ; - subClassCStm : (c1,c2 : Class) -> (p : Var c2 -> Formula) -> SubClassC c1 c2 p -> Stmt ; instStm : (c : Class) -> Ind c -> Stmt ; formStm : Formula -> Stmt ; diff --git a/examples/SUMO/BasicEng.gf b/examples/SUMO/BasicEng.gf index 8f25d2012..e5ad133ee 100644 --- a/examples/SUMO/BasicEng.gf +++ b/examples/SUMO/BasicEng.gf @@ -1,5 +1,5 @@ --# -path=.:englishExtended:abstract:common: -concrete BasicEng of Basic = CatEng - [Text] ** open DictLangEng, ParadigmsEng, ResEng, Coordination, Prelude, ParamBasic, NounEng in { +concrete BasicEng of Basic = CatEng - [Text] ** open DictLangEng, DictEng, ParadigmsEng, ResEng, Coordination, Prelude, ParamBasic, NounEng in { lincat Class = CN ; @@ -82,6 +82,8 @@ lin g = c2.g; lock_CN = <> }; + KappaFn c ob2 = ApposCN (AdvCN (AdvCN (UseN class_N) (PrepNP part_Prep (DetCN (DetQuant IndefArt NumPl) c))) where_Adv) (sentToNoun ob2) ; + desc c1 c2 i = c2 ; descClass c dc = c; desc2desc c1 c2 i d = d; @@ -89,7 +91,6 @@ lin subClassStm c1 c2 sc = lin StmtS (ss (c1. s ! Sg ! Nom ++ "is a subclass of" ++ c2.s ! Sg ! Nom)) ; instStm c i = lin StmtS (ss (i.s ! Nom ++ "is an instance of" ++ c.s ! Sg ! Nom)) ; formStm f = lin StmtS (ss (f.s ! Indep ! Pos)) ; - subClassCStm c1 c2 constr sc= lin StmtS (ss (c1.s ! Sg ! Nom ++ "is a subclass of" ++ c2.s ! Sg ! Nom ++ "where" ++ constr.s ! Indep ! Pos)) ; lindef Ind = \x -> {s = \\_ => x; a = agrP3 Sg; lock_NP = <>} ; diff --git a/examples/SUMO/Merge.gf b/examples/SUMO/Merge.gf index 37e2b708a..297c2e0f8 100644 --- a/examples/SUMO/Merge.gf +++ b/examples/SUMO/Merge.gf @@ -132,8 +132,11 @@ abstract Merge = Basic ** { -- An Organism with eukaryotic Cells, and lacking -- stiff cell walls, plastids, and photosynthetic pigments. - fun Animal : Class ; - fun Animal_Organism : SubClassC Animal Organism (\ANIMAL -> and (forall AnimalSubstance (\SUBSTANCE -> part(var AnimalSubstance Object ? SUBSTANCE)(var Organism Object ? ANIMAL))) (forall AnimalAnatomicalStructure (\STRUCTURE -> part(var AnimalAnatomicalStructure Object ? STRUCTURE)(var Organism Object ? ANIMAL)))) ; + fun Animal : Class ; + def Animal = KappaFn Organism (\ANIMAL -> and (forall AnimalSubstance (\SUBSTANCE -> part (var AnimalSubstance Object ? SUBSTANCE) + (var Organism Object ? ANIMAL))) + (forall AnimalAnatomicalStructure (\STRUCTURE -> part (var AnimalAnatomicalStructure Object ? STRUCTURE) + (var Organism Object ? ANIMAL)))) ; -- AnatomicalStructures that -- are possessed exclusively by Animals. @@ -2019,9 +2022,10 @@ abstract Merge = Basic ** { -- The process of creating a traumatic wound or -- injury. Since Injuring is not possible without some biologic function -- of the organism being injured, it is a subclass of BiologicalProcess. - fun Injuring : Class ; - fun Injuring_Class : SubClass Injuring PathologicProcess ; - fun Injuring_Damaging : SubClassC Injuring Damaging (\INJ -> exists Organism (\ORGANISM -> patient(var Damaging Process ? INJ)(var Organism Entity ? ORGANISM))); + fun Injuring : Class ; + def Injuring = both PathologicProcess + (KappaFn Damaging (\INJ -> exists Organism (\ORGANISM -> patient (var Damaging Process ? INJ) + (var Organism Entity ? ORGANISM)))) ; -- A Class of small Arthropods that are -- air_breathing and that are distinguished by appearance. @@ -2088,18 +2092,6 @@ abstract Merge = Basic ** { -- would return the subclass of ConstantQuantity comprising quantities -- between 8 and 14 meters in length. fun IntervalFn : El ConstantQuantity -> El ConstantQuantity -> Desc ConstantQuantity ; - - -- A class-forming operator that takes two arguments: - -- a variable and a formula containing at least one unbound - -- occurrence of the variable. The result of applying kappa - -- to a variable and a formula is the set or class of things - -- that satisfy the formula. For example, we can denote the set or class - -- of prime numbers that are less than 100 with the following expression: - -- (KappaFn ?NUMBER (and (instance ?NUMBER PrimeNumber) - -- (lessThan ?NUMBER 100))). - -- Note that the use of this function is discouraged, since there is - -- currently no axiomatic support for it. - fun KappaFn : (c : Class) -> (Ind c -> Formula) -> Class ; -- DeductiveArguments that are not -- ValidDeductiveArguments, i.e. it is not the case that the set of premises @@ -2162,7 +2154,8 @@ abstract Merge = Basic ** { -- while the second refers to trials and other sorts of judicial hearings -- where the merits of a LegalAction are decided. fun JudicialProcess : Class ; - fun JudicialProcess_PoliticalProcess : SubClassC JudicialProcess PoliticalProcess (\PROCESS -> forall Organization (\ORG -> agent(var PoliticalProcess Process ? PROCESS)(var Organization Agent ? ORG))); + def JudicialProcess = KappaFn PoliticalProcess (\PROCESS -> forall Organization (\ORG -> agent (var PoliticalProcess Process ? PROCESS) + (var Organization Agent ? ORG))) ; -- The Class of all Months which are July. fun July : Class ; @@ -2846,17 +2839,16 @@ abstract Merge = Basic ** { fun Necessity : Ind AlethicAttribute ; -- The TimePoint that is before all other TimePoints. - fun NegativeInfinity : Ind TimePoint ; + fun NegativeInfinity : Ind TimePoint ; -- An Integer that is less than zero. - fun NegativeInteger : Class ; + fun NegativeInteger : Class ; fun NegativeInteger_Class : SubClass NegativeInteger (both Integer NegativeRealNumber) ; -- A RealNumber that is less than zero. - fun NegativeRealNumber : Class ; - fun NegativeRealNumber_RealNumber : SubClassC NegativeRealNumber RealNumber - (\NUMBER -> lessThan (var RealNumber Quantity ? NUMBER) - (el Integer Quantity ? (toInt 0))); + fun NegativeRealNumber : Class ; + def NegativeRealNumber = KappaFn RealNumber (\NUMBER -> lessThan (var RealNumber Quantity ? NUMBER) + (el Integer Quantity ? (toInt 0))); -- A system in Vertebrates that is made up of -- the Brain, the spinal cord, nerves, etc. @@ -2864,13 +2856,13 @@ abstract Merge = Basic ** { fun NervousSystem_Class : SubClass NervousSystem (both AnimalAnatomicalStructure Organ) ; -- Components of the AtomicNucleus. They have no charge. - fun Neutron : Class ; + fun Neutron : Class ; fun Neutron_Class : SubClass Neutron SubatomicParticle ; -- SI force measure. Symbol: N. It is that force -- which gives to a mass of 1 kilogram an acceleration of 1 Meter per -- SecondDuration. Newton = m*kg*s^(_2). - fun Newton : Ind CompositeUnitOfMeasure ; + fun Newton : Ind CompositeUnitOfMeasure ; -- Instances of -- this Class are UnitsOfMeasure that are applied to a single @@ -2896,8 +2888,9 @@ abstract Merge = Basic ** { fun NonnegativeInteger_Class : SubClass NonnegativeInteger (both Integer NonnegativeRealNumber) ; -- A RealNumber that is greater than or equal to zero. - fun NonnegativeRealNumber : Class ; - fun NonnegativeRealNumber_RealNumber : SubClassC NonnegativeRealNumber RealNumber (\NUMBER -> greaterThanOrEqualTo(var RealNumber Quantity ? NUMBER)(el Integer Quantity ? (toInt 0))); + fun NonnegativeRealNumber : Class ; + def NonnegativeRealNumber = KappaFn RealNumber (\NUMBER -> greaterThanOrEqualTo (var RealNumber Quantity ? NUMBER) + (el Integer Quantity ? (toInt 0))) ; -- A Class containing all of the -- Attributes that are specific to morality, legality, aesthetics, @@ -3253,8 +3246,11 @@ abstract Merge = Basic ** { -- An Organism having cellulose cell walls, growing -- by synthesis of Substances, generally distinguished by the presence of -- chlorophyll, and lacking the power of locomotion. - fun Plant : Class ; - fun Plant_Organism : SubClassC Plant Organism (\PLANT -> and (forall PlantSubstance (\SUBSTANCE -> part(var PlantSubstance Object ? SUBSTANCE)(var Organism Object ? PLANT))) (forall PlantAnatomicalStructure (\STRUCTURE -> part(var PlantAnatomicalStructure Object ? STRUCTURE)(var Organism Object ? PLANT)))); + fun Plant : Class ; + def Plant = KappaFn Organism (\PLANT -> and (forall PlantSubstance (\SUBSTANCE -> part (var PlantSubstance Object ? SUBSTANCE) + (var Organism Object ? PLANT))) + (forall PlantAnatomicalStructure (\STRUCTURE -> part (var PlantAnatomicalStructure Object ? STRUCTURE) + (var Organism Object ? PLANT)))) ; -- AnatomicalStructures that -- are possessed exclusively by Plants. @@ -3324,33 +3320,34 @@ abstract Merge = Basic ** { -- Attributes characterizing the -- orientation of an Object, e.g. Vertical versus Horizontal, Left -- versus Right etc. - fun PositionalAttribute : Class ; + fun PositionalAttribute : Class ; fun PositionalAttribute_Class : SubClass PositionalAttribute RelationalAttribute ; -- The TimePoint that is after all other TimePoints. - fun PositiveInfinity : Ind TimePoint ; + fun PositiveInfinity : Ind TimePoint ; -- An Integer that is greater than zero. - fun PositiveInteger : Class ; + fun PositiveInteger : Class ; fun PositiveInteger_Class : SubClass PositiveInteger (both NonnegativeInteger PositiveRealNumber) ; -- A RealNumber that is greater than -- zero. - fun PositiveRealNumber : Class ; - fun PositiveRealNumber_NonnegativeRealNumber : SubClassC PositiveRealNumber NonnegativeRealNumber (\NUMBER -> greaterThan(var NonnegativeRealNumber Quantity ? NUMBER)(el Integer Quantity ? (toInt 0))); + fun PositiveRealNumber : Class ; + def PositiveRealNumber = KappaFn NonnegativeRealNumber (\NUMBER -> greaterThan (var NonnegativeRealNumber Quantity ? NUMBER) + (el Integer Quantity ? (toInt 0))); -- Attribute that applies to Propositions that are -- possible, i.e. true in at least one possible world. - fun Possibility : Ind AlethicAttribute ; + fun Possibility : Ind AlethicAttribute ; -- English pound of force. The conversion -- factor depends on the local value of the acceleration of free fall. A -- mean value is used in the conversion axiom associated with this -- constant. - fun PoundForce : Ind CompositeUnitOfMeasure ; + fun PoundForce : Ind CompositeUnitOfMeasure ; -- English mass unit of pounds. - fun PoundMass : Ind UnitOfMass ; + fun PoundMass : Ind UnitOfMass ; -- (PowerSetFn ?CLASS) maps the SetOrClass -- ?CLASS to the SetOrClass of all subclasses of ?CLASS. @@ -4294,11 +4291,10 @@ abstract Merge = Basic ** { -- Any Substance that is the result of an -- IntentionalProcess, i.e. any substance that is created by Humans. - fun SyntheticSubstance : Class ; - fun SyntheticSubstance_Substance : SubClassC SyntheticSubstance Substance - (\SUBSTANCE -> exists IntentionalProcess - (\PROCESS -> result (var IntentionalProcess Process ? PROCESS) - (var Substance Entity ? SUBSTANCE))); + fun SyntheticSubstance : Class ; + def SyntheticSubstance = KappaFn Substance (\SUBSTANCE -> exists IntentionalProcess + (\PROCESS -> result (var IntentionalProcess Process ? PROCESS) + (var Substance Entity ? SUBSTANCE))) ; -- The Class of Systeme -- International (SI) units. @@ -4719,16 +4715,15 @@ abstract Merge = Basic ** { fun VerbPhrase_Class : SubClass VerbPhrase Phrase ; -- An Animal which has a spinal column. - fun Vertebrate : Class ; - fun Vertebrate_Animal : SubClassC Vertebrate Animal - (\VERT -> and (and (and (exists SpinalColumn (\SPINE -> component (var SpinalColumn CorpuscularObject ? SPINE) - (var Animal CorpuscularObject ? VERT))) - (forall NervousSystem (\S -> part (var NervousSystem Object ? S) - (var Animal Object ? VERT)))) - (forall Skeleton (\SKELETON -> part (var Skeleton Object ? SKELETON) + fun Vertebrate : Class ; + def Vertebrate = KappaFn Animal (\VERT -> and (and (and (exists SpinalColumn (\SPINE -> component (var SpinalColumn CorpuscularObject ? SPINE) + (var Animal CorpuscularObject ? VERT))) + (forall NervousSystem (\S -> part (var NervousSystem Object ? S) (var Animal Object ? VERT)))) - (forall Exoskeleton (\SKELETON -> part (var Exoskeleton Object ? SKELETON) - (var Animal Object ? VERT)))); + (forall Skeleton (\SKELETON -> part (var Skeleton Object ? SKELETON) + (var Animal Object ? VERT)))) + (forall Exoskeleton (\SKELETON -> part (var Exoskeleton Object ? SKELETON) + (var Animal Object ? VERT)))) ; -- Attribute used to indicate that an Object -- is positioned height_wise with respect to another Object. diff --git a/examples/SUMO/MergeEng.gf b/examples/SUMO/MergeEng.gf index 4cceec4c3..9c6ed9dd3 100644 --- a/examples/SUMO/MergeEng.gf +++ b/examples/SUMO/MergeEng.gf @@ -723,7 +723,6 @@ lin HourFn ob1 ob2 = AdvCN (ApposCN (UseN hour_N) ob1) (PrepNP part_Prep (MassNP ob2)) ; IntersectionFn ob1 ob2 = AdvNP (DetCN (DetQuant DefArt NumSg) (UseN intersection_N)) (PrepNP part_Prep (ConjNP and_Conj (BaseNP ob1 ob2))) ; IntervalFn ob1 ob2 = AdvCN (AdvCN (UseN interval_N) (PrepNP from_Prep ob1)) (PrepNP to_Prep ob2) ; - KappaFn c ob2 = ApposCN (AdvCN (AdvCN (UseN class_N) (PrepNP part_Prep (DetCN (DetQuant IndefArt NumPl) c))) where_Adv) (sentToNoun ob2) ; ListConcatenateFn ob1 ob2 = AdvNP (AdvNP (DetCN (DetQuant DefArt NumSg) (UseN concatenation_N)) (PrepNP part_Prep ob1)) (PrepNP to_Prep ob2) ; ListOrderFn ob1 ob2 = AdvNP (AdvNP (DetCN (DetQuant DefArt NumSg) (UseN element_N)) (PrepNP with_Prep (MassNP (ApposCN (UseN number_N) ob2)))) (PrepNP in_Prep ob1) ; LogFn ob1 ob2 = AdvNP (AdvNP (DetCN (DetQuant DefArt NumSg) (UseN logarithm_N)) (PrepNP part_Prep ob1)) (PrepNP in_Prep (DetCN (DetQuant DefArt NumSg) (ApposCN (UseN base_N) ob2))) ; diff --git a/examples/SUMO/MidLevelOntology.gf b/examples/SUMO/MidLevelOntology.gf index 21ae204a3..04b201f0b 100644 --- a/examples/SUMO/MidLevelOntology.gf +++ b/examples/SUMO/MidLevelOntology.gf @@ -473,10 +473,9 @@ abstract MidLevelOntology = Merge, Elements ** { fun BathingDevice : Class ; fun BathingDevice_Class : SubClass BathingDevice WashingDevice ; - -- A Room that contains a WashBasin and - -- possibly a Toilet. + -- A Room that contains a WashBasin and possibly a Toilet. fun Bathroom : Class ; - fun Bathroom_Room : SubClassC Bathroom Room (\R -> exists Toilet (\T -> located(var Toilet Physical ? T)(var Room Object ? R))); + def Bathroom = KappaFn Room (\R -> exists Toilet (\T -> located (var Toilet Physical ? T) (var Room Object ? R))); -- A thin stick which is used for OrchestralConducting. fun Baton : Class ; @@ -798,7 +797,7 @@ abstract MidLevelOntology = Merge, Elements ** { -- A Cow that is Male. fun Bull : Class ; - fun Bull_Cow : SubClassC Bull Cow (\B -> attribute(var Cow Object ? B)(el SexAttribute Attribute ? Male)); + def Bull = KappaFn Cow (\B -> attribute (var Cow Object ? B) (el SexAttribute Attribute ? Male)) ; -- A Projectile that is designed to be fired by a Gun. fun Bullet : Class ; @@ -859,7 +858,7 @@ abstract MidLevelOntology = Merge, Elements ** { -- A young Cow, i.e. a Cow that is NonFullyFormed. fun Calf : Class ; - fun Calf_Cow : SubClassC Calf Cow (\C -> attribute(var Cow Object ? C)(el DevelopmentalAttribute Attribute ? NonFullyFormed)); + def Calf = KappaFn Cow (\C -> attribute (var Cow Object ? C) (el DevelopmentalAttribute Attribute ? NonFullyFormed)); -- A Device which is capable of Photographing. fun Camera : Class ; @@ -1412,7 +1411,8 @@ abstract MidLevelOntology = Merge, Elements ** { -- A SingleFamilyResidence that may be owned -- by a member of the SocialUnit that lives there. fun CondominiumUnit : Class ; - fun CondominiumUnit_SingleFamilyResidence : SubClassC CondominiumUnit SingleFamilyResidence (\UNIT -> exists Human (\PERSON -> and ( home (var Human Human ? PERSON)(var SingleFamilyResidence PermanentResidence ? UNIT))( possesses(var Human Agent ? PERSON)(var SingleFamilyResidence Object ? UNIT)))); + def CondominiumUnit = KappaFn SingleFamilyResidence (\UNIT -> exists Human (\PERSON -> and (home (var Human Human ? PERSON) (var SingleFamilyResidence PermanentResidence ? UNIT)) + (possesses (var Human Agent ? PERSON) (var SingleFamilyResidence Object ? UNIT)))) ; -- The class of ThreeDimensionalFigures which are -- produced by rotating a RightTriangle around its RightAngle. @@ -2290,7 +2290,7 @@ abstract MidLevelOntology = Merge, Elements ** { -- A Cow that is Female. fun FemaleCow : Class ; - fun FemaleCow_Cow : SubClassC FemaleCow Cow (\COW -> attribute (var Cow Object ? COW)(el SexAttribute Attribute ? Female)); + def FemaleCow = KappaFn Cow (\COW -> attribute (var Cow Object ? COW) (el SexAttribute Attribute ? Female)) ; -- A StationaryArtifact that serves to demarcate or -- to prevent access to or from the area that the Fence surrounds. @@ -2866,7 +2866,7 @@ abstract MidLevelOntology = Merge, Elements ** { -- A Female Chicken. fun Hen : Class ; - fun Hen_Chicken : SubClassC Hen Chicken (\H -> attribute(var Chicken Object ? H)(el SexAttribute Attribute ? Female)); + def Hen = KappaFn Chicken (\H -> attribute (var Chicken Object ? H) (el SexAttribute Attribute ? Female)) ; -- A plant_eating Mammal. fun Herbivore : Class ; @@ -3033,7 +3033,7 @@ abstract MidLevelOntology = Merge, Elements ** { -- Water that has the PhysicalState of Solid. fun Ice : Class ; - fun Ice_Water : SubClassC Ice Water (\ICE -> attribute(var Water Object ? ICE)(el PhysicalState Attribute ? Solid)); + def Ice = KappaFn Water (\ICE -> attribute (var Water Object ? ICE) (el PhysicalState Attribute ? Solid)) ; -- A proposition is Illegal just in case it is inconsistent -- with any proposition that is a Law. @@ -3302,8 +3302,8 @@ abstract MidLevelOntology = Merge, Elements ** { -- A young Sheep, i.e. a Sheep that is NonFullyFormed. fun Lamb : Class ; - fun Lamb_Sheep : SubClassC Lamb Sheep (\L -> attribute (var Sheep Object ? L) - (el DevelopmentalAttribute Attribute ? NonFullyFormed)); + def Lamb = KappaFn Sheep (\L -> attribute (var Sheep Object ? L) + (el DevelopmentalAttribute Attribute ? NonFullyFormed)) ; -- Any instance of Transportation where the -- instrument is a LandVehicle. @@ -4331,7 +4331,7 @@ abstract MidLevelOntology = Merge, Elements ** { -- A Sentence that expresses an order for something or that something be done. fun Order : Class ; - fun Order_Sentence : SubClassC Order Sentence (\SENTENCE -> exists Ordering (\ORDER -> result(var Ordering Process ? ORDER)(var Sentence Entity ? SENTENCE))); + def Order = KappaFn Sentence (\SENTENCE -> exists Ordering (\ORDER -> result (var Ordering Process ? ORDER) (var Sentence Entity ? SENTENCE))); -- Any CompoundSubstance that has a Carbon base. fun OrganicCompound : Class ; @@ -4768,18 +4768,17 @@ abstract MidLevelOntology = Merge, Elements ** { -- which can be divided into two or more contemporaneous subProcesses which are -- also instances of Music. fun PolyphonicMusic : Class ; - fun PolyphonicMusic_Music : SubClassC PolyphonicMusic Music - (\MUSIC -> exists Music (\PART1 -> - exists Music (\PART2 -> and (and (and (and (subProcess (var Music Process ? PART1) - (var Music Process ? MUSIC)) - (subProcess (var Music Process ? PART2) - (var Music Process ? MUSIC))) - (not (equal (var Music Entity ? PART1) - (var Music Entity ? PART2)))) - (cooccur (var Music Physical ? PART1) - (var Music Physical ? MUSIC))) - (cooccur (var Music Physical ? PART2) - (var Music Physical ? MUSIC))))); + def PolyphonicMusic = KappaFn Music (\MUSIC -> exists Music (\PART1 -> + exists Music (\PART2 -> and (and (and (and (subProcess (var Music Process ? PART1) + (var Music Process ? MUSIC)) + (subProcess (var Music Process ? PART2) + (var Music Process ? MUSIC))) + (not (equal (var Music Entity ? PART1) + (var Music Entity ? PART2)))) + (cooccur (var Music Physical ? PART1) + (var Music Physical ? MUSIC))) + (cooccur (var Music Physical ? PART2) + (var Music Physical ? MUSIC))))); -- The Position of head of the RomanCatholicChurch. fun Pope : Ind Position ; @@ -5021,7 +5020,7 @@ abstract MidLevelOntology = Merge, Elements ** { -- An interrogative Sentence, a Sentence that -- poses a question. fun Question : Class ; - fun Question_Sentence : SubClassC Question Sentence (\SENTENCE -> exists Questioning (\QUESTION -> result(var Questioning Process ? QUESTION)(var Sentence Entity ? SENTENCE))); + def Question = KappaFn Sentence (\SENTENCE -> exists Questioning (\QUESTION -> result (var Questioning Process ? QUESTION) (var Sentence Entity ? SENTENCE))); -- A burrowing Rodent with a short tail and long ears. fun Rabbit : Class ; @@ -5054,12 +5053,11 @@ abstract MidLevelOntology = Merge, Elements ** { -- Any instance of RadiatingLight that can -- be detected by normal human visual perception. fun RadiatingVisibleLight : Class ; - fun RadiatingVisibleLight_RadiatingLight : SubClassC RadiatingVisibleLight RadiatingLight - (\R -> exists Human (\H -> - exists Seeing (\S -> and (agent (var Seeing Process ? S) - (var Human Agent ? H)) - (patient (var Seeing Process ? S) - (var RadiatingLight Entity ? R))))); + def RadiatingVisibleLight = KappaFn RadiatingLight (\R -> exists Human (\H -> + exists Seeing (\S -> and (agent (var Seeing Process ? S) + (var Human Agent ? H)) + (patient (var Seeing Process ? S) + (var RadiatingLight Entity ? R))))) ; -- Any instance of Broadcasting which is -- intended to be received by a RadioReceiver. @@ -5285,7 +5283,7 @@ abstract MidLevelOntology = Merge, Elements ** { -- A Sentence that expresses a request for something or -- that something be done. fun Request : Class ; - fun Request_Sentence : SubClassC Request Sentence (\SENTENCE -> exists Requesting (\REQUEST -> result (var Requesting Process ? REQUEST)(var Sentence Entity ? SENTENCE))); + def Request = KappaFn Sentence (\SENTENCE -> exists Requesting (\REQUEST -> result (var Requesting Process ? REQUEST)(var Sentence Entity ? SENTENCE))); -- The Profession of being a scientific -- researcher. @@ -5427,7 +5425,7 @@ abstract MidLevelOntology = Merge, Elements ** { -- A Male Chicken. fun Rooster : Class ; - fun Rooster_Chicken : SubClassC Rooster Chicken (\R -> attribute(var Chicken Object ? R)(el SexAttribute Attribute ? Male)); + def Rooster = KappaFn Chicken (\R -> attribute (var Chicken Object ? R) (el SexAttribute Attribute ? Male)) ; -- Motion that begins and ends at the same point, -- because the trajectory of the Motion is circular. @@ -5632,7 +5630,7 @@ abstract MidLevelOntology = Merge, Elements ** { -- component or power source (not the user, which would be a -- UserPoweredVehicle). fun SelfPoweredDevice : Class ; - fun SelfPoweredDevice_Device : SubClassC SelfPoweredDevice Device (\O -> exists Artifact (\G -> powerPlant(var Device Device ? O) (var Artifact Artifact ? G))); + def SelfPoweredDevice = KappaFn Device (\O -> exists Artifact (\G -> powerPlant (var Device Device ? O) (var Artifact Artifact ? G))) ; -- SelfPoweredRoadVehicle is the -- class of RoadVehicles that are also PoweredVehicles. @@ -6086,9 +6084,8 @@ abstract MidLevelOntology = Merge, Elements ** { -- A Sentence that is stated to be true. fun Statement : Class ; - fun Statement_Sentence : SubClassC Statement Sentence - (\SENTENCE -> exists Stating (\STATE -> result (var Stating Process ? STATE) - (var Sentence Entity ? SENTENCE))); + def Statement = KappaFn Sentence (\SENTENCE -> exists Stating (\STATE -> result (var Stating Process ? STATE) + (var Sentence Entity ? SENTENCE))) ; -- Any UnilateralGetting which is not permitted by the -- origin of the UnilateralGetting. These cases of UnilateralGetting are @@ -6294,9 +6291,8 @@ abstract MidLevelOntology = Merge, Elements ** { -- A Sentence that is assumed to be true, possibly -- just for the sake of argument. fun Supposition : Class ; - fun Supposition_Sentence : SubClassC Supposition Sentence - (\SENTENCE -> exists Supposing (\SUPPOSE -> result (var Supposing Process ? SUPPOSE) - (var Sentence Entity ? SENTENCE))); + def Supposition = KappaFn Sentence (\SENTENCE -> exists Supposing (\SUPPOSE -> result (var Supposing Process ? SUPPOSE) + (var Sentence Entity ? SENTENCE))) ; -- Surfactants, also known as Wetting agents, -- lower the surface tension of a Liquid, allowing easier spreading. The @@ -6695,8 +6691,9 @@ abstract MidLevelOntology = Merge, Elements ** { -- events in which the instrument is an instance of -- RoadVehicle. fun TransportViaRoadVehicle : Class ; - fun TransportViaRoadVehicle_Class : SubClass TransportViaRoadVehicle LandTransportation ; - fun TransportViaRoadVehicle_Transportation : SubClassC TransportViaRoadVehicle Transportation (\TRANSPORT -> exists RoadVehicle (\VEHICLE -> instrument(var Transportation Process ? TRANSPORT)(var RoadVehicle Object ? VEHICLE))); + def TransportViaRoadVehicle = both LandTransportation + (KappaFn Transportation (\TRANSPORT -> exists RoadVehicle (\VEHICLE -> instrument (var Transportation Process ? TRANSPORT) + (var RoadVehicle Object ? VEHICLE)))); -- A CommercialAgent whose services include Transportation, -- e.g. a RailroadCompany, an airline, a cruise ship line, etc. @@ -7056,11 +7053,10 @@ abstract MidLevelOntology = Merge, Elements ** { -- A Clock that can be worn on the Wrist. fun WatchClock : Class ; - fun WatchClock_Clock : SubClassC WatchClock Clock - (\C -> exists Human (\P -> exists Wrist (\W -> and (wears (var Human Animal ? P) - (var Clock Clothing ? C)) - (located (var Clock Physical ? C) - (var Wrist Object ? W))))); + def WatchClock = KappaFn Clock (\C -> exists Human (\P -> exists Wrist (\W -> and (wears (var Human Animal ? P) + (var Clock Clothing ? C)) + (located (var Clock Physical ? C) + (var Wrist Object ? W))))) ; -- Any instance of Transportation where the instrument is a WaterVehicle. fun WaterTransportation : Class ;