From 23067608f2d8855abd64982cabfe7f0c7f8e4f5a Mon Sep 17 00:00:00 2001 From: qunyanm Date: Fri, 6 Nov 2015 13:51:08 -0800 Subject: Fix issue 99. When annotate a quantifier expr that has a SplitQuantifier, we need exclude the private terms (the ones that includes the quantifier expr's bv) from it exported terms. --- Source/Dafny/Triggers/TriggersCollector.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'Source/Dafny') diff --git a/Source/Dafny/Triggers/TriggersCollector.cs b/Source/Dafny/Triggers/TriggersCollector.cs index c25f65b9..698ea3b5 100644 --- a/Source/Dafny/Triggers/TriggersCollector.cs +++ b/Source/Dafny/Triggers/TriggersCollector.cs @@ -201,8 +201,8 @@ namespace Microsoft.Dafny.Triggers { (expr is UnaryOpExpr && (((UnaryOpExpr)expr).Op == UnaryOpExpr.Opcode.Cardinality)) || // FIXME || ((UnaryOpExpr)expr).Op == UnaryOpExpr.Opcode.Fresh doesn't work, as fresh is a pretty tricky predicate when it's not about datatypes. See translator.cs:10944 (expr is BinaryExpr && (((BinaryExpr)expr).Op == BinaryExpr.Opcode.NotIn || ((BinaryExpr)expr).Op == BinaryExpr.Opcode.In))) { annotation = AnnotatePotentialCandidate(expr); - } else if (expr is QuantifierExpr && ((QuantifierExpr)expr).SplitQuantifier == null) { - annotation = AnnotateQuantifier((QuantifierExpr)expr); + } else if (expr is QuantifierExpr) { + annotation = AnnotateQuantifier((QuantifierExpr)expr); } else if (expr is LetExpr) { annotation = AnnotateLetExpr((LetExpr)expr); } else if (expr is IdentifierExpr) { -- cgit v1.2.3