% This file contains the definitions for the objects in a household % To create a new world, simply change the tObj definitions as % described below (or in manual) % % *******Object definitions******* %. % Use the label_type_props(label,typecode,[property1,property2,etc.]]). % label is whats used to refer to the tObj in the running world % typecode is whats used to refer to the tObj for initialization (see world.pl) */

   13:- style_check(-singleton).   14:- style_check(-discontiguous).   15% :- style_check(-atom).
   16
   17% ==================================================
   18% Where Things are Located
   19% ==================================================
   20
   21:- expects_dialect(pfc).   22
   23==>prologHybrid(localityOfObject(tObj,tSpatialThing)).
   24% which will imply ... :-decl_mpred_hybrid(localityOfObject(kappa(Self,genls(Self,obj)),kappa(Self2,genls(Self2,tSpatialThing)))).
   25
   26
   27
   28:- thread_local(infSupertypeName/0).   29% alolwos lexical deduction such as tStandTable is a tTable and a tBedRoom is a tRoom
   30% onSpawn localityOfObject(tStandTable, tBedRoom).
   31
   32:- op(600,fx,onSpawn).   33
   34% onSpawn accepts class in any argument
   35% though also isntances like 
   36
   37onSpawn tRegion(tKitchen).
   38onSpawn tRegion(tHallWay).
   39onSpawn tRegion(tCellar).
   40onSpawn tRegion(tOfficeRoom).
   41onSpawn tRegion(tLivingRoom).
   42onSpawn tRegion(tDiningRoom).
   43onSpawn tRegion(tBedRoom).
   44onSpawn tRegion(tBathroom).
   45onSpawn tRegion(tClosetRoom).
   46onSpawn tRegion(tBackYard).
   47
   48
   49% ==================================================
   50% Classes of things
   51% ==================================================
   52
   53genls(tCandle,tPortableDevice).
   54genls(tFlashlight, tPortableDevice).
   55genls(tFlashlight, tTurnOnAble).
   56genls(tDesk, tOfficeFurnature).
   57genls(tApple, tFruit).
   58genls(tNani, tArt).
   59genls(tNani, tWashAble).
   60genls(tClothing, tWashAble).
   61genls(tClothing, tWearAble).
   62genls(tNani, tCarryAble).
   63genls(tBroccoli, tFood).
   64genls(tFood,tEatAble).
   65genls(tCrackers, tFood).
   66genls(tEnvelope, tOfficeItem).
   67genls(tStamp, tOfficeItem).
   68genls(tKey, tOfficeItem).
   69genls(tBall, tCarryAble).
   70genls(tFruit,tFood).
   71
   72genls(tOfficeItem, tItem).
   73genls(tCandle,tPortableDevice).
   74genls(tFlashlight, tPortableDevice).
   75genls(tApple, tFruit).
   76genls(tPants, tWearAble).
   77genls(tCoffee, tLiquid).
   78genls(tTable, tFurnature).
   79
   80genls(tTable, tFurnatureMoveAble).
   81
   82genls(tTable, tHasSurface).
   83genls(tEasyChair, tChair).
   84genls(tChair, tSitAble).
   85
   86genls(tPajamas, tClothing).
   87genls(tShirt, tClothing).
   88genls(tCoat, tClothing).
   89genls(tPants, tClothing).
   90genls(tClothing, tFoldAble).
   91
   92genls(tCoffeeCup, tLiquidContainer).
   93genls(tCoffeeCup, tDrinkAble).
   94genls(tCoffeeCup, tCarryAble).
   95genls(tCoffee, tLiquid).
   96genls(tBook, tReadAble).
   97
   98genls(tPillow, tBedding).
   99genls(tBlanket, tBedding).                                                              
  100genls(tBedding, tFoldAble).
  101genls(tFoldAble, tCarryAble).
  102genls(tPortableDevice,tCarryAble).
  103genls(tPhysicalDevice,tUseAble).
  104genls(tWearAble, tCarryAble).
  105genls(tFood,tCarryAble).
  106genls(tCarryAble,tObj).
  107% genls(tPartofObj,isTDisjoint(tCarryAble)).
  108disjointWith(tPartofObj,tCarryAble).
  109
  110genls(tLightSwitch, tWallFurnature).
  111genls(tComputer, tOfficeFurnature).
  112genls(tPartofFurnature,tPartofObj).
  113
  114genls(tBed, tBedroomFurnature).
  115genls(tStandTable, tBedroomFurnature).
  116genls(tDresser, tBedroomFurnature).
  117
  118
  119genls(tOfficeFurnature,tFurnature).
  120genls(tBathroomFurnature,tFurnature).
  121genls(tLivingroomFurnature,tFurnature).
  122genls(tOutdoorFurnature,tFurnature).
  123
  124genls(tWashingMachine, tDeviceFurnature).
  125genls(tTable, tFurnature).
  126genls(tTable, tHasSurface).
  127genls(tSofa, tLivingroomFurnature).
  128genls(tEasyChair, tLivingroomFurnature).
  129genls(tCoffeeTable, tLivingroomFurnature).
  130genls(tBookcase, tWallFurnature).
  131genls(tDrawer, tContainer).
  132genls(tDrawer, tOpenCloseAble).
  133genls(tDrawer, tPartofFurnature).
  134genls(tTopDrawer, tDrawer).
  135genls(tMiddleDrawer, tDrawer).
  136genls(tBottomDrawer, tDrawer). 
  137genls(tHousePlant, tPartofObj).
  138genls(tPlanter, tContainer). 
  139genls(tGueridon, tLivingroomFurnature).
  140genls(tGardenPlant, tOutdoorFurnature).
  141genls(tSpatialThing,tLookAble).
  142genls(tNani,tTeddybear).
  143genls(tTeddybear,tTreasure).
  144
  145
  146genls(tBathTub,tHumanEnterAble).
  147genls(tShower,tHumanEnterAble).
  148genls(tToilet,tSitAble).
  149genls(tBathroomSink,tSink).
  150genls(tFridge,tContainer).
  151
  152genls(tSink,tFurnature).
  153
  154genls(tKitchenFurnature,tDeviceFurnature).
  155genls(tDeviceFurnature,tFurnature).
  156
  157genls(tBathTub,tBathroomFurnature).
  158genls(tShower,tBathroomFurnature).
  159genls(tToilet,tBathroomFurnature).
  160genls(tBathroomSink,tSink).
  161genls(tBathroomSink,tBathroomFurnature).
  162genls(tSink,tFurnature).
  163genls(tKitchenSink,isEach(tKitchenFurnature,tSink)).
  164genls(tFridge,tKitchenFurnature).
  165genls(tStove,isEach(tKitchenFurnature,tHasSurface)).
  166genls(tOven,tPartofFurnature).
  167onSpawn localityOfObject(tOven,tStove).
  168genls(tKitchenCounter,tKitchenFurnature).
  169
  170
  171onSpawn(localityOfObject(Obj, Where)),tSet(Obj),tSet(Where)==> typicalLocation(Obj, Where).
  172onSpawn(inRegion(Obj, Where)),tSet(Obj),tSet(Where)==> typicalRegion(Obj, Where).
  173
  174% ttTypeFacet(ttInstanceType).
  175
  176needs_spawned(IType) :- nonvar(IType), tSet(IType), \+ clause_b(onSpawn(inRegion(IType,_))),\+ clause_b(onSpawn(localityOfObject(IType,_))), !, \+ (genls(Sub,IType),nonvar(Sub),Sub\=IType). 
  177
  178typicalRegion(tBathroomFurnature,tBathroom).
  179typicalRegion(tLivingroomFurnature,tLivingRoom).
  180typicalRegion(tBedroomFurnature,tBedRoom).
  181typicalRegion(tKitchenFurnature,tKitchen).
  182typicalRegion(tOfficeFurnature,tOfficeRoom).
  183typicalLocation(tOfficeItem,tDesk).
  184typicalRegion(tOutdoorFurnature,tBackYard).
  185
  186typicalRegion(Type,RegionType),genls(I,Type),{needs_spawned(I)} ==> onSpawn(inRegion(I,RegionType)).
  187typicalLocation(Type,ContainerType),genls(I,Type),{needs_spawned(I)} ==> onSpawn(localityOfObject(I,ContainerType)).
  188
  189
  190definitionalProp(isEach(mudColor,mudSize,mudShape,mudMaterial,mudTexture,mudWeight)).
  191
  192
  193% ==================================================
  194% typeProps Descriptions
  195% ==================================================
  196
  197:- do_gc.  198typeProps(tBall,[mudColor(vRed),mudSize(vMedium),mudShape(vSpherical),mudMaterial(vRubber),mudTexture(vBumpy)]).
  199typeProps(tBlanket,[mudColor(isEach(vGreen,vDark)),mudSize(isEach(vLarge,vBulky)),mudShape(vRectangular),mudMaterial(vRayon),mudTexture(isEach(vPlush,vSoft))]).                                                              
  200typeProps(tBookcase,[mudColor(isEach(vBrown,vDark,vShiney)),mudSize(vLarge),mudShape(isEach(vSquare,vConcavePolyhedron)),mudMaterial(vWood),mudTexture(vSmooth),mudWeight(60)]).
  201typeProps(tBottomDrawer,[mudColor(isEach(vBrown,vShiney)),mudSize(vMedium),mudShape(isEach(vRectangular,vConcavePolyhedron)),mudMaterial(vWood),mudTexture(vSmooth)]).
  202typeProps(tBroccoli,[mudColor(vGreen),mudSize(vSmall),mudShape(isLikeFn(mudShape,tTree)),isa(tVegetable),mudTexture(isEach(vPorous,vBumpy))]).                                                                    
  203typeProps(tCandle,[mudColor(vBlue),mudSize(vSmall),mudShape(vTriangular),mudMaterial(vWax),mudTexture(vSticky)]).
  204typeProps(tCoat,[mudColor(vBlack),mudSize(isEach(vMedium,vFits)),mudShape(isLikeFn(mudShape,tTorso)),mudMaterial(isEach(vWool,vCotton,vRayon)),mudTexture(vCoarse)]).
  205typeProps(tCoffee,[mudColor(isEach(vBlack,vBrown)),mudSize(vSmall),mudShape(vFluid),mudMaterial(tLiquid),mudTexture(vWet)]).
  206typeProps(tCoffeeCup,[mudColor(vBlack),mudColor(vBrown),mudSize(vSmall),mudShape(vCuplike),mudMaterial(vGlass),mudTexture(vSmooth)]).
  207typeProps(tCoffeeTable,[isa(tTable),mudColor(isEach(vBrown,vShiney)),mudSize(vMedium),mudShape(vCircular),mudMaterial(vWood),mudTexture(vSmooth),mudWeight(35)]).
  208typeProps(tComputer,[mudColor(vGrey),mudMaterial(vPlastic),mudShape(isEach(vCubular,vRectangular)),mudSize(vMedium),mudTexture(vSmooth)]).
  209typeProps(tCrackers,[mudColor(vTan),isa(tBread),mudShape(isEach(vCircular,vFlat)),mudSize(vSmall),mudTexture(isEach(vDry,vCoarse))]).
  210typeProps(tDesk,[mudColor(isEach(vBrown,vShiney)),mudSize(vLarge),mudShape(isEach(vCubular,vRectangular)),mudTexture(isEach(vSmooth,vRidged)),mudWeight(175)]).
  211typeProps(tDresser,[mudColor(isEach(vBrown,vShiney)),mudSize(vLarge),mudShape(isEach(vRectangular,vPolyhedral)),mudMaterial(vWood),mudTexture(vSmooth),mudWeight(45)]).
  212typeProps(tEasyChair,[mudColor(vBlue),mudSize(isEach(vLarge,vNarrow)),mudShape(vPolyhedral),mudMaterial(isEach(vPoplin,vWood)),mudTexture(vRibbed),mudWeight(75)]).
  213typeProps(tEnvelope,[mudColor(vWhite),mudSize(vSmall),mudShape(vRectangular),mudMaterial(vPaper),mudTexture(vSmooth)]).
  214typeProps(tFlashlight,[mudColor(vYellow),mudSize(isEach(vMedium,vSmall)),mudShape(vCylindrical),mudMaterial(vPlastic),mudTexture(vRibbed)]).
  215typeProps(tGreenApple,[mudColor(isEach(vGreen,vPastel)),mudSize(vSmall),mudShape(vRound),isa(tApple),mudTexture(vSmooth)]).
  216typeProps(tGreenBook,[isa(tBook),mudColor(vGreen),mudColor(vWhite),mudColor(vBlack),mudSize(vSmall),mudShape(isEach(vCubular,vRectangular)),mudMaterial(vPaper),mudTexture(vSmooth)]).
  217typeProps(tGueridon,[mudColor(isEach(vBrown,vShiney)),mudSize(vMedium),mudShape(vCircular),mudMaterial(vWood),mudTexture(vSmooth),mudWeight(25)]).		 
  218typeProps(tHousePlant,[mudColor(vGreen),mudSize(vMedium),mudShape(vAnthuriumCrystallinum),mudMaterial(vPlantTissue),mudTexture(vSmooth)]).
  219typeProps(tKey,[mudColor(vSilver),mudSize(isEach(vSmall,vTiny)),mudShape(vUnique),mudMaterial(vMetal),mudTexture(isEach(vRidged,vBumpy))]).
  220typeProps(tLightSwitch,[mudColor(vCream),mudSize(vSmall),mudShape(vRectangular),mudMaterial(vPlastic),mudTexture(vSmooth)]).
  221typeProps(tMiddleDrawer,[mudColor(isEach(vBrown,vShiney)),mudSize(vMedium),mudShape(isEach(vRectangular,vConcavePolyhedron)),mudMaterial(vWood),mudTexture(vSmooth)]).
  222typeProps(tNani,[mudColor(vBrown),mudColor(vWhite),mudSize(vMedium),mudShape(isLikeFn(mudShape,tTeddybear)),mudMaterial(vPlush),mudTexture(isEach(vFuzzy,vSoft))]).
  223typeProps(tPajams,[mudColor(isEach(vBlue,vPastel)),mudSize(isEach(vMedium,vFits)),mudShape(vUnique),mudMaterial(isEach(vCotton,vRayon)),mudTexture(vSoft)]).
  224typeProps(tPants,[mudColor(vBlack),mudSize(isEach(vMedium,vFits)),mudShape(isLikeFn(mudShape,tAssBodypart)),mudMaterial(vDenim),mudTexture(vCoarse)]).
  225typeProps(tPillow,[mudColor(vWhite),mudSize(vMedium),mudShape(vRectangular),mudMaterial(isEach(vCotton,vFlannel)),mudTexture(isEach(vFluffy,vSoft))]).
  226typeProps(tPinkBook,[isa(tBook),mudColor(vPink),mudColor(vWhite),mudColor(vBlack),mudSize(vSmall),mudShape(isEach(vCubular,vRectangular)),mudMaterial(vPaper),mudTexture(vSmooth)]).
  227typeProps(tPlanter,[mudColor(isEach(vPastel,vBlue)),mudSize(vMedium),mudShape(isEach(vCylindrical,vTrapezohedron)),mudMaterial(vClay),mudTexture(vAbrasive),mudWeight(15)]).
  228typeProps(tRedApple,[mudColor(vRed),mudSize(vSmall),mudShape(vRound),isa(tApple),mudTexture(vSmooth)]).
  229typeProps(tShirt,[mudColor(vBlack),mudSize(isEach(vMedium,vFits)),mudShape(isLikeFn(mudShape,tTorso)),mudMaterial(vCotton),mudTexture(isEach(vSoft,vThreadbare))]).
  230typeProps(tSkin,[mudColor(vUnique),isa(tBodypart),mudShape(vUnique)]).
  231typeProps(tSofa,[mudColor(isEach(vBlue,vDark)),mudSize(isEach(vLarge,vWide,vLong)),mudShape(vPolyhedral),mudMaterial(isEach(vPoplin,vWood)),mudTexture(vRibbed),mudWeight(125)]).
  232typeProps(tStamp,[mudColor(vPolychromeatic),mudSize(isEach(vTiny,vThin)),mudShape(vSquare),mudMaterial(vPaper),mudTexture(isEach(vSmooth,vSticky))]).
  233typeProps(tStandTable,[mudColor(isEach(vBlack,vShiney)),mudSize(vMedium),mudShape(isEach(vCubular,vRectangular)),mudMaterial(vWood),mudTexture(vSmooth),mudWeight(25)]).
  234typeProps(tTable,[mudColor(isEach(vBlue,vWhite)),mudSize(vLarge),mudShape(vOval),mudMaterial(vWood),mudTexture(isEach(vBumpy,vIrregular)),mudWeight(50)]).
  235typeProps(tTeddybear,[mudColor(vNatural),mudShape(vUnique)]).
  236typeProps(tTopDrawer,[mudColor(isEach(vBrown,vShiney)),mudSize(vMedium),mudShape(isEach(vRectangular,vConcavePolyhedron)),mudMaterial(vWood),mudTexture(vSmooth)]). 
  237==>typeProps(tTorso,[mudColor(isLikeFn(mudColor,tSkin)),isa(tBodypart),mudShape(vUnique)]).
  238typeProps(tWashingMachine,[mudColor(vWhite),mudSize(vLarge),mudShape(isEach(vCubular,vSquare)),mudMaterial(vMetal),mudTexture(vSmooth),mudWeight(125)]).
  239
  240
  241% :- listing(ttInstanceType/1),break.
  242
  243
  244
  245
  246
  247onSpawn localityOfObject(tRedApple, tKitchen).
  248onSpawn localityOfObject(tGreenApple, tKitchen).
  249%onSpawn localityOfObject(iFn(tApple,[mudColor(vRed)]), tKitchen).
  250%onSpawn localityOfObject(iFn(tApple,[mudColor(vGreen)]), tKitchen).
  251onSpawn localityOfObject(tDesk, tOfficeRoom).
  252onSpawn localityOfObject(tFlashlight, tDesk).
  253onSpawn localityOfObject(tWashingMachine, tCellar).
  254onSpawn localityOfObject(tNani, tWashingMachine).
  255onSpawn localityOfObject(tBroccoli, tKitchen).
  256onSpawn localityOfObject(tCrackers, tKitchen).
  257onSpawn localityOfObject(tComputer, tDesk).
  258onSpawn localityOfObject(tEnvelope, tDesk).
  259onSpawn localityOfObject(tStamp, tEnvelope).
  260onSpawn localityOfObject(tKey, tEnvelope).
  261onSpawn localityOfObject(tBed, tBedRoom).
  262onSpawn localityOfObject(tStandTable, tBedRoom).
  263onSpawn localityOfObject(tPajamas, tStandTable).
  264onSpawn localityOfObject(tShirt, tClosetRoom).
  265onSpawn localityOfObject(tPillow, tBed).
  266onSpawn localityOfObject(tBlanket, tBed).                                                              
  267onSpawn localityOfObject(tTable, tKitchen).
  268onSpawn localityOfObject(tCoat, tClosetRoom).
  269onSpawn localityOfObject(tPants, tClosetRoom).
  270onSpawn localityOfObject(tLightSwitch, tBedRoom).
  271onSpawn localityOfObject(tBall, tBackYard).
  272onSpawn localityOfObject(tSofa, tLivingRoom).
  273onSpawn localityOfObject(tEasyChair, tLivingRoom).
  274onSpawn localityOfObject(tCoffeeTable, tLivingRoom).
  275onSpawn localityOfObject(tCoffeeCup, tKitchen).
  276onSpawn localityOfObject(tCoffee, tCoffeeCup).
  277%onSpawn localityOfObject(tBook(mudColor(vGreen)), tCoffeeTable).
  278%onSpawn localityOfObject(tBook(mudColor(vPink)), tCoffeeTable).
  279onSpawn localityOfObject(tGreenBook, tCoffeeTable).
  280onSpawn localityOfObject(tPinkBook, tCoffeeTable).
  281onSpawn localityOfObject(tBookcase, tLivingRoom).
  282onSpawn localityOfObject(tDresser, tBedRoom).
  283onSpawn localityOfObject(tTopDrawer, tDresser).
  284onSpawn localityOfObject(tMiddleDrawer, tDresser).
  285onSpawn localityOfObject(tBottomDrawer, tDresser). 
  286onSpawn localityOfObject(tHousePlant, tPlanter).
  287onSpawn localityOfObject(tPlanter, tGueridon). 
  288onSpawn localityOfObject(tGueridon, tLivingRoom).
  289onSpawn localityOfObject(tGardenPlant, tBackYard).
  290onSpawn localityOfObject(tCandle,tKitchen).
  291onSpawn localityOfObject(tBathTub,tBathroom).
  292onSpawn localityOfObject(tShower,tBathroom).
  293onSpawn localityOfObject(tToilet,tBathroom).
  294onSpawn localityOfObject(tTreadmill,tHallWay).
  295onSpawn localityOfObject(tBathroomSink,tBathroom).
  296onSpawn localityOfObject(tKitchenSink,tKitchenCounter).
  297onSpawn localityOfObject(tFridge,tKitchen).
  298onSpawn localityOfObject(tStove,tKitchen).
  299onSpawn localityOfObject(tKitchenCounter,tKitchen).
  300
  301
  302% ==================================================
  303% Doors
  304% ==================================================
  305 
  306onSpawn pathDirLeadsTo(tKitchen,vDown,tCellar).
  307onSpawn mudAreaConnected(tLivingRoom,tOfficeRoom).
  308onSpawn mudAreaConnected(tHallWay,tDiningRoom).
  309onSpawn mudAreaConnected(tHallWay,tBedRoom).
  310onSpawn mudAreaConnected(tHallWay,tLivingRoom).
  311onSpawn mudAreaConnected(tHallWay,tBathRoom).
  312onSpawn mudAreaConnected(tKitchen, tCellar).
  313onSpawn mudAreaConnected(tDiningRoom, tKitchen).
  314onSpawn mudAreaConnected(tBedRoom, tClosetRoom).
  315onSpawn mudAreaConnected(tKitchen, tBackYard).
  316onSpawn mudAreaConnected(iArea1008, tBackYard)