【发布时间】:2021-03-22 19:10:57
【问题描述】:
我不是 SPARK 的用户。我只是想了解语言的功能。
是否可以使用 SPARK 来证明,例如,Quicksort 实际上对给它的数组进行了排序?
(希望看到一个例子,假设这很简单)
【问题讨论】:
标签: ada formal-verification spark-ada spark-2014
我不是 SPARK 的用户。我只是想了解语言的功能。
是否可以使用 SPARK 来证明,例如,Quicksort 实际上对给它的数组进行了排序?
(希望看到一个例子,假设这很简单)
【问题讨论】:
标签: ada formal-verification spark-ada spark-2014
是的,它可以,虽然我不是特别擅长 SPARK 证明(目前)。以下是快速排序的工作原理:
0或1,那么你是排序的;如果2 然后检查并可能更正排序并对其进行排序;否则继续。Less – 与Greater 分区中的第一项交换。Greater – 空操作。Equal — 与Less 的第一项交换,与Greater 的第一项交换。Less 和Greater 分区。Less & Equal & Greater,如果过程将 in out 输入重新排列到该顺序。以下是你做事的方式:
0 和 1 案例为真,2 项目的处理能力,(L,E,G),它们是小于/等于/大于枢轴的元素的计数[这可能是一个幽灵子程序],L+E+G 等于您的集合的长度,(L,E,G)元组,输出符合L小于枢轴的项目,然后是E相等的项目,然后是G项目更大。应该这样做。 [IIUC]
【讨论】: