Status: Accepted
Date: 2026-09-26 (proposed), 2026-09-26 (accepted, with negation added)
Related: ADR-A87 (concept exclusion), ADR-A89 (profile aggregation), ADR-A90 (design-time OWL classes), ADR-A91 (evidence binding), ADR-A100, ADR-A-C2
Unit: applied-insurance-reference (Phase 3, epic decision D12)
Premise. An evidence binding reads a subject’s candidate along a path (ADR-A91). Many paths
reach several values: a person holds several qualifications, a record carries several codes, and
a path through a many-valued step multiplies what follows it. Today a binding that reaches more
than one value is Undetermined (exe:SeveralCandidates, “no reading of several is defined”). A
rule that means “some value qualifies” or “every value qualifies” cannot be stated.
Examples.
A reading on the binding. elg:valueReading on an elg:EvidenceBinding takes one of three
individuals of elg:ValueReading:
| Reading | Outcome over the values the path reaches |
|---|---|
elg:SingleValue (default when absent) |
one value: its outcome. None: Undetermined (exe:MissingCandidate). Several: Undetermined (exe:SeveralCandidates). Unchanged from today |
elg:SomeValue |
Permitted when any value is Permitted. Denied when every value is Denied. Otherwise, or when there is no value, Undetermined |
elg:EveryValue |
Denied when any value is Denied. Permitted when every value is Permitted. Otherwise, or when there is no value, Undetermined |
Each value is decided by the condition as a single candidate would be, including ADR-A87’s exclusions and ADR-A100’s law. The readings are strong Kleene quantifiers over those outcomes, as profile aggregation is over conditions (ADR-A89).
elg:EveryValue.SomeValue, Denied under
EveryValue. The OWL backend compiles SomeValue as ∃path.C and EveryValue as
∀path.C ⊓ ∃path.⊤, for design-time checks only, relaxing ADR-A90’s single-valued claim for
bindings that declare a reading.elg:negated true on a condition evaluates the condition as it stands, including
its value reading, and then swaps Permitted and Denied. Undetermined stays Undetermined, with
its diagnostic. The compilers apply the swap to the condition’s outcome: the IR’s expansion,
the SPARQL and SHACL decisions, the SWRL rule heads (a rule that derived Permitted derives
Denied), and the OWL class (its complement, for design-time checks only). “An applicant who
holds no qualification in medicine” is the medicine condition read elg:SomeValue and
negated, without enumerating every other qualification.elg:negated, behave as today. The
import-pinning cascade runs.