(0) CHARACTERISTICS
-type specified: point
-features: deterministic, non-parameterized
-foreign types:
(1) SYNTAX
ACCESS-PROGRAMS
Arg#1 | Arg#2 | Arg#3 | Result Type | SETPOS | point:O | real:V | real:V | | EQUAL | point:V | point:V | | bool | GETX | point:V | | | real | GETY | point:V | | | real | ASSIGN | point:V | point:O | | | |
---|
(2) CANONICAL TRACES
canonical(T) x,y:<real> [T = SETPOS(*, x, y) ]_ SETPOS(*, 0.0, 0.0)
AUXILIARY FUNCTIONS
coord_x: <point> <real>
coord_x(T) = x where x,y:<real> [T = SETPOS(*, x, y) ]
coord_y: <point> <real>
coord_y(T) = y where x,y:<real> [T = SETPOS(*, x, y) ]
(3) SEMANTICS
ACCESS-PROGRAMSLegality(SETPOS(n, x, y)) = %legal%
SETPOS(n , x, y) = SETPOS(*, x, y)
Legality(EQUAL(T, U)) = %legal%
EQUAL(T, U) = T = U
Legality(GETX(T)) = %legal%
GETX(T) = coord_x(T)
Legality(GETY(T)) = %legal%
GETY(T) = coord_y(T)
Legality(ASSIGN(T, n)) = %legal%
ASSIGN(T, n ) = T