logoalt Hacker News

mjevanslast Saturday at 2:07 AM8 repliesview on HN

I think the question is, how can humans have verification that the problem statement was correctly encoded into that Lean specification?


Replies

ndriscolllast Saturday at 2:20 AM

The problem statement is apparently

> Let C>0 and ϵ>0 be sufficiently small. Are there infinitely many integers a,b,n with a≥ϵn and b≥ϵn such that a!b!∣n!(a+b−n)! and a+b>n+Clogn?

Which seems like it's the type of thing you give as a homework problem to state formally in an intro class.

show 3 replies
johncolanduonilast Saturday at 3:30 AM

They can read the statement, and the definitions that the statement references. If everything it references is in a well-tread part of the Lean library, you can have pretty high confidence in a few minutes of going over the syntax.

saghmlast Saturday at 7:02 AM

Isn't that kind of a general problem with proofs, even when they're written by humans? There's nothing stopping someone from accidentally writing their own Lean proof that has slightly different semantics than an English version of the same proof, or even for their English proof to subtly miss something important or make an incorrect logical leap. This seems like a bit of a double standard, although maybe there's nuance here I'm missing.

show 1 reply
digikatalast Saturday at 11:40 AM

To borrow some definitions from Systems engineering for verification and validation, this question is one of validation. Verification is performed by Lean and spec syntax and logic enforcement. But Validation is a question of is if the Lean spec encodes a true representation of the problem statement (was the right thing specced). Validation at highest levels is probably an irreplaceable human activity.

Also, on the verification side - there could also be a window of failure that Lean itself has a hidden bug in it too. And with automated systems that seek correctness, it is slightly elevated that some missed crack of a bug becomes exploited in the dev-check-dev loop run by the AI.

mrtesthahlast Saturday at 2:17 AM

They probably need to be able to read and understand the lean language.

show 1 reply
threatofrainlast Saturday at 2:47 PM

It’s far easier for Lean because the human has to read very little compared to generating whole programs.

luckydatalast Saturday at 7:11 AM

the same way you verify that any other program compiles? I don't understand the question tbh, it seems self evident.

show 1 reply