source: CIVL/examples/loop_invariants/loop_assigns_given/summation.cvl@ beab7f2

main test-branch
Last change on this file since beab7f2 was ea777aa, checked in by Alex Wilton <awilton@…>, 3 years ago

Moved examples, include, build_default.properties, common.xml, and README out from dev.civl.com into the root of the repo.

git-svn-id: svn://vsl.cis.udel.edu/civl/trunk@5704 fb995dde-84ed-4084-dfe6-e5aef3e2452c

  • Property mode set to 100644
File size: 343 bytes
Line 
1#pragma CIVL ACSL
2$input int N;
3$assume(N > 0);
4$input int a[N];
5$input int b[N];
6
7int main() {
8 int sum = 0;
9 int i = 0;
10
11 /*@
12 @ loop invariant 0<=i && i <=N;
13 @ loop invariant sum == \sum(0, i-1, \lambda int t; a[t] + b[t]);
14 @ loop assigns sum, i;
15 @*/
16 while (i < N) {
17 sum += a[i] + b[i];
18 i++;
19 }
20 return 0;
21}
Note: See TracBrowser for help on using the repository browser.