Редактирование: ВПнМ, примеры задач/Задача 5

Материал из eSyr's wiki.

Перейти к: навигация, поиск

Внимание: Вы не представились системе. Ваш IP-адрес будет записан в историю изменений этой страницы.

Правка может быть отменена. Пожалуйста, просмотрите сравнение версий, чтобы убедиться, что это именно те изменения, которые вас интересуют, и нажмите «Записать страницу», чтобы изменения вступили в силу.

Текущая версия Ваш текст
Строка 58: Строка 58:
событие 'процесс q находится на метке received' наступает ровно один раз
событие 'процесс q находится на метке received' наступает ровно один раз
-
#define a "state == enter_critical"
+
#define S "state == enter_critical"
-
#define b Q@received
+
#define Q Q@received
-
[]( a -> ( <>b && [](b -> X[]!b) ) )
+
[](S -> (<>Q && [](Q -> X([]!Q))))
 +
 
 +
al-indigo:
 +
меня мучают особые сомнения, но кажется, так?
 +
!S | [](<>S -> (Q -> X([]!Q)))
 +
 
 +
Авварон:
 +
Нет, оригинал был правильный. 2я формула вообще инвертированная по-моему + напрягает !S в начале
 +
 
 +
al-indigo:
 +
!S в начале -- я имел в виду случай, когда state==enter_critical вообще не наступает. В самой формуле я, может, ошибся, но вообще я вот сейчас смотрю, и вроде, мне кажется, что правильно. Ну то есть так примерно: "Либо S не наступает никогда, либо, если S когда-нибудь наступает, то всегда выполняется то, что Q наступает, и если оно наступает, что начиная со следующего состояния всегда !Q". Или я не так это читаю?
 +
 
 +
Авварон:
 +
!S напрягло, ибо нет квантора времени. Если написать []!S, то этот случай будет включен в S->
 +
у тебя формула проверяет ДО наступления S (ибо <>S возвращает True независимо от того, есть ли сейчас S (а от того, что оно будет). Это я подразумевал под инвертированностью. <> Надо убрать и думать дальше. Без <> импликация теряет свойство "продолжительности" - значит надо пофиксить это добавлением [] в правую ее часть. Плюс у тебя не учтено что Q наступит.
 +
 
 +
Итого:
 +
#define A "state == enter_critical"
 +
#define B Q@received
 +
 
 +
[]( A -> ( <>B && [](B -> X[]!B) ) )
Если в условие задачи добавить инвариантность к прореживанию, то решение будет выглядеть так:
Если в условие задачи добавить инвариантность к прореживанию, то решение будет выглядеть так:

Пожалуйста, обратите внимание, что все ваши добавления могут быть отредактированы или удалены другими участниками. Если вы не хотите, чтобы кто-либо изменял ваши тексты, не помещайте их сюда.
Вы также подтверждаете, что являетесь автором вносимых дополнений, или скопировали их из источника, допускающего свободное распространение и изменение своего содержимого (см. eSyr's_wiki:Авторское право).
НЕ РАЗМЕЩАЙТЕ БЕЗ РАЗРЕШЕНИЯ ОХРАНЯЕМЫЕ АВТОРСКИМ ПРАВОМ МАТЕРИАЛЫ!

Шаблоны, использованные на этой странице:

Личные инструменты
Разделы