/** * Create a negated term. * * @param c Term to be negated * @return an ATermAppl in the form not(c) */ public static ATermAppl not(final ATermAppl c) { return ATermUtils.makeNot(c); }
/** * Create a negated term. * * @param c Term to be negated * @return an ATermAppl in the form not(c) */ public static ATermAppl not(final ATermAppl c) { return ATermUtils.makeNot(c); }
public default boolean isComplement(final ATermAppl c1, final ATermAppl c2) { if (null == c1 || null == c2) return false; final ATermAppl notC2 = ATermUtils.makeNot(c2); return isEquivalentClass(c1, notC2); }
public default boolean isComplement(final ATermAppl c1, final ATermAppl c2) { if (null == c1 || null == c2) return false; final ATermAppl notC2 = ATermUtils.makeNot(c2); return isEquivalentClass(c1, notC2); }
public default boolean isDisjointClass(final ATermAppl c1, final ATermAppl c2) { if (null == c1 || null == c2) return false; final ATermAppl notC2 = ATermUtils.makeNot(c2); return isSubClassOf(c1, notC2); }
private static void addDisjointAxiom(final ATermAppl c1, final ATermAppl c2, final List<ATermAppl> axioms) { final ATermAppl notC2 = ATermUtils.makeNot(c2); axioms.add(ATermUtils.makeSub(c1, notC2)); if (ATermUtils.isPrimitive(c2)) { final ATermAppl notC1 = ATermUtils.makeNot(c1); axioms.add(ATermUtils.makeSub(c2, notC1)); } }
@Override public void addComplementClass(final ATermAppl c1, final ATermAppl c2) { if (null == c1 || null == c2) return; _changes.add(ChangeType.TBOX_ADD); final ATermAppl notC2 = ATermUtils.makeNot(c2); if (c1.equals(notC2)) return; _tbox.addAxiom(ATermUtils.makeEqClasses(c1, notC2)); _logger.finer(() -> "complement " + c1 + " " + c2); }
@Override public void addComplementClass(final ATermAppl c1, final ATermAppl c2) { if (null == c1 || null == c2) return; _changes.add(ChangeType.TBOX_ADD); final ATermAppl notC2 = ATermUtils.makeNot(c2); if (c1.equals(notC2)) return; _tbox.addAxiom(ATermUtils.makeEqClasses(c1, notC2)); _logger.finer(() -> "complement " + c1 + " " + c2); }
@Override public void visit(final OWLObjectComplementOf not) { final OWLClassExpression desc = not.getOperand(); desc.accept(this); _term = ATermUtils.makeNot(_term); }
final static public ATermAppl makeNormalizedMax(final ATermAppl r, final int n, final ATermAppl c) { assertTrue(n >= 0); return makeNot(makeMin(r, n + 1, c)); }
@Override public void visit(final OWLDataComplementOf node) { node.getDataRange().accept(this); _term = ATermUtils.makeNot(_term); }
@Override public void visit(final OWLObjectComplementOf not) { final OWLClassExpression desc = not.getOperand(); desc.accept(this); _term = ATermUtils.makeNot(_term); }
final static public ATermAppl makeNormalizedMax(final ATermAppl r, final int n, final ATermAppl c) { assertTrue(n >= 0); return makeNot(makeMin(r, n + 1, c)); }
@Override public void visit(final OWLObjectComplementOf not) { final OWLClassExpression desc = not.getOperand(); desc.accept(this); _term = ATermUtils.makeNot(_term); }
@Override public void visit(final OWLDataComplementOf node) { node.getDataRange().accept(this); _term = ATermUtils.makeNot(_term); }
@Override public void visitNot(final ATermAppl term) { final ATermAppl a = (ATermAppl) term.getArgument(0); visit(a); if (_change) _ret = ATermUtils.makeNot(_ret); else _ret = term; }
@Override public void visit(final OWLDataComplementOf node) { node.getDataRange().accept(this); _term = ATermUtils.makeNot(_term); }
static public ATermList negate(final ATermList list) { if (list.isEmpty()) return list; ATermAppl a = (ATermAppl) list.getFirst(); a = isNot(a) ? (ATermAppl) a.getArgument(0) : makeNot(a); final ATermList result = makeList(a, negate(list.getNext())); return result; }
static public ATermList negate(final ATermList list) { if (list.isEmpty()) return list; ATermAppl a = (ATermAppl) list.getFirst(); a = isNot(a) ? (ATermAppl) a.getArgument(0) : makeNot(a); final ATermList result = makeList(a, negate(list.getNext())); return result; }
@Test public void testIsClass4() { final KnowledgeBase kb = new KnowledgeBaseImpl(); final ATermAppl l = ATermUtils.makeTermAppl("l"); final ATermAppl v = ATermUtils.makeValue(ATermUtils.makeLiteral(l)); final ATermAppl n = ATermUtils.makeNot(v); assertFalse(kb.isClass(n)); }