Four values
A query returns is (true), not (false), can (unknown), or both (two sources disagree). The four are the values of the FDE bilattice — Belnap’s four-valued logic, the Truth4 carrier of the reference, truth values. They order two ways at once: by truth, not < can,both < is, and by information, can < is,not < both. is and not are the classical pair; can is the absence of evidence; both is the presence of conflicting evidence.
can and both are answers, not errors. If a model does not record Alice’s age, “is Alice an adult?” is can — unknown, a value a query can return and a caller can match on, distinct from a definite not. If one registry asserts she is a person and another denies it, a query that combines them is both. Neither collapses into a guess.
A single coherent line of reasoning never produces both. A derive fixpoint (Reasoning) tracks the three consistent values is, not, and can; both arises only where federation joins disagreeing standpoints, below. At a Boolean decision point — a where guard, a Boolean projection — can collapses fail-closed to false, the closed-world reading. To keep can and both distinct at the surface, a query declares its return type as Truth4Of<T>; otherwise the projection folds them away.