summaryrefslogtreecommitdiff
path: root/omega/examples/old_test/wrap.oc-rt
blob: 0729e41c0e316561bc5b701bb2e78cd05de33402 (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
# Omega Calculator v1.2 (based on Omega Library 1.2, August, 2000):
# symbolic n;
# 
# I := {[i,j,k] : 1 <= i,j,k <= n};
# 
# R1 := {[i,j,n] -> [i,j+1,1] : 1 <= i,j,j+1 <= n}
# 	 union {[i,j,k] -> [i,j,k'] : 1 <= i,j,k,k' <= n && k' = k+1};
# 
# R1;

{[i,j,n] -> [i,j+1,1] : 1 <= i <= n && 1 <= j < n} union
 {[i,j,k] -> [i,j,k+1] : 1 <= i <= n && 1 <= j <= n && 1 <= k < n}

# 
# R1+;

{[i,j,k] -> [i,j',k'] : 1 <= j < j' <= n && 1 <= i <= n && 1 <= k <= n && 1 <= k' <= n} union
 {[i,j,k] -> [i,j,k'] : 1 <= k < k' <= n && 1 <= i <= n && 1 <= j <= n}

# 
# R1+ within I;

{[i,j,k] -> [i,j',k'] : 1 <= j < j' <= n && 1 <= i <= n && 1 <= k <= n && 1 <= k' <= n} union
 {[i,j,k] -> [i,j,k'] : 1 <= k < k' <= n && 1 <= i <= n && 1 <= j <= n}

# 
# R2 := {[i,n,n] -> [i+1,1,1] : 1 <= i,i+1 <= n}
# 	union R1;
# 
# R2;

{[i,n,n] -> [i+1,1,1] : 1 <= i < n} union
 {[i,j,k] -> [i,j,k+1] : 1 <= i <= n && 1 <= j <= n && 1 <= k < n} union
 {[i,j,n] -> [i,j+1,1] : 1 <= i <= n && 1 <= j < n}

# 
# R2+;

{[i,j,k] -> [i',j',k'] : 1 <= i < i' <= n && 1 <= j <= n && 1 <= k <= n && 1 <= j' <= n && 1 <= k' <= n} union
 {[i,j,k] -> [i,j',k'] : 1 <= j < j' <= n && 1 <= i <= n && 1 <= k <= n && 1 <= k' <= n} union
 {[i,j,k] -> [i,j,k'] : 1 <= k < k' <= n && 1 <= i <= n && 1 <= j <= n}

# 
# R2+ within I;

{[i,j,k] -> [i',j',k'] : 1 <= i < i' <= n && 1 <= j <= n && 1 <= k <= n && 1 <= j' <= n && 1 <= k' <= n} union
 {[i,j,k] -> [i,j',k'] : 1 <= j < j' <= n && 1 <= i <= n && 1 <= k <= n && 1 <= k' <= n} union
 {[i,j,k] -> [i,j,k'] : 1 <= k < k' <= n && 1 <= i <= n && 1 <= j <= n}

#