Skip to content

[TS PBT] Focus original property search using observed entry relations - #543

Open
CaelmBleidd wants to merge 1 commit into
caelmbleidd/pbt-scalar-relationsfrom
caelmbleidd/pbt-numeric-challenges
Open

CaelmBleidd wants to merge 1 commit into
caelmbleidd/pbt-scalar-relationsfrom
caelmbleidd/pbt-numeric-challenges

Conversation

@CaelmBleidd

Copy link
Copy Markdown
Member

PBT numeric relations currently have no consumer in original-property symbolic search. Add adapter-owned ENTRY_ARGUMENT observations, captured from the ordered original inputs before the callback runs, and bind their numeric values through the existing EtsIR input slots.

searchFocusedOnEntryRelation explicitly adds the negation of a sampled equality/order relation to the same declared support, original precondition and original property-failure query. The existing unfocused API remains available. The result retains the applied binding and complete inference provenance, so a focused no-finding result cannot be presented as exhaustion of the original domain. Incompatible property/support/source identities, unsupported points, changed snapshots and ambiguous bindings cannot activate the focus.

This first slice of #398 is restricted to root numeric entry arguments. It does not infer exact bindings for arbitrary user hooks, return/intermediate values, aliases or nested invocations. Executable-body build status remains UNVERIFIED; exactness concerns the adapter-owned argument transport only. Each call still creates a search: shared sessions, scheduling the unfocused share and repeated feedback rounds remain with #481/#399/#355. #398 remains open.

Stacked on #539 (caelmbleidd/pbt-scalar-relations) at 983f99f5c69f5197fa3c5a30af41d575c75596f9.

Validation: 220 PBT Kotlin tests, 100 FastCheck Kotlin tests and 199 native adapter tests passed, along with strict Detekt on every changed Kotlin file and git diff --check. With the same independent original predicate left !== 1, two real native observation sets guide USVM to [1, 0] and [1, 2]; both violations are checked in native execution. Tests also cover NaN, original admission, an always-true original oracle, infeasible focused support and rejected bindings. No benchmark campaign was run.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant