Zed规范:提升并应用多个模式的操作

时间:2017-10-12 01:28:23

标签: specifications formal-languages formal-methods z-notation

specification

我有一个Array架构,可以跟踪Data架构的顺序。通过宣传,我可以宣传Increment操作,以便与Array一起使用。

ArrayIncrement仅增加Array内的一个数据。如何使其在Data中增加每个 \ran data

1 个答案:

答案 0 :(得分:0)

增加所有值的方法的基本障碍是在Promote(最后一行)中使用关系覆盖指定data'中的所有值都映射到与data中相同的值,除了index?--- ArrayIncrement --- | ΔArray --- | dom data = dom data' | ∀ i:dom data; ΔData · | θData = data i ∧ θData' = data' i ∧ Increment ------ 位置。

一种方法是明确地"迭代"关于所有元素的关系:

Promote

在正文的第一行,我们声明域保持不变,没有它,就会有无限的解决方案和其他元素。

在下一行中,我们设置变量来表示特定索引处的前后状态,类似于解决方案<span class="input-group-addon"><span class="glyphicon glyphicon-search"></span> </span> <input id="search" name="search" class="form-control" placeholder="enter your query" type="text" required> 中的第二行。