blob: 880d3d1d8b81222ec82f10be189e2ee34da0555e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t"
// RUN: %diff "%s.expect" "%t"
predicate A(x: bool, y: bool) { x }
predicate B(x: bool, z: bool) { forall y {:trigger A(x, y) } :: A(x, y) && z }
// Inlining is disabled here to prevent pollution of the trigger in B
method C() requires B(true || false, true) {}
// Inlining should work fine here
method C'() requires B(true, true) {}
// Inlining should work fine here
method C''() requires B(true, true && false) {}
|