Skip to content

Add UNIFY_REFL_TAC to unify metavariables in equality#151

Merged
jrh13 merged 1 commit into
jrh13:masterfrom
aqjune-aws:unify_refl
Feb 16, 2026
Merged

Add UNIFY_REFL_TAC to unify metavariables in equality#151
jrh13 merged 1 commit into
jrh13:masterfrom
aqjune-aws:unify_refl

Conversation

@aqjune-aws
Copy link
Copy Markdown
Contributor

This patch adds UNIFY_REFL_TAC, which is a simple extension of UNIFY_ACCEPT_TAC for the case when the goal is an equality t = x and x is a metavariable. If the goal is e = f x y z and f is a metavariable, it instantiates f with \x y z. e (the number of arguments does not have to be 3 and can vary).

This is adopted from UNIFY_REFL_TAC in s2n-bignum.

This patch adds `UNIFY_REFL_TAC`, which is a simple extension of `UNIFY_ACCEPT_TAC`
for the case when the goal is an equality `t = x` and `x` is a metavariable.
If the goal is `e = f x y z` and `f` is a metavariable, it instantiates `f` with
`\x y z. e` (the number of arguments does not have to be 3 and can vary).

This is adopted from `UNIFY_REFL_TAC` in s2n-bignum.
Copy link
Copy Markdown
Owner

@jrh13 jrh13 left a comment

Choose a reason for hiding this comment

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

Very nice, thank you! It's nice to see the metavariable machinery getting seriously used and also improved.

@jrh13 jrh13 merged commit c87954f into jrh13:master Feb 16, 2026
3 checks passed
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