Esempio d'uso di Casa:


 
Welcome to SWI-Prolog (Version 2.8.2)
Copyright (c) 1993-1997 University of Amsterdam.  All rights reserved.

For help, use ?- help(Topic). or ?- apropos(Word).

1 ?- [klone].

klvarie compiled, 0.02 sec, 3,236 bytes.
   start loading...

READY 

klone compiled, 0.33 sec, 60,572 bytes.

Yes
2 ?- [casa].
casa compiled, 0.04 sec, 11,392 bytes.

Yes
3 ?- inizializza.

   >>  generic_concept(casa) 


   >>  generic_concept(cosa) 


   >>  has_super_concept(casa, cosa) 


   >>  generic_role ( soggiorno ) 


   >>  has_role(casa, soggiorno) 


   >>  generic_role ( bagno ) 


   >>  has_role(casa, bagno) 


   >>  generic_role ( cucina ) 


   >>  has_role(casa, cucina) 


   >>  generic_role ( ripostiglio ) 


   >>  has_role(casa, ripostiglio) 


   >>  generic_role ( ingresso ) 


   >>  has_role(casa, ingresso) 


   >>  generic_role ( camera ) 


   >>  has_role(casa, camera) 


   >>  has_vr(camera, casa, stanza) 


   >>  has_vr(servizi, casa, servizio) 


   >>  has_vr(soggiorno, casa, stanza) 


   >>  has_vr(ingresso, casa, stanza) 


   >>  has_number(camera, casa, [1, 3]) 


   >>  has_number(bagno, casa, [1, 2]) 


   >>  has_number(cucina, casa, [1, 1]) 


   >>  has_number(ripostiglio, casa, [0, 2]) 


   >>  has_number(ingresso, casa, [0, 1]) 


   >>  has_number(soggiorno, casa, [0, 1]) 


   >>  has_modality(cucina, casa, obl) 


   >>  has_modality(camera, casa, obl) 


   >>  has_modality(bagno, casa, obl) 


   >>  generic_concept(palazzo) 


   >>  generic_role ( appartamenti ) 


   >>  has_role(palazzo, appartamenti) 


   >>  has_vr(appartamenti, palazzo, casa) 


   >>  has_number(appartamenti, palazzo, [1, 20]) 


   >>  has_modality(appartamenti, palazzo, obl) 


   >>  generic_concept(villetta) 


   >>  has_super_concept(villetta, palazzo) 


   >>  has_number(appartamenti, villetta, [1, 1]) 


   >>  has_modality(ingresso, villetta, obl) 


   >>  has_modality(soggiorno, villetta, obl) 


   >>  generic_concept(villa) 


   >>  has_super_concept(villa, villetta) 


   >>  has_number(camera, villa, [3, nil]) 


   >>  has_number(bagno, villa, [2, nil]) 


   >>  generic_concept(miniapp) 

   >>  has_super_concept(miniapp, casa) 


   >>  has_number(camera, miniapp, [1, 1]) 


   >>  has_number(ingresso, miniapp, [0, 0]) 


   >>  has_number(bagno, miniapp, [1, 1]) 


   >>  has_number(ripostiglio, miniapp, [0, 0]) 


   >>  generic_concept(stanze_casa) 


   >> stanze << : not a generic concept 

   >>  individual_concept(camera_bimbo) 


   >>  individuates(camera_bimbo, stanze_casa) 


   >>  individual_concept(camera_genitori) 


   >>  individuates(camera_genitori, stanze_casa) 


   >>  individual_concept(salotto) 


   >>  individuates(salotto, stanze_casa) 


   >>  individual_concept(bagno_di_casa) 


   >>  individuates(bagno_di_casa, stanze_casa) 


   >>  individual_concept(bagno_piccolo) 


   >>  individuates(bagno_piccolo, stanze_casa) 


   >>  individual_concept(cucinino) 


   >>  individuates(cucinino, stanze_casa) 


   >>  has_vr(stanze, casa1, stanze_casa) 


   >>  instance_role ( camera1 ) 


   >>  satisfies(camera1, casa1, camera, casa) 



   >>  has_value(camera1, casa1, camera_genitori) 


   >>  instance_role ( camera2 ) 


   >>  satisfies(camera2, casa1, camera, casa) 


   >>  has_value(camera2, casa1, camera_bimbo) 


   >>  instance_role ( cucina1 ) 


   >>  satisfies(cucina1, casa1, cucina, casa) 


   >>  has_value(cucina1, casa1, cucinino) 


   >>  instance_role ( salotto1 ) 


   >>  satisfies(salotto1, casa1, soggiorno, casa) 


   >>  has_value(salotto1, casa1, salotto) 


   >>  instance_role ( bagno1 ) 


   >>  satisfies(bagno1, casa1, bagno, casa) 


   >>  has_value(bagno1, casa1, bagno_piccolo) 


   >>  instance_role ( bagno2 ) 


   >>  satisfies(bagno2, casa1, bagno, casa) 


   >>  has_value(bagno2, casa1, bagno_di_casa) 


   >>  generic_concept(stanze_villa) 


   >> stanze << : not a generic concept 

   >>  individual_concept(ingresso_villa) 


   >>  individuates(ingresso_villa, stanze_villa) 


   >>  individual_concept(camera_bimbo1) 


   >>  individuates(camera_bimbo1, stanze_villa) 



   >>  individual_concept(camera_bimbo2) 


   >>  individuates(camera_bimbo2, stanze_villa) 


   assumo gia` : >> individual_concept(camera_genitori) <<


   >>  individuates(camera_genitori, stanze_villa) 


   >>  individual_concept(camera_ospiti) 


   >>  individuates(camera_ospiti, stanze_villa) 


   >>  individual_concept(camera_studio) 


   >>  individuates(camera_studio, stanze_villa) 


   >>  individual_concept(soggiorno_villa) 


   >>  individuates(soggiorno_villa, stanze_villa) 


   assumo gia` : >> individual_concept(salotto) <<


   >>  individuates(salotto, stanze_villa) 


   >>  individual_concept(bagno_villa1) 


   >>  individuates(bagno_villa1, stanze_villa) 


   >>  individual_concept(bagno_villa2) 


   >>  individuates(bagno_villa2, stanze_villa) 


   assumo gia` : >> individual_concept(bagno_piccolo) <<


   >>  individuates(bagno_piccolo, stanze_villa) 


   >>  individual_concept(cucina_villa) 


   >>  individuates(cucina_villa, stanze_villa) 


   >>  individual_concept(villa1) 


   >>  individuates(villa1, villa) 


   >>  has_vr(stanze, villa1, stanze_villa) 


   >>  instance_role ( ingresso1 ) 


   >>  satisfies(ingresso1, villa1, ingresso, villa) 


   >>  has_value(ingresso1, villa1, ingresso_villa) 


   >>  has_role(villa1, camera1) 


   >>  satisfies(camera1, villa1, camera, villa) 


   >>  has_value(camera1, villa1, camera_genitori) 


   >>  has_role(villa1, camera2) 


   >>  satisfies(camera2, villa1, camera, villa) 


   >>  has_value(camera2, villa1, camera_bimbo1) 


   >>  instance_role ( camera3 ) 


   >>  satisfies(camera3, villa1, camera, villa) 


   >>  has_value(camera3, villa1, camera_bimbo2) 


   >>  instance_role ( camera4 ) 


   >>  satisfies(camera4, villa1, camera, villa) 


   >>  has_value(camera4, villa1, camera_ospiti) 


   >>  instance_role ( camera5 ) 


   >>  satisfies(camera5, villa1, camera, villa) 


   >>  has_value(camera5, villa1, camera_studio) 


   >>  instance_role ( camera6 ) 


   >>  satisfies(camera6, villa1, camera, villa) 


   >>  has_value(camera6, villa1, salotto) 


   >>  has_role(villa1, cucina1) 


   >>  satisfies(cucina1, villa1, cucina, villa) 


   >>  has_value(cucina1, villa1, cucina_villa) 


   >>  instance_role ( soggiorno1 ) 


   >>  satisfies(soggiorno1, villa1, soggiorno, villa) 


   >>  has_value(soggiorno1, villa1, soggiorno_villa) 


   >>  has_role(villa1, bagno1) 


   >>  satisfies(bagno1, villa1, bagno, villa) 


   >>  has_value(bagno1, villa1, bagno_villa1) 


   >>  has_role(villa1, bagno2) 


   >>  satisfies(bagno2, villa1, bagno, villa) 


   >>  has_value(bagno2, villa1, bagno_villa2) 


   >>  instance_role ( bagno3 ) 


   >>  satisfies(bagno3, villa1, bagno, villa) 


   >>  has_value(bagno3, villa1, bagno_piccolo) 


   >>  generic_concept(stanze_miniapp) 


   >> stanze << : not a generic concept 

   >>  individual_concept(camera_mini) 


   >>  individuates(camera_mini, stanze_miniapp) 


   >>  individual_concept(soggiorno_mini) 


   >>  individuates(soggiorno_mini, stanze_miniapp) 


   >>  individual_concept(bagno_mini) 

 >>  individuates(bagno_mini, stanze_miniapp) 


   >>  individual_concept(cucinino_mini) 


   >>  individuates(cucinino_mini, stanze_miniapp) 


   >>  has_role(mini1, camera1) 


   >>  satisfies(camera1, mini1, camera, miniapp) 


   >>  has_value(camera1, mini1, camera_mini) 


   >>  has_role(mini1, cucina1) 


   >>  satisfies(cucina1, mini1, cucina, miniapp) 


   >>  has_value(cucina1, mini1, cucinino_mini) 


   >>  has_role(mini1, soggiorno1) 


   >>  satisfies(soggiorno1, mini1, soggiorno, miniapp) 


   >>  has_value(soggiorno1, mini1, soggiorno_mini) 


   >>  has_role(mini1, bagno1) 


   >>  satisfies(bagno1, mini1, bagno, miniapp) 


   >>  has_value(bagno1, mini1, bagno_mini) 


   >>  individual_concept(palazzo1) 


   >>  individuates(palazzo1, palazzo) 


   >>  instance_role ( appartamento1 ) 


   >>  satisfies(appartamento1, palazzo1, appartamenti, palazzo) 


   >>  has_value(appartamento1, palazzo1, casa1) 


   >>  instance_role ( appartamento2 ) 


   >>  satisfies(appartamento2, palazzo1, appartamenti, palazzo) 


   >>  has_value(appartamento2, palazzo1, mini1) 


Yes
4 ?- pretty_print1(villa).

   **  villa  ** is a Generic Concept with 

     Super Concepts : 
     ------ 
     palazzo 
     villetta 
     Roles : 
     ----- 
     appartamenti : 
        ( from : palazzo ) 
          V/R = casa 
          Num = 1 , 20 
          Mod = obl 

Yes
5 ?- stampa(casa1).
bagno2 e_ un instance_role 
 che individua bagno come bagno_di_casa
bagno1 e_ un instance_role 
 che individua bagno come bagno_piccolo
salotto1 e_ un instance_role 
 che individua soggiorno come salotto
cucina1 e_ un instance_role 
 che individua cucina come cucinino
camera2 e_ un instance_role 
 che individua camera come camera_bimbo
camera1 e_ un instance_role 
 che individua camera come camera_genitori

No
7 ?- stampa(villa1).
bagno3 e_ un instance_role 
 che individua bagno come bagno_piccolo
soggiorno1 e_ un instance_role 
 che individua soggiorno come soggiorno_villa
camera6 e_ un instance_role 
 che individua camera come salotto
camera5 e_ un instance_role 
 che individua camera come camera_studio
camera4 e_ un instance_role 
 che individua camera come camera_ospiti
camera3 e_ un instance_role 
 che individua camera come camera_bimbo2
ingresso1 e_ un instance_role 
 che individua ingresso come ingresso_villa
bagno2 e_ un instance_role 
 che individua bagno come bagno_villa2
bagno1 e_ un instance_role 
 che individua bagno come bagno_villa1
cucina1 e_ un instance_role 
 che individua cucina come cucina_villa
camera2 e_ un instance_role 
 che individua camera come camera_bimbo1
camera1 e_ un instance_role 
 che individua camera come camera_genitori

No
8 ?- stampa(mini1).
bagno1 e_ un instance_role 
 che individua bagno come bagno_mini
soggiorno1 e_ un instance_role 
 che individua soggiorno come soggiorno_mini
cucina1 e_ un instance_role 
 che individua cucina come cucinino_mini
camera1 e_ un instance_role 
 che individua camera come camera_mini

No
9 ?- stampa(palazzo1).

appartamento2 e_ un instance_role 
 che individua appartamenti come mini1
appartamento1 e_ un instance_role 
 che individua appartamenti come casa1

No
11 ?- pp(salotto).
salotto e_ un concetto individiale
salotto e_ un stanze_villa