37 lines
		
	
	
		
			681 B
		
	
	
	
		
			Perl
		
	
	
	
	
	
		
		
			
		
	
	
			37 lines
		
	
	
		
			681 B
		
	
	
	
		
			Perl
		
	
	
	
	
	
| 
								 | 
							
								:- use_module(library(chr)).
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								handler modelgenerator.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								constraints attends/3, requires/2, less/2, leq/2.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								operator(700,xfx,less).
							 | 
						||
| 
								 | 
							
								operator(700,xfx,leq).
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								X less Y <=> nonvar(X), nonvar(Y) | X < Y.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								X less Y \  X less Z <=>  Y =< Z | true.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								X less Y, X leq Y <=>  false.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								X leq X <=> true.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								attends(S, Y, TY), requires(Y, X) ==> attends(S, X, TX), TX less TY.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								attends(john,C,T)  ==> true | (T leq 1996 ; T less 1994).
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								example :- 
							 | 
						||
| 
								 | 
							
									attends(john,constraintprogrammierung,1996),
							 | 
						||
| 
								 | 
							
									requires(constraintprogrammierung,logik).
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								?- example.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								   requires(constraintprogrammierung,logik),
							 | 
						||
| 
								 | 
							
								   _A less 1994,
							 | 
						||
| 
								 | 
							
								   attends(john,constraintprogrammierung,1996),
							 | 
						||
| 
								 | 
							
								   attends(john,logik,_A) ?
							 | 
						||
| 
								 | 
							
								*/
							 |