Slide 64
Slide 64 text
Заголовок
logic integer Count{L}(int *a, integer m, integer n, int v);
axiom CountSectionEmpty:
\forall int *a, v, integer m, n;
n <= m ==> Count(a, m, n, v) == 0;
axiom CountSectionHit:
\forall int *a, v, integer n, m;
a[n] == v ==> Count(a,m,n+1,v)==Count(a,m,n,v)+1;
int a = 5;
assert Count(&a+1,0,-1,5) == 0 && Count(&a+1,0,0,5) == 0;
assert Count(&a+1,0,0,5) == Count(&a + 1,0,-1,5)+1;
Пример ошибки в реальном проекте (2)