я новичок в Alloy, и есть ошибка, из-за которой моя программа не может выполняться или отображаться. Ошибка у меня есть
Произошла синтаксическая ошибка: необходимо указать область действия для «это/имя».
Мой код
module language/Family
sig Name { }
abstract sig Person {
name: one Name,
siblings: Person,
father: lone Man,
mother: lone Woman
}
sig Man extends Person {
wife: lone Woman
}
sig Woman extends Person {
husband: lone Man
}
sig Married extends Person {
}
fact {
no p: Person | p in p.^(mother + father)
wife = ~husband
}
fun grandpas[p: Person] : set Person {
let parent = mother + father + father.wife + mother.husband | p.parent.parent & Man
}
pred ownGrandpa[p: Person] {
p in grandpas[p]
}
Это мои команды запуска
run ownGrandpa for 4 Person
run ownGrandpa for 2 Person
run ownGrandpa for 1 Person
Может ли кто-нибудь указать мне на эту ошибку, пожалуйста.