Trailing-Edge - PDP-10 Archives - decuslib10-06 - 43,50442/venn.doc
There are 2 other files named venn.doc in the archive. Click here to see a list.


                      VENN: A Generative Program for
          Computer-assisted Instruction in Syllogistic Reasoning

                            by Dr. Walter Maner
                         Department of Philosophy
                          Old Dominion University
                             Norfolk, VA 23508


          VENN  is  a  instructional   program   which,   through
          generative  routines,  is  able  to  provide  virtually
          inexhaustible resources for computer-assisted  practice
          in  traditional  syllogistic  reasoning.   The  program
          creates interesting and  original  syllogisms  for  the
          student  to analyze, and thereafter checks his analysis
          for  accuracy,  providing  help  messages  and  default
          responses to simplify his task.  An arbitrary degree of
          learner control can be  exercised,  overriding  program
          defaults, permitting the use of VENN to check homework.
          A choice of interpretations (Aristotelian  or  Boolean)
          is  offered,  Venn diagrams are  drawn and checked, and
          semantic heuristics provide  counterexamples  to  about
          two-thirds of all invalid syllogisms.

          KEYWORDS:  VENN,  computer-aided  instruction,  problem
          solving,  logic,  heuristic,  artificial  intelligence,
          CAI, generative, SIMULA, syllogism, PDP-10
VENN.DOC 1 August 1977 (Version 1)                                   Page 2


                      VENN: A Generative Program for
          Computer-assisted Instruction in Syllogistic Reasoning


     VENN[1] is a program which, through generative routines,  is  able  to
provide virtually inexhaustible resources for computer-assisted practice in
traditional syllogistic reasoning.  Such reasoning involves  the  inference
of  one  proposition  (the  conclusion  of  the  syllogism)  from two other
propositions (the major and minor premises).  Each premise  is  constructed
in  such  a way that it has one category term in common with the conclusion
and another in common with the other premise.   Each  proposition  contains
exactly  two  terms,  linked  by "are" or "are not," and the first of these
terms is preceded by "all," "no," or "some." For as  long  as  the  student
wishes  to  work,  VENN will create interesting and original syllogisms for
him to analyze in detail, e.g.,


The effect is the same as if the program were picking them at random from a
database   containing   some  twenty-seven  million  different  syllogistic

     In the course of generating the syllogism, VENN analyzes the  argument
internally  to  determine  (among other things) its mood, figure, validity,
diagrammatic representation, and--if invalid--the exact reason(s)  for  its
invalidity.  It then queries the student on each of these points, providing
brief help messages and default responses to simplify his interaction  with
the program.

     Twice during the execution  of  the  program,  a  summary  of  correct
answers  to  previous questions is displayed, but this normally occurs only
after the student has already discovered  on  his  own  which  answers  are

     1.  Named after  the  English  logician  John  Venn  (1834-1923),  who
developed  diagrams  of  the type used in the program.  As Venn knew, these
diagrams were generalizations of algebraic processes which had already been
introduced by Boole and illustrated in Jevons' "logical alphabet."
VENN.DOC 1 August 1977 (Version 1)                                   Page 3

indeed correct.  For example, after the student has  demonstrated  that  he
knows  what  kind  of mark belongs in each sector of the Venn diagram ('\',
'/', 'X', '*', '?' or 'BLANKS'), the program proceeds to mark  the  diagram
for him:

       ------------------       MAJOR CLASS:  READY ROMANCERS
     M !      !  !      ! M     MINOR CLASS:  COMPULSIVE LIARS
     I !      !  !      ! A     MIDDLE CLASS: BACKSEAT DRIVERS
     N !   ----------   ! J     MOOD-FIGURE:  EIE-4
     O !   !**!//!//!   ! O     VIEWPOINT:    Boolean (hypothetical)
     R !   !**!//!//!   ! R
           !        !
           !        !
Next it asks him whether or not  the  syllogism  is  valid  and,  after  an
acceptable  answer,  it pauses to display all the valid inferences (if any)
which could have been made from the same two premises, e.g.,

     Conclusion:  Some COMPULSIVE LIARS are not READY ROMANCERS.

