[ Content | View menu ]

S Combinator is Injective, with Proofs

December 5, 2007

By chance, I came upon a blog entry by Masahiro Sakai (酒井政裕) in which he, after reading my short comment “Do you know that the S combinator is injective?”, tried to construct the inverse of S and showed that S⁻¹ ○ S = id in, guess what, Agda!

[More ...] - 5 Comments
Tags: , .

Encoding Inductive and Coinductive Types in Polymorphic Lambda Calculus

July 27, 2007

An indcutive type μF is simulated by forall x . (F x -> x) -> x, while a coinductive type νF is simulatd by exists x . (x -> F x, x). When they coincide, we can build hylomorphisms, but also introduces non-termination into the language.

[More ...] - 0 Comments
Tags: , , .

Substraction not Definable in Simply Typed Lambda Calculus

June 21, 2007

We can even define primitive recursion, only that it does not have the desired type primrec :: (N -> b -> b) -> b -> N -> b. Therefore, predecessor does not get the type pred :: N a -> N a either.

[More ...] - 0 Comments
Tags: , .

S Combinator is Injective

June 19, 2007

Do you know that the S combinator is injective? I have a simple algebraic proof and Nakano actually constructed its inverse.

[More ...] - 0 Comments
Tags: .