private Conclusion getReason( final EntailmentInference entailmentInference) { Conclusion reason = null; if (entailmentInference instanceof HasReason) { final Object r = ((HasReason<?>) entailmentInference).getReason(); if (r instanceof Conclusion) { reason = (Conclusion) r; } } return reason; }
private Conclusion getReason( final EntailmentInference entailmentInference) { Conclusion reason = null; if (entailmentInference instanceof HasReason) { final Object r = ((HasReason<?>) entailmentInference).getReason(); if (r instanceof Conclusion) { reason = (Conclusion) r; } } return reason; }
private Conclusion getReason( final EntailmentInference entailmentInference) { Conclusion reason = null; if (entailmentInference instanceof HasReason) { final Object r = ((HasReason<?>) entailmentInference).getReason(); if (r instanceof Conclusion) { reason = (Conclusion) r; } } return reason; }
@Override protected String defaultVisit( final EntailmentInference entailmentInference) { final StringBuilder result = new StringBuilder( entailmentInference.getConclusion().toString()); result.append(" -| "); final List<? extends Entailment> premises = entailmentInference .getPremises(); final Iterator<? extends Entailment> iter = premises.iterator(); if (iter.hasNext()) { result.append(iter.next().toString()); } while (iter.hasNext()) { result.append("; ").append(iter.next().toString()); } if (entailmentInference instanceof HasReason) { if (!premises.isEmpty()) { result.append("; "); } result.append(((HasReason<?>) entailmentInference).getReason() .toString()); } return result.toString(); }
@Override protected String defaultVisit( final EntailmentInference entailmentInference) { final StringBuilder result = new StringBuilder( entailmentInference.getConclusion().toString()); result.append(" -| "); final List<? extends Entailment> premises = entailmentInference .getPremises(); final Iterator<? extends Entailment> iter = premises.iterator(); if (iter.hasNext()) { result.append(iter.next().toString()); } while (iter.hasNext()) { result.append("; ").append(iter.next().toString()); } if (entailmentInference instanceof HasReason) { if (!premises.isEmpty()) { result.append("; "); } result.append(((HasReason<?>) entailmentInference).getReason() .toString()); } return result.toString(); }
@Override protected String defaultVisit( final EntailmentInference entailmentInference) { final StringBuilder result = new StringBuilder( entailmentInference.getConclusion().toString()); result.append(" -| "); final List<? extends Entailment> premises = entailmentInference .getPremises(); final Iterator<? extends Entailment> iter = premises.iterator(); if (iter.hasNext()) { result.append(iter.next().toString()); } while (iter.hasNext()) { result.append("; ").append(iter.next().toString()); } if (entailmentInference instanceof HasReason) { if (!premises.isEmpty()) { result.append("; "); } result.append(((HasReason<?>) entailmentInference).getReason() .toString()); } return result.toString(); }
private static void collectReasons(final Entailment goal, final Proof<? extends EntailmentInference> evidence, final Collection<Conclusion> result) { final Set<Entailment> done = new ArrayHashSet<Entailment>(); final Queue<Entailment> toDo = new LinkedList<Entailment>(); if (done.add(goal)) { toDo.offer(goal); } Entailment entailment; while ((entailment = toDo.poll()) != null) { for (final EntailmentInference inf : evidence .getInferences(entailment)) { if (inf instanceof HasReason) { final Object reason = ((HasReason<?>) inf).getReason(); if (reason instanceof Conclusion) { result.add((Conclusion) reason); } } for (final Entailment premise : inf.getPremises()) { if (done.add(premise)) { toDo.offer(premise); } } } } }