Skip to content

feat(simplify): delta[f g] forces unfolding of listed operators - #1108

Merged
strub merged 1 commit into
mainfrom
delta-with-op
Sep 3, 2026
Merged

feat(simplify): delta[f g] forces unfolding of listed operators#1108
strub merged 1 commit into
mainfrom
delta-with-op

Conversation

@strub

@strub strub commented Sep 3, 2026

Copy link
Copy Markdown
Member

simplify delta unfolds every transparent definition and simplify f g
unfolds only f and g, but nothing could express both at once: full
delta plus forced unfolding of operators declared [opaque]. The
grammar had no production for it, and pdelta : pqsymbol list option
could not represent it (None = all transparent, Some l = only l).

pdelta is now a record { pd_all; pd_ops }. delta[f g] sets both,
accepted after simplify/cbv and in the keyword-less form, and
composes with a trailing hint clause. Listed operators reduce with
Force, the rest with IfTransparent when pd_all is set and
IfApplied otherwise. Existing spellings keep their meaning.

@strub
strub requested a review from bgregoir September 3, 2026 05:56
@strub strub self-assigned this Sep 3, 2026
`simplify delta` unfolds every transparent definition and `simplify f g`
unfolds only `f` and `g`, but nothing could express both at once: full
delta plus forced unfolding of operators declared `[opaque]`. The
grammar had no production for it, and `pdelta : pqsymbol list option`
could not represent it (`None` = all transparent, `Some l` = only `l`).

`pdelta` is now a record `{ pd_all; pd_ops }`. `delta[f g]` sets both,
accepted after `simplify`/`cbv` and in the keyword-less form, and
composes with a trailing `hint` clause. Listed operators reduce with
`Force`, the rest with `IfTransparent` when `pd_all` is set and
`IfApplied` otherwise. Existing spellings keep their meaning.
@strub
strub enabled auto-merge September 3, 2026 06:29
@strub
strub added this pull request to the merge queue Sep 3, 2026
Merged via the queue into main with commit 55efb44 Sep 3, 2026
19 checks passed
@strub
strub deleted the delta-with-op branch September 3, 2026 07:36
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.

2 participants