HOL icon indicating copy to clipboard operation
HOL copied to clipboard

Handle paired-abstractions better

Open mn200 opened this issue 13 years ago • 4 comments

In particular, if there is a quantifier over a variable of pair type, and that same variable is an argument to a paired abstraction, then the quantifier should be rewritten to pick up the abstraction's names, and the abstraction should be β-reduced.

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

mn200 avatar Sep 05 '11 23:09 mn200

When? By the simplifier?

xrchz avatar Sep 06 '11 07:09 xrchz

On 6/09/11 5:08 PM, xrchz wrote:

When? By the simplifier?

Yeah; in srw_ss() with an appropriate conversion.

mn200 avatar Sep 06 '11 09:09 mn200

Something like this is implemented in the quantifier heuristics lib. There is no fast, special purpose conversion, though.

> SIMP_CONV (std_ss++QI_ss) [] ``!xyz. P ((\(aa, cc, bb). f aa bb cc) xyz)``

val it =
   |- (!xyz. P ((\(aa,cc,bb). f aa bb cc) xyz)) <=>
   !aa cc bb. P (f aa bb cc):
   thm

thtuerk avatar Jan 24 '17 18:01 thtuerk

The pairarg_tac tactic does this for unbound arguments.

mn200 avatar Nov 01 '23 05:11 mn200