в моей программе есть предикат sorted
.
forall i,j :: 0<=i<j<a.Length ==> a[i]<a[j]
Я думаю, что просто проверка <
вместо <=
позволяет избежать дублирования в массиве, но в любом случае я хочу иметь предикат, который позволяет избежатьдупликации.Я использовал отсортированный предикат, но проверка на неравенство
forall i,j :: 0<=i<j<a.Length ==> a[i]!=a[j]
, есть ли лучший способ сделать это, с помощью других ключевых слов in
или exist
или match
, может быть, если он не устарел?