public boolean add(final ATermAppl concept, final ATermAppl definition, final Set<ATermAppl> explanation) { if (!ATermUtils.isPrimitive(concept) || contains(concept)) return false; final Set<ATermAppl> deps = ATermUtils.findPrimitives(definition); final Set<ATermAppl> seen = new HashSet<>(); for (final ATermAppl current : deps) { final boolean result = findTarget(current, concept, seen); if (result) return false; } addDefinition(concept, definition, explanation); addDefinition(not(concept), not(definition), explanation); _dependencies.put(concept, deps); return true; }
public boolean add(final ATermAppl concept, final ATermAppl definition, final Set<ATermAppl> explanation) { if (!ATermUtils.isPrimitive(concept) || contains(concept)) return false; final Set<ATermAppl> deps = ATermUtils.findPrimitives(definition); final Set<ATermAppl> seen = new HashSet<>(); for (final ATermAppl current : deps) { final boolean result = findTarget(current, concept, seen); if (result) return false; } addDefinition(concept, definition, explanation); addDefinition(not(concept), not(definition), explanation); _dependencies.put(concept, deps); return true; }