summaryrefslogtreecommitdiff
path: root/Test/triggers/regression-tests.dfy
blob: 263e424ad3cce9bcd0517ac33e79ce6a8c59a696 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// RUN: %dafny /compile:0 /print:"%t.print" /dprint:"%t.dprint" /autoTriggers:1 /printTooltips "%s" > "%t"
// RUN: %diff "%s.expect" "%t"

// This tests checks that quantifier splitting is resilient to the fact that
// certain statements (like calc) can return duplicate subexpressions. This was
// once a problem, because a quantifier that got returned twice would get split
// on the first pass over it, and would have its nely created children re-split
// on the second pass. This created a split quantifier whose children were split
// quantifiers, which violated an invariant of spliit quantifiers.

abstract module Base { }

module Blah refines Base {
  lemma A() {
    calc {
	    forall b :: b;
   	}
  }
}