(0) CHARACTERISTICS
-type specified: s3_queue
-features: deterministic, non-parameterized
-foreign types:
(1) SYNTAX
ACCESS-PROGRAMS
Arg#1 | Arg#2 | Result Type | INSERT | s3_queue:VO | int:V | | REMOVE | s3_queue:VO | | | FRONT | s3_queue:VO | | int | |
---|
(2) CANONICAL TRACES
canonical(T) n:<int>; a[1]..a[n]:<int> [T = [INSERT(*, a[i])]i=1..n ](3) SEMANTICS
ACCESS-PROGRAMSLegality(INSERT((n, T), a)) = %legal%
INSERT((n, T) , a) = T.INSERT(*, a)
Legality(REMOVE((n, T))) =
Condition | Value |
---|---|
T = _ | %empty% |
T _ | %legal% |
REMOVE((n, T) ) =
Condition | Value |
---|---|
n = 1<-- Different types. | T1 where T1:<s3_queue>; a:<int> [T = T1.INSERT(*, a) ] |
n 1 | T1 where T1:<s3_queue>; a:<int> [T = INSERT(*, a).T1 ] |
Legality(FRONT((n, T))) =
Condition | Value |
---|---|
T = _ | %empty% |
T _ | %legal% |
FRONT((n, T) ) = T
FRONT((n, T)) =
Condition | Value |
---|---|
n = 1<-- Different types. | a where T1:<s3_queue>; a:<int> [T = T1.INSERT(*, a) ] |
n 1 | a where T1:<s3_queue>; a:<int> [T = INSERT(*, a).T1 ] |