content: package aima.core.logic.fol.inference;
  
  import aima.core.logic.fol.inference.proof.Proof;
  import aima.core.logic.fol.inference.proof.ProofPrinter;
  
  /**
   * @author Ciaran O'Reilly
   * 
   */
  public class InferenceResultPrinter {
  	/**
  	 * Utility method for outputting InferenceResults in a formatted textual
  	 * representation.
  	 * 
  	 * @param ir
  	 *            an InferenceResult
  	 * @return a String representation of the InferenceResult.
  	 */
  	public static String printInferenceResult(InferenceResult ir) {
  		StringBuilder sb = new StringBuilder();
  
  		sb.append("InferenceResult.isTrue=" + ir.isTrue());
  		sb.append("\n");
  		sb.append("InferenceResult.isPossiblyFalse=" + ir.isPossiblyFalse());
  		sb.append("\n");
  		sb.append("InferenceResult.isUnknownDueToTimeout="
  				+ ir.isUnknownDueToTimeout());
  		sb.append("\n");
  		sb.append("InferenceResult.isPartialResultDueToTimeout="
  				+ ir.isPartialResultDueToTimeout());
  		sb.append("\n");
  		sb.append("InferenceResult.#Proofs=" + ir.getProofs().size());
  		sb.append("\n");
  		int proofNo = 0;
  		for (Proof p : ir.getProofs()) {
  			proofNo++;
  			sb.append("InferenceResult.Proof#" + proofNo + "=\n"
  					+ ProofPrinter.printProof(p));
  		}
  
  		return sb.toString();
  	}
  }
  