anchor.diff:          (regex-2-15-b '(:concatenation 0 (:closure 1)))
           (regex-2-15-c '(:union (:concatenation 0 (:closure 1)) 1)))
       (lisp-unit:assert-true
  -     (dfa-equal (dfa-minimize-hopcroft (nfa->dfa fig-2-15-a))
  -                (dfa-minimize-hopcroft (nfa->dfa (regex->nfa regex-2-15-a)))))
  -    (lisp-unit:assert-true
  -     (dfa-equal (fa-minimize-brzozowski (nfa->dfa fig-2-15-a))
  -                (dfa-minimize-hopcroft (nfa->dfa (regex->nfa regex-2-15-a)))))
  -
  -    (lisp-unit:assert-true
  -     (dfa-equal (dfa-minimize-hopcroft (nfa->dfa fig-2-15-b))
  -                (dfa-minimize-hopcroft (nfa->dfa (regex->nfa regex-2-15-b)))))
  -    (lisp-unit:assert-true
  -     (dfa-equal (fa-minimize-brzozowski (nfa->dfa fig-2-15-b))
  -                (dfa-minimize-hopcroft (nfa->dfa (regex->nfa regex-2-15-b)))))
  -
  -    (lisp-unit:assert-true
  -     (dfa-equal (dfa-minimize-hopcroft (nfa->dfa fig-2-15-c))
  -                (dfa-minimize-hopcroft (nfa->dfa (regex->nfa regex-2-15-c)))))
  -    (lisp-unit:assert-true
  -     (dfa-equal (fa-minimize-brzozowski (nfa->dfa fig-2-15-c))
  -                (dfa-minimize-hopcroft (nfa->dfa (regex->nfa regex-2-15-c))))))
  +     (dfa-equal (fa-minimize-hopcroft fig-2-15-a)
  +                (fa-minimize-hopcroft (regex->nfa regex-2-15-a))))
  +    (lisp-unit:assert-true
  +     (dfa-equal (fa-minimize-brzozowski fig-2-15-a)
  +                (fa-minimize-hopcroft (regex->nfa regex-2-15-a))))
  +
  +    (lisp-unit:assert-true
  +     (dfa-equal (fa-minimize-hopcroft fig-2-15-b)
  +                (fa-minimize-hopcroft (regex->nfa regex-2-15-b))))
  +    (lisp-unit:assert-true
  +     (dfa-equal (fa-minimize-brzozowski fig-2-15-b)
  +                (fa-minimize-hopcroft (regex->nfa regex-2-15-b))))
  +
  +    (lisp-unit:assert-true
  +     (dfa-equal (fa-minimize-hopcroft fig-2-15-c)
  +                (fa-minimize-hopcroft (regex->nfa regex-2-15-c))))
  +    (lisp-unit:assert-true
  +     (dfa-equal (fa-minimize-brzozowski fig-2-15-c)
  +                (fa-minimize-hopcroft (regex->nfa regex-2-15-c)))))
   
   
   
  
positive.code:                               'e (finite-set 1))))
      ;; mostly-minimal
      (lisp-unit:assert-true (dfa-equal fig-3-4-min
                                        (dfa-minimize-hopcroft fig-3-4)))
      (lisp-unit:assert-true (dfa-equal fig-3-4-min
                                        (fa-minimize-brzozowski fig-3-4)))
  
      ;; bigger dfa
      (lisp-unit:assert-true (dfa-equal fig-3-4-min
                                        (dfa-minimize-hopcroft fig-3-2)))
      (lisp-unit:assert-true (dfa-equal fig-3-4-min
                                        (fa-minimize-brzozowski fig-3-2)))
                                          ; regex
      (lisp-unit:assert-true
       (dfa-equal fig-3-4-min
                  (dfa-minimize-hopcroft (nfa->dfa (regex->nfa ex-3-7)))))
      (lisp-unit:assert-true
       (dfa-equal fig-3-4-min
                  (fa-minimize-brzozowski (nfa->dfa (regex->nfa ex-3-7))))))
  
negative.code:   (labels ((equiv-hop-brz (regex)
               (let* ((nfa (regex->nfa regex))
                      (dfa (nfa->dfa nfa))
                      (hop (fa-minimize-hopcroft dfa)))
                 (and (dfa-equal (fa-minimize-brzozowski dfa) hop)
                      (dfa-equal (fa-minimize-brzozowski nfa) hop))))
             (match-dfa (regex string)
  