(0) CHARACTERISTICS
-type specified: bool
-features: deterministic, non-parameterized
-foreign types:
(1) SYNTAX
ACCESS-PROGRAMS
Arg#1 | Arg#2 | Result Type | AND | bool:V | bool:V | bool | ASSIGN | bool:O | bool:V | | EQUIV | bool:V | bool:V | bool | IMPLIES | bool:V | bool:V | bool | NOT | bool:V | | bool | OR | bool:V | bool:V | bool | PRED | bool:VO | | | SUCC | bool:VO | | | XOR | bool:V | bool:V | bool | |
---|
(2) CANONICAL TRACES
canonical(T) T = _ T = SUCC(*)AUXILIARY FUNCTIONS
and: <bool> × <bool> <bool>
and(x, y) =
Condition | Value |
---|---|
x = _ y = _ | _ |
x _ y _ | SUCC(*) |
equiv: <bool> × <bool> <bool>
equiv(x, y) =
Condition | Value |
---|---|
x y | _ |
x = y | SUCC(*) |
not: <bool> <bool>
not(x) = U where U:<bool> [x U]
(3) SEMANTICS
ACCESS-PROGRAMSLegality(AND(T, U)) = %legal%
AND(T, U) = and(T, U)
Legality(ASSIGN(n, U)) = %legal%
ASSIGN(n , U) = U
Legality(EQUIV(T, U)) = %legal%
EQUIV(T, U) = equiv(T, U)
Legality(IMPLIES(T, U)) = %legal%
IMPLIES(T, U) = not(and(T, not(U)))
Legality(NOT(T)) = %legal%
NOT(T) = not(T)
Legality(OR(T, U)) = %legal%
OR(T, U) = not(and(not(T), not(U)))
Legality(PRED((n, T))) =
Condition | Value |
---|---|
T = _ | %fatal% |
T _ | %legal% |
PRED((n, T) ) = _
Legality(SUCC((n, T))) =
Condition | Value |
---|---|
T _ | %fatal% |
T = _ | %legal% |
SUCC((n, T) ) = SUCC(*)
Legality(XOR(T, U)) = %legal%