public static FOLKnowledgeBase CreateLovesAnimalKnowledgeBase( IInferenceProcedure infp) { FOLKnowledgeBase kb = new FOLKnowledgeBase(DomainFactory .LovesAnimalDomain(), infp); kb .tell("FORALL x (FORALL y (Animal(y) => Loves(x, y)) => EXISTS y Loves(y, x))"); kb .tell("FORALL x (EXISTS y (Animal(y) AND Kills(x, y)) => FORALL z NOT(Loves(z, x)))"); kb.tell("FORALL x (Animal(x) => Loves(Jack, x))"); kb.tell("(Kills(Jack, Tuna) OR Kills(Curiosity, Tuna))"); kb.tell("Cat(Tuna)"); kb.tell("FORALL x (Cat(x) => Animal(x))"); return(kb); }