Skip to content

Improved mutual induction #155

Description

@Vtec234

Many of the proofs in Syntax.* are by mutual induction, but our mutual_induction tactic does not support any convenience features. The task is to simplify these proof scripts, either by improving the tactic, writing a new one, or using https://github.com/ionathanch/MutualInduction assuming it supports the necessary features.

The ideal tactic might support (see also here and Zulip):

  • Automatic abstraction and reverting of non-variable indices.
  • generalize syntax
  • Multiple goals rather than one big conjunctive goal.
  • Declaring multiple theorems at once in a mutual block, rather than as consequences of one big theorem.

The Lean language reference on mutual inductive types is here.

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

    C-metaComponent: user-facing notation, typechecker, tacticsD-highDifficulty: highI-lowImpact: low

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions