Documentation

Lean.Elab.Tactic.BVDecide.Frontend.Normalize.Basic

This module contains the basic preprocessing pipeline framework for bv_normalize.

Contains the result of the type analysis to be used in the structures and enums pass.

  • interestingStructures : Std.HashSet Name

    Structures that are interesting for the structures pass.

  • interestingEnums : Std.HashSet Name

    Inductives enums that are interesting for the enums pass.

  • uninteresting : Std.HashSet Name

    Other types that we've seen that are not interesting, currently only used as a cache.

Instances For
    • rewriteCache : Std.HashSet FVarId

      Contains FVarId that we already know are in bv_normalize simp normal form and thus don't need to be processed again when we visit the next time.

    • typeAnalysis : TypeAnalysis

      Analysis results for the structure and enum pass if required.

    Instances For
      @[reducible, inline]
      Equations
      • One or more equations did not get rendered due to their size.
      Instances For
        @[inline]
        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          @[inline]
          Equations
          • One or more equations did not get rendered due to their size.
          Instances For
            @[inline]
            Equations
            • One or more equations did not get rendered due to their size.
            Instances For
              @[inline]
              Equations
              • One or more equations did not get rendered due to their size.
              Instances For
                @[inline]
                Equations
                • One or more equations did not get rendered due to their size.
                Instances For
                  @[inline]
                  Equations
                  • One or more equations did not get rendered due to their size.
                  Instances For
                    @[inline]
                    Equations
                    • One or more equations did not get rendered due to their size.
                    Instances For

                      A pass in the normalization pipeline. Takes the current goal and produces a refined one or closes the goal fully, indicated by returning none.

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

                          Repeatedly run a list of Pass until they either close the goal or an iteration doesn't change the goal anymore.