Skip to content

Proposal: add mm0-rs mm1-to-mm0 <input.mm1> [<output.mm0>] [--strip-comments] [--no-inline-imports] #203

Description

@srghma

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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions