let ndfa = { name = "ndfa" ; alphabet = [ "a" ; "b"] ; initial = [1] ; accepting = [4] ; transitions = [ (1,"a",1) ; (2,"a",3) ; (3,"a",4) ; (4,"a",4) ; (1,"a",2) ; (4,"b",4) ; (1,"b",1) ] } ;; (* determinization ndfa ;; explained_determinization ndfa ;; *) (* The blow up example of Sakoda-Sipser 1978, Birget 1993 *) (blow_up_ndfa 1) ;; explained_determinization (blow_up_ndfa 1) ;; let ndfa = { name = "exp_reg" ; alphabet = [ "a" ; "b"] ; initial = [1] ; accepting = [2] ; transitions = [ (1,"a",1) ; (1,"a",2) ; (2,"a",2) ; (2,"a",3) ; (1,"b",1) ; (3,"b",2) ] } ;; explained_determinization ndfa ;; complementary ndfa ;;