summaryrefslogtreecommitdiff
path: root/omega/examples/old_test/affineClosure2
blob: 35ae0e1bbbded21924d0f2ab16d7968a9841a727 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
symbolic n;
symbolic c;
# # Omega Calculator [v1.00, Mar 96]:
# # 
# # 
# # 
# # R := {[i,j] : 1 <= i <= 10 && 1 <= j <= n};
# # 
# # R;
# 
# {[i,j]: 1 <= i <= 10 && 1 <= j <= n}
# 
# # 
# # ac := approximate {[i,j] : exists (lambda0, lambda1,lambda2,lambda3,lambda4 :
# # 	0 <= lambda0, lambda1,lambda2,lambda3,lambda4
# # 	&& c = lambda0-lambda1+ 10 lambda2 - lambda3
# # 	&& i = lambda1-lambda2
# # 	&& j = lambda3-lambda4
# # 	&& n = lambda4)};
# # 
# # ac;
# 
# {[i,j]: 0 <= n && 0 <= n+c+i+j && 0 <= n+c+10i+j && 0 <= n+j}
# 
# # 
# # 
# # #ac intersection {[i,j] : i = 1 && c = -1}		;
# # #ac intersection {[i,j] : i = -1 && c = 10}		;
# # #ac intersection {[i,j] :  j = 1 && c = -1 }		;
# # #ac intersection {[i,j] : j = -1 && n = 1}		;
# # 	

approximate {[i,j] : exists (lambda0, lambda1,lambda2,lambda3,lambda4 :
	0 <= lambda0,lambda1,lambda2,lambda3,lambda4
	&& n = lambda1+lambda2+lambda3+lambda4
	&& i = lambda2+10lambda3
	&& j = lambda2+lambda3+lambda4
	&& c = lambda0+lambda2+lambda3
	&& c = 1
	)};
approximate {[i,j] : exists (lambda0, lambda1,lambda2,lambda3,lambda4 :
	0 <= lambda1,lambda2,lambda3,lambda4
	&& n = lambda1+lambda2+lambda3+lambda4
	&& i = lambda2+10lambda3
	&& j = lambda2+lambda3+lambda4
	&& c = lambda2+lambda3
	&& c = 1
	)};
approximate {[i,j] : exists (lambda0, lambda1,lambda2,lambda3,lambda4 :
	0 <= lambda1,lambda2,lambda3,lambda4
	&& n = lambda1+lambda2+lambda3+lambda4
	&& i = lambda2+10lambda3
	&& j = lambda2+lambda3+lambda4
	&& c = lambda2+lambda3
	)};