Problem:
mm0 files are often go out of sync with mm1. E.g. if user adds new pub theorem or a comment (and wants this comment to be in mm0), etc
Solution:
instead of putting .mm0 and .mm1 on equal footing; lets think from now on about .mm1 files as a source of truth, and all other files .mm0, .mmb, .mmu - derived from it
lets add command:
mm0-rs mm1-to-mm0 <input.mm1> [<output.mm0>] [--strip-comments] [--no-inline-imports]
Here I have already implemented MVP and regenerated mm0 files (can see the difference)
$ ./mm0-rs/target/release/mm0-rs mm1-to-mm0 --help
Command line arguments for `mm0-rs mm1-to-mm0` subcommand
Usage: mm0-rs mm1-to-mm0 [OPTIONS] <INPUT> [OUTPUT]
Arguments:
<INPUT> Sets the input file (.mm1)
[OUTPUT] Sets the output file (.mm0), or defaults to same path as input with .mm0 extension if omitted
Options:
--strip-comments Strip comments from the output
--no-inline-imports Do not inline imports. If you use this, you probably want to use the `join` command later to inline the imports, since conforming MM0 verifiers (like `mm0-c`) do not support `import` statements
-h, --help Print help
Problem:
mm0 files are often go out of sync with mm1. E.g. if user adds new
pub theoremor a comment (and wants this comment to be in mm0), etcSolution:
instead of putting
.mm0and.mm1on equal footing; lets think from now on about.mm1files as a source of truth, and all other files.mm0,.mmb,.mmu- derived from itlets add command:
Here I have already implemented MVP and regenerated
mm0files (can see the difference)