Documentation

Mathlib.Logic.Function.OfArity

Function types of a given arity #

This provides FunctionOfArity, such that OfArity α β 2 = α → α → β. Note that it is often preferable to use (Fin n → α) → β in place of OfArity n α β.

Main definitions #

def Function.OfArity (α : Type u) (β : Type u) :
Type u

The type of n-ary functions α → α → ... → β.

Note that this is not universe polymorphic, as this would require that when n=0 we produce either Unit → β or ULift β.

Equations
Instances For
    @[simp]
    theorem Function.ofArity_zero (α : Type u) (β : Type u) :
    Function.OfArity α β 0 = β
    @[simp]
    theorem Function.ofArity_succ (α : Type u) (β : Type u) (n : ) :
    Function.OfArity α β (Nat.succ n) = (αFunction.OfArity α β n)
    def Function.OfArity.const (α : Type u) {β : Type u} (b : β) (n : ) :

    Constant n-ary function with value a.

    Equations
    Instances For
      @[simp]
      theorem Function.OfArity.const_zero (α : Type u) {β : Type u} (b : β) :
      @[simp]
      theorem Function.OfArity.const_succ (α : Type u) {β : Type u} (b : β) (n : ) :
      theorem Function.OfArity.const_succ_apply (α : Type u) {β : Type u} (b : β) (n : ) (x : α) :
      instance Function.OfArity.OfArity.inhabited {α : Type u_1} {β : Type u_1} {n : } [Inhabited β] :
      Equations