While it is possible to define arrays, it is not possible to access elements of arrays. Also, the nary AND and nary OR do not work as expected for arrays.
Example:
Legal mbedder.formal SMV:
MODULE main {
VAR {
x : array 0..5 of boolean;
}
DEFINE {
y := [TRUE, TRUE, TRUE, TRUE, TRUE, TRUE];
}
LTLSPEC x = y;
LTLSPEC [& x ] = TRUE;
}
Generated is the following plain SMV, which leads to a "TYPE ERROR file system.smv: line 7 : illegal operand types of "=" : array 0..5 of boolean and boolean; ERROR: Property "x = TRUE" is not correct or not well typed.":
MODULE main
VAR
x : array 0..5 of boolean;
DEFINE
y := [TRUE, TRUE, TRUE, TRUE, TRUE, TRUE];
LTLSPEC x = y
LTLSPEC x = TRUE