|
|
Esempio d'uso di Patente:
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].
[WARNING: (/home/magoo/diploma/dia388/kl1/klone.pl:8)
Attempt to redefine a system predicate: not/1
Use :- redefine_system_predicate(+Head) if this is intended]
[WARNING: (/home/magoo/diploma/dia388/kl1/klone.pl:9)
Attempt to redefine a system predicate: \=/2
Use :- redefine_system_predicate(+Head) if this is intended]
WELCOME
IN KLONE !!
[WARNING: (/home/magoo/diploma/dia388/kl1/klone1.pl:13)
Singleton variables: C]
[WARNING: (/home/magoo/diploma/dia388/kl1/klone1.pl:35)
Singleton variables: E]
[WARNING: (/home/magoo/diploma/dia388/kl1/klone1.pl:56)
Singleton variables: C]
[WARNING: (/home/magoo/diploma/dia388/kl1/klone1.pl:62)
Singleton variables: C]
[WARNING: (/home/magoo/diploma/dia388/kl1/klone1.pl:65)
Singleton variables: C]
[WARNING: (/home/magoo/diploma/dia388/kl1/klone1.pl:86)
Singleton variables: B]
[WARNING: (/home/magoo/diploma/dia388/kl1/klone1.pl:95)
Singleton variables: B, D]
[WARNING: (/home/magoo/diploma/dia388/kl1/klone1.pl:138)
Singleton variables: B]
[WARNING: (/home/magoo/diploma/dia388/kl1/klone1.pl:148)
Singleton variables: B, E]
[WARNING: (/home/magoo/diploma/dia388/kl1/klone1.pl:171)
Singleton variables: B]
[WARNING: (/home/magoo/diploma/dia388/kl1/klone1.pl:182)
Singleton variables: B, F]
[WARNING: (/home/magoo/diploma/dia388/kl1/klone1.pl:210)
Singleton variables: B]
[WARNING: (/home/magoo/diploma/dia388/kl1/klone1.pl:222)
Singleton variables: B, F, G]
[WARNING: (/home/magoo/diploma/dia388/kl1/klone1.pl:241)
Singleton variables: C, D]
[WARNING: (/home/magoo/diploma/dia388/kl1/klone1.pl:248)
Singleton variables: B]
[WARNING: (/home/magoo/diploma/dia388/kl1/klone1.pl:368)
Singleton variables: K]
[WARNING: (/home/magoo/diploma/dia388/kl1/klone1.pl:392)
Singleton variables: B]
klone1 compiled, 0.08 sec, 16,736 bytes.
[WARNING: (/home/magoo/diploma/dia388/kl1/klone2.pl:7)
Singleton variables: D, E]
[WARNING: (/home/magoo/diploma/dia388/kl1/klone2.pl:10)
Singleton variables: C, D, E]
[WARNING: (/home/magoo/diploma/dia388/kl1/klone2.pl:17)
Singleton variables: E]
[WARNING: (/home/magoo/diploma/dia388/kl1/klone2.pl:38)
Singleton variables: D]
[WARNING: (/home/magoo/diploma/dia388/kl1/klone2.pl:42)
Singleton variables: E]
[WARNING: (/home/magoo/diploma/dia388/kl1/klone2.pl:57)
Singleton variables: D, E, F, G, H]
[WARNING: (/home/magoo/diploma/dia388/kl1/klone2.pl:61)
Singleton variables: F, G, H, K, O, R, U, V]
[WARNING: (/home/magoo/diploma/dia388/kl1/klone2.pl:73)
Singleton variables: E, F, G, J, M]
[WARNING: (/home/magoo/diploma/dia388/kl1/klone2.pl:81)
Singleton variables: F, G, J, N, Q, T]
[WARNING: (/home/magoo/diploma/dia388/kl1/klone2.pl:113)
Singleton variables: D, E, F, G]
[WARNING: (/home/magoo/diploma/dia388/kl1/klone2.pl:120)
Singleton variables: D, F, G, H]
[WARNING: (/home/magoo/diploma/dia388/kl1/klone2.pl:172)
Singleton variables: D, E]
[WARNING: (/home/magoo/diploma/dia388/kl1/klone2.pl:175)
Singleton variables: D, F]
[WARNING: (/home/magoo/diploma/dia388/kl1/klone2.pl:188)
Singleton variables: D, E]
[WARNING: (/home/magoo/diploma/dia388/kl1/klone2.pl:191)
Singleton variables: D, F, G, H]
[WARNING: (/home/magoo/diploma/dia388/kl1/klone2.pl:208)
Singleton variables: A]
[WARNING: (/home/magoo/diploma/dia388/kl1/klone2.pl:209)
Singleton variables: A]
[WARNING: (/home/magoo/diploma/dia388/kl1/klone2.pl:210)
Singleton variables: A, B]
[WARNING: (/home/magoo/diploma/dia388/kl1/klone2.pl:211)
Singleton variables: A, B]
[WARNING: (/home/magoo/diploma/dia388/kl1/klone2.pl:212)
Singleton variables: A, B]
[WARNING: (/home/magoo/diploma/dia388/kl1/klone2.pl:213)
Singleton variables: A, B]
[WARNING: (/home/magoo/diploma/dia388/kl1/klone2.pl:214)
Singleton variables: A, B]
[WARNING: (/home/magoo/diploma/dia388/kl1/klone2.pl:215)
Singleton variables: A, B, C, D]
[WARNING: (/home/magoo/diploma/dia388/kl1/klone2.pl:216)
Singleton variables: A, B, C, D]
[WARNING: (/home/magoo/diploma/dia388/kl1/klone2.pl:217)
Singleton variables: A, B, C, D]
[WARNING: (/home/magoo/diploma/dia388/kl1/klone2.pl:218)
Singleton variables: A, B, C]
[WARNING: (/home/magoo/diploma/dia388/kl1/klone2.pl:219)
Singleton variables: A, B, C]
[WARNING: (/home/magoo/diploma/dia388/kl1/klone2.pl:220)
Singleton variables: A, B, C]
[WARNING: (/home/magoo/diploma/dia388/kl1/klone2.pl:221)
Singleton variables: A, B, C]
[WARNING: (/home/magoo/diploma/dia388/kl1/klone2.pl:272)
Singleton variables: B, C]
[WARNING: (/home/magoo/diploma/dia388/kl1/klone2.pl:274)
Singleton variables: B]
[WARNING: (/home/magoo/diploma/dia388/kl1/klone2.pl:276)
Singleton variables: A]
[WARNING: (/home/magoo/diploma/dia388/kl1/klone2.pl:278)
Singleton variables: B, C]
[WARNING: (/home/magoo/diploma/dia388/kl1/klone2.pl:280)
Singleton variables: A, C]
klone2 compiled, 0.10 sec, 13,148 bytes.
[WARNING: (/home/magoo/diploma/dia388/kl1/klone3.pl:110)
Singleton variables: F, I]
[WARNING: (/home/magoo/diploma/dia388/kl1/klone3.pl:134)
Singleton variables: A, C]
[WARNING: (/home/magoo/diploma/dia388/kl1/klone3.pl:154)
Singleton variables: C, E]
[WARNING: (/home/magoo/diploma/dia388/kl1/klone3.pl:159)
Singleton variables: A]
[WARNING: (/home/magoo/diploma/dia388/kl1/klone3.pl:163)
Singleton variables: A]
[WARNING: (/home/magoo/diploma/dia388/kl1/klone3.pl:167)
Singleton variables: A]
[WARNING: (/home/magoo/diploma/dia388/kl1/klone3.pl:171)
Singleton variables: A]
[WARNING: (/home/magoo/diploma/dia388/kl1/klone3.pl:176)
Singleton variables: A]
[WARNING: (/home/magoo/diploma/dia388/kl1/klone3.pl:181)
Singleton variables: A, B]
[WARNING: (/home/magoo/diploma/dia388/kl1/klone3.pl:243)
Singleton variables: E, H]
[WARNING: (/home/magoo/diploma/dia388/kl1/klone3.pl:340)
Singleton variables: D]
[WARNING: (/home/magoo/diploma/dia388/kl1/klone3.pl:355)
Singleton variables: D, E, F]
[WARNING: (/home/magoo/diploma/dia388/kl1/klone3.pl:367)
Singleton variables: D]
[WARNING: (/home/magoo/diploma/dia388/kl1/klone3.pl:383)
Singleton variables: D]
[WARNING: (/home/magoo/diploma/dia388/kl1/klone3.pl:389)
Singleton variables: D, E, F]
[WARNING: (/home/magoo/diploma/dia388/kl1/klone3.pl:431)
Singleton variables: A]
[WARNING: (/home/magoo/diploma/dia388/kl1/klone3.pl:448)
Singleton variables: A]
klone3 compiled, 0.11 sec, 18,060 bytes.
[WARNING: (/home/magoo/diploma/dia388/kl1/klone4.pl:10)
Singleton variables: C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, A1, B1, C1, D1, E1, F1, G1, H1, I1, J1, K1, L1]
[WARNING: (/home/magoo/diploma/dia388/kl1/klone4.pl:143)
Singleton variables: C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, A1, B1, C1, D1, E1, F1, G1, H1, I1, J1, K1, L1]
klone4 compiled, 0.04 sec, 7,556 bytes.
[WARNING: (/home/magoo/diploma/dia388/kl1/klvarie.pl:23)
Singleton variables: Value]
[WARNING: (/home/magoo/diploma/dia388/kl1/klvarie.pl:35)
Singleton variables: Ir, Ic, V]
[WARNING: (/home/magoo/diploma/dia388/kl1/klvarie.pl:61)
Singleton variables: Gc]
[WARNING: (/home/magoo/diploma/dia388/kl1/klvarie.pl:64)
Singleton variables: Value, Ir, Gc]
klvarie compiled, 0.03 sec, 3,192 bytes.
start loading...
READY
klone compiled, 0.38 sec, 60,688 bytes.
Yes
2 ?- [patente].
[WARNING: (/home/magoo/diploma/dia388/kl1/max.pl:201)
Singleton variables: Value]
[WARNING: (/home/magoo/diploma/dia388/kl1/max.pl:201)
Redefined: stampa_ruoli/2]
[WARNING: (/home/magoo/diploma/dia388/kl1/max.pl:211)
Redefined: stampa_valore/3]
[WARNING: (/home/magoo/diploma/dia388/kl1/max.pl:213)
Singleton variables: Ir, Ic, V]
max compiled, 0.03 sec, 7,348 bytes.
Yes
3 ?- inizializza.
>> generic_concept(thing)
>> generic_concept(doc_identita)
>> generic_concept(testo)
>> generic_concept(data)
>> has_super_concept(doc_identita, thing)
>> has_super_concept(testo, thing)
>> has_super_concept(data, thing)
>> generic_role ( cognome )
>> has_role(doc_identita, cognome)
>> generic_role ( nome )
>> has_role(doc_identita, nome)
>> generic_role ( data_nascita )
>> has_role(doc_identita, data_nascita)
>> generic_role ( luogo_nascita )
>> has_role(doc_identita, luogo_nascita)
>> generic_role ( residenza )
>> has_role(doc_identita, residenza)
>> generic_role ( via )
>> has_role(doc_identita, via)
>> has_vr(cognome, doc_identita, testo)
>> has_vr(nome, doc_identita, testo)
>> has_vr(data_nascita, doc_identita, data)
>> has_vr(luogo_nascita, doc_identita, testo)
>> has_vr(residenza, doc_identita, testo)
>> has_vr(via, doc_identita, testo)
>> has_number(cognome, doc_identita, [1, 1])
>> has_number(nome, doc_identita, [1, 1])
>> has_number(data_nascita, doc_identita, [1, 1])
>> has_number(luogo_nascita, doc_identita, [1, 1])
>> has_number(residenza, doc_identita, [1, 1])
>> has_number(via, doc_identita, [1, 1])
>> has_modality(nome, doc_identita, obl)
>> has_modality(cognome, doc_identita, obl)
>> has_modality(data_nascita, doc_identita, obl)
>> has_modality(luogo_nascita, doc_identita, obl)
>> has_modality(residenza, doc_identita, obl)
>> has_modality(via, doc_identita, obl)
** doc_identita ** is a Generic Concept with
Super Concepts :
------
thing
Roles :
-----
cognome :
V/R = testo
Num = 1
Mod = obl
data_nascita :
V/R = data
Num = 1
Mod = obl
luogo_nascita :
V/R = testo
Num = 1
Mod = obl
nome :
V/R = testo
Num = 1
Mod = obl
residenza :
V/R = testo
Num = 1
Mod = obl
via :
V/R = testo
Num = 1
Mod = obl
>> generic_concept(patente)
>> has_super_concept(patente, doc_identita)
>> generic_role ( prefetto_di )
>> has_role(patente, prefetto_di)
>> generic_role ( data_rilascio )
>> has_role(patente, data_rilascio)
>> generic_role ( data_scadenza )
>> has_role(patente, data_scadenza)
>> generic_role ( numero )
>> has_role(patente, numero)
>> generic_role ( tipo )
>> has_role(patente, tipo)
>> has_vr(prefetto_di, patente, testo)
>> has_vr(data_rilascio, patente, data)
>> has_vr(data_scadenza, patente, data)
>> has_vr(numero, patente, testo)
>> has_vr(tipo, patente, testo)
>> has_number(prefetto_di, patente, [1, 1])
>> has_number(data_rilascio, patente, [1, 1])
>> has_number(data_scadenza, patente, [1, 1])
>> has_number(numero, patente, [1, 1])
>> has_number(tipo, patente, [1, 1])
>> has_modality(prefetto_di, patente, obl)
>> has_modality(data_rilascio, patente, obl)
>> has_modality(data_scadenza, patente, obl)
>> has_modality(numero, patente, obl)
>> has_modality(tipo, patente, obl)
** patente ** is a Generic Concept with
Super Concepts :
------
doc_identita
thing
Roles :
-----
cognome :
( from : doc_identita )
V/R = testo
Num = 1
Mod = obl
data_nascita :
( from : doc_identita )
V/R = data
Num = 1
Mod = obl
luogo_nascita :
( from : doc_identita )
V/R = testo
Num = 1
Mod = obl
nome :
( from : doc_identita )
V/R = testo
Num = 1
Mod = obl
residenza :
( from : doc_identita )
V/R = testo
Num = 1
Mod = obl
via :
( from : doc_identita )
V/R = testo
Num = 1
Mod = obl
data_rilascio :
V/R = data
Num = 1
Mod = obl
data_scadenza :
V/R = data
Num = 1
Mod = obl
numero :
V/R = testo
Num = 1
Mod = obl
prefetto_di :
V/R = testo
Num = 1
Mod = obl
tipo :
V/R = testo
Num = 1
Mod = obl
>> individual_concept(25 / 10 / 1975)
>> individuates(25 / 10 / 1975, data)
>> individual_concept(15 / 11 / 1993)
>> individuates(15 / 11 / 1993, data)
>> individual_concept(15 / 11 / 2003)
>> individuates(15 / 11 / 2003, data)
>> individual_concept(mario)
>> individuates(mario, testo)
>> individual_concept(rossi)
>> individuates(rossi, testo)
>> individual_concept(pavia)
>> individuates(pavia, testo)
>> individual_concept(parma)
>> individuates(parma, testo)
>> individual_concept(aj8b44012i4p3r)
>> individuates(aj8b44012i4p3r, testo)
>> individual_concept([via, cacciatori, delle, alpi])
>> individuates([via, cacciatori, delle, alpi], testo)
>> individual_concept(pat1)
>> individuates(pat1, patente)
Yes
4 ?- pat1.
>> instance_role ( nome1 )
>> satisfies(nome1, pat1, nome, patente)
>> has_value(nome1, pat1, mario)
>> instance_role ( cognome1 )
>> satisfies(cognome1, pat1, cognome, patente)
>> has_value(cognome1, pat1, rossi)
>> instance_role ( luogo_nascita1 )
>> satisfies(luogo_nascita1, pat1, luogo_nascita, patente)
>> has_value(luogo_nascita1, pat1, pavia)
>> instance_role ( data_nascita1 )
>> satisfies(data_nascita1, pat1, data_nascita, patente)
>> has_value(data_nascita1, pat1, 25 / 10 / 1975)
>> instance_role ( residenza1 )
>> satisfies(residenza1, pat1, residenza, patente)
>> has_value(residenza1, pat1, parma)
>> instance_role ( via1 )
>> satisfies(via1, pat1, via, patente)
>> has_value(via1, pat1, [via, cacciatori, delle, alpi])
>> instance_role ( prefetto_di1 )
>> satisfies(prefetto_di1, pat1, prefetto_di, patente)
>> has_value(prefetto_di1, pat1, parma)
>> instance_role ( data_rilascio1 )
>> satisfies(data_rilascio1, pat1, data_rilascio, patente)
>> has_value(data_rilascio1, pat1, 15 / 11 / 1993)
>> instance_role ( data_scadenza1 )
>> satisfies(data_scadenza1, pat1, data_scadenza, patente)
>> has_value(data_scadenza1, pat1, 15 / 11 / 2003)
>> instance_role ( numero1 )
>> satisfies(numero1, pat1, numero, patente)
>> has_value(numero1, pat1, aj8b44012i4p3r)
5 ?- has_role(patente,X).
X = tipo ;
X = numero ;
X = data_scadenza ;
X = data_rilascio ;
X = prefetto_di ;
X = via ;
X = residenza ;
X = luogo_nascita ;
X = data_nascita ;
X = nome ;
X = cognome ;
No
6 ?- has_vr(numero,patente,X).
X = testo ;
No
7 ?- has_number(prefetto_di,patente,X).
X = [1, 1] ;
No
8 ?- pretty_print(patente).
** patente ** is a Generic Concept with
Super Concepts :
------
doc_identita
thing
Roles :
-----
cognome :
( from : doc_identita )
data_nascita :
( from : doc_identita )
luogo_nascita :
( from : doc_identita )
nome :
( from : doc_identita )
residenza :
( from : doc_identita )
via :
( from : doc_identita )
data_rilascio :
V/R = data
Num = 1
Mod = obl
data_scadenza :
V/R = data
Num = 1
Mod = obl
numero :
V/R = testo
Num = 1
Mod = obl
prefetto_di :
V/R = testo
Num = 1
Mod = obl
tipo :
V/R = testo
Num = 1
Mod = obl
Yes
9 ?- individual_concept(X).
X = pat1 ;
X = [via, cacciatori, delle, alpi] ;
X = aj8b44012i4p3r ;
X = parma ;
X = pavia ;
X = rossi ;
X = mario ;
X = 15 / 11 / 2003 ;
X = 15 / 11 / 1993 ;
X = 25 / 10 / 1975 ;
No
10 ?- individuates(X,Y).
X = pat1
Y = patente ;
X = [via, cacciatori, delle, alpi]
Y = testo ;
X = aj8b44012i4p3r
Y = testo ;
X = parma
Y = testo ;
X = pavia
Y = testo ;
X = rossi
Y = testo ;
X = mario
Y = testo ;
X = 15 / 11 / 2003
Y = data ;
X = 15 / 11 / 1993
Y = data ;
X = 25 / 10 / 1975
Y = data ;
X = pat1
Y = doc_identita ;
X = pat1
Y = thing ;
X = [via, cacciatori, delle, alpi]
Y = thing ;
X = aj8b44012i4p3r
Y = thing ;
X = parma
Y = thing ;
X = pavia
Y = thing ;
X = rossi
Y = thing ;
X = mario
Y = thing ;
X = 15 / 11 / 2003
Y = thing ;
X = 15 / 11 / 1993
Y = thing ;
X = 25 / 10 / 1975
Y = thing ;
No
11 ?- stampa_ruoli(pat1,X).
numero1 e_ un instance_role
che individua un numero di patente con valore aj8b44012i4p3r
data_scadenza1 e_ un instance_role
che individua un data_scadenza di patente con valore 15 / 11 / 2003
data_rilascio1 e_ un instance_role
che individua un data_rilascio di patente con valore 15 / 11 / 1993
prefetto_di1 e_ un instance_role
che individua un prefetto_di di patente con valore parma
via1 e_ un instance_role
che individua un via di patente con valore [via, cacciatori, delle, alpi]
residenza1 e_ un instance_role
che individua un residenza di patente con valore parma
data_nascita1 e_ un instance_role
che individua un data_nascita di patente con valore 25 / 10 / 1975
luogo_nascita1 e_ un instance_role
che individua un luogo_nascita di patente con valore pavia
cognome1 e_ un instance_role
che individua un cognome di patente con valore rossi
nome1 e_ un instance_role
che individua un nome di patente con valore mario
|