This prompt is designed for verification pipeline operators who need to programmatically distinguish between a claim that has been proven false and one that simply lacks sufficient evidence. Its core job is to classify a single, atomic claim against a provided evidence set into one of four structured verdicts: SUPPORTED, UNSUPPORTED, CONTRADICTED, or UNVERIFIABLE. The ideal user is an engineer or AI system architect integrating this classification step into a larger automated fact-checking or content verification workflow, where a clean, auditable decision is required before routing the claim to downstream reporting, human review queues, or user-facing displays.
Prompt
Unsupported Statement Detection and Classification Prompt Template

When to Use This Prompt
Defines the operational context, ideal user, and boundaries for the Unsupported Statement Detection and Classification Prompt Template.
Use this prompt only when your system has already completed two critical upstream tasks: extracting a discrete, self-contained claim from source content and retrieving a candidate set of relevant evidence. It is not a substitute for open-ended question answering, multi-hop reasoning across disparate evidence sources, or generating natural-language explanations for end users without further processing. The prompt assumes the input claim is atomic and the evidence set is pre-retrieved and provided in full. It will not search for new evidence, weigh source authority beyond what is described in the provided text, or resolve complex temporal or logical contradictions that require chaining multiple inference steps.
Do not deploy this prompt in scenarios where the claim itself is ambiguous, compound, or spans multiple factual assertions. In those cases, use a claim decomposition prompt first to break the input into atomic units. Similarly, avoid using this prompt as a direct user-facing explanation generator; the raw verdict and rationale are designed for machine consumption and internal routing, not for public disclosure without additional framing and uncertainty disclosure. For high-stakes domains such as healthcare, legal compliance, or financial reporting, always route UNSUPPORTED and CONTRADICTED verdicts to a human review step before any downstream action is taken.
Use Case Fit
Where the Unsupported Statement Detection prompt works, where it breaks, and the operational preconditions required before deploying it into a verification pipeline.
Good Fit: Post-Retrieval Verification Pipelines
Use when: you have already retrieved a candidate evidence set and need to classify a pre-extracted claim against that evidence. The prompt excels at distinguishing 'proven false' from 'not yet proven.' Guardrail: Never use this prompt as a retrieval trigger. It assumes evidence is already gathered; missing evidence is a signal, not a failure.
Bad Fit: Open-Domain Truth Seeking
Avoid when: the model must search the open web or its own parametric knowledge to verify a claim. This prompt is designed for closed-set evidence evaluation. Guardrail: Pair with a strict RAG retrieval step. If the evidence set is empty, route to an 'Evidence Exhaustion Declaration' prompt instead of allowing the model to hallucinate a verdict.
Required Inputs: Atomic Claims and Source Sets
Risk: Feeding the prompt a complex paragraph instead of a single verifiable claim leads to mixed verdicts and confusion. Guardrail: Pre-process all inputs through a Claim Extraction prompt. The input must be one atomic claim and a structured list of sources with IDs. Never pass raw documents directly.
Operational Risk: Silent Null Handling
Risk: The model returns a verdict without evidence mapping, or suppresses the UNSUPPORTED label to appear more helpful. This creates false confidence in production dashboards. Guardrail: Implement a post-processing validator that rejects any output missing an explicit evidence_gap field when the verdict is UNSUPPORTED or UNVERIFIABLE.
Operational Risk: Confidence Inflation on Low Evidence
Risk: The model assigns a moderate confidence score to an UNSUPPORTED claim because the surrounding text sounds authoritative. Guardrail: Apply a hard rule in the application layer: if the verdict is UNSUPPORTED, cap the confidence score at a maximum of 0.4 before surfacing it to users or downstream systems.
Scalability: Batch Processing and Cost
Risk: Running this prompt on thousands of claims without deduplication or prioritization wastes compute and budget. Guardrail: Use a pre-flight triage step to filter out duplicate or trivial claims. Route only high-severity or high-visibility claims through the full classification prompt; use a lighter prompt for bulk low-priority scans.
Copy-Ready Prompt Template
A single-turn classification prompt that produces a structured verdict on whether a statement is supported by provided evidence, with explicit evidence gap documentation.
This prompt template is designed for verification pipeline operators who need to distinguish 'proven false' from 'not yet proven.' It forces the model to classify a statement against a provided evidence set into one of four categories: SUPPORTED, UNSUPPORTED, CONTRADICTED, or UNVERIFIABLE. The output is structured JSON suitable for downstream processing, audit logging, and human review routing. Use this template when you have a discrete claim and a bounded set of source evidence—not for open-ended research or retrieval-augmented generation where the evidence set is dynamically assembled.
textSYSTEM: You are a verification classifier. Your task is to determine whether a statement is supported by the provided evidence. You must classify the statement into exactly one of four categories and provide a structured JSON output. Do not answer the statement. Do not provide your own knowledge. Only reason from the provided evidence. CLASSIFICATION RULES: - SUPPORTED: The evidence directly and unambiguously confirms the statement. All key factual assertions in the statement are backed by at least one source in the evidence. - UNSUPPORTED: The evidence does not contain information that confirms or contradicts the statement. The statement may be true, but the provided evidence is insufficient to verify it. - CONTRADICTED: The evidence directly and unambiguously refutes the statement. At least one source in the evidence explicitly contradicts a key factual assertion. - UNVERIFIABLE: The statement contains claims that cannot be verified with the type of evidence provided (e.g., subjective opinions, future predictions, or claims requiring evidence outside the provided set's scope). OUTPUT SCHEMA: { "verdict": "SUPPORTED | UNSUPPORTED | CONTRADICTED | UNVERIFIABLE", "confidence": 0.0-1.0, "rationale": "Brief explanation of the classification decision, citing specific evidence items.", "evidence_gaps": ["List of specific factual assertions in the statement that lack supporting evidence."], "supporting_evidence": ["List of evidence items that support the verdict, with source references."], "contradicting_evidence": ["List of evidence items that contradict the statement, with source references."], "requires_human_review": true/false, "human_review_reason": "Explanation if human review is required, otherwise null." } CONSTRAINTS: - If confidence is below [CONFIDENCE_THRESHOLD], set requires_human_review to true. - If the evidence set is empty or contains no relevant information, classify as UNSUPPORTED with confidence 0.0. - Never invent evidence. If you cannot find supporting or contradicting evidence, say so explicitly. - For UNSUPPORTED verdicts, suppress confidence: maximum confidence is [UNSUPPORTED_MAX_CONFIDENCE]. - For UNVERIFIABLE verdicts, explain why the claim type exceeds the evidence scope. USER: Statement: [STATEMENT] Evidence: [EVIDENCE] Classify the statement according to the rules above. Return only valid JSON.
Adaptation notes: Replace [STATEMENT] with the claim to verify and [EVIDENCE] with the source text block, including source identifiers for traceability. Set [CONFIDENCE_THRESHOLD] based on your risk tolerance—0.7 is a common starting point for auto-verification. Set [UNSUPPORTED_MAX_CONFIDENCE] to prevent over-confident unsupported verdicts; 0.4 is recommended. For batch processing, wrap this in a loop that feeds one statement-evidence pair per call. For production pipelines, always validate the output JSON against the schema before accepting the verdict. If the model returns a verdict outside the four allowed values or omits required fields, trigger a retry or fallback to human review. This template works best with models that have strong instruction-following and JSON output capabilities (GPT-4, Claude 3.5 Sonnet, or equivalent). Weaker models may require few-shot examples added to the system prompt.
Prompt Variables
Required inputs for the Unsupported Statement Detection and Classification prompt. Validate each variable before sending to prevent silent nulls, hallucinated evidence, and misclassified verdicts.
| Placeholder | Purpose | Example | Validation Notes |
|---|---|---|---|
[CLAIM] | The discrete factual assertion to evaluate for evidence support | The company reduced carbon emissions by 40% in 2023 compared to 2020 baseline | Must be a single atomic claim. Reject if compound, ambiguous, or contains nested assertions. Max 500 characters. |
[EVIDENCE_SET] | The collection of source documents, passages, or data records available to verify the claim | Source A: 2023 Sustainability Report, p.12; Source B: EPA filing Q4-2023; Source C: Press release Jan 2024 | Must contain at least one source with provenance metadata. Reject if empty or all sources lack date/author/identifier. Max 10 sources per call. |
[VERIFICATION_CONTEXT] | Domain, temporal scope, and any jurisdictional or regulatory constraints that affect evidence standards | Corporate sustainability reporting, FY2023, US jurisdiction, GRI standards apply | Required for domain-specific evidence weighting. Must specify domain and time period. Null allowed if no domain constraints. |
[EVIDENCE_SUFFICIENCY_THRESHOLD] | Minimum requirements for a claim to be marked SUPPORTED rather than UNSUPPORTED | Require at least 2 independent sources, both published within 18 months of claim date, at least 1 primary source | Must specify minimum source count, recency window, and source type requirements. Reject if threshold is undefined or impossible to satisfy with available evidence. |
[OUTPUT_SCHEMA] | The expected structure for the classification verdict and evidence gap documentation | JSON with fields: verdict, confidence_score, supporting_sources, contradictory_sources, evidence_gaps, rationale | Must define required fields and enum values for verdict. Reject if schema allows ambiguous or untyped fields. |
[CONFIDENCE_CALIBRATION_RULES] | Rules for suppressing confidence scores when evidence is insufficient or contradictory | Confidence must be <=0.3 for UNSUPPORTED, <=0.1 for UNVERIFIABLE, >=0.7 for SUPPORTED with 2+ corroborating sources | Must specify confidence ranges per verdict type. Reject if rules allow high confidence on UNSUPPORTED or UNVERIFIABLE verdicts. |
[CONTRADICTION_HANDLING] | Instructions for resolving or flagging conflicting evidence within the evidence set | If sources disagree on quantitative values, flag as CONTRADICTED and document both values with source attribution | Must specify whether contradiction triggers CONTRADICTED verdict or downgrades to UNSUPPORTED. Reject if contradiction handling is undefined. |
[NULL_EVIDENCE_BEHAVIOR] | Explicit instruction for what to output when evidence set is empty or contains no relevant information | Return verdict UNVERIFIABLE with confidence 0.0 and evidence_gaps: ['No evidence provided for evaluation'] | Must prevent silent null returns. Reject if behavior allows returning SUPPORTED or UNSUPPORTED without evidence. |
Implementation Harness Notes
Wire this prompt into your verification pipeline with validation, retries, logging, and human review guardrails.
This prompt is designed to be called as a single step within a broader verification pipeline, not as a standalone chat interaction. The model should be invoked with response_format set to json_object (OpenAI) or the equivalent structured output mode for your provider (e.g., Anthropic's tool use with a strict schema, Gemini's controlled generation). The output contract expects a JSON object with a verdict field constrained to the enum [SUPPORTED, UNSUPPORTED, CONTRADICTED, UNVERIFIABLE] and an evidence_gaps array documenting missing or conflicting sources. Do not allow the model to return free text or a verdict outside this enum.
After receiving the model response, validate the JSON structure immediately in your application layer. Check that verdict is present and matches the allowed enum values, that evidence_gaps is an array, and that each gap object contains the required claim_fragment, gap_type, and missing_evidence_description fields. If validation fails, construct a retry prompt that appends the raw model output and the specific validation error message to the original prompt context. Limit retries to one attempt to avoid infinite loops and escalating costs. If the retry also fails validation, route the entire claim record—including the raw model output, validation errors, claim ID, and evidence set hash—to a human review queue. Never silently accept a malformed verdict.
For high-stakes domains such as finance, healthcare, or legal, configure your pipeline to automatically escalate any verdict of UNSUPPORTED or CONTRADICTED to human review before publishing or acting on the result. These verdicts carry significant downstream risk and require human judgment to confirm the evidence gap is real and not a retrieval or parsing failure. Log every verdict with the claim ID, evidence set hash, model version, timestamp, and final routing decision (auto-accepted, retried, or escalated). This audit trail is essential for debugging pipeline regressions and demonstrating due diligence to compliance reviewers.
Expected Output Contract
The model must return a JSON object matching this schema. Reject any output that does not conform.
| Field or Element | Type or Format | Required | Validation Rule |
|---|---|---|---|
verdict | enum: SUPPORTED | UNSUPPORTED | CONTRADICTED | UNVERIFIABLE | Must be exactly one of the four allowed enum values. Reject on any other string. | |
claim_id | string | Must match the [CLAIM_ID] provided in the input. Non-empty string required. | |
evidence_summary | string | Must be a non-empty string. If verdict is UNSUPPORTED or UNVERIFIABLE, must explain the evidence gap. | |
evidence_gaps | array of objects | Each object must contain gap_type (string) and description (string). Array may be empty only if verdict is SUPPORTED. | |
gap_type | enum: MISSING_SOURCE | INSUFFICIENT_DETAIL | CONFLICTING_EVIDENCE | STALE_EVIDENCE | NO_ACCESS | OTHER | Must be one of the allowed enum values. Reject on any other string. | |
gap_description | string | Must be a non-empty string describing the specific evidence gap. Minimum 10 characters. | |
confidence_score | number | Must be a float between 0.0 and 1.0 inclusive. If verdict is UNSUPPORTED or UNVERIFIABLE, must be ≤ 0.4. | |
contradicting_sources | array of objects | If present, each object must contain source_id (string) and contradiction_detail (string). Required when verdict is CONTRADICTED. | |
source_id | string | true when contradicting_sources present | Must match a [SOURCE_ID] from the provided evidence set. Reject on unmatched IDs. |
contradiction_detail | string | true when contradicting_sources present | Must be a non-empty string explaining the contradiction. Minimum 20 characters. |
human_review_recommended | boolean | Must be true if verdict is UNSUPPORTED, CONTRADICTED, or UNVERIFIABLE. Must be false if verdict is SUPPORTED and confidence_score ≥ 0.85. | |
review_reason | string | true when human_review_recommended is true | Must be a non-empty string explaining why human review is needed. Minimum 20 characters. |
search_exhaustion_declared | boolean | Must be true if all provided sources have been examined. Must be false if additional sources could resolve the gap. | |
sources_examined_count | integer | Must equal the count of [SOURCE_ID] values actually examined. Must be ≥ 0. | |
processing_timestamp | string (ISO 8601) | Must be a valid ISO 8601 datetime string. Reject on unparseable formats. |
Common Failure Modes
Production verification pipelines break when unsupported claims are handled silently or confused with false claims. These failure modes target the most common breakdowns in classification, confidence, and evidence exhaustion.
Silent Null Classification
What to watch: The model returns no verdict or an empty string instead of UNSUPPORTED when evidence is missing. This causes downstream systems to treat the claim as unprocessed rather than unverified. Guardrail: Add a post-processing validator that rejects any output missing a required verdict field and triggers a retry with an explicit 'You must return a verdict' instruction.
UNSUPPORTED vs. CONTRADICTED Confusion
What to watch: The model classifies a claim as CONTRADICTED when evidence is simply absent, or marks it UNSUPPORTED when contradictory evidence exists. This misclassification corrupts audit trails and confidence signals. Guardrail: Include few-shot examples that clearly distinguish 'no evidence found' from 'evidence disproves the claim,' and add an eval check that verifies the distinction on a golden set of borderline cases.
Confidence Inflation on Unsupported Claims
What to watch: The model assigns moderate or high confidence to an UNSUPPORTED verdict, misleading downstream consumers into thinking the system is certain the claim is false. Guardrail: Enforce a confidence ceiling rule in the prompt (e.g., 'Confidence for UNSUPPORTED claims must not exceed 0.4') and validate it in the harness before the output leaves the pipeline.
Premature Evidence Exhaustion
What to watch: The model declares a claim UNSUPPORTED after searching only a subset of available sources, missing evidence that exists in unsearched repositories. Guardrail: Require the prompt to document search scope explicitly before declaring exhaustion, and add a pre-flight check that confirms all configured source sets were queried.
Unverifiable Claim Misrouting
What to watch: Claims that are inherently unverifiable (opinions, predictions, subjective statements) are classified as UNSUPPORTED instead of UNVERIFIABLE, triggering unnecessary evidence searches and wasting compute. Guardrail: Add a pre-classification step that identifies subjective or future-tense claims and routes them directly to UNVERIFIABLE before evidence retrieval begins.
Batch Drift Under Load
What to watch: Classification accuracy degrades when processing large batches, with later claims receiving less rigorous evidence matching or defaulting to UNSUPPORTED due to context window fatigue. Guardrail: Implement batch chunking with overlapping context windows, and run a consistency eval comparing early-batch and late-batch classifications on equivalent-difficulty claims.
Evaluation Rubric
How to test output quality before shipping. Run these checks on a golden dataset of 50+ labeled claim-evidence pairs.
| Criterion | Pass Standard | Failure Signal | Test Method |
|---|---|---|---|
Verdict Accuracy | Verdict matches ground truth label for ≥90% of golden set claims | Verdict mismatch rate exceeds 10% | Compare [VERDICT] field against labeled golden dataset using exact match |
Evidence Gap Documentation | [EVIDENCE_GAP] field is non-null and contains ≥1 specific missing evidence item for all UNSUPPORTED verdicts | Null or empty [EVIDENCE_GAP] on any UNSUPPORTED claim | Parse [EVIDENCE_GAP] field; assert non-null and array length ≥1 for all UNSUPPORTED rows |
Silent Null Prevention | No null or empty [VERDICT] values in output across full golden set | Any null, empty string, or missing [VERDICT] field | Schema validation check: assert [VERDICT] is present and matches enum values |
Confidence Suppression | [CONFIDENCE] ≤ 0.5 for all UNSUPPORTED and UNVERIFIABLE verdicts | [CONFIDENCE] > 0.5 on any claim lacking sufficient evidence | Parse [CONFIDENCE] as float; assert value ≤ 0.5 when [VERDICT] is UNSUPPORTED or UNVERIFIABLE |
Enum Discipline | [VERDICT] contains only allowed values: SUPPORTED, UNSUPPORTED, CONTRADICTED, UNVERIFIABLE | Any verdict string outside the four allowed enum values | Enum membership check on [VERDICT] field against allowed set |
Contradiction Detection | CONTRADICTED verdict includes [CONTRADICTING_EVIDENCE] with ≥1 citation to source passage | CONTRADICTED verdict with null or empty [CONTRADICTING_EVIDENCE] | Assert [CONTRADICTING_EVIDENCE] array length ≥1 and contains [SOURCE_ID] when [VERDICT] is CONTRADICTED |
Unverifiable Classification | UNVERIFIABLE verdict assigned when claim is inherently uncheckable, not merely missing evidence in current source set | UNVERIFIABLE used interchangeably with UNSUPPORTED across golden set | Manual review of 20 UNVERIFIABLE samples; assert claim type is opinion, future prediction, or subjective |
Enabling Efficiency, Speed & Accuracy
Intelligent Analysis, Decision & Execution
We build AI systems for teams that need search across company data, workflow automation across tools, or AI features inside products and internal software.
Talk to Us
Search across company data
Give teams answers from docs, tickets, runbooks, and product data with sources and permissions.
Useful when people spend too long searching or get different answers from different systems.

Automate internal workflows
Use AI to route work, draft outputs, trigger actions, and keep approvals and logs in place.
Useful when repetitive work moves across multiple tools and teams.

Add AI to products and internal tools
Build assistants, guided actions, or decision support into the software your team or customers already use.
Useful when AI needs to be part of the product, not a separate tool.
Adapt This Prompt
How to adapt
Start with the base template and a single model call. Use a simple JSON schema with the four verdicts (SUPPORTED, UNSUPPORTED, CONTRADICTED, UNVERIFIABLE) and a free-text evidence gap field. Skip structured logging and eval harnesses initially. Run 20-30 claims through manually and spot-check verdict accuracy.
code[SYSTEM]: You are a claim verifier. For each claim, return a JSON object with "verdict" and "evidence_gap_summary". [INPUT_CLAIM]: [CLAIM_TEXT] [AVAILABLE_EVIDENCE]: [EVIDENCE_SNIPPETS]
Watch for
- Verdicts defaulting to UNSUPPORTED when evidence is thin but present
- Missing null handling when evidence snippets are empty
- Overly verbose evidence gap summaries that don't isolate the specific missing fact

About the author
Prasad Kumkar
CEO & MD, Inference Systems
Prasad Kumkar is the CEO & MD of Inference Systems and writes about AI systems architecture, LLM infrastructure, model serving, evaluation, and production deployment. Over 5+ years, he has worked across computer vision models, L5 autonomous vehicle systems, and LLM research, with a focus on taking complex AI ideas into real-world engineering systems.
His work and writing cover AI systems, large language models, AI agents, multimodal systems, autonomous systems, inference optimization, RAG, evaluation, and production AI engineering.
Partnered with leading AI, data, and software stack.
How We Work
Custom AI workflows for your Business
One-fit-all AI don't work for modern businesses. At Inferensys, we aim to understand your business & custom requirements; which we use to define most efficient agentic workflows, the data, and the tools for your business.
01
Review the use case
We understand the task, the users, and where AI can actually help.
Read more02
Pick the right approach
We define what needs search, automation, or product integration.
Read more03
Build the first useful version
We implement the part that proves the value first.
Read more04
Improve from there
We add the checks and visibility needed to keep it useful.
Read moreThe first call is a practical review of your use case and the right next step.
Talk to Us