(FILECREATED "15-Sep-85 19:49:45" {ERIS}<LISPUSERS>DOCTOR.;2 31350  

      changes to:  (FNS DOCTOR MAKESENTENCE)

      previous date: " 8-JAN-83 00:04:15" {ERIS}<LISPUSERS>DOCTOR.;1)


(PRETTYCOMPRINT DOCTORCOMS)

(RPAQQ DOCTORCOMS [(FNS * DOCTORFNS)
		   (VARS TRMLIS PCTLIS RUBOUT DOCARM)
		   (VARS WDLIST)
		   (IFPROP (PRIORITY RULES TRANSLATION BELIEF MEMR EMOTION LASTRESORT FAMILY PERSON)
			   *
			   (PROGN WDLIST))
		   (DECLARE: DONTEVAL@LOAD DOEVAL@COMPILE DONTCOPY COMPILERVARS (ADDVARS
			       (NLAMA RPLQQ)
			       (NLAML)
			       (LAMA])

(RPAQQ DOCTORFNS (DOCTOR MAKESENTENCE ANALYZE TEST TEST4 ADVANCE RECONSTRUCT MEMORY BCONC RPLQQ 
			 SETNONE DOCTORSYS))
(DEFINEQ

(DOCTOR
  [LAMBDA (FLG)                                              (* lmm "15-Sep-85 19:44")
    (COND
      ((NULL FLG)
	(SETQ MEMSTACK NIL)))
    (RESETLST (RESETSAVE (GCGAG))
	      (PROG (KEYSTACK SENTENCE TIMON (RDTBL (COPYREADTABLE))
			      (TTBL (COPYTERMTABLE)))
		    (SETSEPR (QUOTE (%  %
 %
))
			     NIL RDTBL)
		    (SETBRK (QUOTE (%. , ? ! - %( %) ; : #))
			    NIL RDTBL)
		    (CONTROL T TTBL)
		    (RESETSAVE (SETREADTABLE RDTBL))
		    (RESETSAVE (SETTERMTABLE TTBL))
		    (SETQ FLIPFLOP 0)
		    (SETQ TIMON (CLOCK 0))
		    (RECONSTRUCT (QUOTE (TELL ME YOUR PROBLEMS. PLEASE TERMINATE INPUT WITH A PERIOD 
					      OR A QUESTION MARK %.))
				 T)
		    (SETNONE)
		A   (PRIN1 (QUOTE "
*"))
		    (COND
		      ((OR [NULL (ERSETQ (SETQ SENTENCE (MAKESENTENCE]
			   (NULL SENTENCE))
			(GO A)))
		    (SETQ KEYSTACK (CDR SENTENCE))
		    (SETQ SENTENCE (CAR SENTENCE))
		    [COND
		      ((EQUAL SENTENCE (QUOTE (GOODBYE)))    (* Rate computed at $6 a minute, or $1 per 10 seconds.
							     CLOCK returns value in milliseconds.)
			(RETURN (RECONSTRUCT [APPEND (QUOTE (IT'S BEEN MY PLEASURE, THAT'S))
						     (CONS (PACK (LIST (QUOTE $)
								       (QUOTIENT (SETQ TIMON
										   (IDIFFERENCE
										     (CLOCK)
										     TIMON))
										 10000)
								       (QUOTE %.)
								       (QUOTIENT (REMAINDER TIMON 
											    10000)
										 100)))
							   (QUOTE (PLEASE %.]
					     T]
		    (ANALYZE)
		    (GO A])

(MAKESENTENCE
  [LAMBDA NIL                                                (* lmm "15-Sep-85 19:46")
    (PROG (FLAG WORD SENTENCE KEYSTACK)
      A1  (SETQ KEYSTACK (CONS))
          (SETQ SENTENCE (CONS))
      A   (SETQ WORD (RATOM))
          [COND
	    ((NUMBERP WORD)
	      (SETQ WORD (PACK (LIST (QUOTE *)
				     WORD]
          [COND
	    ((EQ WORD RUBOUT)
	      (RETURN (TERPRI)))
	    ((MEMB WORD TRMLIS)
	      (TERPRI)
	      (RETURN (RPLACD SENTENCE KEYSTACK)))
	    ((MEMB WORD PCTLIS)
	      (COND
		((NULL (CDR KEYSTACK))
		  (GO A1))
		((NULL (SETQ FLAG (MAKESENTENCE)))
		  (RETURN))
		([AND (CDDR FLAG)
		      (NOT (IGREATERP (LISTGET1 (CDR KEYSTACK)
						(QUOTE PRIORITY))
				      (LISTGET1 (CDDR FLAG)
						(QUOTE PRIORITY]
		  (RETURN FLAG))
		(T (RETURN (RPLACD SENTENCE KEYSTACK]
          (TCONC SENTENCE (COND
		   ((GETP WORD (QUOTE TRANSLATION)))
		   (WORD)))
          [COND
	    ((SETQ FLAG (GETP WORD (QUOTE MEMR)))
	      (SETQ MEMSTACK (APPEND FLAG MEMSTACK]
          (COND
	    [[AND (SETQ FLAG (GETP WORD (QUOTE PRIORITY)))
		  (CDR KEYSTACK)
		  (IGREATERP FLAG (LISTGET1 (CDR KEYSTACK)
					    (QUOTE PRIORITY]
	      (RPLACD KEYSTACK (CONS (CDR KEYSTACK)
				     (GETPROPLIST WORD]
	    (FLAG (BCONC (GETPROPLIST WORD)
			 KEYSTACK)))
          (GO A])

(ANALYZE
  [LAMBDA NIL                      (* lmm " 6-JAN-83 23:52")
    (PROG (RULES PARSELIST CR)
          (BCONC [GETP (QUOTE NONE)
		       (COND
			 ([ZEROP (SETQ FLIPFLOP (IPLUS 2 (IMINUS FLIPFLOP]
			   (QUOTE MEM))
			 ((QUOTE LASTRESORT]
		 KEYSTACK)
          (SETQ KEYSTACK (CDR KEYSTACK))
      A   (SETQ RULES (LISTGET1 KEYSTACK (QUOTE RULES)))
      B   (COND
	    ((OR (NULL RULES)
		 (EQ (CAR RULES)
		     (QUOTE NEWKEY)))
	      (SETQ KEYSTACK (CAR KEYSTACK))
	      (GO A))
	    ((NLISTP (CAR RULES))
	      (SETQ RULES (GETP (CAR RULES)
				(QUOTE RULES)))
	      (GO B)))
          (SETQ PARSELIST (CONS NIL NIL))
          (COND
	    ((NOT (TEST (CAAR RULES)
			SENTENCE))
	      (SETQ RULES (CDR RULES)))
	    [(NLISTP (SETQ CR (CAR (SETQ RULES (CAR (ADVANCE RULES]
	    ((EQ (CAR CR)
		 (QUOTE PRE))
	      (SETQ SENTENCE (RECONSTRUCT (CADR CR)))
	      (SETQ RULES (CDDR CR)))
	    (T (RECONSTRUCT CR T)
	       (MEMORY)
	       (RETURN)))
          (GO B])

(TEST
  [LAMBDA (D S)
    (PROG (CD PSV)
          (SETQ PSV (CDR PARSELIST))
      LP  (COND
            [(NULL D)
             (COND
               (S (GO RN))
               (T (SETQ PARSELIST (CAR PARSELIST))
                  (RETURN T]
            ((EQ 0 (SETQ CD (CAR D)))
             (GO T0))
            ((NULL S)
             (GO RN))
            [(NUMBERP CD)
             (TCONC PARSELIST S)
             (COND
               ((SETQ S (NTH S CD))
                (GO T3))
               (T (GO RN]
            [(NLISTP CD)
             (COND
               ((EQ CD (CAR S)))
               (T (GO RN]
            [(CAR CD)
             (COND
               ((MEMBER (CAR S)
                        CD))
               (T (GO RN]
            ((TEST4 (CAR S)
                    (CDR CD)))
            (T (GO RN)))
          (TCONC PARSELIST S)
      T3  (SETQ S (CDR S))
          (SETQ D (CDR D))
          (GO LP)
      T0  (TCONC PARSELIST S)
          (COND
            ((NULL (SETQ D (CDR D)))
             (SETQ PARSELIST (CAR PARSELIST))
             (RETURN T)))
      T1  (COND
            ((TEST D S)
             (RETURN T))
            ((SETQ S (CDR S))
             (GO T1)))
      RN  [RPLACD PARSELIST (COND
                    (PSV (RPLACD PSV NIL]
          (RETURN NIL])

(TEST4
  [LAMBDA (CS L)
    (PROG NIL
      LP  (COND
            ((GETP CS (CAR L))
             (RETURN T))
            ((SETQ L (CDR L))
             (GO LP)))
          (RETURN NIL])

(ADVANCE
  [LAMBDA (RULES)
    (RPLACA (CDAR RULES)
            (COND
              ((NULL (CDADAR RULES))
               (CDDAR RULES))
              ((CDADAR RULES])

(RECONSTRUCT
  [LAMBDA (RULE PF)
    (PROG (SENT CR V1 V2 TPF QMF)
          [COND
            ((NULL PF)
             (SETQ SENT (CONS]
      LP  (COND
            ((NULL RULE)
             (COND
               (PF [COND
                     ((NULL QMF)
                      (PRIN1 (QUOTE ?]
                   (TERPRI)))
             (RETURN (CAR SENT)))
            ((NUMBERP (SETQ CR (CAR RULE)))
             (GO T1))
            [PF (COND
                  ((MEMBER CR TRMLIS)
                   (PRIN1 CR)
                   (SETQ QMF T))
                  (T (COND
                       (TPF (SPACES 1))
                       (T (TERPRI)
                          (SETQ TPF T)))
                     (PRIN1 CR]
            (T (TCONC SENT CR)))
      T3  (SETQ RULE (CDR RULE))
          (GO LP)
      T1  [SETQ V1 (CAR (SETQ CR (NTH PARSELIST CR]
          (SETQ V2 (CADR CR))
      T2  [COND
            ((EQ V1 V2)
             (GO T3))
            (PF (COND
                  (TPF (SPACES 1))
                  (T (TERPRI)
                     (SETQ TPF T)))
                (PRIN1 (CAR V1)))
            (T (TCONC SENT (CAR V1]
          (SETQ V1 (CDR V1))
          (GO T2])

(MEMORY
  [LAMBDA NIL
    (PROG (PARSELIST X)
      LP  (COND
            ((NULL MEMSTACK)
             (RETURN)))
          (SETQ PARSELIST (CONS NIL NIL))
          [COND
            ((TEST (CAAR MEMSTACK)
                   SENTENCE)
             (RPLACA [SETQ X (CDAADR (GETP (QUOTE NONE)
                                           (QUOTE MEM]
                     (CONS (CAR X)
                           (CONS (RECONSTRUCT (CAAR (ADVANCE MEMSTACK)))
                                 (CDAR X]
          (SETQ MEMSTACK (CDR MEMSTACK))
          (GO LP])

(BCONC
  [LAMBDA (WHAT LIST)
    (COND
      ((NULL LIST)
       (CONS (SETQ LIST (CONS NIL WHAT))
             LIST))
      [(NULL (CAR LIST))
       (RPLACA LIST (CDR (RPLACD LIST (CONS NIL WHAT]
      ((RPLACA LIST (CAR (RPLACA (CAR LIST)
                                 (RPLACA (CONS LIST WHAT)
                                         NIL])

(RPLQQ
  [NLAMBDA RPLQ
    (SETPROPLIST (CAR RPLQ)
											       |
		 (CDR RPLQ])

(SETNONE
  [LAMBDA NIL
    (PROG (A)
          (SETQ A (GENSYM))
          (SETPROPLIST A (GETP (QUOTE NONE)
			       (QUOTE LASTRESORT)))
          (PUT (QUOTE NONE)
	       (QUOTE MEM)
	       (LIST (QUOTE RULES)
		     (LIST (LIST (LIST 0)
				 (LIST NIL)
				 A])

(DOCTORSYS
  [LAMBDA (SYS)
    (PROG (TEM LISPXHIST)
          (UNDOLISPX2 (LIST (QUOTE SIDE)
			    GREETHIST))
          (SETQ GREETHIST NIL)
          (SETQ SYSOUTGAG T)
          (SETQ FIRSTNAME NIL)
          (ADVISE (QUOTE INTERRUPT)
		  DOCARM)
          (GCTRP 100)
          (GCGAG)
          (HERALD (SETQ HERALDSTRING (CONCAT "
DOCTOR  " (SUBSTRING (SETQ TEM (DATE))
		     1
		     (IPLUS 2 (STRPOS (QUOTE -)
				      TEM 4)))
					     " ...")))
          (SYSOUT (OR SYS (QUOTE DOCTOR.SAV)))
          (PRIN1 HERALDSTRING T)
          (TERPRI T)
          (TERPRI T)
          (GREET0)
          (DOCTOR NIL])
)

(RPAQQ TRMLIS (%. ! ?))

(RPAQQ PCTLIS (, ; %( %) :))

(RPAQQ RUBOUT #)

(RPAQQ DOCARM (COND ((EQ INTYPE 3)
		     (PRIN1 (QUOTE "

...EXCUSE ME FOR JUST A MINUTE.
")
			    T)
		     (RECLAIM)
		     (COND ((STKPOS (QUOTE MAKESENTENCE))
			    (PRIN1 (QUOTE "SORRY TO HAVE INTERRUPTED YOU, PLEASE CONTINUE...

")
				   T))
			   (T (PRIN1 (QUOTE "NOW, WHERE WERE WE...OH YES,
")
				     T)))
		     (SETQ INTYPE -1))))

(RPAQQ WDLIST (SORRY DONT CANT WONT REMEMBER IF DREAMT DREAMED DREAM DREAMS HOW WHEN ALIKE SAME 
		     CERTAINLY FEEL THINK BELIEVE WISH MY NONE PERHAPS MAYBE NAME DEUTSCH FRANCAIS 
		     SVENSKA ITALIANO ESPANOL HELLO COMPUTER MACHINE MACHINES COMPUTERS AM ARE YOUR 
		     WAS WERE ME YOU'RE I'M MYSELF YOURSELF MOTHER MOM DAD FATHER SISTER BROTHER WIFE 
		     CHILDREN I YOU XXYYZZ YES NO CAN IS WHERE WHAT XXWHAT BECAUSE WHY EVERYONE 
		     EVERYBODY NOBODY NOONE ALWAYS LIKE DIT OH EVERY DO GIRLS WOMEN BOY GIRL MAN 
		     WOMAN SEXY SEXUAL SEX FRIENDLY FRIEND CRY LAUGH LOVE HATE DISLIKE))

(PUTPROPS SORRY PRIORITY 2)

(PUTPROPS REMEMBER PRIORITY 5)

(PUTPROPS IF PRIORITY 3)

(PUTPROPS DREAMT PRIORITY 4)

(PUTPROPS DREAMED PRIORITY 4)

(PUTPROPS DREAM PRIORITY 3)

(PUTPROPS DREAMS PRIORITY 3)

(PUTPROPS HOW PRIORITY 0)

(PUTPROPS WHEN PRIORITY 0)

(PUTPROPS ALIKE PRIORITY 10)

(PUTPROPS SAME PRIORITY 3)

(PUTPROPS CERTAINLY PRIORITY 0)

(PUTPROPS MY PRIORITY 0)

(PUTPROPS PERHAPS PRIORITY 0)

(PUTPROPS MAYBE PRIORITY 0)

(PUTPROPS NAME PRIORITY 15)

(PUTPROPS DEUTSCH PRIORITY 0)

(PUTPROPS FRANCAIS PRIORITY 0)

(PUTPROPS SVENSKA PRIORITY 0)

(PUTPROPS ITALIANO PRIORITY 0)

(PUTPROPS ESPANOL PRIORITY 0)

(PUTPROPS HELLO PRIORITY 0)

(PUTPROPS COMPUTER PRIORITY 0)

(PUTPROPS MACHINE PRIORITY 0)

(PUTPROPS MACHINES PRIORITY 0)

(PUTPROPS COMPUTERS PRIORITY 0)

(PUTPROPS AM PRIORITY 0)

(PUTPROPS ARE PRIORITY 0)

(PUTPROPS YOUR PRIORITY 0)

(PUTPROPS WAS PRIORITY 2)

(PUTPROPS WERE PRIORITY 0)

(PUTPROPS YOU'RE PRIORITY 0)

(PUTPROPS I'M PRIORITY 0)

(PUTPROPS I PRIORITY 0)

(PUTPROPS YOU PRIORITY 0)

(PUTPROPS YES PRIORITY -1)

(PUTPROPS NO PRIORITY -1)

(PUTPROPS CAN PRIORITY 0)

(PUTPROPS IS PRIORITY 0)

(PUTPROPS WHERE PRIORITY 0)

(PUTPROPS WHAT PRIORITY 0)

(PUTPROPS BECAUSE PRIORITY 0)

(PUTPROPS WHY PRIORITY 0)

(PUTPROPS EVERYONE PRIORITY 2)

(PUTPROPS EVERYBODY PRIORITY 2)

(PUTPROPS NOBODY PRIORITY 2)

(PUTPROPS NOONE PRIORITY 2)

(PUTPROPS ALWAYS PRIORITY 1)

(PUTPROPS LIKE PRIORITY 3)

(PUTPROPS OH PRIORITY 10)

(PUTPROPS EVERY PRIORITY 0)

(PUTPROPS DO PRIORITY 0)

(PUTPROPS GIRLS PRIORITY 3)

(PUTPROPS WOMEN PRIORITY 3)

(PUTPROPS BOY PRIORITY 3)

(PUTPROPS GIRL PRIORITY 3)

(PUTPROPS MAN PRIORITY 3)

(PUTPROPS WOMAN PRIORITY 3)

(PUTPROPS SEXY PRIORITY 5)

(PUTPROPS SEXUAL PRIORITY 5)

(PUTPROPS SEX PRIORITY 5)

(PUTPROPS FRIENDLY PRIORITY 0)

(PUTPROPS FRIEND PRIORITY 1)

(PUTPROPS CRY PRIORITY 2)

(PUTPROPS LAUGH PRIORITY 2)

(PUTPROPS SORRY RULES (((0)
			(NIL)
			(APOLOGIES ARE NOT NECESSARY %.)
			(WHAT FEELINGS DO YOU HAVE WHEN YOU APOLOGIZE))))

(PUTPROPS REMEMBER RULES (((REMEMBER 0)
			   (NIL)
			   (PRE (DO I REMEMBER 2)
				REMEMBER))
			  ((YOU REMEMBER 0)
			   (NIL)
			   (DO YOU OFTEN THINK OF 3)
			   (WHAT ELSE DOES THINKING OF 3 BRING TO MIND)
			   (WHAT ELSE DO YOU REMEMBER)
			   (WHY DO YOU REMEMBER 3 JUST NOW)
			   (WHAT IN THE PRESENT SITUATION REMINDS YOU OF 3)
			   (WHAT I↑@THE CONNECTION BETWEEN ME AND 3))
			  ((DO I REMEMBER 0)
			   (NIL)
			   (WHY DID YOU THINK I WOULD FORGET 4)
			   (WHY DO YOU THINK I SHOULD RECALL 4 NOW)
			   (WHAT ABOUT 4))))

(PUTPROPS IF RULES (((0 IF 0)
		     (NIL)
		     (DO YOU THINK ITS LIKELY THAT 3)
		     (DO YOU WISH THAT 3)
		     (WHAT DO YOU THINK ABOUT 3)
		     (REALLY "," IF 3))))

(PUTPROPS DREAMT RULES (((0 YOU DREAMT 0)
			 (NIL)
			 (REALLY 4)
			 (HAVE YOU EVER FANTASIED 4 WHILE YOU WERE AWAKE)
			 (HAVE YOU DREAMT 4 BEFORE)
			 DREAM NEWKEY)))

(PUTPROPS DREAMED RULES (DREAMT))

(PUTPROPS DREAM RULES (((0 YOU DREAM (OF ABOUT)
			   0)
			(NIL)
			(WHAT MIGHT 5 REPRESENT)
			(WHAT DOES 5 SUGGEST TO YOU)
			(HOW DOES THAT DREAM RELATE TO YOUR PROBLEM))
		       ((0)
			(NIL)
			(WHAT DO YOU DREAM ABOUT)
			(WHAT PERSONS APPEAR IN YOUR DREAMS)
			(WHAT MAY DREAMS HAVE TO DO WITH YOUR PROBLEM)
			NEWKEY)))

(PUTPROPS DREAMS RULES (DREAM))

(PUTPROPS HOW RULES (WHAT))

(PUTPROPS WHEN RULES (((WHEN (DO DID DOES WILL)
			     0)
		       (NIL)
		       XXWHAT)
		      ((0)
		       (NIL)
		       (IS THERE ANY OTHER TIME)
		       (WHY THEN "," DO YOU SUPPOSE))))

(PUTPROPS ALIKE RULES (DIT))

(PUTPROPS SAME RULES (DIT))

(PUTPROPS CERTAINLY RULES (YES))

(PUTPROPS MY RULES (((0 YOUR 0 (NIL FAMILY)
			0)
		     ((TELL ME MORE ABOUT YOUR FAMILY %.)
		      (WHO ELSE IN YOUR FAMILY 5)
		      (YOUR 4)
		      (WHAT ELSE COMES TO MIND WHEN YOU THINK OF YOUR 4))
		     (TELL ME MORE ABOUT YOUR FAMILY %.)
		     (WHO ELSE IN YOUR FAMILY 5)
		     (YOUR 4)
		     (WHAT ELSE COMES TO MIND WHEN YOU THINK OF YOUR 4))
		    ((YOUR 2 0)
		     (NIL)
		     (IS IT IMPORTANT TO YOU THAT YOUR 2 3)
		     (DO YOU SUPPOSE ANYONE ELSE'S 2 3)
		     (WHAT MAKES YOU THINK YOUR 2 3)
		     (SUPPOSE I DIDN'T BELIEVE THAT YOUR 2 3 %.))
		    ((0 YOUR 1)
		     (NIL)
		     (YOUR 3)
		     (WHY DO YOU SAY YOUR 3)
		     (WHO ELSE KNOWS ABOUT YOUR 3)
		     (WHY DO YOU MENTION YOUR 3 JUST NOW)
		     (WHY IS YOUR 3 IMPORTANT TO YOU)
		     (DO YOU OFTEN DISCUSS YOUR 3))))

(PUTPROPS PERHAPS RULES (((0)
			  (NIL)
			  (YOU DON'T SEEM QUITE CERTAIN %.)
			  (WHY THE UNCERTAIN TONE)
			  (CAN'T YOU BE MORE POSITIVE)
			  (YOU AREN'T SURE)
			  (DON'T YOU KNOW))))

(PUTPROPS MAYBE RULES (PERHAPS))

(PUTPROPS NAME RULES (((0)
		       (NIL)
		       (I AM NOT INTERESTED IN NAMES %.)
		       (I'VE TOLD YOU BEFORE I DON'T CARE ABOUT NAMES - PLEASE CONTINUE %.))))

(PUTPROPS DEUTSCH RULES (((0)
			  (NIL)
			  (I AM SORRY "," I SPEAK ONLY ENGLISH))))

(PUTPROPS FRANCAIS RULES (DEUTSCH))

(PUTPROPS SVENSKA RULES (DEUTSCH))

(PUTPROPS ITALIANO RULES (DEUTSCH))

(PUTPROPS ESPANOL RULES (DEUTSCH))

(PUTPROPS HELLO RULES (((0)
			(NIL)
			(HOW DO YOU DO %.))))

(PUTPROPS COMPUTER RULES (((0)
			   (NIL)
			   (DO COMPUTERS WORRY YOU)
			   (WHY DO YOU MENTION COMPUTERS)
			   (WHAT DO YOU THINK MACHINES HAVE TO DO WITH YOUR PROBLEM)
			   (DON'T YOU THINK COMPUTERS CAN HELP PEOPLE))))

(PUTPROPS MACHINE RULES (COMPUTER))

(PUTPROPS MACHINES RULES (COMPUTER))

(PUTPROPS COMPUTERS RULES (COMPUTER))

(PUTPROPS AM RULES (((ARE YOU 0)
		     (NIL)
		     (DO YOU BELIEVE YOU ARE 3)
		     (WOULD YOU WANT TO BE 3)
		     (YOU WISH I WOULD TELL YOU YOU ARE 3 %.)
		     (WHAT WOULD IT MEAN IF YOU WERE 3)
		     XXWHAT)
		    ((0)
		     (NIL)
		     (WHY DO YOU SAY 'AM')
		     (I DON'T UNDERSTAND THAT))))

(PUTPROPS ARE RULES (((THERE (ARE IS)
			     (NO NOT)
			     0)
		      (NIL)
		      (WHAT IF THERE WERE 4)
		      (DID YOU THINK THERE MIGHT BE 4)
		      (PRE (THERE 2 4)
			   ARE))
		     ((THERE (ARE IS)
			     0)
		      (NIL)
		      (2 THERE REALLY 3)
		      (WHY 2 THERE 3)
		      (HOW 3 THE 4 RELATED TO YOU))
		     ((ARE I 0)
		      (NIL)
		      (WHY ARE YOU INTERESTED IN WHETHER I AM 3 OR NOT)
		      (WOULD YOU PREFER IF I WEREN'T 3)
		      (PERHAPS I AM 3 IN YOUR FANTASIES %.)
		      (DO YOU SOMETIMES THINK I AM 3)
		      XXWHAT)
		     ((ARE 0)
		      (NIL)
		      XXWHAT)
		     ((0 1 (ARE IS)
			 NOT 0)
		      (NIL)
		      (POSSIBLY THAT IS FOR THE BETTER %.)
		      (WHAT IF 2 WERE 5)
		      (WHAT DO YOU REALLY KNOW ABOUT 2))
		     ((0 (ARE IS)
			 0)
		      ((TELL ME MORE ABOUT 1 %.)
		       (DID YOU THINK 1 MIGHT NOT BE 3)
		       (1 PERHAPS 2 3 %.))
		      (SUPPOSE 1 WERE NOT 3 %.)
		      (POSSIBLY 1 REALLY 2 NOT 3 %.)
		      (TELL ME MORE ABOUT 1 %.)
		      (DID YOU THINK 1 MIGHT NOT BE 3)
		      (1 PERHAPS 2 3 %.))))

(PUTPROPS YOUR RULES (((0 MY 1)
		       ((ARE YOU WORRIED ABOUT SOMEONE ELSES 3)
			(REALLY "," MY 3))
		       (WHY ARE YOU CONCERNED OVER MY 3)
		       (WHAT ABOUT YOUR OWN 3)
		       (ARE YOU WORRIED ABOUT SOMEONE ELSES 3)
		       (REALLY "," MY 3))
		      ((MY 0)
		       ((PERHAPS YOUR OWN 2 %.)
			(ARE YOU WORRIED THAT MY 2))
		       (PERHAPS YOUR OWN 2 %.)
		       (ARE YOU WORRIED THAT MY 2))))

(PUTPROPS WAS RULES (((WAS YOU 0)
		      (NIL)
		      (WHAT IF YOU WERE 3)
		      (DO YOU THINK YOU WERE 3)
		      (WERE YOU 3)
		      (WHAT WOULD IT MEAN IF YOU WERE 3)
		      XXWHAT)
		     ((YOU WAS 0)
		      (NIL)
		      (WERE YOU REALLY)
		      (WHY DO YOU TELL ME YOU WERE 3 NOW)
		      (PERHAPS I ALREADY KNEW YOU WERE 3 %.))
		     ((WAS I 0)
		      (NIL)
		      (WOULD YOU LIKE TO BELIEVE I WAS 3)
		      (WHAT SUGGESTS THAT I WAS 3)
		      (WHAT DO YOU THINK)
		      (PERHAPS I WAS 3 %.)
		      (WHAT IF I HAD BEEN 3))))

(PUTPROPS WERE RULES (WAS))

(PUTPROPS YOU'RE RULES (((0 I'M 0)
			 (NIL)
			 (PRE (I ARE 3)
			      YOU))))

(PUTPROPS I'M RULES (((0 YOU'RE 0)
		      (NIL)
		      (PRE (YOU ARE 3)
			   I))))

(PUTPROPS I RULES (((0 YOU (WANT NEED)
		       0)
		    (NIL)
		    (WHAT WOULD IT MEAN TO YOU IF YOU GOT 4)
		    (WHY DO YOU WANT 4)
		    (WHAT WOULD GETTING 4 MEAN TO YOU))
		   ((0 YOU ARE 0 (SAD UNHAPPY DEPRESSED SICK ILL)
		       0)
		    (NIL)
		    (I AM SORRY TO HEAR YOU ARE 5 %.)
		    (DO YOU THINK COMING HERE WILL HELP YOU NOT TO BE 5)
		    (CAN YOU EXPLAIN WHAT MADE YOU 5))
		   ((0 YOU ARE 0 (HAPPY ELATED GLAD BETTER)
		       0)
		    (NIL)
		    (HOW HAVE I HELPED YOU TO BE 5)
		    (HAS YOUR TREATMENT MADE YOU 5)
		    (WHAT MAKES YOU 5 JUST NOW))
		   ((0 YOU (NIL BELIEF)
		       YOU 0)
		    (NIL)
		    (DO YOU REALLY THINK SO)
		    (BUT YOU ARE NOT SURE YOU 5)
		    (DO YOU REALLY DOUBT YOU 5))
		   ((0 YOU 0 (NIL BELIEF)
		       0 I 0)
		    ((PRE (6 7)
			  YOU))
		    (PRE (6 7)
			 YOU))
		   ((0 YOU ARE 0)
		    (NIL)
		    (IS IT BECAUSE YOU ARE 4 THAT YOU CAME TO ME)
		    (HOW LONG HAVE YOU BEEN 4)
		    (DO YOU BELIEVE IT NORMAL TO BE 4)
		    (DO YOU ENJOY BEING 4))
		   ((0 YOU (CAN'T CANNOT)
		       0)
		    (NIL)
		    (HOW DO YOU KNOW YOU CAN'T 4)
		    (HAVE YOU TRIED)
		    (PERHAPS YOU COULD 4 NOW %.)
		    (DO YOU REALLY WANT TO BE ABLE TO 4))
		   ((0 YOU (DON'T WON'T)
		       0)
		    ((DOES THAT TROUBLE YOU))
		    (DON'T YOU REALLY 4)
		    (WHY DON'T YOU 4)
		    (DO YOU WISH YOU DID 4)
		    (DOES THAT TROUBLE YOU))
		   ((0 YOU FEEL 0)
		    (NIL)
		    (TELL ME MORE ABOUT SUCH FEELINGS %.)
		    (DO YOU OFTEN FEEL 4)
		    (DO YOU ENJOY FEELING 4)
		    (OF WHAT DOES FEELING 4 REMIND YOU))
		   ((YOU 0 I)
		    ((DO YOU WISH TO 2 ME)
		     (YOU SEEM TO NEED TO 2 ME %.)
		     (DO YOU 2 ANYONE ELSE))
		    (PERHAPS IN YOUR FANTASY WE 2 EACH OTHER %.)
		    (DO YOU WISH TO 2 ME)
		    (YOU SEEM TO NEED TO 2 ME %.)
		    (DO YOU 2 ANYONE ELSE))
		   ((0 YOU (NIL EMOTION)
		       0)
		    ((WHAT ELSE DO YOU 3)
		     (TELL ME MORE ABOUT 4 %.)
		     (WHY DO YOU 3 4)
		     (I DOUBT THAT YOU REALLY 3 4 %.))
		    (WHAT ELSE DO YOU 3)
		    (TELL ME MORE ABOUT 4 %.)
		    (WHY DO YOU 3 4)
		    (I DOUBT THAT YOU REALLY 3 4 %.))
		   ((0 YOU 1 O)
		    (NIL)
		    (YOU SAY 2 3 4)
		    (CAN YOU ELABORATE ON THAT)
		    (DO YOU SAY 2 3 4 FOR SOME SPECIAL REASON)
		    (TELL ME MORE ABOUT YOURSELF)
		    (OH? 2 3 4)
		    (THAT'S QUITE INTERESTING %.))))

(PUTPROPS YOU RULES (((0 I REMIND YOU OF 0)
		      (NIL)
		      DIT)
		     ((0 I ARE 0)
		      ((DOES IT PLEASE YOU TO BELIEVE I AM 4)
		       (PERHAPS YOU WOULD LIKE TO BE 4 %.)
		       (DO YOU SOMETIMES WISH YOU WERE 4))
		      (WHAT MAKES YOU THINK I AM 4)
		      (DOES IT PLEASE YOU TO BELIEVE I AM 4)
		      (PERHAPS YOU WOULD LIKE TO BE 4 %.)
		      (DO YOU SOMETIMES WISH YOU WERE 4))
		     ((0 I 0 YOU)
		      ((WHY DO YOU THINK I 3 YOU)
		       (YOU LIKE TO THINK I 3 YOU - DON'T YOU)
		       (WHAT MAKES YOU THINK I 3 YOU)
		       (REALLY? I 3 YOU)
		       (DO YOU WISH TO BELIEVE I 3 YOU)
		       (SUPPOSE I DID 3 YOU - WHAT WOULD THAT MEAN)
		       (DOES SOMEONE ELSE BELIEVE I 3 YOU))
		      (WHY DO YOU THINK I 3 YOU)
		      (YOU LIKE TO THINK I 3 YOU - DON'T YOU)
		      (WHAT MAKES YOU THINK I 3 YOU)
		      (REALLY? I 3 YOU)
		      (DO YOU WISH TO BELIEVE I 3 YOU)
		      (SUPPOSE I DID 3 YOU - WHAT WOULD THAT MEAN)
		      (DOES SOMEONE ELSE BELIEVE I 3 YOU))
		     ((0 I 1 0)
		      ((WHAT MAKES YOU THINK I 3 4)
		       (WHO ARE YOU REALLY TALKING ABOUT))
		      (SUPPOSE YOU 3 4 %.)
		      (OH? I 3 4)
		      (WHAT MAKES YOU THINK I 3 4)
		      (WHO ARE YOU REALLY TALKING ABOUT))))

(PUTPROPS XXYYZZ RULES (((0)
			 ((IS THERE SOMETHING BOTHERING YOU)
			  (CAN YOU BE MORE INFORMATIVE)
			  (PERHAPS YOU'D RATHER TALK ABOUT SOMETHING ELSE %.)
			  (PLEASE TELL ME MORE %.))
			 (IS THERE SOMETHING BOTHERING YOU)
			 (CAN YOU BE MORE INFORMATIVE)
			 (PERHAPS YOU'D RATHER TALK ABOUT SOMETHING ELSE %.)
			 (PLEASE TELL ME MORE %.))))

(PUTPROPS YES RULES (((0)
		      ((WHY ARE YOU SO SURE)
		       (I SEE %.)
		       (I UNDERSTAND %.))
		      XXYYZZ
		      (WHY ARE YOU SO SURE)
		      (I SEE %.)
		      (I UNDERSTAND %.))))

(PUTPROPS NO RULES (((0 NO (BODY ONE)
			0)
		     (NIL)
		     NOBODY)
		    ((0)
		     (NIL)
		     XXYYZZ
		     (VERY WELL %.)
		     (WHY NOT)
		     (WHY 'NO'))))

(PUTPROPS CAN RULES (((CAN I 0)
		      (NIL)
		      (YOU BELIEVE I CAN 3 DON'T YOU)
		      XXWHAT
		      (YOU WANT ME TO BE ABLE TO 3 %.)
		      (PERHAPS YOU WOULD LIKE TO BE ABLE TO 3 YOURSELF %.))
		     ((CAN YOU 0)
		      (NIL)
		      (WHETHER OR NOT YOU CAN 3 DEPENDS ON YOU MORE THAN ON ME %.)
		      (DO YOU WANT TO BE ABLE TO 3)
		      (PERHAPS YOU DON'T WANT TO 3 %.)
		      XXWHAT)))

(PUTPROPS IS RULES (((IS 0)
		     (NIL)
		     XXWHAT)
		    ARE))

(PUTPROPS WHERE RULES (WHAT))

(PUTPROPS WHAT RULES ((((HOW WHERE WHAT WHY)
			0)
		       (XXWHAT)
		       XXWHAT)))

(PUTPROPS XXWHAT RULES (((0)
			 ((WHY DOES THAT QUESTION INTEREST YOU)
			  (WHY ARE SUCH QUESTIONS ON YOUR MIND)
			  (WHAT ANSWER WOULD PLEASE YOU MOST)
			  (WHAT DO YOU THINK)
			  (WHEN HAVE YOU ASKED SUCH QUESTIONS BEFORE)
			  (WHO ELSE HAVE YOU ASKED))
			 (WHY DO YOU ASK)
			 (WHY DOES THAT QUESTION INTEREST YOU)
			 (WHY ARE SUCH QUESTIONS ON YOUR MIND)
			 (WHAT ANSWER WOULD PLEASE YOU MOST)
			 (WHAT DO YOU THINK)
			 (WHEN HAVE YOU ASKED SUCH QUESTIONS BEFORE)
			 (WHO ELSE HAVE YOU ASKED))))

(PUTPROPS BECAUSE RULES (((0)
			  (NIL)
			  (IS THAT THE REAL REASON)
			  (I SEE %.)
			  (DON'T ANY OTHER REASONS COME TO MIND)
			  (DOES THAT REASON SEEM TO EXPLAIN ANYTHING ELSE)
			  (AND WHAT DOES THAT SUGGEST)
			  (WHAT OTHER REASONS MIGHT THERE BE))))

(PUTPROPS WHY RULES (((0 WHY (DON'T WON'T)
			 I 0)
		      (NIL)
		      (DO YOU BELIEVE I DON'T 5)
		      (PERHAPS I WILL 5 IN GOOD TIME %.)
		      (SHOULD YOU 5 YOURSELF)
		      (YOU WANT ME TO 5 %.)
		      WHAT)
		     ((0 WHY CAN'T YOU 0)
		      (NIL)
		      (DO YOU THINK YOU SHOULD BE ABLE TO 5)
		      (DO YOU WANT TO BE ABLE TO 5)
		      (DO YOU BELIEVE THIS WILL HELP YOU TO 5)
		      (HAVE YOU ANY IDEA WHY YOU CAN'T 5)
		      WHAT)
		     WHAT))

(PUTPROPS EVERYONE RULES (((0)
			   (NIL)
			   (CAN YOU THINK OF ANYONE IN PARTICULAR)
			   (WHO "," FOR EXAMPLE)
			   (YOU ARE THINKING OF A VERY SPECIAL PERSON %.)
			   (YOU HAVE A PARTICULAR PERSON IN MIND "," DON'T YOU))))

(PUTPROPS EVERYBODY RULES (EVERYONE))

(PUTPROPS NOBODY RULES (((0)
			 (NIL)
			 (SURELY SOMEONE "...")
			 (PERHAPS YOU JUST DON'T KNOW OF ANYONE %.))))

(PUTPROPS NOONE RULES (NOBODY))

(PUTPROPS ALWAYS RULES (((0)
			 (NIL)
			 (CAN YOU THINK OF A SPECIFIC EXAMPLE)
			 (WHEN)
			 (WHAT INCIDENT ARE YOU THINKING OF)
			 (REALLY "," ALWAYS))))

(PUTPROPS LIKE RULES (((0 (AM IS ARE WAS)
			  0 LIKE 0)
		       (NIL)
		       DIT)))

(PUTPROPS DIT RULES (((0)
		      (NIL)
		      (IN WHAT WAY)
		      (WHAT RESEMBLANCE DO YOU SEE)
		      (WHAT DOES THAT SIMILARITY SUGGEST TO YOU)
		      (WHAT OTHER CONNECTIONS DO YOU SEE)
		      (WHAT IS THE CONNECTION "," DO YOU SUPPOSE)
		      (HOW))))

(PUTPROPS OH RULES (((0 YOUR OH YOUR 0)
		     (NIL)
		     (PRE (1 MY-OH-MY 5)
			  NEWKEY))
		    ((0 OH YOUR 0)
		     (NIL)
		     (PRE (1 OH-MY 4)
			  NEWKEY))))

(PUTPROPS EVERY RULES (((0 EVERY (ONE BODY)
			   0)
			(NIL)
			EVERYONE)
		       ((0 EVERY TIME 0)
			(NIL)
			ALWAYS)))

(PUTPROPS DO RULES (((DO I 0)
		     (NIL)
		     (PRE (I 3)
			  YOU)
		     XXWHAT)
		    ((DO YOU 0)
		     (NIL)
		     (PRE (YOU 3)
			  I)
		     XXWHAT)))

(PUTPROPS GIRLS RULES (((0 (GIRLS WOMEN)
			   0)
			(NIL)
			(PRE (1 2 S 3)
			     BOY))))

(PUTPROPS WOMEN RULES (GIRLS))

(PUTPROPS BOY RULES (((0 (NIL PERSON)
			 FRIEND 0)
		      (NIL)
		      (I WOULD LIKE TO MEET YOUR 2 FRIEND %.)
		      (PRE (1 FRIEND 4)
			   FRIEND)
		      (SUPPOSE THE FRIEND WERE NOT A 2 %.))
		     ((0 (NIL PERSON)
			 0)
		      (NIL)
		      (WHY DO YOU SAY A 2)
		      (WHAT 2 ARE YOU THINKING OF)
		      NEWKEY)
		     ((0 (NIL PERSON)
			 S 0)
		      (NIL)
		      (WHAT GROUP OF 2 ARE YOU THINKING OF)
		      (I EXPECTED THAT YOU WOULD WANT TO TALK ABOUT 2 %.)
		      (DO YOU KNOW MANY 2))))

(PUTPROPS GIRL RULES (BOY))

(PUTPROPS MAN RULES (BOY))

(PUTPROPS WOMAN RULES (BOY))

(PUTPROPS SEXY RULES (SEX))

(PUTPROPS SEXUAL RULES (SEX))

(PUTPROPS SEX RULES (((0 YOU 0 SEX 0)
		      (NIL)
		      (ARE YOU SURE YOU REALLY 3 IT 5)
		      (DO YOU REALLY WANT TO DISCUSS SEX)
		      (PERHAPS YOU ARE WORRIED THAT YOU 3 IT 5)
		      NEWKEY)
		     ((0)
		      (NIL)
		      (WHAT ARE YOUR REAL FEELINGS ABOUT SEX)
		      (DO YOU EVER DREAM ABOUT SEX)
		      (WHY DO YOU MENTION SEX)
		      (COULD SEX BE PART OF YOUR PROBLEM)
		      NEWKEY)))

(PUTPROPS FRIENDLY RULES (FRIEND))

(PUTPROPS FRIEND RULES (((0 YOUR FRIEND 0)
			 (NIL)
			 (WHAT ELSE CAN YOU TELL ME ABOUT YOUR FRIEND)
			 (WHAT MIGHT YOUR FRIENDS HAVE TO DO WITH YOUR PROBLEM))
			((0)
			 (NIL)
			 (DO YOU THINK FRIENDS ARE IMPORTANT)
			 (WHAT DO YOU THINK ABOUT YOUR FRIENDS))))

(PUTPROPS CRY RULES (LAUGH))

(PUTPROPS LAUGH RULES (((0 (LAUGH CRY)
			   0)
			(NIL)
			(WHAT WOULD MAKE YOU 2)
			(REALLY 2)
			(WOULD YOU LIKE TO LAUGH)
			NEWKEY)))

(PUTPROPS DONT TRANSLATION DON'T)

(PUTPROPS CANT TRANSLATION CAN'T)

(PUTPROPS WONT TRANSLATION WON'T)

(PUTPROPS DREAMED TRANSLATION DREAMT)

(PUTPROPS DREAMS TRANSLATION DREAM)

(PUTPROPS MY TRANSLATION YOUR)

(PUTPROPS AM TRANSLATION ARE)

(PUTPROPS YOUR TRANSLATION MY)

(PUTPROPS WERE TRANSLATION WAS)

(PUTPROPS ME TRANSLATION YOU)

(PUTPROPS YOU'RE TRANSLATION I'M)

(PUTPROPS I'M TRANSLATION YOU'RE)

(PUTPROPS MYSELF TRANSLATION YOURSELF)

(PUTPROPS YOURSELF TRANSLATION MYSELF)

(PUTPROPS MOM TRANSLATION MOTHER)

(PUTPROPS DAD TRANSLATION FATHER)

(PUTPROPS I TRANSLATION YOU)

(PUTPROPS YOU TRANSLATION I)

(PUTPROPS FEEL BELIEF T)

(PUTPROPS THINK BELIEF T)

(PUTPROPS BELIEVE BELIEF T)

(PUTPROPS WISH BELIEF T)

(PUTPROPS MY MEMR (((YOUR 2 0)
		    ((LETS DISCUSS FURTHER WHY YOUR 2 3 %.)
		     (EARLIER YOU SAID YOUR 2 3 %.)
		     (BUT YOUR 2 3 %.)
		     (DOES THAT HAVE ANYTHING TO DO WITH THE FACT THAT YOUR 2 3))
		    (LETS DISCUSS FURTHER WHY YOUR 2 3 %.)
		    (EARLIER YOU SAID YOUR 2 3 %.)
		    (BUT YOUR 2 3 %.)
		    (DOES THAT HAVE ANYTHING TO DO WITH THE FACT THAT YOUR 2 3))
		   ((0 YOUR 1)
		    ((TELL ME MORE ABOUT YOUR 3 %.))
		    (WOULD YOU LIKE TO DISCUSS YOUR 3)
		    (PERHAPS THAT CONCERNS YOUR 3 %.)
		    (TELL ME MORE ABOUT YOUR 3 %.))))

(PUTPROPS I MEMR (((0 YOU ARE 0)
		   (NIL)
		   (ARE YOU STILL 4)
		   (EARLIER YOU SAID YOU WERE 4 %.)
		   (MAYBE NOW WE CAN DISCUSS WHY YOU ARE 4 %.)
		   (DID YOU TELL ME YOU WERE 4))))

(PUTPROPS SEX MEMR (((0 YOU 0 SEX 0)
		     (NIL)
		     (EARLIER YOU SAID YOU 3 4 5 %.)
		     (TELL ME AGAIN WHY YOU 3 4 5 %.)
		     (DO YOU SAY THAT BECAUSE YOU 3 4 5))))

(PUTPROPS LIKE EMOTION T)

(PUTPROPS LOVE EMOTION T)

(PUTPROPS HATE EMOTION T)

(PUTPROPS DISLIKE EMOTION NIL)

(PUTPROPS NONE LASTRESORT [RULES (((0)
				   ((WHY DO YOU SAY THAT JUST NOW))
				   (I AM NOT SURE I UNDERSTAND YOU FULLY %.)
				   (PLEASE GO ON %.)
				   (WHAT DOES THAT SUGGEST TO YOU)
				   (WHAT ELSE WOULD YOU LIKE TO DISCUSS)
				   (WHY DO YOU SAY THAT JUST NOW])

(PUTPROPS MOTHER FAMILY T)

(PUTPROPS MOM FAMILY T)

(PUTPROPS DAD FAMILY T)

(PUTPROPS FATHER FAMILY T)

(PUTPROPS SISTER FAMILY T)

(PUTPROPS BROTHER FAMILY T)

(PUTPROPS WIFE FAMILY T)

(PUTPROPS CHILDREN FAMILY T)

(PUTPROPS BOY PERSON T)

(PUTPROPS GIRL PERSON T)

(PUTPROPS MAN PERSON T)

(PUTPROPS WOMAN PERSON T)
(DECLARE: DONTEVAL@LOAD DOEVAL@COMPILE DONTCOPY COMPILERVARS 

(ADDTOVAR NLAMA RPLQQ)

(ADDTOVAR NLAML )

(ADDTOVAR LAMA )
)
(PUTPROPS DOCTOR COPYRIGHT (NONE))
(DECLARE: DONTCOPY
  (FILEMAP (NIL (701 9821 (DOCTOR 711 . 2463) (MAKESENTENCE 2465 . 4060) (ANALYZE 4062 . 5078) (TEST 
5080 . 6380) (TEST4 6382 . 6568) (ADVANCE 6570 . 6737) (RECONSTRUCT 6739 . 7929) (MEMORY 7931 . 8488) 
(BCONC 8490 . 8836) (RPLQQ 8838 . 8923) (SETNONE 8925 . 9193) (DOCTORSYS 9195 . 9819)))))
STOP