writing-lean-profs: eval fixture 从不被编译,其中两个也无法构建
#226的后续. 书面-lean-proofs' eval固定装置被刻意地不编译(evals/README.md':`Fixtures被不编译-不需要Lean工具链'),这是一种合理的默认:所植入的缺陷是结构化的,可以从源头加以审查. 但两个固定装置带有只有编译器才能检查的主张,两者目前都是错误的.
- " 04-结构 " : " 运载-le-one " 指出其战术无法接近的目标
`Evals/case/04-结构/投入/U32Pairs.lean:33-38'
\\x lean 语句 定理携带 le 一(ab:Nat)(h:U32Pair ab):携带b ≤ 1:=由 获得 QQHA, hb = h 只简化 [载, Nat.div le iff le mul add pred,.]
`ha hb: < 2^32'属于上下文,但`简单'清单既不使用,`(a + (b) / 2 ^ 32 → 1'没有它们就是假的-取`a = b = 2^40'。 因此战术不能关闭目标.
这不只是死胖子,它扭曲了主题。 `rubric.md:38-43'对审查员在标出 " 被挤压的终点站 " 时打分。 一位强势的评论家首先说出更重要的事情——"这个证明从不使用界限,因此不能确定目标"——并且可能不会把它单独设定为风格问题,没有达到**更**正确的标准. 而标准要求的固定("设置一个平坦的终端'simp'")也不能关闭目标,因为光"simp"并不参考假说.
2. `04-结构':`mod add carry mul'的前提未经核实
`Evals/case/04-结构/投入/U32Pairs.lean:40-43'
\\\x lean 语句
简便 [载]
欧米加Nat.mod add div'是一个简单的lemma,并且球门形状接近,所以如果simp'直接关闭了球门,文件根本不汇编(mega':"没有目标"). bare-nterminal-simp ' 标准(`rubric.md:45-50')要求审查者标出非terminal simp -- -- 但一项战术是否真正遵循 " simp " 恰恰是不受控制的。
- `05-clean-restrict' 有批评性的代码 标题不屏蔽
`evals/cases/05-clean-restrict/impt/carry.lean:16-20' (中文(简体) ).
载体-零-左 ' /载体-零-右 ' 有附带条件(`hb:b < 2 ^ 32'),必须在每个使用场地排放 " 。 这是可辩护的,而技能本身的深入指导将促使它。 案件是"精心制作的好档案"——其标题保护了终端软体,"显示"行和"rfl" def lemma",但不是这个. 技能-武器审查,使其在实质上有可能被法官解读为"制造出一份风格违规清单"和失败的"全面核查".
建议改正
按`evals/README.md'自己的规则——* 固定,而不是标题*:
- [ 将所有5个立案装置逐个拼接起来 与被钉住的Mathlib对齐 并纠正那些无法构建的东西 一发 " lake env lei " 通行证,而不是套房对工具链的依赖。
- [ 使
一号'实际上能够从ha'/`hb'得到证明,同时使被挤压的-地心-缺陷保持不变。 - 确认
mod add carry mul'的imp [carry]'确实为`omega'留下了目标。 - [ 增加一个 . . . . . . .
内容来源: trailofbits/skills