Skip to content

Conversation

@jn80842
Copy link

@jn80842 jn80842 commented Oct 27, 2025

rewriteSharedTermConvertibility should be a replacement for rewriteSharedTerm, but in such a way that dependently typed terms can only be rewritten using convertible rewrite rules.


data Convertibility = AllRules | ConvertibleRulesOnly

rewriteSharedTermConvertibility :: forall a. Ord a => SharedContext -> Simpset a -> Term -> IO (Set a, Term)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We don't need to have both rewriteSharedTermTypeSafe and rewriteSharedTermConvertibility; your new version here should just replace rewriteSharedTermTypeSafe, as it's intended to be an improvement to it. Removing the original function will also make the diff easier to read, as it will highlight what you've changed vs what you've copied from the original.

@brianhuffman
Copy link
Contributor

There's a single integration test failure: test_hash_table is timing out. I might be able to help debug that.

@brianhuffman
Copy link
Contributor

While preparing #2684 I ran into a very similar rewriter-related timeout in test_hash_table. That problem was fixed in 32b55dc. I expect this one has a similar cause, namely that a term isn't getting simplified enough.

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.

4 participants