Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implicits checked twice? #3135

Open
mtzguido opened this issue Dec 6, 2023 · 0 comments
Open

Implicits checked twice? #3135

mtzguido opened this issue Dec 6, 2023 · 0 comments
Assignees

Comments

@mtzguido
Copy link
Member

mtzguido commented Dec 6, 2023

The query length l == 10 does not work via SMT due to lack of fuel. So we can attempt to use meta-args to solve the squash via normalization, which should work fine, but does not.

I would have expected the implicit to be solved by the tactic, and not need any re-checking, but apparently some re-checking is done and so this fails. At least, the rechecking should be done on the rewritten type..?

open FStar.Tactics.V2

let solve_trivial () : Tac unit =
  compute ();
  trefl()

let func (p : Type0) (#[solve_trivial()] prf : squash p) : unit = ()

let l = [1;2;3;4;5;6;7;8;9;10]

let test = func (List.length l == 10)

This seems to be previous to all the #3134 stuff.

@mtzguido mtzguido self-assigned this Dec 6, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant