-
Notifications
You must be signed in to change notification settings - Fork 21
Open
Description
In a verification condition on the Stainless side, I have a term that contains this:
if (thiss.order.leq(thiss.array((n - 1))._1, elemRef(0)._1)) {
Return[(Boolean, SortedArray[K, T], Array[(K, T)]), Unit]((false, thiss, elemRef))
} else {
Proceed[(Boolean, SortedArray[K, T], Array[(K, T)]), Unit](())
}After using --debug=tip, we get a tip file where the type instantiations on Return and Proceed are lost, so Inox understands the expression in the tip file as (and this leads to a type error):
if (thiss!108.order!107.leq!6(thiss!108.array!122.arr!2((n!29 - 1))._1!0, elemRef!41.arr!2(0)._1!0)) {
Return!1[tuple3!0[Boolean, SortedArray!5[K!37, T!91], array!118[tuple2!0[K!37, T!91]]], Cur!0](tuple3!1[Boolean, SortedArray!5[K!37, T!91], array!118[tuple2!0[K!37, T!91]]](false, thiss!108, elemRef!41))
} else {
Proceed!1[Ret!0, Unit!1](Unit!3)
}Can we add the type instantiations (with _) in Printer.scala? (If so, what term should I use?) Can Inox parse it back?
Metadata
Metadata
Assignees
Labels
No labels