Constant | Type |
---|---|
C | :('a -> 'b -> 'c) -> 'b -> 'a -> 'c |
I | :'a -> 'a |
K | :'a -> 'b -> 'a |
S | :('a -> 'b -> 'c) -> ('a -> 'b) -> 'a -> 'c |
W | :('a -> 'a -> 'b) -> 'a -> 'b |
o | :('c -> 'b) -> ('a -> 'c) -> 'a -> 'b |
|- K = (\x y. x)
|- S = (\f g x. f x (g x))
|- I = S K K
|- combin$C = (\f x y. f y x)
|- W = (\f x. f x x)
|- !f g. f o g = (\x. f (g x))
|- !f g x. (f o g) x = f (g x)
|- !f g h. f o g o h = (f o g) o h
|- !x y. K x y = x
|- !f g x. S f g x = f x (g x)
|- !f x y. combin$C f x y = f y x
|- !f x. W f x = f x x
|- !x. I x = x
|- !f. (I o f = f) /\ (f o I = f)