During this pause the student can verify for himself that those listed  are
the  ONLY possible valid inferences by referring again to the Venn diagram.
If the syllogism happens to be invalid,[2] the student is quizzed about the
reason(s)  for  its  invalidity.   Ultimately,  a  complete data summary is
output to the student:

       ------------------       MAJOR CLASS:  READY ROMANCERS
     M !      !  !      ! M     MINOR CLASS:  COMPULSIVE LIARS
     I !      !  !      ! A     MIDDLE CLASS: BACKSEAT DRIVERS
     N !   ----------   ! J     MOOD-FIGURE:  EIE-4
     O !   !**!//!//!   ! O     VIEWPOINT:    Boolean (hypothetical)
     R !   !**!//!//!   ! R     VALID:        No
       ------------------       FALLACY(7):   Illicit minor
           !        !
           !        !

     Before the program recycles to create another syllogism, it  tries  to
generate  a  plausible counterexample to the syllogism just analyzed.  This
involves a systematic replacement of the original terms of the syllogism by
other  terms in such a way that both premises become clearly TRUE while the
conclusion becomes clearly FALSE:

     2.  If the student imposes no restrictions on the generation  process,
the  chance  of  his receiving a valid syllogism is about 1 in 11 under the
Aristotelian  interpretation  or  about  1  in   17   under   the   Boolean
VENN.DOC 1 August 1977 (Version 1)                                   Page 4


The semantic heuristics built  into  the  program  (see  discussion  below,
section  2.2)  succeed  in  providing  a  counterexample  for approximately
two-thirds of all invalid syllogisms.

     At his option, the student may skip the  question-and-answer  routines
and  receive  the  final  data  summary  at  once.  Since the nature of the
syllogism to be generated can be specified with any degree of completeness,
this  skipping  option  allows  the  student  to  use VENN for something as
specific as checking homework exercises or  for  something  as  general  as
exploratory  learning.   He  may,  for  example,  be  curious  to see how a
syllogism of the same mood would fare if it were cast in another figure  or
if  it  were  analyzed  under  the other interpretation (e.g., Aristotelian
instead of Boolean).  Or he  may  want  to  try  replacing  elements  of  a
defective  syllogism one at a time until it is rendered valid.  Perhaps the
teacher will challenge him to get VENN's help in constructing a  series  of
one-fallacy  syllogisms,  each  one  exemplifying a different fallacy.  The
possibilities are many, and VENN will follow cheerfully wherever  curiosity
may lead.

     While several programs currently exist for drawing  Venn  diagrams,[3]
VENN  is  unique  in  several  ways.   It  is  the first generative program
developed for teaching syllogistic reasoning.  It is, moreover,  the  first
program  of  its  kind which works under either the Boolean or Aristotelian
interpretations.  And it is the first program to employ heuristic rules for
constructing counterexamples.  The author also believes it may be the first
program which permits the user to  control  the  nature  of  the  syllogism
displayed to any degree he wishes, from an extreme of no control on the one
hand to an extreme of complete control on the other.  It may  also  be  the
first  program  to  query  the  student so thoroughly on facts pertinent to
developing an understanding of the syllogism under consideration.


2.1  How VENN Determines Validity

     Internally, VENN determines validity in three different ways:  (1)  by
comparing  the  form of the syllogism generated with a list of valid forms,
(2) by "reading"  the  Venn  diagram  and  (3)  by  a  process  of  fallacy
elimination.   These  mechanisms  are  independent,  but not wastefully so,
since they permit the program to monitor itself for internal errors.

     Of these, (3) is the one most like the procedures human  beings  would
use  in  the  same circumstances.  To see how it works, let us consider the
premises of the syllogism used in the previous examples.  After  the  Major

     3.  Dr.  Richard  Wright,  Department  of  Philosophy,  University  of
Toledo,  has  authored  one  of the better programs for mid-size computers:
VENN.DOC 1 August 1977 (Version 1)                                   Page 5

Premise has been generated, VENN knows  that  fallacies  #2  (undistributed
middle  term),  #5  (negative conclusion from all positive premises) and #6
(illicit  minor)  can  be  eliminated  from  consideration.   Then,   after
generation  of the Minor Premise, VENN realizes that fallacies #1 (premises
all negative), #4 (affirmative conclusion from a  negative  Minor  Premise)
and  #8  (the  existential fallacy) are no longer possible.  This leaves #3
(affirmative conclusion from a negative Major  Premise),  and  #7  (illicit
minor)   still  threatening.   The  generation  of  a  negative  conclusion
eliminates #3, however, leaving #7 as the sole mistake in reasoning.

     By a process of addition VENN, in a manner somewhat analogous to this,
