Idris2/libs/base/Control/Function/FunExt.idr
Denis Buzdalov f46483106f [ base ] Add a function extensionality interface
Its purpose is to be able to formulate unversally properties which
were true if function extensionality was present in the type system
2022-04-01 11:44:37 +01:00

12 lines
498 B
Idris

module Control.Function.FunExt
%default total
||| This interface contains a proposition for the function extensionality.
||| It is not meant to be ever implemented.
||| It can be used to mark properties as requiring function extensionality to hold,
||| i.e. its main objective is to provide a universal way to formulate a conditional property
||| that holds only in the presence of function extensionality.
interface FunExt where
0 funExt : {0 f, g : a -> b} -> ((x : a) -> f x = g x) -> f = g