% Autor:
% Datum: 12.04.03

% leser
leser(0,'Christ','Benjamin',83,'ROE').
leser(1,'Eberle','Gerrit',84,'TM').
leser(2,'Friedrich','Andy',83,'HB').
leser(3,'Frisch','Johannes',84,'TM').
leser(4,'Frölich','Daniel',83,'BN').
leser(5,'Ghebrekristos','Nahum',83,'ROE').
leser(6,'Gukenbiehl','Jörn',84,'ROE').
leser(7,'Hein','Gunther',83,'TM').
leser(8,'Hellriegel','Daniel',84,'HB').
leser(9,'Klinck','Christoph',83,'HB').
leser(10,'Knohsalla','Sven',82,'TM').
leser(11,'Martin','Tobias',83,'HB').
leser(12,'Steidel','Stefan',83,'BN').
leser(13,'Teubner','Ruth',84,'HEI').
leser(14,'Thielen','Clemens',84,'TM').
leser(15,'Wollenweber','Lisa',84,'TM').

% buch
buch('D1','Goethe','Faust',1973,'Deutsch').
buch('D2','Mann','Dr. Faustus',1937,'Deutsch').
buch('D3','Mann','Der Zauberberg',1940,'Deutsch').
buch('D4','Kafka','Das Schloss',1930,'Deutsch').
buch('D5','Grass','Ein weites Feld',1997,'Deutsch').
buch('M1','Euklid','Die Elemente',1970,'Mathematik').
buch('M2','Singh','Fermats letzter Satz',1998,'Mathematik').
buch('M3','Padberg','Elementare Zahlentheorie',1999,'Mathematik').
buch('P1','Heisenberg','Der Teil und das Ganze',1955,'Physik').
buch('P2','Einstein','Relativitätstheorie',1960,'Physik').
buch('P3','Weinberg','Die ersten drei Minuten',1989,'Physik').
buch('Ph1','Garder','Sofies Welt',1995,'Philosophie').
buch('Ph2','Kant','Kritik der reinen Vernunft',1958,'Philosophie').
buch('Ph3','Russell','Geschichte der Philosophie',1952,'Philosophie').

% ausleihe
ausleihe(3,'Ph1',datum(30,12,2001)).
ausleihe(4,'D2',datum(16,9,2001)).
ausleihe(4,'P2',datum(30,12,2001)).
ausleihe(6,'D3',datum(30,12,2001)).
ausleihe(8,'M1',datum(23,10,2001)).
ausleihe(11,'P1',datum(14,12,2001)).
ausleihe(12,'M2',datum(30,12,2001)).
ausleihe(13,'D5',datum(30,8,2001)).
ausleihe(13,'Ph2',datum(11,7,2001)).
ausleihe(14,'D1',datum(13,12,2001)).
ausleihe(15,'M3',datum(1,11,2001)).

% monatspaeter
monatspaeter(datum(T1,M1,J1), datum(T2,M2,J2)) :-
  T2 >= T1, M2 >= M1+1, J2 >= J1.
monatspaeter(datum(T1,M1,J1), datum(T2,M2,J2)) :-
  M2 >= M1+2, J2 >= J1.
monatspaeter(datum(T1,M1,J1), datum(T2,M2,J2)) :-
  T2 >= T1, J2 >= J1+1.
monatspaeter(datum(T1,M1,J1), datum(T2,M2,J2)) :-
  (12-M1)+M2 >= 2, J2 >= J1+1.
monatspaeter(datum(T1,M1,J1), datum(T2,M2,J2)) :-
  J2 >= J1+2.

% mahnung
mahnung(Name, Vorname, Sig, datum(Takt, Makt, Jakt)) :-
  leser(LNr, Name, Vorname, _, _),
  ausleihe(LNr, Sig, datum(Taus, Maus, Jaus)),
  monatspaeter(datum(Taus, Maus, Jaus), datum(Takt, Makt, Jakt)).
