Class ReasoningVerifier

java.lang.Object
com.tnsai.reasoning.ReasoningVerifier

public class ReasoningVerifier extends Object
Verifies reasoning chains for logical consistency and factual accuracy.

Based on the ROMA framework's Verifier component, this class provides post-hoc verification of reasoning before final delivery.

Verification Checks

  • Step-by-step logical consistency
  • Internal contradiction detection
  • Factual grounding (when facts are provided)
  • Mathematical accuracy (for math-related reasoning)

Usage


 ReasoningVerifier verifier = new ReasoningVerifier(llmClient);

 String reasoning = "Step 1: 17 * 23 = 17 * 20 + 17 * 3 = 340 + 51 = 391";
 VerificationResult result = verifier.verify(reasoning);

 if (result.isValid()) {
     System.out.println("Reasoning is correct");
 } else {
     result.getIssues().forEach(issue ->
         System.out.println("Issue: " + issue.description()));
 }
 
  • Constructor Details

    • ReasoningVerifier

      public ReasoningVerifier(com.tnsai.llm.LLMClient llm)
      Creates a new ReasoningVerifier with the given LLM client.
    • ReasoningVerifier

      public ReasoningVerifier(com.tnsai.llm.LLMClient llm, boolean autoCorrect)
      Creates a new ReasoningVerifier with auto-correction option.
  • Method Details

    • verify

      public VerificationResult verify(String reasoningChain)
      Verifies a reasoning chain.
      Parameters:
      reasoningChain - The reasoning to verify
      Returns:
      Verification result
    • verifyWithFacts

      public VerificationResult verifyWithFacts(String reasoningChain, List<String> facts)
      Verifies reasoning against known facts.
      Parameters:
      reasoningChain - The reasoning to verify
      facts - Known facts to check against
      Returns:
      Verification result
    • verify

      public VerificationResult verify(ReasoningPath path)
      Verifies a ReasoningPath from self-consistency or ToT.
    • verifyAndCorrect

      public VerificationResult verifyAndCorrect(String reasoningChain)
      Verifies and optionally corrects reasoning.
    • withAutoCorrect

      public static ReasoningVerifier withAutoCorrect(com.tnsai.llm.LLMClient llm)
      Creates a verifier with auto-correction enabled.