Module docstring
{}
{}
Function.curry
definition
: (α × β → φ) → α → β → φ
Function.uncurry
definition
: (α → β → φ) → α × β → φ
/--
Transforms a two-parameter function into an equivalent function from pairs.
Examples:
* `Function.uncurry List.drop (1, ["a", "b", "c"]) = ["b", "c"]`
* `[("orange", 2), ("android", 3) ].map (Function.uncurry String.take) = ["or", "and"]`
-/
@[inline]
def uncurry : (α → β → φ) → α × β → φ := fun f a => f a.1 a.2
Function.curry_uncurry
theorem
(f : α → β → φ) : curry (uncurry f) = f
@[simp]
theorem curry_uncurry (f : α → β → φ) : curry (uncurry f) = f :=
rfl
Function.uncurry_curry
theorem
(f : α × β → φ) : uncurry (curry f) = f
Function.uncurry_apply_pair
theorem
{α β γ} (f : α → β → γ) (x : α) (y : β) : uncurry f (x, y) = f x y
@[simp]
theorem uncurry_apply_pair {α β γ} (f : α → β → γ) (x : α) (y : β) : uncurry f (x, y) = f x y :=
rfl
Function.curry_apply
theorem
{α β γ} (f : α × β → γ) (x : α) (y : β) : curry f x y = f (x, y)
@[simp]
theorem curry_apply {α β γ} (f : α × β → γ) (x : α) (y : β) : curry f x y = f (x, y) :=
rfl