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.ReplaceMatchingTermsubstVisitor, 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) |
getMatchingSubstitutionpublic 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