git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1973 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
		
			
				
	
	
		
			36 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			36 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| ================================================================
 | |
| Logtalk - Open source object-oriented logic programming language
 | |
| Release 2.30.7
 | |
| 
 | |
| Copyright (c) 1998-2007 Paulo Moura.  All Rights Reserved.
 | |
| ================================================================
 | |
| 
 | |
| 
 | |
| To load this example and for sample queries, please see the SCRIPT 
 | |
| file.
 | |
| 
 | |
| This folder contains an object which implements a translator from 
 | |
| first-order predicate logic propositions to conjunctive normal form 
 | |
| and to clausal form. The translator code is partially based on code 
 | |
| published in the book "Programming in Prolog" by W. F. Clocksin and 
 | |
| C. S. Mellish.
 | |
| 
 | |
| The following operators are used for representing logic connectives:
 | |
| 
 | |
| 	negation: ~
 | |
| 	disjunction: v
 | |
| 	conjunction: &
 | |
| 	implication: =>
 | |
| 	equivalence: <=>
 | |
| 
 | |
| Quantifiers are represented using the following notation:
 | |
| 
 | |
| 	universal: all(X, P)
 | |
| 	existential: exists(X, P)
 | |
| 
 | |
| The two main object predicates are translate/2 and step_by_step/2.
 | |
| The first predicate, translate/2, translate a logic proposition to 
 | |
| a list of clauses. The second predicate, step_by_step/2, performs 
 | |
| the same translations as translate/2 but also prints the results 
 | |
| of each conversion step.
 |