Idenya adalah untuk memutuskan secara nondeterministis pada awal berapa banyak kata tersebut didaur ulang, dan memiliki salinan otomat untuk setiap kasus. Dalam hal otomat, itu berarti kita menebak di negara manaD akan setelah mengkonsumsi awalan kata (yang merupakan akhiran dari input kami), dan mulai di negara itu.
Sekarang konstruksinya. Untuk setiap negara bagianq∈Q, terpisah D menjadi dua bagian A1 dan A2. A1 berisi status dari mana q terjangkau dan A2 negara yang dapat dijangkau dari q:
[ sumber ]
Perhatikan bahwa setiap node yang diberikan dapat terkandung di keduanya A1 dan A2. Oleh karena itu, jumlah negara dapat berlipat ganda jika kita membuat langkah ini eksplisit.
Sekarang kami memasang ulang otomat ini sehingga menerima semua kata q menandai "titik siklus":
[ sumber ]
Kita mendapatkan |Q|automata dari formulir ini; buat keadaan awal baru yang sudahε-transisi ke semua status awal mereka. Otomat yang dihasilkan menerimacycle(L). Secara keseluruhan, kami mendapatkan paling banyak|Q|⋅(2|Q|+1)+1 hanya menyatakan |Q| lebih banyak status daripada klaim referensi yang dimungkinkan.
Anda bisa meraihnya 2|Q|2+1menyatakan dengan memodifikasi komponen automata sedikit; hilangkan semuaq0 dengan mengganti yang masuk ε-transisi dengan salinan transisi keluarnya. Yaitu, untuk setiap pasangan transisi(q1,ε,q0),(q0,a,q2), perkenalkan suatu transisi (q1,a,q2).
Konstruksi yang ketat dan bukti ketelitian tetap sebagai latihan.