(clear-rules)
(remember-rules
 '(stop
  IF (reachable-from-tech-square harvard-square ?x)
  THEN (STOP))
 '(symmetric-connect
   IF (connect-from ?x ?y)
   THEN (connect-from ?y ?x))
 '(start-from-tech-square
   IF (connect-from tech-square ?x)
   THEN (reachable-from-tech-square ?x (tech-square ?x)))
 '(reach-from-tech-square
   IF (reachable-from-tech-square ?x ?path)
      (connect-from ?x ?y)
   THEN (reachable-from-tech-square ?y (?path ?y)))
 )

(clear-assertions)
(remember-assertions
 '(connect-from tech-square central-square)
 '(connect-from tech-square inman-square)
 '(connect-from tech-square cambridge-port)
 '(connect-from inman-square porter-square)
 '(connect-from inman-square central-square)
 '(connect-from harvard-square fresh-pond)
 '(connect-from cambridge-port harvard-square)
 '(connect-from central-square harvard-square)
 )
