Skip to content

Remove two declarations nothing can apply - #1167

Draft
fabiomadge wants to merge 1 commit into
masterfrom
cleanup/unreachable-uordering
Draft

fabiomadge wants to merge 1 commit into
masterfrom
cleanup/unreachable-uordering

Conversation

@fabiomadge

Copy link
Copy Markdown
Contributor

UOrdering2 and UOrdering3 are emitted by SMTLibLineariser for VCExprSubtypeOp and
VCExprSubtype3Op. Those appear only as members of the SingletonOp enum: there is no VCExprOp for
either, no generator builds one, SingletonOpDict maps neither, and <: has no production in the grammar.
So no node can carry them and neither symbol can be applied.

Boogie declared both in the background predicates regardless, which put them in every
polymorphic-encoding model. A pruning golden shrinks accordingly; nothing else changes.

The lineariser's visitors are left alone, being reachable again if the ops are ever built.

UOrdering2 and UOrdering3 are emitted by SMTLibLineariser for VCExprSubtypeOp
and VCExprSubtype3Op. Those appear only as members of the SingletonOp enum:
there is no VCExprOp for either, no generator builds one, and SingletonOpDict
maps neither -- so no node can carry them and neither symbol can be applied.
Boogie declared both in the background predicates regardless, which put them in
every polymorphic-encoding model; a pruning golden shrinks accordingly.

The lineariser's visitors are left alone, being reachable only if the ops are
ever built.
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