Documentation

Lean.Meta.IndPredBelow

The context used in the creation of the below scheme for inductive predicates.

Instances For

    Collection of variables used to keep track of the positions of binders in the construction of below motives and constructors.

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

      Collection of variables used to keep track of the local context used in the brecOn proof.

      Instances For
        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          def Lean.Meta.IndPredBelow.mkCtorType (ctx : Context) (belowIdx : Nat) (originalCtor : ConstructorVal) :
          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
                  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

                      Given a constructor name, find the indices of the corresponding below version thereof.

                      Equations
                      • One or more equations did not get rendered due to their size.
                      Instances For
                        def Lean.Meta.IndPredBelow.mkBelowMatcher (matcherApp : MatcherApp) (belowMotive below : Expr) (idx : Nat) :

                        This function adds an additional below discriminant to a matcher application. It is used for modifying the patterns, such that the structural recursion can use the new below predicate instead of the original one and thus be used prove structural recursion.

                        It takes as parameters:

                        • matcherApp: a matcher application
                        • belowMotive: the motive, that the below type should carry
                        • below: an expression from the local context that is the below version of a predicate and can be used for structural recursion
                        • idx: the index of the original predicate discriminant.

                        It returns:

                        • A matcher application as an expression
                        • A side-effect for adding the matcher to the environment
                        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

                            Generates the auxiliary lemmas below and brecOn for a recursive inductive predicate. The current generator doesn't support nested predicates, but pattern-matching on them still works thanks to well-founded recursion.

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