Some here may be interested in a bug I found in metamath-exe. The underlying issue is a missing overflow check, which I've now reported on GitHub, but one fun consequence is that it can produce false proofs that successfully validate. In particular, the attached file evil.mm contains a "valid" proof of |- ph, assuming nothing but a wff ph hypothesis. The setup is OS-dependent, and I've only tested it to work on my x86-64 Ubuntu 24.04 LTS machine, but it likely works as written on other 64-bit glibc-based Linux distros.
$ cat evil.mmThat is to say, multiple separate implementations really are important if you want to confidently verify a database file. In comparison, mmverify.py is written in Python, which has no integer overflows; metamath-knife explicitly checks for overflow; and mmj2 is similarly missing an overflow check, but at worst it can only create a disguised ? step or premature end-of-proof.
I'm now somewhat curious, have there been similar bugs in the past, affecting verification in metamath-exe or other implementations?
Matthew House