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/test0/PrettyPrint.bpl | 134 ++++++++++++++++++++++----------------------- 1 file changed, 67 insertions(+), 67 deletions(-) (limited to 'Test/test0/PrettyPrint.bpl') diff --git a/Test/test0/PrettyPrint.bpl b/Test/test0/PrettyPrint.bpl index c79eff80..faa6bfd1 100644 --- a/Test/test0/PrettyPrint.bpl +++ b/Test/test0/PrettyPrint.bpl @@ -1,67 +1,67 @@ -// RUN: %boogie -pretty:0 -noVerify -printInstrumented "%s" > "%t" -// RUN: %diff "%s.expect" "%t" -const x: int; -const y: int; -const z: int; -const r: real; -const s: real; -const t: real; -const P: bool; -const Q: bool; -const R: bool; - -axiom x * (y + z) == x + (y * z); -axiom (x * y) + z == (x + y) * z; - -axiom x * y * z == (x * (y * z)); -axiom (x * y) * (z * x) == (x * y) * z; - -axiom x div y div z == (x div (y div z)); -axiom (x div y) div (z div x) == (x div y) div z; - -axiom x + y mod z == ((y mod z) + x); -axiom (x + y) mod z == (x mod z) + (y mod z); - -axiom x / y / z == (x / (y / z)); -axiom (x / y) / (z / x) == (x / y) / z; -axiom x / s / z == (x / (s / z)); -axiom (x / s) / (z / x) == (x / s) / z; -axiom r / s / t == (r / (s / t)); -axiom (r / s) / (t / r) == (r / s) / t; - -axiom ((r * s) / t) == r * s / t; -axiom ((r / s) * t) == (r / s) * t; - -axiom (r * s) ** t == (r ** t) * (s ** t); -axiom r ** (s + t) == r ** s * r ** t; - -axiom int(real(x)) == x; -axiom r >= 0.0 ==> real(int(r)) <= r; -axiom int(0e-3 - 0.02) == 0; -axiom int(0e2 - 3.5e1) == -35; -axiom int(27e-1) == 2; - -axiom x - y - z == (x - (y - z)); -axiom (x - y) - (z - x) == (x - y) - z; - -axiom x + y - z - x + y == 0; -axiom ((((x + y) - z) - x) + y) == (x + (y - (z - (x + y)))); - -axiom P ==> Q ==> R <==> (P ==> (Q ==> R)); -axiom ((P ==> Q) ==> (R ==> P)) == ((P ==> Q) ==> R); - -axiom P <==> Q <==> R; -axiom P ==> Q <==> Q ==> R <==> R ==> P; - -axiom (P && Q) || (Q && R); -axiom (P || Q) && (Q || R); -axiom (P || Q) || (Q || R); -axiom (P && Q) && (Q && R); - -// -------------- quantifier key-value decorations - -function f(int) returns (int); - -axiom (forall x: int :: {:xname "hello"} - { :weight 5} {f(x+x)} {:ValueFunc f(x+1) } {f(x)*f(x)} {:nopats f(x+x+x)} - f(f(x)) < 200); +// RUN: %boogie -pretty:0 -noVerify -printInstrumented "%s" > "%t" +// RUN: %diff "%s.expect" "%t" +const x: int; +const y: int; +const z: int; +const r: real; +const s: real; +const t: real; +const P: bool; +const Q: bool; +const R: bool; + +axiom x * (y + z) == x + (y * z); +axiom (x * y) + z == (x + y) * z; + +axiom x * y * z == (x * (y * z)); +axiom (x * y) * (z * x) == (x * y) * z; + +axiom x div y div z == (x div (y div z)); +axiom (x div y) div (z div x) == (x div y) div z; + +axiom x + y mod z == ((y mod z) + x); +axiom (x + y) mod z == (x mod z) + (y mod z); + +axiom x / y / z == (x / (y / z)); +axiom (x / y) / (z / x) == (x / y) / z; +axiom x / s / z == (x / (s / z)); +axiom (x / s) / (z / x) == (x / s) / z; +axiom r / s / t == (r / (s / t)); +axiom (r / s) / (t / r) == (r / s) / t; + +axiom ((r * s) / t) == r * s / t; +axiom ((r / s) * t) == (r / s) * t; + +axiom (r * s) ** t == (r ** t) * (s ** t); +axiom r ** (s + t) == r ** s * r ** t; + +axiom int(real(x)) == x; +axiom r >= 0.0 ==> real(int(r)) <= r; +axiom int(0e-3 - 0.02) == 0; +axiom int(0e2 - 3.5e1) == -35; +axiom int(27e-1) == 2; + +axiom x - y - z == (x - (y - z)); +axiom (x - y) - (z - x) == (x - y) - z; + +axiom x + y - z - x + y == 0; +axiom ((((x + y) - z) - x) + y) == (x + (y - (z - (x + y)))); + +axiom P ==> Q ==> R <==> (P ==> (Q ==> R)); +axiom ((P ==> Q) ==> (R ==> P)) == ((P ==> Q) ==> R); + +axiom P <==> Q <==> R; +axiom P ==> Q <==> Q ==> R <==> R ==> P; + +axiom (P && Q) || (Q && R); +axiom (P || Q) && (Q || R); +axiom (P || Q) || (Q || R); +axiom (P && Q) && (Q && R); + +// -------------- quantifier key-value decorations + +function f(int) returns (int); + +axiom (forall x: int :: {:xname "hello"} + { :weight 5} {f(x+x)} {:ValueFunc f(x+1) } {f(x)*f(x)} {:nopats f(x+x+x)} + f(f(x)) < 200); -- cgit v1.2.3