final Unfolding unfolding = _binaryTbox.unfold(set);
final Unfolding unfolding = _binaryTbox.unfold(set);
private boolean addAxiom(final ATermAppl axiom, final Set<ATermAppl> explanation, final boolean forceAddition) { final boolean added = addAxiomExplanation(axiom, explanation); if (added || forceAddition) if (axiom.getAFun().equals(ATermUtils.EQCLASSFUN)) { final ATermAppl c1 = (ATermAppl) axiom.getArgument(0); final ATermAppl c2 = (ATermAppl) axiom.getArgument(1); boolean def = false; if (ATermUtils.isPrimitive(c1) && !_unaryTbox.unfold(c1).hasNext() && !_binaryTbox.unfold(c1).hasNext()) def = _primitiveTbox.add(c1, c2, explanation); if (!def && ATermUtils.isPrimitive(c2) && !_unaryTbox.unfold(c2).hasNext() && !_binaryTbox.unfold(c2).hasNext()) def = _primitiveTbox.add(c2, c1, explanation); if (!def) { absorbSubClass(c1, c2, explanation); absorbSubClass(c2, c1, explanation); } } else if (axiom.getAFun().equals(ATermUtils.SUBFUN)) { final ATermAppl sub = (ATermAppl) axiom.getArgument(0); final ATermAppl sup = (ATermAppl) axiom.getArgument(1); absorbSubClass(sub, sup, explanation); } return added; }
private boolean addAxiom(final ATermAppl axiom, final Set<ATermAppl> explanation, final boolean forceAddition) { final boolean added = addAxiomExplanation(axiom, explanation); if (added || forceAddition) if (axiom.getAFun().equals(ATermUtils.EQCLASSFUN)) { final ATermAppl c1 = (ATermAppl) axiom.getArgument(0); final ATermAppl c2 = (ATermAppl) axiom.getArgument(1); boolean def = false; if (ATermUtils.isPrimitive(c1) && !_unaryTbox.unfold(c1).hasNext() && !_binaryTbox.unfold(c1).hasNext()) def = _primitiveTbox.add(c1, c2, explanation); if (!def && ATermUtils.isPrimitive(c2) && !_unaryTbox.unfold(c2).hasNext() && !_binaryTbox.unfold(c2).hasNext()) def = _primitiveTbox.add(c2, c1, explanation); if (!def) { absorbSubClass(c1, c2, explanation); absorbSubClass(c2, c1, explanation); } } else if (axiom.getAFun().equals(ATermUtils.SUBFUN)) { final ATermAppl sub = (ATermAppl) axiom.getArgument(0); final ATermAppl sup = (ATermAppl) axiom.getArgument(1); absorbSubClass(sub, sup, explanation); } return added; }
@Override public Iterator<Unfolding> unfold(final ATermAppl c) { if (ATermUtils.isPrimitive(c)) { final MultiIterator<Unfolding> result = new MultiIterator<>(_primitiveTbox.unfold(c)); result.append(_unaryTbox.unfold(c)); result.append(_binaryTbox.unfold(c)); return result; } else if (isNot(c)) return _primitiveTbox.unfold(c); else return IteratorUtils.emptyIterator(); }
@Override public Iterator<Unfolding> unfold(final ATermAppl c) { if (ATermUtils.isPrimitive(c)) { final MultiIterator<Unfolding> result = new MultiIterator<>(_primitiveTbox.unfold(c)); result.append(_unaryTbox.unfold(c)); result.append(_binaryTbox.unfold(c)); return result; } else if (isNot(c)) return _primitiveTbox.unfold(c); else return IteratorUtils.emptyIterator(); }