# Omega Calculator v1.2 (based on Omega Library 1.2, August, 2000):
# symbolic n(1);
# 
# S :=  { [i] -> [j] : 1 <= i < j <= 100 && n(j) >= 0};
# 
# R := domain S;
# 
# S;

{[i] -> [j] : 1 <= i < j <= 100 && 0 <= n(j)}

# 
# R;

{[i]: 1 <= i <= 99 && UNKNOWN}

# 
# upper_bound R;

{[i]: 1 <= i <= 99}

# 
# lower_bound R;

{[i]  : FALSE }

# 
# 
# R - {[1:50]};

{[i]: 51 <= i <= 99 && UNKNOWN}

# 
# {[1:50]} - R;

{[i]: 1 <= i <= 50 && UNKNOWN}

# 
# {[1:50]} - upper_bound R;

{[i]  : FALSE }

# 
# {[1:50]} - lower_bound R;

{[i]: 1 <= i <= 50}

# 
# 
# R union {[10:30]}  union {[25:100]} union {[1:10]};

{[i]: 1 <= i <= 99 && UNKNOWN} union
 {[i]: 10 <= i <= 30} union
 {[i]: 25 <= i <= 100} union
 {[i]: 1 <= i <= 10}

# 
# upper_bound (R union {[10:30]}  union {[25:100]} union {[1:10]});

{[i]: 1 <= i <= 99} union
 {[i]: 25 <= i <= 100}

# 
# lower_bound (R union {[10:30]}  union {[25:100]} union {[1:10]});

{[i]: 10 <= i <= 30} union
 {[i]: 25 <= i <= 100} union
 {[i]: 1 <= i <= 10}

# 
# 
# {[101:200]} - R;

{[i]: 101 <= i <= 200}

# 
# {[1:200]} - R;

{[i]: 1 <= i <= 99 && UNKNOWN} union
 {[i]: 100 <= i <= 200}

# 
# {[1:200]} - R - {[10:30]}  - {[25:100]};

{[i]: 1 <= i <= 9 && UNKNOWN} union
 {[i]: 101 <= i <= 200}

# 
# {[1:200]} - (R union {[10:30]}  union {[25:100]} union {[1:10]});

{[i]: 101 <= i <= 200}

# 
# {[1:200]} - R - {[10:30]}  - {[25:100]} - {[1:10]};

{[i]: 101 <= i <= 200}

#