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; }