// RUN: %dafny /compile:0 "%s" > "%t" // RUN: %diff "%s.expect" "%t" predicate G(f:X->bool) reads f.reads; requires forall x :: f.requires(x) && f(x); { true } predicate H() { G((x:int) => true) } predicate P1(m:map) requires forall x :: x in m ==> m[x]; { true } predicate P2(m:map) requires forall x :: x in m ==> m[x]; { P1(map x:int | x in m :: true) }