blob: f09634ad6277ea75dcd0032f78e6ac6a0e2da59e (
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
|
R := { [i] -> [i'] : 1 <= i,i' <= 10 && i' = i+1 };
R;
inverse R;
domain R;
range R;
R compose R;
R+; # closure of R = R union (R compose R) union (R compose R ...
complement R;
S := {[i] : 5 <= i <= 25};
S;
R(S); # apply R to S
R \ S; # restrict domain of R to S
R / S; # restrict range of R to S
(R\S) union (R/S);
(R\S) intersection (R/S);
(R/S) - (R\S);
S*S; # cross product
D := S - {[9:16:2]} - {[17:19]};
D;
T := { [i] : 1 <= i <= 11 & exists (a : i = 2a) };
T;
Hull T;
Hull D;
codegen D;
codegen {[i,j] : 1 <= i+j,j <= 10};
|