summaryrefslogtreecommitdiff
path: root/omegalib/examples/old_test/p12.oc-rt
blob: 51df294fcd7c4533389fa92c71fa6ef49525ade0 (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
# Omega Calculator v1.2 (based on Omega Library 1.2, August, 2000):
# symbolic n,m;
# 
# T := { [i,j] -> [i-1,j] : 1 <= i <= n && 0 <= j <= m } union
#      { [i,j] -> [i,j-1] : 0 <= i <= n && 1 <= j <= m };
# 
# T;

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

# 
# T+;

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

# 
# Inverse ( (Inverse T)+);

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

# 
# T@;

{[In_1,In_2] -> [Out_1,Out_2] : Out_1 <= In_1 && Out_2 <= In_2 && In_2 <= m+Out_2 && In_1 <= n+Out_1}

#