(0) CHARACTERISTICS
-type specified: point
-features: deterministic, non-parameterized
-foreign types:
(1) SYNTAX
ACCESS-PROGRAMS
Arg#1 | Arg#2 | Arg#3 | Result Type | METTRE | point:O | real:V | real:V | | GAUCHE | point:VO | real:V | | | DROIT | point:VO | real:V | | | HAUT | point:VO | real:V | | | BAS | point:VO | real:V | | | EST_DANS_CERCLE | point:V | | | bool | |
---|
(2) CANONICAL TRACES
canonical(T) T = _ x,y:<real> [T = METTRE(*, x, y) ]AUXILIARY FUNCTIONS
coord_x: <point> <real>
coord_x(T) (T _) = x where x,y:<real> [T = METTRE(*, x, y) ]
coord_y: <point> <real>
coord_y(T) (T _) = y where x,y:<real> [T = METTRE(*, x, y) ]
(3) SEMANTICS
ACCESS-PROGRAMSLegality(METTRE(n, x, y)) =
Condition | Value |
---|---|
x 0.0 y 0.0 | %legal% |
x < 0.0 y < 0.0 | %dehors du premier quartier% |
METTRE(n , x, y) = METTRE(*, x, y)
Legality(GAUCHE((n, T), a)) =
Condition | Value |
---|---|
T = _ | %pas initialise% |
T _ coord_x(T) - a < 0.0 | %dehors du premier quartier% |
T _ coord_x(T) - a 0.0 | %legal% |
GAUCHE((n, T) , a) = METTRE(*, coord_x(T) - a, coord_y(T))
Legality(DROIT((n, T), a)) =
Condition | Value |
---|---|
T = _ | %pas initialise% |
T _ | %legal% |
DROIT((n, T) , a) = METTRE(*, coord_x(T) + a, coord_y(T))
Legality(HAUT((n, T), a)) =
Condition | Value |
---|---|
T = _ | %pas initialise% |
T _ | %legal% |
HAUT((n, T) , a) = METTRE(*, coord_x(T), coord_y(T) + a)
Legality(BAS((n, T), a)) =
Condition | Value |
---|---|
T = _ | %pas initialise% |
T _ coord_y(T) - a < 0.0 | %dehors du premier quartier% |
T _ coord_y(T) - a 0.0 | %legal% |
BAS((n, T) , a) = METTRE(*, coord_x(T), coord_y(T) - a)
Legality(EST_DANS_CERCLE(T)) =
Condition | Value |
---|---|
T = _ | %pas initialise% |
T _ | %legal% |
EST_DANS_CERCLE(T) = coord_x(T) * coord_x(T) + coord_y(T) * coord_y(T) 1.0