A physics engine, and a verification tool enforced on top of it. PhysWall inverts a closed, published, non-linear physical law at a single measurement point — and refuses when the inverse is not unique. Seven laws, one engine, and the same refusal in all of them.
One person and an AI, and everything here is checkable.
There is no company behind this yet. What there is: an engine, the enforcement layer, the test suite, and a written record of every time we were wrong.
Fifteen times we thought something here was new. Fifteen times a search found it already existed — Reiter's consistency-based diagnosis from 1987, structural identifiability from the seventies, mutation testing from 1978, bias separation in Kalman filtering, and BIPM key comparisons.
Each time the honest version came out stronger than the one we started with, and three of those searches caught an error before it reached a headline. One of them was a figure we were about to publish as our machine's precision; it turned out to be a rounding artefact in our own input.
Every bound here was built by us, in a field we picked. So we ran a test twice: hand somebody the declaration format and nothing else, and let them pick the field.
They came back with open-channel hydraulics — water in a ditch. A field with no overlap with anything here.
It ran. And it refused correctly: fed a roughness value no concrete channel could have, it said so rather than returning it. Nobody had taught it what concrete is.
The next came back with glacier mechanics: the shear stress under an ice sheet, which nothing measures directly.
τ = ρₓ · g · H · sin α 100 m of ice at 6° → 94 kPa ok 100 m of ice at 45° → 636 kPa refused
Neither input is absurd on its own. A hundred metres of ice is ordinary, and so is a 45° slope. The combination is what does not exist, and that is the harder case to catch.
That law has two measurements: thickness from radar, and slope from a terrain model. Each with its own error.
And every bound here was built around one. Not as a decision — nobody ever wrote it down. Seven laws happened to take one measurement each, and the shape rolled forward.
The failure is the quiet kind. The declaration still runs: push the second measurement in as an ordinary input and it computes fine. But its error is then counted nowhere, and the verdict comes back more confident than the measurements can support.
A tool that refuses is doing its job. A tool that answers too confidently is doing the opposite of its job — and that is the one failure this whole thing exists to prevent.
So it now refuses. A law that declares it needs more than one measurement is turned away, with the reason, until the engine can carry several properly. That is a change to the shape of the thing, not a field, and it is not being rushed.
⚠ And the caveat on the second test: the reviewer read the whole brief before choosing a field, which the instructions asked them not to do. They reported it themselves. It makes that run weaker than the first, and it is counted that way.
The components, and the connections between them, have been reviewed by an electrical engineer. The review covered the structure and the derivations — not behaviour against hardware, and no measurement was taken.
Which is worth saying plainly, because "reviewed by an engineer" on its own would read as validation, and it is not. Nothing here has been run against a board, an antenna or an instrument.
PhysWall was developed and architected by Gadi Zion. The deployment credit is in the licence, where it belongs — and it says code, not system. The system has still never been measured against hardware, and those are different claims.
Every tool here runs on the same structure: a closed law, read backwards, with a refusal when the measurement cannot carry a conclusion. What differs is how much of that has been checked by somebody outside.
VALIDATED — something outside was in a position to move
it, and did
basketball ~180,500 shots from four sources, none of them
ours. Two of the four took something away.
adjudication 30 of 464 aviation reports, coded from the
reports alone. Agreed on the cause in 26.
engine handed laws from two fields nobody here works
in. One ran. One broke it.
D7 six published anapole measurements narrowed
a band that was 3.1x too wide.
VALIDATED — continued
climbing published anthropometry answered the open claim
and answered it against us: speed climbers are
1.5 cm taller between disciplines, and height
separates nothing inside one.
waves three NOAA records each killed a claim we had
already made: 2,100 rows of MM where we
expected a partition, sampling rates that
turned a twenty-minute finding into an
artefact, and a station in Alaska we had
assumed was in California.
gauge 91 USGS annual peaks broke our first version
outright -- we had compared a curve fitted to
daily means against instantaneous peaks. The
corrected answer holds on two instruments:
peaks x1.47, current meter x1.56.
BETA — complete, running, consistent, and nothing outside
has touched it yet
D1 cross-checked by our own declaration engine,
which is not an outside check.
D2 two constants and a temperature. Nothing in it
for an outside measurement to move.
D3 calibrated against two boards, one of which is
a model constant rather than a measurement.
FILTER — runs forwards only, and for a reason in the law
D4, D5 D4 answers 'is this possible' and shares its
relationship with D1. D5 has three unknowns
against one reading.
D6 Landauer is an inequality, and an inequality has
no unique inverse. Nothing in a dissipation figure
says whether erasure happened.
HELD — the inputs are missing and they are not ours to get
energy four of them, and a distribution operator holds
all four.
Three of those need saying plainly.
D7 is the one bound here that outside measurements have already reached. Six published anapoles from five sources, four of them measured, narrowed a band that had been too generous — so the figure on that page is theirs as much as ours. That is what the beta label means everywhere else on this site: a number that something outside was in a position to move, and did.
D1–D6 are not one thing. One is calibrated against published measurements of the same material. One was cross-checked by the declaration engine, which was given the law and told nothing about radio. Two are constants, with nothing in them to be wrong about. Each is anchored to something, and none of them yet to a measurement made independently — which is what D7 has, and what the others are working towards.
And the laws themselves are not in doubt: Bode-Fano is a theorem from 1945, the Landauer limit was measured in 2012, and the thermal ceiling is standard thermodynamics. What has not been checked is our code — whether what it returns matches what an instrument would read. Nobody has held these numbers against a board or an antenna.
Adjudication. It has now been run against real investigations — thirty aviation accident reports, coded from the reports alone. It agreed with the stated cause in twenty-six. In two, the investigators had returned no verdict themselves, in the same words this tool uses. In one, evidence sat in the report that the verdict did not touch.
And reading twenty rather than eleven turned up something that one report alone would not have shown. In several of them the toxicology field is simply empty — and in one, there was no autopsy, no toxicology and no cockpit voice recorder at all. Those questions returned no verdict not because the evidence was ambiguous, but because it was never collected.
That is a different kind of gap from the ones this tool separates, and it is not rare. It follows the class of accident: where nobody was hurt, there is no autopsy, and a whole line of enquiry is closed before it opens. A tool reading these reports has to tell that apart from evidence that exists and does not decide — and this one currently does not.
Thirty out of how many? The full aircraft accident report series runs from 1967 to 2021 and carries 473 numbers, of which nine are duplicates — 464 distinct investigations. The rate has fallen fivefold: seventeen a year in the seventies, three a year now. Most of the corpus predates 1990.
Thirty also made one thing measurable that eleven could not. Five of them were engines that ran out of fuel, which raises the question of what gets called the cause. Three of the five name the pilot's fuel planning, and put the empty tanks as the result. Two name the empty tanks and stop there.
That split matters because empty tanks are not a cause — they are what needs explaining, and a miscalculation and a pilot who had been drinking produce identical tanks. And both of the reports that stopped at the tanks are the ones where evidence sat unaddressed. The distinction this tool enforces turns out to be one these investigators mostly make already, and the exceptions are where things go missing.
That is a weaker check than basketball's and it is a real one: it could have disagreed everywhere, and did not. What it does not do is prove the tool right — agreeing with a formal investigation is what a working tool should do, and it is not a discovery.
And there is no physics in it at all — it runs on the same structure anyway. That is the part worth stating carefully, so here it is in full:
a relationship, read backwards hypothesis → what you would see
becomes: what you saw → what survives
a window does this observation rule it out
or does it not
a refusal returns no verdict when nothing survives,
and says so when two do
a stated source every hypothesis must state what it
predicts, or the tool will not run
Four requirements, and it meets all four without a single physical law in it. Which is the claim: the structure is what makes an answer trustworthy, and it does not need physics underneath to work. Physics is where we found it, not what makes it hold.
And that is testable rather than asserted — because if the structure were doing nothing on its own, this tool would fail where the others do not. Whether it does is the next thing to check, against sixty years of aviation investigations that were written without knowing it exists.
The two apps that are not on this site are named on the home page with the reason.
Not that the arithmetic is more precise — IEEE 754 gives everyone the same sixteen digits. Not that the mathematics is new. Not that anything here has been measured against hardware: zero measurements of our own, across every domain.
What we claim is that no free public tool takes an observed discrepancy and says how much of it is yours. If you know one, we would rather hear it from you.
Every app is a single HTML file that runs in your browser. Open the source — there is nothing hidden in there, because there is nothing that could be. What is not in those files is the reasoning: a gate for every bug we have hit, each documented with the bug beside it.
You get the numbers. The reasons stay here.
The field calls this an inverse problem: a closed form run backwards from what was measured. Hadamard’s test for one is whether a solution exists, is unique, and is stable — and a problem failing any of the three is ill-posed. Every refusal here is one of those three, named.
Every number on this site reproduces from a source that is named. Five of the main claims are listed with the exact check that would break each one, and none of those checks needs anything from us.
Two of the five are claims this site got wrong. They are still printed, next to what replaced them — a site that shows only what survived gives you nothing to compare the survivors against.
Every field knows an inverse can have more than one answer. What everyone does about it is try to get past it — these are quotes from the literature:
neural networks, to escape local minima generative models, that produce a field anyway "merging iterative and probabilistic approaches to overcome the non-uniqueness"
All reasonable, if a single answer is what you need. This engine returns the ambiguity instead: when two inputs reproduce the same measurement, the verdict is NOT UNIQUE and both are printed.
Two distinct states, one observable, the same value. Physics has had the word for a century.
Malus at 1 deg and at 179 deg
-> the same transmitted intensity
two Q values on a matching network
-> the same return loss
a biased result, or an honest one with
an underestimated uncertainty
-> the same En
⚠ It is not superposition. Superposition means a combination of two solutions is itself a solution. Here it is not: cos² gives the same intensity at 1° and 179°, and 90° — halfway between — gives something else entirely. An engineer would correct that in one line, and be right.
You lift a degeneracy by adding an independent observation. So the engine returns both values and the observation that would separate them:
a second round against a different reference, for a failed En a measurement at a second frequency, for a matching network a contributor with its own declared source, for an uncertainty budget
A refusal that names its own remedy is a result. One that does not is an apology.
The same rule found a search ceiling being reported as a measurement, a fixture that returned the same number for every input, a claim of "measured" where the paper said "expected", and a published range that the file it cited contradicted. Four of those were our own. A tool that only ever catches other people's mistakes has not been pointed at itself.
A computational claim splits three ways, and the split is the honest description of where this stands:
verification is the arithmetic right validation does it match the real world UQ how wide is the answer
These tools are UQ. Every one of them answers how much a measurement allows you to conclude, and refuses when the answer is not unique. None of them is validated against measurements of our own — there are none — and only one domain has been moved by an outside measurement at all.
And what is unusual is not the band. Metrology software gives you a band. So does every RF engineer with a sensitivity calculation. What is unusual is that one engine asks the same question in seven fields and refuses in the same way in all of them:
two roots, and it will not choose one source entered twice the law does not hold here
Antenna matching, thermal ceilings, conductor loss, bit erasure, river discharge, wave dispersion, anapole scattering. A specialist in any one of them has never had reason to see it as the same problem — and it is the same problem.
When a measured number does not match what a law predicts, the difference sits in one of four places:
The fourth is where two people can both measure correctly and still disagree, because they were measuring quantities that share a name and not a definition.
In 1999 one team worked in pound-force-seconds and another in newton-seconds. Both numbers were right. The spacecraft burned up.
A calculator returns a number whatever you give it. This separates the gap into those four, and where the quantity has no single definition it returns no verdict rather than a large error.
Not a field. A moment.
Anyone who has been handed a number and did not know whether to believe it. That happens in a lab, in a spreadsheet, in a post-mortem, and it happens every time a model returns something confident about a question it could not actually answer.
There are two different disappointments here and only one of them is ours. "Nobody knows" is frustrating, and people accept it. An answer that was confident and wrong is something else. The calculator returned a number. The spreadsheet returned a number. Neither said "I do not know", because neither can.
That is the gap this closes, and it is the only claim on this page that is about us rather than about physics.
Not that the arithmetic is more precise: it is IEEE 754, and every calculator on earth has the same sixteen digits. Not that the mathematics is new — we checked fifteen times, and bias separation in Kalman filtering, Type A against Type B in the GUM, and BIPM key comparisons all got there first.
What we claim is narrow: every uncertainty tool available to the public propagates a budget forwards, and none of them takes an observed discrepancy and says how much of it is yours.
If you know one that does, tell us. It is the only claim we have, and we would rather hear it from you than keep saying it.
One engine, shown nine times. Each of these is a question somebody is paid to answer, and each one is answered on this site today, against public data, in a way you can check in a browser.
Which loss term is binding on this board?
Conductor loss goes as √f and dielectric loss as f. They cross, and
which one binds depends on where you are.
→ the doubling problem
Is my instrument drifting, or is the world?
A gauge drops 2.50 ft overnight. A second route says whether that was
the sensor or the channel.
→ a stream gauge, read twice
Where does the approximation I am using stop being true?
Shallow-water theory holds below kh = π/10. Outside it the
formula still returns a number.
→ where shallow water ends
How much of this gap is my instrument?
A measurement disagrees with a calculation. Four axes, and the split is
derived rather than assumed.
→ error propagation
Can this be matched at all?
Bode-Fano gives a floor no passive network beats. Knowing before two weeks
of tuning is the whole value.
→ the seven bounds
Which explanation survives the evidence?
Thirty aviation reports, coded from the reports alone, agreeing on the
cause in twenty-six.
→ which explanation survives
Is this streak real, or is it sixty shots?
A 35% shooter produces 15% and 55% by chance alone, and how often depends
only on how many attempts.
→ sixty shots is not a percentage
What can this measurement not decide?
A distance is one number on a line. It does not say where on the line,
which way, or when.
→ light time
Can I hand it a law it has never seen?
Declare a closed law and a measurement. It inverts, or it refuses.
→ bring your own law
Each tool states its own maturity — validated, beta, filter or held — and what it has not been checked against. Which is which.