package aima.gui.demo.logic; import aima.core.logic.propositional.inference.PLFCEntails; import aima.core.logic.propositional.kb.KnowledgeBase; import aima.core.logic.propositional.parsing.ast.PropositionSymbol; /** * @author Ravi Mohan * */ public class PlFcEntailsDemo { 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 & M => P"); kb.tell("B & L => M"); kb.tell("A & P => L"); kb.tell("A & 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 & M => P"); System.out.println("B & L => M"); System.out.println("A & P => L"); System.out.println("A & 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, new PropositionSymbol(q))); } }