Documentation

Lean.Elab.Tactic.BVDecide.Frontend.Normalize.Structures

This module contains the implementation of the pre processing pass for automatically splitting up structures containing information about supported types into individual parts recursively.

The implementation runs cases recursively on all "interesting" types where a type is interesting if it is a non recursive structure and at least one of the following conditions hold:

Equations
  • One or more equations did not get rendered due to their size.
Instances For
    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      Equations
      • One or more equations did not get rendered due to their size.
      Instances For
        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          def Lean.Elab.Tactic.BVDecide.Frontend.Normalize.structuresPass.mkDiscrPathFor (struct : Name) (structParams projIdx : Nat) (controlFlow : Name) (controlFlowParams : Nat) :

          For Prod.fst and ite this function creates the path: Prod.fst (ite (Prod _ _) _ _ _ _). This path can be used to match on applications of structure projections onto control flow primitives.

          Equations
          • One or more equations did not get rendered due to their size.
          Instances For