
(* different relations *)

module M

  use int.Int

  predicate rel int int

  let rec even (x:int) : int variant {x with rel} =
    odd (x-1)
  with odd (x:int) : int variant {x} =
    even (x-1)

end
