org.ggp.base.util.reasoner.DifferentialForwardChainingReasoner Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of alloy-ggp-base Show documentation
Show all versions of alloy-ggp-base Show documentation
A modified version of the GGP-Base library for Alloy.
The newest version!
package org.ggp.base.util.reasoner;
import org.ggp.base.util.gdl.model.SentenceDomainModel;
import org.ggp.base.util.gdl.transforms.VariableConstrainer;
/**
* An extension of the ForwardChainingReasoner that allows for finding
* just the consequences of a rule that result from a particular input.
* This can be a much more efficient way of handling recursive rules.
*/
public interface DifferentialForwardChainingReasoner
extends ForwardChainingReasoner {
/**
* Given a rule, all sentences known to be true, and a set of new sentences,
* returns all new results of the rule that involve at least one of the new
* sentences as a positive literal in the body of the rule. Sentences already
* known to be true will not be included in the result.
*
* This can be a more efficient way of dealing with recursive rules than
* {@link #getRuleResults(Object, SentenceDomainModel, Object)}.
*
* For the outputs of this method to be valid, the GDL that the rule
* is derived from should have had the {@link VariableConstrainer}
* transformation applied to it.
*/
Sentences getRuleResultsForNewSentences(Rule rule, SentenceDomainModel domainModel,
Sentences allSentences, Sentences newSentences) throws InterruptedException;
}