Skip to content
This repository has been archived by the owner on Jun 9, 2021. It is now read-only.

Add annotations to rewrite rules and simpsets #204

Closed
wants to merge 1 commit into from

Conversation

robdockins
Copy link
Contributor

This allows users to add metadata their rewrite rules,
and have rewriting steps record and return the metadata
for rules what were actually used in rewriting.

The intention is to use these annotations to link rewrite rules
back to theorems/axioms that generated them so proof steps
can determine the dependencies of a proof.

This allows users to add metadata their rewrite rules,
and have rewriting steps record and return the metadata
for rules what were actually used in rewriting.

The intention is to use these annotations to link rewrite rules
back to theorems/axioms that generated them so proof steps
can determine the dependencies of a proof.
@robdockins
Copy link
Contributor Author

I'll plan to meld this into the corresponding saw-script PR GaloisInc/saw-script#1216.

@brianhuffman
Copy link
Contributor

Ah, I was wondering what application this feature was meant to support. If it's for proof summaries, that makes a lot of sense.

Copy link
Contributor

@brianhuffman brianhuffman left a comment

Choose a reason for hiding this comment

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

This looks like a good design to me. I imagine that the planned usage of this in saw-script always instantiates parameter a with the same type, but it's conceivable that someone might like to use different types here? Maybe a Functor instance for RewriteRule or Simpset would be a useful addition?

@robdockins
Copy link
Contributor Author

Indeed, the plan is to instantiate with a particular type. But Functor, Foldable and Traversable are probably all potentially useful. Looks like we'll need the corresponding instances for Net as well.

@robdockins
Copy link
Contributor Author

These changes have been incorporated into the SAWScript PR mentioned above.

@robdockins robdockins closed this Apr 27, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants