// END-AtomicSentence // public override bool Equals(Object o) { if (this == o) { return(true); } if ((o == null) || !(o is TermEquality)) { return(false); } TermEquality te = (TermEquality)o; return(te.getTerm1().Equals(term1) && te.getTerm2().Equals(term2)); }
public Object visitTermEquality(TermEquality equality, Object arg) { equality.getTerm1().accept(this, arg); equality.getTerm2().accept(this, arg); return equality; }
public Object visitTermEquality(TermEquality equality, Object arg) { Term newTerm1 = (Term)equality.getTerm1().accept(this, arg); Term newTerm2 = (Term)equality.getTerm2().accept(this, arg); return new TermEquality(newTerm1, newTerm2); }
public AtomicSentence apply(TermEquality assertion, AtomicSentence expression) { AtomicSentence altExpression = null; IdentifyCandidateMatchingTerm icm = getMatchingSubstitution(assertion .getTerm1(), expression); if (null != icm) { Term replaceWith = substVisitor.subst( icm.getMatchingSubstitution(), assertion.getTerm2()); // Want to ignore reflexivity axiom situation, i.e. x = x if (!icm.getMatchingTerm().Equals(replaceWith)) { ReplaceMatchingTerm rmt = new ReplaceMatchingTerm(); // Only apply demodulation at most once on each call. altExpression = rmt.replace(expression, icm.getMatchingTerm(), replaceWith); } } return altExpression; }