determines  which  marks belong in which sectors of the Venn diagram.  This
procedure is, however, considerably complicated by (1) the observance of  a
precedence relation among the marks and (2) the need to change the '?' to a
'*' when it becomes certain that the sector has a member.

2.2  How VENN Uses Heuristic Rules To Create Counterexamples

     Since counterexamples must contain plausible true and false statements
about the real world, any computer program which attempts to construct them
must be told enough about that universe of discourse to be able to generate
such  statements.  What little VENN knows is exhaustively summarized in the
following semantic presumptions or rules-of-thumb:

     1.  VENN presumes (a) that some arbitrarily  selected  member  of  the
         following set 'B' of set labels

              LIVING THINGS
              MORTAL THINGS
              FORMS OF LIFE

         should be used in a proposition when  the  objective  is  to  make
         reference  to  a set having a large number of members and (b) that
         two arbitrarily selected members  of  'B'  should  be  used  in  a
         proposition when the objective is to make reference to coextensive
         sets (i.e., to sets whose symmetric difference is the null set).
VENN.DOC 1 August 1977 (Version 1)                                   Page 6

     2.  VENN presumes (a) that some arbitrarily  selected  member  of  the
         following set 'L' of set labels

              NOBEL LAUREATES
              LUNAR EXPLORERS
              FIVE-YEAR-OLD BOYS
              FIVE-YEAR-OLD GIRLS

         should be used in a proposition when  the  objective  is  to  make
         reference  to  a  set  having  very  few  members and (b) that two
         non-identical but otherwise arbitrarily selected  members  of  'L'
         should  be  used  in  a  proposition when the objective is to make
         reference  to  mutually  exclusive  sets  (i.e.,  to  sets   whose
         intersection is the null set).

     3.  VENN presumes, finally, that some arbitrarily selected  member  of
         the following set 'M' of set labels

              RATIONAL BEINGS
              PROMISE MAKERS
              CONSCIOUS BEINGS
              HUMAN BEINGS

         should be used in propositions  when  the  objective  is  to  make
         reference  to  some  set  (a)  which  is  a  proper subset of some
         arbitrary B-labeled set and (b) which has some arbitrary L-labeled
         set as a proper subset.

     A list of objectives of the kind mentioned above  is  established  for
each proposition at the time the proposition is generated.  For example, if
the premise is of type 'A' (i.e., "All S is P"), then--in order to make  it
true--VENN's  initial  objective  will  be to replace both 'S' and 'P' with
B-type labels.  Such terms will likely be  coextensive,  thereby  rendering
the  proposition  true.   If  that  can't  be  done  consistently given the
objectives for the OTHER propositions, then VENN tries replacing  'S'  with
an  M-type  label  and  'P'  with a B-type label.  Since M-labeled sets are
likely to be subsets of B-labeled sets, this kind of substitution will also
tend  to make the original proposition true.  If this also fails, VENN will
(for similar reasons) try substituting an L-type label for 'S', then  first
a B-type and finally an M-type label for 'P'.

     The following is a summary table of the sequence  of  objectives  VENN
