From d652155ae013f36a1ee17653a8e458baad2d9c2c Mon Sep 17 00:00:00 2001 From: Checkmate50 Date: Mon, 6 Jun 2016 23:14:18 -0600 Subject: Merging complete. Everything looks good *crosses fingers* --- Test/test21/Orderings3.bpl | 86 +++++++++++++++++++++++----------------------- 1 file changed, 43 insertions(+), 43 deletions(-) (limited to 'Test/test21/Orderings3.bpl') diff --git a/Test/test21/Orderings3.bpl b/Test/test21/Orderings3.bpl index 3036d8e6..82b619ac 100644 --- a/Test/test21/Orderings3.bpl +++ b/Test/test21/Orderings3.bpl @@ -1,44 +1,44 @@ -// RUN: %boogie -typeEncoding:n -logPrefix:0n "%s" > "%t" -// RUN: %diff "%s.n.expect" "%t" -// RUN: %boogie -typeEncoding:p -logPrefix:0p "%s" > "%t" -// RUN: %diff "%s.p.expect" "%t" -// RUN: %boogie -typeEncoding:a -logPrefix:0a "%s" > "%t" -// RUN: %diff "%s.a.expect" "%t" -// Example from the Boogie 2 language report - - -type Wicket; - - -const unique a: Wicket extends complete; -const unique b: Wicket; -const unique c: Wicket extends a, b complete; -const unique d: Wicket extends c; -const unique e: Wicket; - -procedure P() returns () { - - assert !(exists x:Wicket :: a <: x && a != x); - assert (forall x:Wicket :: x <: a ==> x == a || x <: c); - - assert c <: b && !(exists x:Wicket :: c <: x && x <: b && x != c && x != b); - - assert !(b <: a) && !(b <: c); - - assert c <: a && c <: b && d <: c; - assert (forall x:Wicket :: c <: x ==> c==x || a <: x || b <: x); - assert (forall x:Wicket :: x <: c ==> c==x || x <: d); - - assert d <: c; - assert !(a <: d) && !(b <: d) && !(c <: d); - - assert false; // unprovable -} - -procedure Q() returns () { - - assert (forall x:Wicket :: x <: b && x != b ==> x <: c); // unprovable - - assert !(exists x:Wicket :: b <: x && b != x); // unprovable - +// RUN: %boogie -typeEncoding:n -logPrefix:0n "%s" > "%t" +// RUN: %diff "%s.n.expect" "%t" +// RUN: %boogie -typeEncoding:p -logPrefix:0p "%s" > "%t" +// RUN: %diff "%s.p.expect" "%t" +// RUN: %boogie -typeEncoding:a -logPrefix:0a "%s" > "%t" +// RUN: %diff "%s.a.expect" "%t" +// Example from the Boogie 2 language report + + +type Wicket; + + +const unique a: Wicket extends complete; +const unique b: Wicket; +const unique c: Wicket extends a, b complete; +const unique d: Wicket extends c; +const unique e: Wicket; + +procedure P() returns () { + + assert !(exists x:Wicket :: a <: x && a != x); + assert (forall x:Wicket :: x <: a ==> x == a || x <: c); + + assert c <: b && !(exists x:Wicket :: c <: x && x <: b && x != c && x != b); + + assert !(b <: a) && !(b <: c); + + assert c <: a && c <: b && d <: c; + assert (forall x:Wicket :: c <: x ==> c==x || a <: x || b <: x); + assert (forall x:Wicket :: x <: c ==> c==x || x <: d); + + assert d <: c; + assert !(a <: d) && !(b <: d) && !(c <: d); + + assert false; // unprovable +} + +procedure Q() returns () { + + assert (forall x:Wicket :: x <: b && x != b ==> x <: c); // unprovable + + assert !(exists x:Wicket :: b <: x && b != x); // unprovable + } \ No newline at end of file -- cgit v1.2.3