0 | module Control.Function.FunExt
10 | interface FunExt where
11 | funExt : {0 b : a -> Type} -> {0 f, g : (x : a) -> b x} -> ((x : a) -> f x = g x) -> f = g
14 | funExt0 : FunExt => {0 b : a -> Type} -> {0 f, g : (0 x : a) -> b x} -> ((x : a) -> f x = g x) -> f = g
15 | funExt0 prf = rewrite funExt {f = \x => f x} {g = \y => g y} prf in Refl
18 | funExt1 : FunExt => {0 b : a -> Type} -> {0 f, g : (1 x : a) -> b x} -> ((x : a) -> f x = g x) -> f = g
19 | funExt1 prf = rewrite funExt {f = \x => f x} {g = \y => g y} prf in Refl