FStarLang / steel

The Steel separation logic library for F*
Apache License 2.0
31 stars 5 forks source link

Make `inv` complete on its domain? #154

Open mtzguido opened 10 months ago

mtzguido commented 10 months ago

Today I'm running into several errors of this form:

image

where the failure is that (fun p -> inv p) and inv are not unifiable. I wonder if we can just make inv a "complete" arrow (^->), and somehow guide the unifier or automatically apply extensionality (probably that would be an F* improvement).

I could work around these problems, but sometimes it's not easy to find out this is what's failing.