NL认证

nlcertificate:一个形式化非线性优化工具。nlcertificate是一个处理涉及超越多元函数的非线性不等式的形式化证明的软件包。该工具利用稀疏半代数优化技术和超越函数的近似方法,以及形式特征。给定一个K框和一个函数f作为输入,nlcertificate提供了OCaml库,这些库为f over K生成非负性证书,最终可以在Coq proof助手中被证明是正确的。形式非线性推理领域的一个具体挑战是开发自适应技术以降低复杂度来生成证书。软件首先建立了f的抽象语法树t,t的叶是由多项式组合而成的半代数函数(包括平方根、sup、inf、+、x、、/)等。其他节点可以是单变量超越函数(arctan、cos、exp等)或基本运算。nlcertificate用半代数估计的平均值来近似t,并提供t在K上的上下界。当t表示多项式时,该工具通过与外部SDPA解算器的接口,使用半定(SDP)松弛层次计算t的上下界。通过实现Lasserre-Putinar提升策略,可以直接扩展到半代数情况。用户可以选择用最佳一致(或极大极小)多项式和maxplus估计量来逼近超越函数。一元minimax多项式是通过与Sollya环境的接口来提供的,其中实现了Remez设计的迭代算法。或者,maxplus方法使用二次型的凹极大值(resp.凸中缀)构建下(resp.upper)估计量。通过这种方式,nlcertificate通过语法树t上的归纳法从原始函数的近似值计算出经过认证的全局估计量。这些不同的近似和优化算法被放在一个统一的框架中,扩展到大约15000行OCaml代码和3600行Coq代码。nlcertificate包成功地解决了Flyspeck项目中的非平凡不等式(本质上是紧不等式,涉及612个变量的半代数和超越表达式)以及重要的全局优化基准。