sets  for replacing terms in order to render propositions of type 'A', 'E',
'I' or 'O' either true (when they are premises) or  false  (when  they  are
VENN.DOC 1 August 1977 (Version 1)                                   Page 7


        True  'A'       True  'E'       True  'I'       True  'O'
        False 'O'       False 'I'       False 'E'       False 'A'
        S       P       S       P       S       P       S       P
        B       B                       B       B
                                        B       M       B       M
                                        B       L       B       L
        M       B                       M       B
                                        M       M
                                        M       L       M       L
        L       B                       L       B
        L       M                       L       M
                        L       L                       L       L
                Mnemonic:  (B)ig, (M)edium, (L)ittle

     In practice, VENN first tries to make the conclusion false then, as  a
subgoal  to that goal, tries to make the Minor Premise true;  finally, as a
subgoal to that subgoal, VENN tries to make the  Major  Premise  true.   If
these  goals  can  be achieved consistently within the framework imposed by
the heuristic  rules  and  the  original  syllogism,  VENN  will  output  a
counterexample  to  the  student.   Otherwise,  VENN will merely report how
close he came to success before giving up.

2.3  Design Compromises

2.3.1  Squares, Not Circles - 

     In the interest of making VENN's  graphic  output  fast  and  terminal
independent,  overlapping squares were substituted for the more traditional
overlapping circles.  Since virtually all introductory logic textbooks  use
Venn  or  Euler  circles,  however,  students  commonly  need  four or five
practice runs to adjust perceptually to VENN's squares.

     4.  For no particular reason, VENN now prefers B-labels to M-labels to
L-labels.    The  author  is  currently  investigating  whether  any  small
advantage  can  be  gained  by  resequencing  VENN's  path  through   these

     One would think that a substantial improvement could  be  realized  by
having  TWO  'M'  classes, one for referring to coextensive sets (like 'B')
and another (like 'L') for referring to exclusive sets.  But M-labeled sets
must  each contain as subsets all L-labeled sets, hence could not have null
intersections with each other.
VENN.DOC 1 August 1977 (Version 1)                                   Page 8

2.3.2  Marking Conventions - 

     It is common to use the shading characters '/' and '\' to  mark  those
Venn  circle sectors which are declared empty by the premises.  To identify
the NONempty sectors, either (a) an 'X' or (b) an '*' and a bar of variable
length and orientation is often used.

     Since the '/' and the '\' occasionally intersect,  howver,  and  since
VENN  asks  the  student  about  the  FINISHED diagram, it was necessary to
reject (a) and use 'X' strictly as a third shading character.  Option  (b),
likewise, was rejected because of the considerable inefficiency involved in
computing the length, orientation and point of insertion for the bar.

     The  marking  conventions  actually  used  by  VENN  are  simple   and

        '/'      = this sector must be empty (by Major Premise)
        '\'      = this sector must be empty (by Minor Premise)
        'X'      = this sector must be empty (by Major AND Minor Premises)
        '?'      = this OR adjacent sector must be NONempty
        '*'      = this sector must be NONempty
        'BLANKS' = default value of sector

One might think that the '?' would be even  more  ambiguous  than  required
since  it  is  not  visually paired with a '?' in a neighboring sector.  In
practice, however, this does not cause any difficulty.

2.3.3  Minimal Existential Assumptions - 

     Under the Aristotelian (or existential) interpretation,  VENN  assumes
that the subject class of each premise has at least one member, even if the
premises are universal (i.e.,  type  'A'  or  'E').   In  many  systems  of
syllogistic  logic, however, it is assumed that EACH class mentioned--three
in all--must be nonempty.   VENN's  somewhat  stingier  outlook  is  partly
motivated  by a desire to keep the diagramming task simple for the student.
But the  main  motivation  lies  in  a  desire  to  have  a  definition  of
"existential   import"  for  three-line  syllogistic  inferences  which  is
identical to the one normally used for two-line or "immediate"  inferences.
Obviously, there are advantages and disadvantages to this decision.

     The chief advantage, beyond that involved in not "multiplying entities
beyond necessity," is that it becomes possible to use a series of immediate
inferences to prove syllogisms valid or invalid.   The  method,  which  has
been  described  by  Terrell,[5]  involves  a series of appeals to some one
previous line of proof and some principle  of  immediate  inference  (i.e.,
contradiction,   conversion,   obversion,   contraposition  or  "complement
conversion", and limitation) plus an occasional appeal to some two previous
lines of proof and the "Principle of the Syllogism":

REASONING (New York:  Holt, Rinehart and Winston, 1967), sections 4.8 ff.
VENN.DOC 1 August 1977 (Version 1)                                   Page 9

     In the first figure, when the major premise is universal and  the
     minor  premise is affirmative, a conclusion can be drawn that has
     the quantity of the minor premise and the quality  of  the  major

A subsequent version of VENN will incorporate  a  proof  checker  for  such
deductions.   The  student will then have an opportunity to enter his proof
one step at a time, always under VENN's  watchful  eye,  and  thereby  gain
experience  which  will  be  valuable  later  when he is asked to construct
deductions in sentential logic.[7]

     The disadvantage  is  that  syllogisms  of  the  form  AEO-4,  usually
considered   valid,   turn   out  to  be  problematic  under  the  stingier
Aristotelian interpretation even though such arguments don't violate any of
the  traditional  rules.  The latin scholars would not have considered this
much of a loss, however, and it is easy to modify the "existential fallacy"
rule  to  outlaw  AEO-4.[8]  At present, however, the program does consider
AEO-4 to be valid even though it fails the second of the three  tests  used
for determining validity (see section 2.1, above).

2.3.4  A Proliferation Of Rules - 

     VENN applies  eight  rules  to  check  for  fallacies  in  syllogistic
reasoning.   Several  of  these  could be consolidated, of course, but this
would not be appropriate given the many  different  ways  textbook  authors
state "the" rules.

     6.  Terrell, p.  94.

     7.  It probably would not be too difficult to add a  GPS-like  theorem
PROVER  to  VENN  for generating such proofs.  Part or (finally) all of the
program-generated proof could then be displayed should the  student  become

     8.  Instead of

     (8) Both premises universal, yet conclusion is particular

VENN could simply pose

     (8) Minor class nonempty by Conclusion but not by Minor Premise

as a true/false response item.  Since AEO-4 is already diagram-invalid, the
only  other  change  required in the program would be the deletion of AEO-4
from the list of valid syllogisms.
VENN.DOC 1 August 1977 (Version 1)                                  Page 10


     1.  System Description.

              VENN was developed on a DEC PDP-10 computer with  256K  words
         of  memory  (36-bit  words)  under  a  KL  602A+VM  monitor at Old
         Dominion University, Norfolk, Virginia.

     2.  Source Language.

              VENN is written in SIMULA67, a general  purpose,  high-level,
         ALGOL-like  programming  language comparable in power and features
         to PL/I, ALGOL68, ALGOLW or SAIL.  Specific features worth  noting
         include   record-oriented  dynamic  memory  allocation,  efficient
         garbage   collection,   reference   (pointer)   structures,   list
         structures,   sets   and   queues,  text-  and  character-handling
         procedures,   sequential   and   direct    access    input/output,
         quasi-parallel   processing   via   coroutines,  and  process-  or
         event-oriented simulation capabilities.

              Like PASCAL, SIMULA was designed to be not  only  a  language
         but  also  a  tool  of thought in its own right which, by its very
         use,  would  steer  the  programmer  toward  the   production   of
         well-structured,  highly  readable and secure programs.  SIMULA is
         especially well suited to programming methodologies  which  stress
         "modular   construction,"   "top-down  development"  or  "stepwise
         refinement."[9] Despite its length (see below),  VENN  needs  only
         three GOTOs.

     3.  Length.

              VENN.SIM requires over 1600 lines of source  code  (including
         comments), occupies about 135 blocks of disk storage, and contains
         about 16000 DEC words.  VENN.SAV occupies about 150 blocks of disk
         storage and contains about 18700 DEC words.

     4.  Core and CPU Requirement.

              The execution of VENN.SAV requires a maximum of  47+12  pages
         (or  about  30K)  of  DEC  core.   One  cycle through the complete
         program with  an  invalid  syllogism,  accepting  default  answers
         wherever  possible,  typically  requires  about 1.3 seconds of CPU
         time.  (SIMULA text-handling is extremely fast compared  to  other
         ALGOL-type languages.)

     5.  Other Software Required.

              VENN.SAV, of course, requires the SIMULA run-time system.  In
         addition,  recompilation  of  VENN.SIM  (e.g., after modification)
         would require the presence of essential compiler files, the SIMULA
         libraries  'SIMLIB'  and 'LIBSIM' (plus their '.ATR' files) in the

     9.  See O.-J.   Dahl,  E.   W.   Dijkstra,  and  C.   A.   R.   Hoare,
STRUCTURED  PROGRAMMING  (New  York:   Academic  Press, 1972).  Part III is
entirely devoted to SIMULA.
VENN.DOC 1 August 1977 (Version 1)                                  Page 11

         'SYS:' area.  Given a normal implementation of SIMULA, however, no
         difficulties in recompilation should be experienced.

     6.  Distribution.

              VENN is in the public domain and is distributed worldwide  by
         the  DECUS  Library, Digital Equipment Computer Users Society, 146
         Main Street, Maynard, Massachusetts 01754.

     7.  Portability.

              Although no particular attention has  been  given  to  making
         VENN  portable  to  other  major  SIMULA  installations (i.e., IBM
         360/370, CDC 6000 and UNIVAC 1100), VENN does  adhere  closely  to
         "common  base" SIMULA and should not be too difficult to implement
         on non-DEC SIMULA systems.[10] Version 2 will address  portability
         problems directly.

     10.  The SIMULA library contains programs which  will  perform  nearly
all of the source code translation required for interchange of the software
between SIMULA installations.  The author will be glad to  try  to  prepare
exportable versions upon request.