Перевод VDM в Изабель

Я пытаюсь перевести модель VDM на Изабель, но почему-то, что я делаю, не работает

Следующий пример - функция VDM моей модели

    Dot_Move_invariant: Dot * Dot -> bool
Dot_Move_invariant(d1, d2) ==
    d1 < d2 and
    let coordinate_1 = Dot_Coord(d1) in
    let coordinate_2 = Dot_Coord(d2) in
    moving_coordinates_invariant(coordinate_1, coordinate_2);

И следующий пример представляет мою попытку перевести это

  definition
  Dot_Move_invariant:: "Dot⇒Dot⇒"
  where "Dot_Move_invariant d1 d2 ≡ d1 < d2 ∧  let x = (SOME y. y ∈ Dot_Coord d1) in x ∧ let y = (SOME x. x ∈ Dot_Coord d2 ) "

Я получаю ошибку: Внутренняя синтаксическая ошибка⌂ Не удалось разобрать проп

1 ответ

Это может быть следующим:

"Dot_Move_invariant d1 d2 ≡ d1 < d2 ∧ let x = (SOME y. y ∈ Dot_Coord d1) in x ∧ let y = (SOME x. x ∈ Dot_Coord d2 ) in y"

Другие вопросы по тегам