summaryrefslogtreecommitdiff
path: root/omegalib/examples/old_test/forall.oc-rt
blob: 13f78fae9e2a01137cb99140c9e2b1b4047bf6a2 (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
# Omega Calculator v1.2 (based on Omega Library 1.2, August, 2000):
# symbolic n,m,B;
# 
# { [max_diff] : 
#     forall (m : 
# 	(not exists (z1,z2 : 0<=z1<n && z1<=z2<m+z1 && z2 = m))
# 	or 
# 	(forall (minX,minY :
#             (not (forall (x1,x2 : (not (0<=x1<n && x1<=x2<m+x1 && m-B+1 <= x2 <= m)) or (x1+x2 >= minX)) &&
#                   exists (x1,x2 :  0<=x1<n && x1<=x2<m+x1 && m-B+1 <= x2 <= m && x1+x2 = minX) &&
#                   forall (y1,y2 : (not (0<=y1<n && y1<=y2<=m+y1 && m+1 <= y2 <= m+B)) or (y1+y2 >= minY)) &&
#                   exists (y1,y2 :  0<=y1<n && y1<=y2<=m+y1 && m+1 <= y2 <= m+B && y1+y2 = minY)))
#             or 
# 	    (minY-minX <= max_diff)))) &&
#     exists (m,z1,z2,minX,minY :
# 	0<=z1<n && z1<=z2<=m+z1 && z2 = m &&
#         forall (x1,x2 : (not (0<=x1<n && x1<=x2<m+x1 && m-B+1 <= x2 <= m)) or (x1+x2 >= minX)) &&
#         exists (x1,x2 :  0<=x1<n && x1<=x2<m+x1 && m-B+1 <= x2 <= m && x1+x2 = minX) &&
#         forall (y1,y2 : (not (0<=y1<n && y1<=y2<=m+y1 && m+1 <= y2 <= m+B)) or (y1+y2 >= minY)) &&
#         exists (y1,y2 :  0<=y1<n && y1<=y2<=m+y1 && m+1 <= y2 <= m+B && y1+y2 = minY) &&
# 	minY-minX = max_diff)};

{[B+1]: 2 <= B && 2 <= n} union
 {[1]: B = 1 && 2 <= n}

# 
# 
#