Be aware that LTSA is fickle and will sometimes choose to create different LTSs for FSP specifications that semantically are the same. A very perceptive student discovered this and sent me an e-mail pointing out that this FSP specification:
const N = 1 SUM = (in[a:0..N][b:0..N] -> out[a+b] -> SUM).
produces the following LTS:
While this FSP specification:
const N = 1 SUM = (in[a:0..N][b:0..N] -> TOTAL[a+b]), TOTAL[s:0..2*N] = (out[s] -> SUM).
produces the following LTS:
Despite the different structure of the two LTSs, note that their alphabets are equivalent and the produce the same set of traces. As a resul, they are semantically equal and you should not worry about the fact that these two specifications produce slightly different LTSs.
Note: I am curious too, so I've sent a message to the two Jeffs
and I'll be sure to post any response I get from them concerning this issue.