[HN Gopher] Computers and Automata (1953)
       ___________________________________________________________________
        
       Computers and Automata (1953)
        
       Author : BerislavLopac
       Score  : 63 points
       Date   : 2023-07-12 15:00 UTC (8 hours ago)
        
 (HTM) web link (fermatslibrary.com)
 (TXT) w3m dump (fermatslibrary.com)
        
       | haskellandchill wrote:
       | Does anyone know how to find the paper cited in the section on
       | Logic Machines?
       | 
       | McCallum D. B. and Smith J. B.. Mechanized reasoning--logical
       | computers and their design.
       | 
       | I can only find a review of it. This is an area of interest for
       | me as I want to design educational logic machines to teach
       | proofs.
        
         | hedora wrote:
         | This is the back matter, which seems to be a Table of Contents:
         | 
         | https://annas-archive.org/md5/c50b9ec404b79e6a7d6ad77e9ef55f...
         | 
         | Front matter:
         | 
         | https://annas-archive.org/md5/e9080f059fa914cc7ae31e2790b267...
        
         | Eisenstein wrote:
         | Unfortunately I can only access volumes of 'Electronic
         | Engineering' starting with Vol. 30, and the one you want is 23.
        
         | _a_a_a_ wrote:
         | https://aslonline.org/journals/the-journal-of-symbolic-logic...
         | 
         | Contact them and ask
        
       | _a_a_a_ wrote:
       | Take a look at the abomination of HTML on that page. All 7
       | megabytes of it.
        
         | hedora wrote:
         | PDF version:
         | 
         | https://webmuseum.mit.edu/files/2007.030.010-ref1.pdf
        
       | _a_a_a_ wrote:
       | "It is known that salesmen always tell the truth and engi- neers
       | always tell lies. G and E are salesmen. C states that D is an
       | engineer. A declares that B affirms that C asserts that D says
       | that E insists that F denies that G is a sales- man. If A is an
       | engineer, how many engineers are there?"
       | 
       | Now that is a curious puzzle in the sense that I can't think how
       | to express it in Prolog. You'd need to assert the truth of
       | assertions which implies quantifying over assertions, and Prolog
       | doesn't allow that. I'm sure I'm making this much more complex
       | than it need be, there has to be a much more straightforward way,
       | any ideas please?
        
         | triska wrote:
         | The article suggests using Boolean logic, so let's apply it:
         | One way to solve this is to introduce a Boolean variable for
         | each of A,...,G, and to use 1 to denote that a statement is
         | true, and also to denote that the corresponding person tells
         | the truth. It then remains to relate the truth of each
         | statement to the truthfulness of the person making the
         | statement.
         | 
         | In Prolog, we can express these relations with CLP(B),
         | constraint logic programming over Boolean variables:
         | ?- use_module(library(clpb)).            true.         ?-
         | sat(G),            sat(E),            sat(C =:= ~D),
         | sat(A =:= (B =:= (C =:= (D =:= (E =:= (F =:= ~G)))))),
         | sat(~A),            labeling([A,B,C,D,E,F,G]).
         | 
         | Yielding 4 solutions that satisfy all constraints:
         | G = 1, E = 1, C = 0, D = 1, A = 0, B = 0, F = 1         ;  G =
         | 1, E = 1, C = 0, D = 1, A = 0, B = 1, F = 0         ;  G = 1, E
         | = 1, C = 1, D = 0, A = 0, B = 0, F = 1         ;  G = 1, E = 1,
         | C = 1, D = 0, A = 0, B = 1, F = 0.
         | 
         | From this, it is clear that there are 3 engineers, in all
         | possible situations consistent with the description.
         | 
         | If we omit the labeling/1 goal which enumerates all solutions,
         | then we get a symbolic representation of all remaining
         | constraints:                   G = 1, E = 1, A = 0,
         | clpb:sat(C=:=D#B#F), clpb:sat(C=\=D).
         | 
         | From this, it is clear that there are at least 2 engineers in
         | every solution: A (as stated in the description of the puzzle),
         | and either C or D (but not both).
         | 
         | Tested with Scryer Prolog.
        
       ___________________________________________________________________
       (page generated 2023-07-12 23:01 UTC)