正如标题所说,我想对序列进行排序(而不是数组,这更容易)。但我遇到了很多问题(例如,不同数据类型之间的转换,因为序列是不可变的)。甚至冒泡排序也无法为我证明。有什么想法吗?
具体来说,目标如下
method sort(a: seq<int>) returns (r: seq<int>)
ensures |a| == |r|
ensures multiset(a) == multiset(r)
ensures forall i,j :: 0 <= i <= j < |r| ==> r[i] <= r[j]
{
// implemetion here
}