矩阵的不变式与类型推断
在处理迭代多维数组(如矩阵)的程序时,自动推断量化不变式是一个重要的问题。下面将详细介绍相关的方法、实现以及实验结果。
1. 循环不变式和属性的生成
对于循环,我们在标量、数组和未解释函数符号的组合理论中推断循环不变式和属性。具体步骤如下:
- 标量不变式生成 :
- 构建标量关于循环迭代计数器 m 的递归方程。
- 计算标量作为 m 的函数的封闭形式。
- 从封闭形式系统中消除 m 中的变量,从而推断出循环多项式不变式理想的生成元。
例如,对于图 3 中的第二个内循环,其封闭形式系统为:
i(m) = i(0) + m
j(m) = j(0) + m
消除 m 并代入初始值 i(0) = j(0) = 0 后,得到多项式不变式 i = j 。同样,图 3 中的第一个循环得到标量不变式 i = j + c ,第三个循环得到标量不变式 j = i + c 。
- 多维数组不变式生成 :
我们将相关方法推广到推断量化数组不变式。仅处理形式为特定条件(这里提到的形式 (6) 且A∈WMatr)的数组赋值。为了推断关于
超级会员免费看
订阅专栏 解锁全文
1100

被折叠的 条评论
为什么被折叠?



