Paired-predicate verification: measuring what an AI believes about a brand, and what it gets backwards
Presence tells you whether an AI names you. It does not tell you what the AI believes about you. This is one instrument from the NeuronSpark GEO platform: take what a brand has published about itself and ask it twice, once as written and once negated. It does not rule on who is right. It measures the relation between what the engine says and what the brand publishes.
Updated 2026-10-10
The short version
- For each claim C in a brand's published material, paired-predicate verification asks an engine, in two independent calls, whether C is correct and whether not-C is correct. The pair of answers gives one of four results: aligned, contradicted, incoherent or vacuum.
- It does not judge whether the claim is true. It observes whether the engine agrees with what the brand publishes and whether the engine agrees with itself, so no person or model has to act as referee.
- A reading without controls is void. Models tend to agree with whatever is stated, so every round includes sentences known to be false; an engine that says yes to one has its whole round discarded.
- The same questions are asked in at least two rounds. When the rounds disagree, the outcome is "unstable across rounds" — a fifth outcome, and one that majority voting may not erase.
- Measured on the demo brand in October 2026: all four engines passed the controls; the noise floor was 4/48 (8.3%) in both Traditional and Simplified Chinese; of the 41 readings stable in both scripts, 5 differed (12.2%). This is a single measurement, not a general constant.
What presence cannot measure
AI visibility monitoring starts with presence: ask the engines the questions buyers ask, and count how often the brand is named in the answers. The number is useful, but it answers only half the question.
A brand can be named often and described wrongly. An AI can mention you in nine answers out of ten while crediting your "first in the market" claim to a competitor, or knowing nothing of the credential you care about most. Presence is blind to both: it counts names, not beliefs.
The intuitive way to measure belief is to have another model score answers for accuracy. We did not do that, for the reason in the next section.
Why we do not ask an AI to grade an AI for accuracy
An accuracy score needs a referee who knows the truth. But the facts about a company — how many stores it runs, what it launched in which year, which ranking it earned — are not in our hands, and not in a judge model's either. They live in the company's own published material, and they change.
Having a model rule on those facts means using one system that may be wrong to mark another system that may be wrong. Having us rule on them would be overreach: who launched a service first is not a measurement firm's call.
So this instrument asks a different question. Not "is the AI right?", but two things that can be observed directly: does the AI agree with what the brand publishes, and does the AI agree with itself. Neither needs a referee.
The method: one claim, asked as written and asked negated
Take one claim from the brand's published material and call it C. Write its direct negation, ¬C. Then, in two unrelated calls, ask the engine: is this statement correct? The engine may answer yes, no or unsure, with one sentence of basis.
(answer to C, answer to ¬C) → aligned / contradicted / incoherent / vacuum
- Aligned
- The engine affirms C and does not affirm ¬C. It agrees with what the brand publishes.
- Contradicted
- The engine does not affirm C but affirms ¬C. The brand publishes this; the engine answers the opposite. The wording matters: this is not "the engine is wrong" — which side is true is not something this measurement decides.
- Incoherent
- The engine says yes to both C and ¬C. It has no stable representation of the matter; change the phrasing and the answer changes.
- Vacuum
- The engine affirms neither C nor ¬C. The fact is absent from what it has read.
Four results, four different jobs. Contradicted means a statement opposite to yours is stronger on the web than yours. Vacuum means you wrote it, but not where an AI reads. Incoherent means two versions are evenly matched. Report a single "accuracy 87" and these three things are stirred into one.
Three traps that void a reading
The method looks simple. Drop any one of the following and the numbers mean nothing.
- The two sentences must be asked separately. In one conversation the engine can see its own answer to the first sentence when it answers the second, and will keep itself consistent. That measures a performance of consistency, not what it believes.
- There must be controls, and half of them must be false. Language models show acquiescence bias: state something and they lean towards agreeing. Without controls, "yes to both" could mean the engine is confused about this brand, or simply that it nods at everything. So every round mixes in sentences unrelated to the brand whose truth is settled, such as "5G mobile networks were in full commercial service in Hong Kong in 1998." An engine that answers yes to one of these has its entire round discarded.
- Compound claims must be split. "First in Hong Kong to launch it, and it needs no wiring" is two facts. An engine may agree with only one, and an answer to the combined sentence cannot be read. Only after splitting can you see whether the trouble is with "first" or with the service itself.
The second rule is not our invention. Survey psychometrics has long used reverse-keyed items to catch respondents who agree with everything, and recent research has used paired statements to test whether a language model's answers shift with phrasing. What we did is bring that discipline to brand facts and write it down as a procedure that can be checked.
The fifth outcome: unstable across rounds
Ask the same question an hour later and an engine may not give the same answer. With one round you cannot tell whether a "contradicted" is the engine's settled position or just how it happened to answer that time.
So the same questions are asked in at least two rounds. If both rounds land on the same result, that result is reported; if they differ, the outcome is unstable across rounds. It is not a data defect. It is a finding: the engine holds no settled position on that claim.
- Noise floor
- The number of readings that differ between two rounds, divided by the number read in both. It is the instrument's own jitter and must be reported alongside the results — a reader has to know how large the noise is before weighing any single outcome.
One rule we wrote without room for interpretation: majority voting may not erase instability. Three rounds with two in agreement is still reported as unstable. An engine that has given two different answers has already shown it has no settled position; a majority vote only hides that finding behind a cleaner-looking number.
Script is a variable too — and a rule we had to change
A sentence written in Traditional Chinese and the same sentence in Simplified Chinese mean exactly the same thing. To a language model they are two different strings of characters, tied to two different bodies of text. Hong Kong brands mostly publish in Traditional; the people asking an AI may not write that way.
So the predicate set has a Simplified edition converted character by character — no change of wording or word order, only of script — and the results are compared with the Traditional ones.
Our first rule asked for two rounds in Traditional and one in Simplified. That gave a difference of 8 readings in 44 (18.2%). Asking Simplified again showed the figure was too high: a second Simplified round also differed on 8, but not the same 8. Simplified has a noise floor of its own, and a single comparison round had been counting it as a script difference.
The rule is now symmetric: two rounds in each script, and the comparison is made only over readings stable on both sides. Where either script is unstable on its own, a difference cannot be attributed to script. The report gives not only how many readings differ but how many left "aligned" and how many entered it: direction says more than the count.
One measurement: a Hong Kong telecom operator
In October 2026 we ran this procedure on the demo brand of the NeuronSpark GEO platform, a listed Hong Kong telecom operator. Every claim came from the brand's own published material: 12 facts, plus 4 controls; each asked as written and negated, across ChatGPT, Claude, Gemini and Perplexity — 128 questions a round, two rounds each in Traditional and Simplified.
Across the two Traditional rounds, 9 of the 12 facts did not move on any of the four engines. The jitter sat on the other three — a "first in Hong Kong" claim, a claim about network coverage, and a brand-ranking credential. Instability is not spread evenly. It concentrates on the claims the AI holds weakly to begin with.
Take the "first in Hong Kong" claim. Of the four engines, one agreed with the brand, one held the opposite and named the operator it believed was first, and two gave different results in the two rounds. For the brand's content team this is more concrete than any total score: they know which sentence needs a verifiable source behind it.
These figures come from one brand, four engines and one measurement. They are not general constants. Every project measures its own noise floor. The claim-by-claim results, with each engine's stated basis, are on the live board.
The inference stack: which model at which layer, and why
A full measurement has four layers. The principle: no model where a rule will do, no expensive model where a cheap one will do, and no model at all in the layer that draws the conclusion.
- Asking. Buyers' questions go to each engine as they are, and we record how the engine ordinarily answers. This is most of the cost and the one layer that cannot be economised — those answers are the thing being measured.
- Reading. From each answer we read which brands were named and in what tone. This is classification, done in batches by an inexpensive model.
- Verifying. The paired predicates described here. Each call returns one verdict word and one sentence of basis, at sampling temperature 0 so that jitter on a re-run comes, as far as possible, from the engine alone.
- Comparing. Rounds are combined into the five outcomes, the noise floor is computed and scripts are compared. This layer is plain computation with no model involved: a third party given the same inputs must be able to recompute the conclusion.
The verifying layer currently uses general chat models with a forced answer format. "Decision models" that return probabilities rather than text are appearing; they will make this layer cheaper and resolve "unsure" more finely. The instrument does not depend on them: the four results come from the combination of two answers, not from the precision of a probability.
What this instrument cannot measure
- It does not measure truth. "Contradicted" says only that the engine states the opposite of what the brand publishes. The brand's published statement may itself be out of date.
- It measures model answers obtained through an API. What a consumer sees in an app may differ through web search, personalisation and version differences.
- The sample is small. A dozen or so claims for one brand is enough to show which sentences need work, not enough to draw a general conclusion about an engine.
- Negations are written by people. A negation that drifts — into a different claim rather than the opposite of the original — voids that reading, so every negation is reviewed by a person before it enters the set.
- Claims come only from the brand's own published material. We add no facts, and we do not decide for the brand which statements are worth asking about.
Frequently asked questions
- What is paired-predicate verification?
- A method for measuring what an AI believes about a brand. For each claim in the brand's published material, an engine is asked in two independent calls whether the claim and its direct negation are correct. The pair of answers gives one of four results — aligned, contradicted, incoherent or vacuum — and when two rounds disagree the outcome is recorded as unstable across rounds.
- How is it different from an accuracy score?
- An accuracy score needs a referee who knows the truth. Paired-predicate verification does not rule on whether a claim is true; it observes whether the engine agrees with what the brand publishes and whether the engine agrees with itself, so no person or model has to act as referee.
- Why are controls required?
- Language models tend to agree with whatever is stated. Without controls, a "yes" to both a claim and its negation cannot be told apart from an engine that agrees with everything. Controls include sentences known to be false; an engine that answers yes to one has its whole round discarded.
- What does "unstable across rounds" mean, and why not take the majority?
- When the same questions asked in two rounds give different results, the outcome is unstable: the engine holds no settled position on that claim. The majority is not taken because an engine that has given two different answers has already shown it has no settled position, and a majority vote would only hide that.
- What is the noise floor?
- The number of readings that differ between two rounds divided by the number read in both — the measurement's own jitter. In one measurement of the demo brand in October 2026 it was 4/48 (8.3%) in both Traditional and Simplified Chinese. It is a single measured value and may not be quoted as a general constant.
- Does an AI answer differently in Traditional and Simplified Chinese?
- In one measurement of the demo brand, 5 of the 41 readings stable in both scripts differed (12.2%); 3 left "aligned" and 1 entered it. This is a single result for one brand, but it shows that script should be measured as a variable rather than assumed to be irrelevant.
- Does "contradicted" mean the AI is wrong?
- No. "Contradicted" means only that the brand publishes a statement and the engine answers the opposite. Which side is true is not decided by this measurement, and the brand's published statement may itself be out of date.