This prompt is designed for fact-checking and verification pipelines that must decompose a piece of content into discrete claims and then map each claim to supporting or refuting evidence from a provided document set. Use it when you need a structured, auditable trace between an assertion and its source material, not just a binary true/false label. It is ideal for post-generation verification, content moderation, research synthesis, and compliance review where every factual statement must be accounted for. The prompt forces the model to handle three outcomes explicitly: supported, refuted, or insufficient evidence. It also requires the model to flag claims that could not be mapped to any evidence, closing a common gap in naive RAG evaluation loops.
Prompt
Evidence-to-Claim Mapping Prompt for Fact Verification

When to Use This Prompt
Identify the right production workflows for the evidence-to-claim mapping prompt and understand its operational boundaries.
The ideal user is an AI engineer or product team building a verification step into a larger pipeline—typically after content generation, document ingestion, or user submission. The required context includes the content to verify, a pre-retrieved evidence set, and a clear output schema for claim-evidence pairs. Do not use this prompt when you need real-time streaming verification, when the evidence set is too large to fit in a single context window without chunking, or when the content contains subjective opinions rather than factual claims. For subjective content, a stance-classification or policy-compliance prompt is more appropriate. This prompt also assumes the evidence retrieval step has already occurred; it does not perform search or retrieval itself.
Before deploying, define your evaluation criteria. A successful run produces a claim list with no orphaned claims (every claim has an evidence mapping attempt), explicit insufficient_evidence labels where appropriate, and rationales that quote or reference specific source passages. Common failure modes include the model inventing evidence not present in the provided set, skipping claims embedded in complex sentences, or labeling claims as supported based on partial matches. Plan to run this prompt with a validation layer that checks for hallucinated source references and a human review step for high-risk domains such as healthcare, finance, or legal compliance. Wire the output into a structured database or audit log so you can track verification decisions over time.
Use Case Fit
Where the Evidence-to-Claim Mapping Prompt works and where it introduces risk. Use these cards to decide if this prompt fits your workflow before you integrate it.
Good Fit: Structured Fact-Checking Pipelines
Use when: you have a set of discrete claims and a body of retrieved evidence that needs to be mapped to each claim. The prompt excels at producing support/refute/insufficient labels with explicit rationale. Guardrail: Pre-process claims into a flat list before prompting. Do not ask the model to both extract claims and map them in a single pass unless you have a validation step between extraction and mapping.
Bad Fit: Real-Time or Streaming Verification
Avoid when: latency budgets are under 500ms or claims arrive as an unbounded stream. Evidence-to-claim mapping requires the full evidence set and claim list to be assembled before inference, which adds latency and token cost. Guardrail: Batch claims and run mapping asynchronously. For real-time use, pair with a lightweight triage classifier that decides whether to invoke full mapping.
Required Inputs: Claims, Evidence, and Mapping Schema
What to watch: the prompt fails silently when claims are vague, evidence is truncated mid-sentence, or the output schema is underspecified. Guardrail: Validate that each claim is a single verifiable statement, each evidence chunk has a stable source ID, and the output schema includes required fields for claim_id, evidence_id, label, and rationale. Reject malformed inputs before inference.
Operational Risk: Unverifiable Claim Volume
What to watch: when a high percentage of claims return 'insufficient evidence,' downstream consumers may treat the output as a system failure rather than a valid signal. Guardrail: Set a threshold for insufficient-evidence rate (e.g., >40% triggers a retrieval quality review). Log insufficient-evidence claims separately and surface them as retrieval gap indicators, not mapping errors.
Operational Risk: Evidence-Claim Misalignment Drift
What to watch: as retrieval pipelines change, evidence chunks may shift in length, overlap, or relevance, causing the mapping prompt to produce inconsistent labels for the same claims over time. Guardrail: Pin evidence chunking parameters and re-run a golden set of claim-evidence pairs after any retrieval change. Compare label distribution and rationale quality against the baseline.
Scale Limit: Large Claim Sets with Overlapping Evidence
What to watch: when mapping hundreds of claims against hundreds of evidence chunks, the prompt can exceed context window limits or produce cross-contamination where rationale for one claim leaks into another. Guardrail: Partition claims into batches of 20-30 with their relevant evidence subset. Use a pre-filtering step to assign evidence to claims before mapping, rather than sending the full evidence set to every batch.
Copy-Ready Prompt Template
A reusable prompt template for mapping claims to supporting or refuting evidence with structured labels and rationale.
This template is the core instruction set for an evidence-to-claim mapping workflow. It takes a list of claims and a set of evidence passages, then produces a structured mapping that labels each claim as supported, refuted, or having insufficient evidence. The prompt is designed to be dropped into a fact-verification pipeline where claims have already been extracted from a source document and evidence has been retrieved from a knowledge base or search system. Replace every square-bracket placeholder with runtime data before sending the prompt to the model. The template enforces structured output, requires explicit rationale for every mapping decision, and includes handling for claims that cannot be verified with the provided evidence.
textYou are a fact-verification analyst. Your task is to map each claim to the provided evidence and determine whether the evidence supports, refutes, or is insufficient to verify the claim. ## CLAIMS TO VERIFY [CLAIMS] ## EVIDENCE PASSAGES [EVIDENCE] ## OUTPUT SCHEMA Return a JSON object with the following structure: { "claim_mappings": [ { "claim_id": "string", "claim_text": "string", "label": "supported | refuted | insufficient_evidence", "evidence_ids": ["string"], "rationale": "string explaining why the evidence supports, refutes, or is insufficient for this claim", "confidence": "high | medium | low", "unverifiable_reason": "string explaining why the claim cannot be verified, only present when label is insufficient_evidence" } ], "unmapped_claims": ["claim_id"], "mapping_completeness_notes": "string describing any claims that could not be mapped and why" } ## CONSTRAINTS [CONSTRAINTS] ## INSTRUCTIONS 1. For each claim, search the evidence passages for information that directly addresses the claim. 2. Assign a label: - "supported": The evidence provides positive confirmation of the claim. - "refuted": The evidence contradicts or disproves the claim. - "insufficient_evidence": The evidence does not contain enough information to verify or refute the claim. 3. For each mapping, cite specific evidence_ids that support your determination. 4. Write a clear rationale that explains the logical connection between the evidence and the claim. 5. If a claim cannot be verified with the available evidence, set label to "insufficient_evidence" and explain what information would be needed. 6. Include claims in "unmapped_claims" only if they could not be processed due to ambiguity or formatting issues. 7. Do not invent evidence. Only use the provided passages. 8. If evidence passages conflict, note the conflict in the rationale and assign confidence accordingly. ## EXAMPLES [EXAMPLES]
Adapt this template by replacing the placeholders with your runtime data. [CLAIMS] should contain a structured list of claims, each with a unique claim_id and the claim_text. Format claims as a JSON array or numbered list so the model can reference them by ID. [EVIDENCE] should contain retrieved passages, each with a unique evidence_id and the passage text. Include source metadata such as document titles or URLs if attribution is required downstream. [CONSTRAINTS] can specify domain-specific rules, such as requiring direct quotes for supported claims or setting a minimum confidence threshold for accepting evidence. [EXAMPLES] should include one or two few-shot demonstrations showing correct mappings, especially for edge cases like conflicting evidence or claims that appear supported but rely on inference beyond the text. After the model returns the JSON output, validate that every claim_id in the input appears in either claim_mappings or unmapped_claims. Run a completeness check to ensure no claims were silently dropped. For high-stakes verification workflows, route outputs with low confidence or conflicting evidence to human review before accepting the mapping as final.
Prompt Variables
Required inputs for the Evidence-to-Claim Mapping Prompt. Validate each placeholder before prompt assembly to prevent hallucination, missing evidence, or unverifiable claims in the output.
| Placeholder | Purpose | Example | Validation Notes |
|---|---|---|---|
[CLAIMS] | The list of factual claims to verify against evidence. Each claim should be a discrete, verifiable statement. | The company reported $4.2B in Q3 revenue. The CEO joined in 2019. | Parse check: must be a non-empty list of strings. Each claim must be a single atomic statement. Split compound claims before input. |
[EVIDENCE] | The retrieved or provided evidence passages to map claims against. Each passage should have a source identifier. | Source A: The Q3 filing shows $4.1B in revenue. Source B: The CEO started in January 2020. | Parse check: must be a non-empty list of evidence objects with text and source_id fields. Null allowed only if testing abstention behavior. |
[EVIDENCE_METADATA] | Optional metadata for each evidence passage including source authority, recency, and retrieval confidence. | source_authority: high, retrieval_date: 2025-01-15, confidence: 0.92 | Schema check: if provided, must include source_id matching [EVIDENCE] entries. Null allowed. Missing metadata should trigger conservative support labeling. |
[MAPPING_THRESHOLD] | The minimum confidence score required to label a claim as supported or refuted. Claims below threshold should be labeled insufficient. | 0.7 | Range check: must be a float between 0.0 and 1.0. Default to 0.65 if not specified. Values below 0.5 increase false-positive support labels. |
[OUTPUT_SCHEMA] | The expected structure for each claim-evidence pair in the output. Defines required fields and their types. | claim_id, claim_text, label (support|refute|insufficient), evidence_ids, rationale, confidence | Schema check: must define at minimum claim_id, label, and evidence_ids. Enum check: label must be one of support, refute, or insufficient. Missing schema triggers default output format. |
[ABSTENTION_POLICY] | Instructions for handling claims with no evidence, conflicting evidence, or low-confidence mappings. Controls whether the model abstains or provides best-effort output. | When confidence below threshold, label as insufficient and do not guess. When evidence conflicts, report conflict with both sources. | Content check: must specify behavior for no-evidence and conflicting-evidence cases. Null allowed but increases risk of hallucinated support labels. Human review required if policy is null for regulated use cases. |
[MAX_EVIDENCE_PER_CLAIM] | The maximum number of evidence passages to cite per claim. Prevents evidence overload and keeps output focused. | 3 | Range check: must be a positive integer. Default to 5 if not specified. Values above 10 increase noise and reduce audit clarity. Set to 1 for strict single-source verification workflows. |
Implementation Harness Notes
How to wire the Evidence-to-Claim Mapping prompt into a production fact-verification pipeline with validation, retries, and human review gates.
This prompt is designed to be called after evidence retrieval and before any final answer synthesis. In a typical pipeline, you retrieve a set of candidate documents or passages for a given input text, then pass both the input text and the retrieved evidence into this prompt. The output is a structured mapping of claims to evidence with support/refute/insufficient labels. This mapping becomes the audit trail for downstream answer generation or direct display to a reviewer. Do not use this prompt on its own to produce a final answer; it is a verification intermediate that should feed into a synthesis or review step.
Wire the prompt into your application with a strict JSON schema validator on the output. The expected schema is an array of claim-evidence pairs, each containing claim_id, claim_text, evidence_sources (array of source IDs with spans), label (enum: supports, refutes, insufficient), and rationale. If the model output fails schema validation, retry once with the validation error injected into the prompt as additional context. After a second failure, log the raw output and escalate to a human review queue. For high-stakes domains, always route insufficient labels and any claim with conflicting evidence sources to human review before the mapping is considered complete.
Model choice matters here. Use a model with strong instruction-following and structured output capabilities, such as GPT-4o, Claude 3.5 Sonnet, or Gemini 1.5 Pro. Avoid smaller or older models that may collapse multiple claims into one or skip the rationale field. Set temperature to 0 or near-zero to maximize consistency across runs. If you are processing long documents with many claims, chunk the input text and run the prompt per chunk, then deduplicate overlapping claims in a post-processing step. Log every mapping output with the prompt version, model, input hash, and retrieval set ID so you can trace verification failures back to their source.
Build an eval harness that spot-checks claim-evidence pairs against human-labeled ground truth. For each pair, check that the claim is correctly extracted from the input, the evidence source genuinely contains the cited span, and the label is defensible. Track precision and recall on claim extraction separately from label accuracy. Common failure modes include: the model inventing claims not present in the input, citing evidence spans that don't exist in the source, and defaulting to insufficient when the evidence is actually supportive. If your eval shows more than 5% hallucinated claims or miscited spans, add a pre-check step that validates claim presence in the input and span presence in the evidence before accepting the mapping.
Expected Output Contract
Defines the structured output schema for the Evidence-to-Claim Mapping Prompt. Use this contract to validate model responses before they enter downstream fact-verification pipelines.
| Field or Element | Type or Format | Required | Validation Rule |
|---|---|---|---|
claims | Array of objects | Schema check: array length >= 1. Each element must contain claim_text, evidence_mappings, and verification_status fields. | |
claims[].claim_text | String | Parse check: non-empty string. Must be a single atomic claim extracted from [INPUT_TEXT]. No compound claims allowed. | |
claims[].evidence_mappings | Array of objects | Schema check: array length >= 0. Empty array allowed only when verification_status is unverifiable. Each element must contain evidence_id, support_label, and rationale fields. | |
claims[].evidence_mappings[].evidence_id | String or null | Citation check: must match an evidence_id from [EVIDENCE_SET] or be null when support_label is insufficient_evidence. Null allowed only with insufficient_evidence label. | |
claims[].evidence_mappings[].support_label | Enum: supports | refutes | insufficient_evidence | Enum check: value must be one of the three allowed labels. insufficient_evidence requires rationale explaining what evidence is missing. | |
claims[].evidence_mappings[].rationale | String | Parse check: non-empty string, 10-500 characters. Must reference specific content from the cited evidence or explain evidence gap for insufficient_evidence label. | |
claims[].verification_status | Enum: verified | refuted | partially_supported | unverifiable | Enum check: value must be one of the four allowed statuses. unverifiable requires all evidence_mappings to have insufficient_evidence label. verified requires at least one supports mapping and zero refutes mappings. | |
unmapped_evidence_ids | Array of strings | Completeness check: if present, must list evidence_ids from [EVIDENCE_SET] not mapped to any claim. Absence implies all evidence was mapped. Empty array explicitly signals full coverage. |
Common Failure Modes
What breaks first when mapping claims to evidence and how to guard against it in production.
Hallucinated Evidence Anchors
What to watch: The model fabricates source references, invents document IDs, or attributes claims to passages that don't exist. This is the most dangerous failure mode because it produces convincing-looking but entirely false verification results. Guardrail: Require the model to quote the exact evidence span before assigning a label. Validate that every cited passage ID exists in the input evidence set. Add a post-processing check that rejects any claim-evidence pair where the quoted text doesn't appear verbatim in the provided documents.
Overconfident Insufficient-Evidence Labels
What to watch: The model labels claims as 'refuted' or 'supported' when the evidence is actually too weak, ambiguous, or tangential to justify a definitive call. This creates false certainty that downstream systems or users will trust. Guardrail: Add an explicit 'insufficient evidence' label with a confidence threshold. Require the model to state what specific information would be needed to make a definitive determination. If the rationale contains hedging language like 'might' or 'could suggest,' force the label to insufficient.
Claim-Evidence Mismatch Drift
What to watch: The model correctly identifies a claim but maps it to evidence that addresses a tangentially related topic rather than the specific assertion. This is common when evidence contains overlapping terminology but different semantic meaning. Guardrail: Require the model to restate the claim in its own words before searching for evidence, then check that the restated claim and the evidence address the same subject, object, and predicate. Add a semantic alignment check that flags pairs where the claim and evidence entities don't match.
Context Window Truncation of Key Evidence
What to watch: When evidence sets are large, the model may process only the first or last portions of the context, missing critical passages in the middle. This produces incomplete verification that silently skips relevant evidence. Guardrail: Pre-rank and prioritize evidence before assembly. Place the most relevant passages at both the beginning and end of the context window. Add an evidence coverage check that verifies every provided document ID appears in at least one claim-evidence mapping or is explicitly marked as not relevant to any claim.
Implicit Assumption Gap in Rationale
What to watch: The model's rationale for a support/refute label relies on unstated assumptions, world knowledge, or inferences not present in the provided evidence. This makes the verification unreproducible and potentially incorrect. Guardrail: Require that every sentence in the rationale directly references a specific evidence passage. Add a validation step that extracts all factual statements from the rationale and checks whether each one is grounded in the provided evidence or marked as an explicit inference. Flag rationales that contain claims not traceable to source text.
Unverifiable Claim Silently Skipped
What to watch: The model omits claims from the output entirely when it cannot find evidence, rather than explicitly marking them as unverifiable. This creates a false sense of completeness and hides gaps in the verification process. Guardrail: Require the output schema to include an explicit field for every input claim, even those with no evidence match. Add a completeness check that counts input claims against output claim-evidence pairs and flags any missing claims. Use a structured output format that enforces one entry per input claim.
Evaluation Rubric
Run these checks on a golden dataset of at least 50 content-evidence pairs with human-annotated claim mappings. Each criterion targets a specific failure mode in evidence-to-claim mapping before shipping to production.
| Criterion | Pass Standard | Failure Signal | Test Method |
|---|---|---|---|
Claim Recall |
| Output misses verifiable claims present in [CONTENT]; silent omission of extractable assertions | Compare extracted claim count against human-annotated ground truth per content item; flag any content with recall below threshold |
Claim Precision | <= 5% of output claims are not present in [CONTENT] or are hallucinated fabrications | Output invents claims not stated in source text; attributes opinions or facts the content never made | Human reviewer or LLM judge checks each output claim against [CONTENT] span; mark hallucinated claims and compute precision rate |
Support Label Accuracy |
| Model labels a refuting passage as support; misclassifies insufficient evidence as refutation; inconsistent label logic | Pairwise comparison of model-assigned labels against human labels per claim-evidence pair; compute exact-match accuracy |
Evidence Span Grounding |
| Citation points to wrong paragraph; evidence reference is too vague to locate; fabricated source IDs | For each claim-evidence pair, verify the referenced passage actually contains the evidence; flag mismatches and phantom citations |
Rationale Completeness | Every claim-evidence pair includes a non-empty rationale explaining the mapping logic | Null or empty rationale field; rationale is generic boilerplate with no specific reasoning about the evidence | Schema validation check for non-null rationale strings; spot-check 20 random rationales for specificity and logical coherence |
Unverifiable Claim Handling | Claims with insufficient evidence are labeled insufficient and include a gap description | Unverifiable claims are silently dropped; labeled as support/refute without evidence; no explanation of what evidence is missing | Filter outputs for insufficient labels; verify each has a non-empty gap description; check that no human-annotated unverifiable claim was mislabeled |
Output Schema Compliance | 100% of outputs parse as valid JSON matching the defined [OUTPUT_SCHEMA] with all required fields present | Malformed JSON; missing required fields like claim_text or evidence_id; wrong data types in fields | Automated schema validation on every output; reject any response that fails JSON parse or schema conformance check |
Confidence Score Calibration | Confidence scores correlate with label accuracy; low-confidence outputs (< 0.7) have measurably lower accuracy | Model assigns high confidence to incorrect labels; confidence scores are uniformly high regardless of evidence quality | Bucket outputs by confidence score ranges; compute label accuracy per bucket; flag if high-confidence bucket accuracy drops below 85% |
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 prompt and a small set of 5-10 claims with known evidence. Remove strict schema enforcement initially—accept JSON or structured text. Use a single model call without retry logic. Focus on getting the support/refute/insufficient labels and rationale directionally correct before tightening output format.
codeYou are a fact-checking assistant. For each claim in [CLAIMS], determine whether the provided evidence [EVIDENCE] supports, refutes, or is insufficient to verify the claim. Return a list of claim-evidence pairs with a label and brief rationale.
Watch for
- Rationale that paraphrases the claim instead of citing evidence
- Missing "insufficient" labels when evidence is tangentially related
- Inconsistent label usage across similar claim types
- Output drifting from structured format when claims are complex

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