Documentation

Init.Sym.DSimp.DSimprocDSL

DSimproc DSL for Sym.dsimp #

A syntax category for specifying pre and post dsimproc chains in Sym.dsimp variants.

Primitives #

Combinators #

Do nothing

Instances For

    Evaluate ground (fully concrete) terms.

    Instances For

      Beta reduction

      Instances For

        zeta reduction. That is, expands let-expressions.

        Instances For

          zeta delta reduction. That is, expands all let-declarations.

          Instances For

            Projection reduction.

            Instances For

              match-expression reduction.

              Instances For

                Apply a, then apply b to the result.

                Instances For

                  Try a, if no progress try b.

                  Instances For

                    Parenthesized dsimproc expression.

                    Instances For

                      register_sym_dsimp command #

                      Declares a named Sym.dsimp variant with pre/post simproc chains and optional config overrides.

                      register_sym_dsimp myVariant where
                        pre  := match
                        post := ground >> zeta_delta
                      

                      Pre-processing simproc chain.

                      Instances For

                        Post-processing simproc chain.

                        Instances For

                          Maximum number of simplification steps.

                          Instances For

                            Register a named Sym.dsimp variant.

                            register_sym_dsimp myVariant where
                              pre  := match
                              post := ground >> zeta_delta
                              maxSteps := 50000
                            
                            Instances For