public class Demodulation extends AbstractModulation
x=y, m1 OR ... OR mn[z] ------------------------------------------------------------ SUB(SUBST(θ,x), SUBST(θ,y), m1 OR ... OR mn)where SUBST is the usual substitution of a binding list, and SUB(x,y,m) means to replace x with y everywhere that x occurs within m.
AbstractModulation.IdentifyCandidateMatchingTerm, AbstractModulation.ReplaceMatchingTerm
substVisitor, unifier, variableCollector
Constructor and Description |
---|
Demodulation() |
Modifier and Type | Method and Description |
---|---|
AtomicSentence |
apply(TermEquality assertion,
AtomicSentence expression) |
Clause |
apply(TermEquality assertion,
Clause clExpression) |
protected boolean |
isValidMatch(Term toMatch,
java.util.Set<Variable> toMatchVariables,
Term possibleMatch,
java.util.Map<Variable,Term> substitution) |
getMatchingSubstitution
public Clause apply(TermEquality assertion, Clause clExpression)
public AtomicSentence apply(TermEquality assertion, AtomicSentence expression)
protected boolean isValidMatch(Term toMatch, java.util.Set<Variable> toMatchVariables, Term possibleMatch, java.util.Map<Variable,Term> substitution)
isValidMatch
in class AbstractModulation