
[Oct. 19th, 200305:31 pm]
Jason

Question for the types crowd: Let Δ be the type of functions f : nat > nat such that f(x) <= x. This can be thought of as the infinite product type 1 x 2 x 3 x 4 x ... or a dependent product or whatever you prefer.
Now the idea of having a type operator which is somehow "a thing that takes τ to Δ x exp(τ)" where exp is to be read as, yes, the exponential function, is not such a crazy thing if we think of power series. Say Δ(i) is the "ith truncation" of Δ (i + 1) x (i + 2) x ... So we could say
Δ x exp(τ) = Σ_{i} Δ(i) x τ^{i}
(to reflect the power series exp(x) = 1 + x + x^2/2! + x^3/3! + ...)
Now we also have a nice power series for ln(1x),
1 + x + x^2/2 + x^3 / 3
And moreover ln(1x) = ln(1/(1x)), and α list is a reasonable interpretation of 1/(1α) since it is the type solution of β = 1 + α x β just as 1/(1x) is the solution of y = 1 + xy.
In this way we can come up with a reasonable interpretation in types of Δ x ln(τ list), as
Σ_{i} Δ'(i) x τ^{i}
where Δ'(i) is the infinite product 1 x 2 x 3 x 4 x ... with the ith term absent.
Given all this nonsense, one might therefore hope, by way of handwaving and "algebra", that the type Δ x (Δ x σ > τ list) (where the arrow is the function type constructor, think of it as an exponentiation) might somehow be related to the type Δ x exp(Δ x ln(τ list) x σ)
Ideally by an isomorphism, but I doubt things work out that cleanly. Any ideas how to do this? I have this vague feeling that someone already did this sort of thing in the literature. 

