Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!seismo!ut-sally!husc6!bloom-beacon!gatech!psuvax1!okunewck From: okunewck@psuvax1.psu.edu (Philip E. OKunewick) Newsgroups: comp.lang.c,rec.humor Subject: Re: what "cast" means Message-ID: <2817@psuvax1.psu.edu> Date: Thu, 6-Aug-87 01:23:39 EDT Article-I.D.: psuvax1.2817 Posted: Thu Aug 6 01:23:39 1987 Date-Received: Sat, 8-Aug-87 10:44:55 EDT References: <263@auvax.UUCP> <1987Jul9.162103.1701@sq.uucp> <243@wrs.UUCP> Reply-To: okunewck@psuvax1.psu.edu (The DUCK) Organization: Random, at best Lines: 65 Xref: mnetor comp.lang.c:3503 rec.humor:6269 In article <243@wrs.UUCP> dg@wrs.UUCP (David Goodenough) writes: >In article <1987Jul9.162103.1701@sq.uucp> msb@sq.UUCP (Mark Brader) writes: >>Mark Brader "Not looking like Pascal is not a language deficiency!" >>utzoo!sq!msb -- Doug Gwyn > >does this mean that "looking like Pascal is a language deficiency!" :-) > dg@wrs.UUCP - David Goodenough No. We can simplify this into a mathematical proof: ( ! = logical not; ] = logical implication; ^ = logical or ) We have two basic postulates here: 1: (looking like pascal) (l.l.p) 2: (a language deficiency) (a l.d.) The first statement can be written as: !(!(looking like pascal) ] (a language deficency)) The second statement can be written as: (looking like pascal) ] (a language deficency) Putting it together, we get: !((!(l.l.p.) ] (a l.d.)) ] ((l.l.p.) ] (a l.d.)) Now, if this is the case, then we should expect: ( !(!(l.l.p.) ] (a l.d.)) ] ((l.l.p.) ] (a l.d.)) ) = 1 replace the implication thusly: ( A ] B = !A ^ B ) (do a truth table - it works.) ( !( !(!(l.l.p.)) ^ (a l.d.) ) ^ (!(l.l.p.) ^ (a l.d.)) ) = 1 get rid of the double negation there... ( !( (l.l.p.) ^ (a l.d.) ) ^ (!(l.l.p.) ^ (a l.d.)) ) = 1 Now we're ready to boogie. If the implication were correct, then we should get a true result in 4 cases: 1: Neither looks like pascal, nor is deficient (l.l.p. = 0, a l.d. = 0) ( !( (0) ^ (0) ) ^ (!(0) ^ (0)) ) = 1 2: Doesn't look like pascal, but is deficient (l.l.p. = 0, a l.d. = 1) ( !( (0) ^ (1) ) ^ (!(0) ^ (1)) ) = 1 3: Looks like pascal but is not deficient (l.l.p. = 1, a l.d. = 0) ( !( (1) ^ (0) ) ^ (!(1) ^ (0)) ) = 1 4: Looks like pascal and is deficient too (l.l.p. = 1, a l.d. = 1) ( !( (1) ^ (1) ) ^ (!(1) ^ (1)) ) = 1 Simply each case: 1: ( !(0^0) ^ (1^0) ) = 1 (1^1) = 1 TRUE 2: ( !(0^1) ^ (1^1) ) = 1 (0^1) = 1 TRUE 3: ( !(1^0) ^ (0^0) ) = 1 (0^0) = 1 FALSE 4: ( !(1^1) ^ (0^1) ) = 1 (0^1) = 1 TRUE So, as anybody can clearly see, one can not deduce "looking like Pascal is a language deficiency," from the postulate "Not looking like Pascal is not a language deficiency". However, by the same logic, just because a language looks like Pascal does not mean that it has major deficiencies. Didja ever try to hack in PL/I? ---Duck P.S. Fun things to tell all your friends: A B !A A ] B !A ^ B 0 0 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 0 1 1