[Haskell-cafe] forall & ST monad
Kim-Ee Yeoh
a.biurvOir4 at asuhan.com
Wed Feb 25 13:18:45 EST 2009
Heinrich Apfelmus wrote:
>
> Now,
>
> (forall a. T[a]) -> S
>
> is clearly true while
>
> exists a. (T[a] -> S)
>
> should be nonsense: having one example of a marble that is either red or
> blue does in no way imply that all of them are, at least constructively.
> (It is true classically, but I forgot the name of the corresponding
> theorem.)
>
For the record, allow me to redress my earlier erroneous
assertion by furnishing the proof for the classical case:
(forall a. T(a)) -> S
= not (forall a. T(a)) or S, by defn of implication
= not $ (forall a. T(a)) and (not S), by de Morgan's
= not $ forall a. T(a) and (not S), product rule???
= exists a. not (T(a)) or S, de Morgan's again
= exists a. T(a) -> S, by defn of implication
The only wrinkle is obviously in the logical "and"
of (not S) distributing under the universal quantifier.
--
View this message in context: http://www.nabble.com/forall---ST-monad-tp22024677p22208626.html
Sent from the Haskell - Haskell-Cafe mailing list archive at Nabble.com.
More information about the Haskell-Cafe
mailing list