[PL-sem-jr] Followup on today's talk
Vasileios Koutavas
vkoutav at ccs.neu.edu
Tue Oct 19 07:08:34 EDT 2004
I took a look at barendregt and understood what Felix was saying:
if sigma_0 = sigma_0 -> sigma_0 (where '=' see wavy-equals)
then the type(s) that satisfy this equasion can type arbitrary lambda
terms.
The thing here is that this equasion is *special*, and by substituting
its r.h.s. with something else breaks the above proposition. For instance
if you do the typings you will see that:
1) non-recursive equations don't work: s_0 = s_1 -> s_2
2) even recursive equations don't work: s_0 = s_1 -> s_0
3) but there are other recursive equations that work (at least for typing
Omega):
s_0 = s_0 -> (s_0 -> s_0)
and more generally:
forall s_1. s_0 = s_0 -> s_1
I don't know if #3 can type arbitrary terms because it can type Omega, and
barendregt's one-line justification of why s_0 = s_0 -> s_0 does, makes me
think that #3 probably doesn't have this power.
fyi barendregt says that s_0 = s_0 -> s_0 types all terms because it is
like a recursive domain equation D = [D -> D].
--Vassilis
More information about the Pl-sem-jr
mailing list