VDM to Isabelle translation

192 Views Asked by At

I am trying to translate a VDM model to Isabelle, but for some reason, what I do, do not work

The following sample is a VDM function of my model

    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);

And the following sample represents my attempt to translate it

  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 ) "

The error I get is: Inner syntax error⌂ Failed to parse prop

1

There are 1 best solutions below

0
On

It might be following:

"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"