Stupid of me:

> Isn't the code for  mapBox :: forall a. (a -> a) -> Box -> Box
> encoding the proof:
>
>   Assume forall a. a -> a
>   Assume exists a.a
>   unpack the existential, x :: a = T for some T
>   apply f to x, we get (f x) :: a
>   pack into existential,   B (f x) :: exists a.a
>   Discharge first assumption
>   Discharge second assumption
>
> The error must be in step 3. Sorry if this is obvious, it's not to me right 
> now.

The proof outlined is that of (forall a. a -> a) -> Box -> Box, my apologies.
We have to prove a universally quantified formula and that requires
forall-introduction. If someone has the proof in the tip of their
fingers, I'm grateful if you could let me know.
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to