package aima.gui.demo.logic;
import aima.core.logic.propositional.algorithms.KnowledgeBase;
import aima.core.logic.propositional.algorithms.PLFCEntails;
/**
* @author Ravi Mohan
*
*/
public class PLFCEntailsDemo {
// private static PEParser parser = new PEParser();
private static PLFCEntails plfce = new PLFCEntails();
public static void main(String[] args) {
System.out.println("\nPLFCEntailsDemo\n");
KnowledgeBase kb = new KnowledgeBase();
kb.tell(" (P => Q)");
kb.tell("((L AND M) => P)");
kb.tell("((B AND L) => M)");
kb.tell("( (A AND P) => L)");
kb.tell("((A AND B) => L)");
kb.tell("(A)");
kb.tell("(B)");
System.out.println("Example from page 220 of AIMA 2nd Edition");
System.out.println("KnowledgeBsse consists of sentences");
System.out.println(" (P => Q)");
System.out.println("((L AND M) => P)");
System.out.println("((B AND L) => M)");
System.out.println("( (A AND P) => L)");
System.out.println("((A AND B) => L)");
System.out.println("(A)");
System.out.println("(B)");
displayPLFCEntailment(kb, "Q");
}
private static void displayPLFCEntailment(KnowledgeBase kb, String q) {
System.out.println("Running PLFCEntailment on knowledge base "
+ " with query " + q + " gives " + plfce.plfcEntails(kb, q));
}
}