[Haskell-cafe] FOL

Leif Frenzel himself at leiffrenzel.de
Tue Jun 5 04:31:30 EDT 2007


Hi,

> On Tue, 2007-06-05 at 14:41 +1000, Tony Morris wrote:
>> I would like to know if all 16 possible functions that accept two
>> boolean arguments have names in First-Order Logic. I know they have
>> Haskell function names (e.g. \p -> \_ -> id p, \_ -> \_ -> const True),
>> but I'm hoping there is a more general name that is recognised by anyone
>> with a feel for logic, but not necessarily Haskell.
>>
>> I have listed all sixteen of these functions below using Haskell (named
>> a to p) along with the name of those that I am aware of having a name as
>> a comment.
>>
>> Thanks for any tips.
>>
>> {-
>>
>> p q | a b c d e f g h i j k l m n o p
>> 0 0 | 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
>> 0 1 | 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1
>> 1 0 | 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1
>> 1 1 | 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
>>
>> -}
> 
> The best I've been able to come up with is names and connective phrases
> for pronunciation for twelve.  I suspect that not enough people have
> found a use for the others to warrant specific terms.
> 
> In the table below I've listed the twelve with name, phrase and
> corresponding column of your table.  I've expressed the phrases in the
> form "P <phrase> Q" to indicate (rough) pronunciation.
> 
>       Name                        Connective        Table Column
> ----------------------------------------------------------------
> Conjunction                     P and Q                   b
> Inclusive Disjunction           P or Q                    h
> Exclusive Disjunction           P exclusive or Q          g
> Conditional                     P only if Q               n
> Biconditional                   P if and only if Q        j
> Sheffer Stroke                  P stroke (nand) Q         o
> Sheffer Slash                   P slash (nor) Q           i
> Inverse Conditional             P if Q                    l
> Tautology                       True                      p
> Inconsistency                   False                     a
> Negative Conditional            P but not Q               c
> Negative Inverse Conditional    Q but not P               e
> 
> As you can see from the table, Tautology and Inconsistency are rarely if
> ever used as connectives.
> 
> I checked these in Carol Horn Greenstein, _Dictionary of Logical Terms
> and Symbols_, Van Nostrand Reinhold Company, 1978.
There is also a list already in Ludwig Wittgenstein, Tractatus 
Logico-Philosophicus, 5.101, which I think is the 'locus classicus' :-)

Ciao,
Leif


> 
>  -- Bill Wood
> 
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe
> 



More information about the Haskell-Cafe mailing list