-
文件夹 src/starkware/cairo/lean/setmantics 包含开罗语义的精益形式化,如 自述文件 该目录中的文件。 -
文件夹 src/starkware/cairo/lean/verification公司 包含Python应用程序, 开罗验证.py ,它将普通CairoZero编译器扩展到 成功 校样制作 验证器生成编译代码的精益描述, 源代码的Hoare-style规范,并证明编译的代码符合 与上述执行语义相关的规范。 用户可以添加自己的 规范,证明它们符合规范,然后使用精益验证 编译后的代码也满足其规范。 -
文件夹 src/starkware/cairo/common公司 包含CairoZero核心组件的正式规范 公共图书馆 , 包括数学图书馆和 挤压_剪切() 程序。 它还包含证明这些规范相对于 验证器生成的规范。 -
文件夹 src/starkware/cairo/common/cairo_secp 包含用于检查加密签名的CairoZero代码的正式规范 使用Secp256k1椭圆曲线, 以及证明这些规范相对于规范是正确的 由验证器生成。 具体请参见 规范_恢复_公共密钥 在里面 签名_规格.lean . 您可以在 cairo-lang储存库 . -
文件夹 src/starkware/cairo/common/cairo_secp/验证 包含 签名_recover_public_key.cairo , 其唯一目的是发送 恢复公共密钥 以及它依赖于验证器的代码。 该目录还包含验证器自动生成的所有精益文件。 使用Lean检查这些文件,这些文件导入上一项中的规范,结果是 机器代码的完整验证 恢复公用密钥 达到其高水平 规范。 -
文件夹 src/starkware/cairo/common/secp256r1 包含Secp256r1椭圆曲线操作的形式规范, 以及证明这些规范相对于规范是正确的 由验证器生成。 -
文件夹 精益4 包含到精益4的Cairo语义的端口。 遵循 中的说明 自述文件 在那里归档以使用它们。 我们的验证 精益4的基础设施仍在进行中,这些文件可能会更改。
-
本文描述了我们对Cairo执行轨迹代数编码的验证 Cairo程序执行的验证代数表示 . -
我们的验证工具和用于验证加密签名的CairoZero代码的验证 论文中描述了 区块链应用程序的校对编译器 .
-
我们已经验证了CairoZero公共库中的更多程序,例如 挤压_剪切() 程序。 -
我们已经验证了Secp256r1椭圆曲线的椭圆曲线运算的正确性 新开罗编程语言中使用的。 -
我们使用了 Angdinata和Xu的作品 为了建立椭圆曲线加法定律的结合性,闭合了 第二次出版。
https://leanprover-community.github.io/lean3/get_started.html
精益项目get-mathlib-cache
精益--使*.精益
精益--使*.精益
精益--使*.精益
精益—使signature_spec.lean
精益--使*.精益
精益—使ec_spec.lean
精益--使*.精益