Documentation

Mathlib.Tactic.FunProp.Mor

funProp Meta programming functions like in Lean.Expr.* but for working with bundled morphisms. #

Function application in normal lean expression looks like .app f x but when we work with bundled morphism f it looks like .app (.app coe f) x where f. In mathlib coe is usually DFunLike.coe but it can be any coercion that is registered with the coe attribute.

The main difference when working with expression involving morphisms is that the notion the head of expression changes. For example in:

  coe (f a) b

the head of expression is considered to be f and not coe.

@[reducible, inline]
abbrev Mathlib.Meta.FunProp.Forall {α : Sort u_1} (p : αSort u_2) :
Sort (imax u_1 u_2)

An abbreviation of ∀ x, p x. It is used by fun_prop to represent Pi types as function applications and should not occur in any place other than the implementation of fun_prop.

Equations
    Instances For

      Is name a coercion from some function space to functions?

      Equations
        Instances For

          Is e a coercion from some function space to functions?

          Equations
            Instances For

              Morphism application

              Instances For

                Is e morphism application?

                Equations
                  Instances For

                    Weak normal head form of an expression involving morphism applications. Additionally, pred can specify which when to unfold definitions.

                    For example calling this on coe (f a) b will put f in weak normal head form instead of coe.

                    Weak normal head form of an expression involving morphism applications.

                    For example calling this on coe (f a) b will put f in weak normal head form instead of coe.

                    Equations
                      Instances For

                        Argument of morphism application that stores corresponding coercion if necessary

                        Instances For

                          Morphism application

                          Equations
                            Instances For

                              Given e = f a₁ a₂ ... aₙ, returns k f #[a₁, ..., aₙ] where f can be bundled morphism.

                              ∀ x, p x is represented as Forall p.

                              Equations
                                Instances For

                                  If the given expression is a sequence of morphism applications f a₁ .. aₙ, return f. Otherwise return the input expression.

                                  Equations
                                    Instances For

                                      Given f a₁ a₂ ... aₙ, returns #[a₁, ..., aₙ] where f can be bundled morphism.

                                      Equations
                                        Instances For

                                          mkAppN f #[a₀, ..., aₙ] ==> f a₀ a₁ .. aₙ where f can be bundled morphism.

                                          Equations
                                            Instances For