Closed tirix closed 3 years ago
The Metamath book states in Appendix B, Compressed Proofs:
An error message is given if (1) a label in the label list in parentheses does not refer to a previous $p or $a statement or a non-mandatory hypothesis of the statement being proved
Fixed with #28
The (re)generated proofs appear to be longer than the original set.mm proofs probably generated with the Metamath program or MMJ2, so there might be room for improvement, however this is not the scope of this issue.
Do the generated proofs have a ragged right side? MMJ2 is using a knapsack algorithm to optimize the packing of the labels and make them look more "neat", and IIRC metamath.exe copied that implementation.
I'm keeping this issue, which I'd have categorized as a bug, closed, and I'm opening another one for an improvement of the compression algorithm. My answer is on that other thread. (TL;DR yes, there is a knapsack algorithm, but maybe it is limited)
When exporting a compressed proof in MMP format (-e option on the command line), metamath-knife includes the essential hypotheses.
For example, the file generated with
metamath-knife -e syl
includes the following compressed proof:This repeats the essential hypotheses
syl.1
andsyl.2
in the compressed proof.When fed back to metamath-knife, this is not considered as an error. However, the metamath program complains with:
and MMJ2 also complains: