Я новичок в Alloy (язык спецификаций) и мне нужно проделать дополнительную работу, основываясь на тематическом исследовании, которое можно найти здесь (код на странице 5). Соответствующий код:
open util/ordering[Time] as T0
pred Eavesdropping() {
some pro:Process | some m:Protected_Msg |
some t: (Time - T0/last) - T0/prev[T0/last] | let t' = T0/t.next |
let t'' = T0/t'.next | !HasReadAccess[pro,m] && (m->t in pro.knows)
&& (m.contents->t not in pro.knows) && (m.contents->t'' in
pro.knows) && IsUnique(m.contents) }
После исправления некоторого синтаксиса я получаю это сообщение об ошибке: «Это выражение не было проверено на наличие типов», и оно выделяет t'
в let t' = T0/t.next
. Как мне проверить тип t'
?