Open gebner opened 1 year ago
Another related way in which this can fail is by missing universe level instantiations, i.e., that a Type
might implicitly become a Type0
in a let-definition.
let big_or' #a (f: (a -> Type)) (l: list a) : Type = map_op' l_or f l False
// ^^ Type actually means Type0 here
From
FStar.Buffer.fst
:In the above, the type of the argument
h
is unconstrained in theval
, so we get an error. (NB, this is a definition and not a lemma.)