From 83f675b0b0124872cc343ba0f14984803ee6eb18 Mon Sep 17 00:00:00 2001 From: qunyanm Date: Tue, 19 Jan 2016 11:08:28 -0800 Subject: Bug fix in determining whether a type parameter is bounded When checking whether a type parameter could be determined from the bound variable types, we mistakenly compare equality between a TypeVarable and a VCExprVar, instead of between two VCExprVars. --- Test/test2/BoundedTypeParameterQuantifier.bpl | 14 ++++++++++++++ Test/test2/BoundedTypeParameterQuantifier.bpl.expect | 2 ++ 2 files changed, 16 insertions(+) create mode 100644 Test/test2/BoundedTypeParameterQuantifier.bpl create mode 100644 Test/test2/BoundedTypeParameterQuantifier.bpl.expect (limited to 'Test') diff --git a/Test/test2/BoundedTypeParameterQuantifier.bpl b/Test/test2/BoundedTypeParameterQuantifier.bpl new file mode 100644 index 00000000..146ba445 --- /dev/null +++ b/Test/test2/BoundedTypeParameterQuantifier.bpl @@ -0,0 +1,14 @@ +// RUN: %boogie /proverWarnings:1 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" + +function Map#Domain(Map QUN YAN): [QUN] bool; +function Map#Empty(): Map QUN YAN; +type Map QUN YAN; + +axiom (forall u: QUN :: + { Map#Domain(Map#Empty(): Map QUN YAN)[u] } + !Map#Domain(Map#Empty(): Map QUN YAN)[u]); + +procedure P() +{ +} diff --git a/Test/test2/BoundedTypeParameterQuantifier.bpl.expect b/Test/test2/BoundedTypeParameterQuantifier.bpl.expect new file mode 100644 index 00000000..37fad75c --- /dev/null +++ b/Test/test2/BoundedTypeParameterQuantifier.bpl.expect @@ -0,0 +1,2 @@ + +Boogie program verifier finished with 1 verified, 0 errors -- cgit v1.2.3