2:- module(title,[title/1,title/2,title/3]). 3
4:- use_module(library(lists),[member/2]). 5
6title(X):- title(X,_,_).
7title(X,Y):- title(X,Y,_).
8
10title(abbot, abbot, male).
11title(T, admiral, person):- member(T,[adm,'adm.',admiral]).
12title(T, ambassador, person):- member(T,[amb,'amb.',ambassador]).
13
15title(baron, baron, male).
16title(T, baroness, female):- member(T,[baroness,brnss,'brnss.']).
17title(bishop, bishop, male).
18title(T, brigadire, person):- member(T,[brig,'brig.',brigadire]).
19title(T, brother, male ):- member(T,[br,'br.',brother]).
20
22title(T, commodore, person):- member(T,[cdre,cmdre,commodore]).
23title(cpo, chief_petty_officer, person).
24title(T, captain, person):- member(T,[capt,cpt,'capt.','cpt.',captain]).
25title(cardinal, cardinal, person).
26title(T, chansellor, person):- member(T, [chan,chansellor]).
27title(T, chaplain, person):- member(T, [chapln,'chapln.',chaplain]).
28title(T, colonel, person):- member(T, [col,'col.',colonel]).
29title(commandant, commandant, person).
30title(T, commander, person):- member(T,[cmdr,'cmdr.',commander]).
31title(commissioner, commissioner, person).
32title(T, corporal, person):- member(T,[cpl,'cpl.',corporal]).
33title(councillor, councillor, person).
34title(count, count, male).
35title(T, countess, female):- member(T,[countess,cntss,'cntss.']).
36
38title(dame, dame, female).
39title(deacon, deacon, male).
40title(deaconess, deaconess, female).
41title(dean, dean, person).
42title(T, doctor, person):- member(T,[dr,'dr.',drs,'drs.',doctor]).
43title(duke, duke, person).
44
46title(T, ensign, person):- member(T,[ensign,ens,'ens.']).
47
49title(T, father, male):- member(T,[father,fr,'fr.']).
50title(T, friar, male):- member(T,[friar,fr,'fr.']).
51title(frau, frau, female).
52
54title(T, general, person):- member(T,[gen,'gen.',general]).
55title(T, governor, person):- member(T,[gov,'gov.',governor]).
56
58title(T, honorary, person):- member(T,[hon,'hon.',honorary]).
59
61title(judge, judge, person).
62title(justice, justice, person).
63
65title(lady, lady, female).
66title(T, lieutenant, person):- member(T,[lieut,'lieut.',lt,'lt.']).
67title(lord, lord, person).
68
70title(marshal, marshal, person).
71title(master, master, person).
72title(T, madame, female):- member(T,[mme,madame,'mme.',mmes,'mmes.']).
73title(T, major, person):- member(T,[maj,'maj.',major]).
74title(T, miss, female):- member(T,[miss,ms,'ms.']).
75title(T, mister, male) :- member(T,[mr,'mr.',mister,monsier,messrs,'messrs.']).
76title(T, missis, female):- member(T,[mrs,'mrs.',missis,missus]).
77title(T, mademoiselle, female):- member(T,['mademoiselle',mlle,'mlle.']).
78title(T, monsignor, male) :- member(T,[monsignor,'mgr.',mgr,msgr,'msgr.']).
79
81title(T, president, person):- member(T,[pres,'pres.',president]).
82title(prince, prince, male).
83title(princess, princess, female).
84title(T, professor, person):- member(T,[prof,'prof.',professor]).
85
87title(rabbi, rabbi, person).
88title(T, representative, person):- member(T,[rep,'rep.',representative]).
89title(T, reverend, person):- member(T,[rev,'rev.',reverend,revs,'revs.']).
90
92title(T, senator, person):- member(T,[sen,'sen.',senator]).
93title(T, senor, male):- member(T,[sr,'sr.',senor]).
94title(T, senora, female):- member(T,[sra,'sra.',senora]).
95title(T, senorita, female):- member(T,[srta,'srta.',senorita]).
96title(T, sergeant, female):- member(T,[sgt,'sgt.',sergeant]).
97title(sheikh, sheikh, person).
98title(sir, sir, person).
99title(T, sister, female):- member(T,[sr,'sr.',sister]).
100title(T, saint, person):- member(T,[st,'st.',saint])