Check reference

Check that child domains refine their parent

A trace link can connect two requirements whose boundaries disagree. z3_cross_layer_consistency analyzes comparable data partitions across satisfies links.

Compare the same concrete inputs

The verify-stage warning checks consumed input data constraints. It asks whether a child partition implies the parent partition and whether the relevant child partitions cover the parent. It also inspects sibling overlap in supported cases. Parameter and domain signatures must be comparable. Different names require an explicit data_constraint_mapping; the tool does not infer that two similarly named inputs are aliases.

Illustrative example: a lost boundary value

Parent: invalid if port < 1 or port > 65535
Child A: reject if port < 0
Child B: reject if port > 65535
Missing parent region: port = 0

Each child covers a valid part of the parent's invalid-input region, but together they omit zero. Adding a trace to a third unrelated child would not close that data-domain hole. The expected repair is a concrete rule for zero or an explicit correction to the parent if its boundary was wrong.

Repair the domain agreement

Read the named parent, child and counterexample together. Correct the condition, add the missing child behavior or remove a false refinement link. If parameter names differ but represent the same input, author the parent-to-child mapping on the child requirement. A mapping is a semantic claim and needs review, especially when units or normalization differ.

proof workflow check --stage verify --only z3_cross_layer_consistency --verbose

Keep skipped comparisons and waivers visible

Unrelated domains are skipped, so a passing result is limited to comparable modeled constraints. A variable marked cross_layer_optional suppresses multiple finding kinds involving that variable, including implication and coverage; it is broader than an overlap-only exception. Review it carefully. These checks do not establish code refinement or execute the rejection behavior. Retain implementation tests for the boundary and inspect any associated partition-evidence findings separately.

Follow the evidence

Use one counterexample to compare the parent promise with the child's exact domain.

Review one parent-child domain mismatch. Bring the linked requirements and counterexample so we can assess which boundary or refinement claim needs correction.

Check each partition locally · Read hierarchy evidence