13:- style_check(-singleton). 14:- style_check(-discontiguous). 16
20
21:- expects_dialect(pfc). 22
23==>prologHybrid(localityOfObject(tObj,tSpatialThing)).
25
26
27
28:- thread_local(infSupertypeName/0). 31
32:- op(600,fx,onSpawn). 33
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
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).
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
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
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
242
243
244
245
246
247onSpawn localityOfObject(tRedApple, tKitchen).
248onSpawn localityOfObject(tGreenApple, 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).
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
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)
% 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
) */