FStar
FStar copied to clipboard
print_in_place prints a dependent pair type incorrectly
This unusual way of writing a dependent pair:
module TT
let test (a: Type) (b: (a → Type)) (y: (v: a) & b v) = ()
is accepted by F*.
But, if you run fstar --print_in_place TT.fst it produces
module TT
let test (a: Type) (b: (a → Type)) (y: v: a & b v) = ()
Which is a syntax error