PRISM · legal intelligence for Indian tax law

A law is a program nobody runs.

PRISM reads tax statutes clause by clause, ties every number to the words it came from, runs the law on the population it governs, and checks the reading against the law itself.

White light in, six kinds of meaning out

Every clause does something.

It obliges, penalises, grants a right, sets a threshold, names an actor or a beneficiary. PRISM separates them the way a prism separates light. In the Income-tax Bill, 2025:

obligation2,177penalty441right449threshold96actor5,815beneficiary85
IWhy it is needed

The law is written in prose.

3,258
sections in this corpus
12
Acts, from the Income-tax Act to the Finance Acts

Each stack here is one of them, as tall as its sections; point at one to open it. Parliament amends them every year.

IWhy it is needed

Nobody runs it.

To know what a budget does to a salary, someone has to turn sentences back into numbers: slabs, rebates, thresholds, reliefs. By hand, for every rule, every year. And amendments rarely restate a rule. They swap words inside the old one.

IWhy it is needed

Machines can read it now. Can the reading be trusted?

Language models will happily fill in the numbers. PRISM asks the question that matters: do the numbers they read lead to the same conclusions as the law? When they don't, which clause is to blame?

IIHow PRISM reads · 01 Ingest

Every page, every character.

624
pages in the Income-tax Bill, 2025

The PDF becomes text with exact character offsets and its place on the page, so anything PRISM extracts can be traced back to the words that say it.

IIHow PRISM reads · 02 Segment

Structure, not paragraphs.

A statute is cut the way lawyers cite it: chapter, section, sub-section, clause, proviso. The tree here is the consolidated Income-tax Act 2025; the bright branch is the rebate.

2,757
clauses in the demo Act
IIHow PRISM reads · 03 Tag

Six kinds of meaning.

Each clause is tagged for who must act, what they must do, what they may claim, what it costs them and where the lines are drawn. The prism passes over the clause and the tags light up.

obligationpenaltyrightthresholdactorbeneficiary
9,063
tagged entities
IIHow PRISM reads · 04 Cause → effect

If this, then that.

Conditions are linked to their consequences and rated by risk: a missed condition behind a penalty matters more than one behind a definition. Behind the clause, every pattern in the Act.

13
critical
75
high
273
medium
394
low
IIHow PRISM reads · 05 Provenance

Every number keeps its clause.

Document, chapter, clause, pattern, entity: one graph, so any figure PRISM produces can be walked back to its words. Point at a clause in the web to open it.

4,615
nodes
9,799
edges
IIIWhat it runs · 06 Simulate

Run the law on a country.

Each point is a group of taxpayers, built from the income-tax department's count of returns by income range. The lines mark tenths of the population; teal points pay less under the AY 2026-27 law than under the year before.

75.2 million
returns, simulated as weighted groups
IIIWhat it runs · 07 The schedule

Tax, salary by salary.

The same engine turns the coded law into a schedule: what every salary pays under the new regime for AY 2026-27. The dim line is the year before.

IIIWhat it runs · 08 Ask

Ask the statutes.

Questions are answered from the corpus, with the sections that answer them. One benchmark question, “Penalty for under-reporting and misreporting of income”: the right section, s.439, comes back at rank 1.

0.72
recall at five across the benchmark
339
benchmark questions
IVThe proof · one clause

Then a model reads the amendment.

Section 20 of the Finance Act 2025 raises the rebate by swapping words inside section 87A. Qwen 3.8 27B read it: income up to ₹12,00,000, a rebate of at most ₹60,000.

  • Income limit₹12,00,000 ✓
  • Rebate₹60,000 ✓
  • Marginal reliefmissed ✕

Clause (b) is the marginal relief. The amendment only changes its numbers, so the words never appear on the page.

IVThe proof · one clause

One missed clause tears the curve.

₹5,200
the law, on ₹12.8 lakh
₹63,180
the model's reading

Across the population, 1.7 million returns would be taxed differently, and the reform's revenue cost would be off by ₹4,077 crore.

VThe verdict

But do the conclusions survive?

10 income-tax reforms, from the Finance Act 2020 to the Income-tax Act 2025, read by 6 readers, from a 120-billion-parameter model to hand-written rules. A reading counts only if it assembles into a complete schedule.

  • assembled, no conclusion flipped
  • assembled, a conclusion flipped
  • did not assemble: no conclusion
VThe verdict

Not one conclusion flipped.

22
readings assembled
4,077
crore, the largest revenue error

The torn curve did not change the policy story: the same deciles gain, the cut stays progressive. The small local models assembled none of the 20 readings they attempted. Point at a tile to see its run.

VIFaults

We broke the law on purpose.

132
typed errors injected into the expert law
59
flipped at least one conclusion

The kinds of slip a reader makes: a dropped slab, last year's table, a lakh read as a crore.

VIFaults

Dropping a rule matters. Blurring a number mostly doesn't.

Rebate dropped flipped up to 65% of conclusions. Bound off by one rupee flipped 0%. Each column is one kind of error; each spark, one injection. Point at a column for its numbers.

VIIWhat we can't claim

The honest part.

Behaviour

In an agent-based model of compliance, the share of tax evaded settles near 0.33. Reading the 200% penalty as 50% raises it by 0.071 on average; the penalty rate is the second most important input. 2 readers found the penalty; 4 found none.

Explanations

The words a model cites as evidence are no more faithful than random words: comprehensiveness 0.72 for its spans, 0.77 for random ones.

Retrieval

Recall at five of 0.72 over 339 questions; unanswerable ones separate with an AUROC of 0.85.

Forecasting

In sample the population model lands within 9.4% of reported tax, but its forecast to 2023-24 scored worse than carrying the last year forward (skill -4.26).

The sandbox

The app's agent-based policy simulator is illustrative, labelled as a sandbox, and none of the results above use it.

The Finance Act, 2025 · FA2025 s20

20. In section 87A of the Income-tax Act, with effect from the 1st April, 2026,–– (a) in the proviso,— (i) in clause (a),–– (I) for the words “seven hundred thousand rupees”, the words “twelve hundred thousand rupees” shall be substituted; (II) for the words “twenty-five thousand rupees”, the words “sixty thousand rupees” shall be substituted; (ii) in clause (b), for the words “seven hundred thousand rupees” at both the places where they occur, the words “twelve hundred thousand rupees” shall be substituted; (b) after the proviso, the following proviso shall be inserted, namely:–– “Provided further that the deduction under the first proviso, shall not exceed the amount of income-tax payable as per the rates provided in sub-section (1A) of section 115BAC.”.

words the model quoted the clause it missed
What the model read from section 20, against the expert coding
FieldModel readThe law
Income limit₹12,00,000 ✓₹12,00,000
Maximum rebate₹60,000 ✓₹60,000
Marginal relieffalse ✕true
New-regime tax on a salary up to ₹25 lakh. At ₹12.8 lakh the law gives ₹5,200 and the model's reading ₹63,180.₹5L₹10L₹15L₹20L₹25L
law for the previous year the law, AY 2026-27 Qwen 3.8 27B's reading
Effective income-tax rate by income decile
DecilePrevious year's lawAY 2026-27 lawQwen 3.8 27B's reading
10.00%0.00%0.00%
20.00%0.00%0.00%
30.00%0.00%0.00%
40.00%0.00%0.00%
50.00%0.00%0.00%
61.74%0.00%0.00%
74.03%0.00%0.00%
85.32%0.00%0.00%
98.98%5.63%6.00%
1026.07%23.62%23.62%
previous year AY 2026-27
For each reform and reader: whether the reading assembled into a complete law, and how many conclusions flipped
Reformgpt-oss-120bQwen 3.8 27Bgpt-oss-20bPhi-3.5 miniGemma 2 2BRule-based
FA 2020 · new regime0 flips0 flipsno conclusionno conclusionno conclusion0 flips
FA 2020 · old schedule0 flips0 flips0 flipsno conclusionno conclusion0 flips
FA 2023 · new default0 flipsno conclusion0 flipsno conclusionno conclusionno conclusion
FA 2024 (No. 2) · budgetno conclusion0 flips0 flipsno conclusionno conclusionno conclusion
FA 2025 · rebate ₹12L0 flips0 flips0 flipsno conclusionno conclusionno conclusion
FA 2023 · old schedule0 flips0 flips0 flipsno conclusionno conclusion0 flips
FA 2024 (No. 2) · old schedule0 flips0 flipsno conclusionno conclusionno conclusion0 flips
FA 2025 · old scheduleno conclusion0 flipsno conclusionno conclusionno conclusionno conclusion
FA 2026 · old schedule under ITA 2025no conclusionno conclusionno conclusionno conclusionno conclusionno conclusion
ITA 2025 · new actno conclusionno conclusionno conclusionno conclusionno conclusionno conclusion
  • Rebate dropped65%
  • Rebate given to the wrong regime65%
  • Lakh read as crore53%
  • Middle slab dropped47%
  • Slab bound off by ₹1 lakh47%
  • Top slab dropped41%
  • Rate read from the next row41%
  • Marginal relief dropped29%
  • Last year's slab table18%
  • Last year's rebate18%
  • Last year's standard deduction12%
  • Rebate amount misread6%
  • Bound off by one rupee0%

Pipeline counts are from the demo document: 624 pages, 2,757 clauses, 9,063 entities, 755 cause–effect patterns. Paper numbers: 10 reforms.

PRISM
Loading type

Reading the law, one clause at a time.

000