summaryrefslogtreecommitdiff
path: root/Test/dafny0/TriggerInPredicate.dfy
blob: b9c372dc6def03100d9681234e663537376abf2d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// RUN: %dafny /compile:0 /dprint:"%t.dprint" /autoTriggers:1 /printTooltips "%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) {}

// Local Variables:
// dafny-prover-local-args: ("/autoTriggers:1")
// End: