Supponiamo per assurdo che il linguaggio sia regolare. Sia allora n il numero di stati del piu' semplice automa che lo riconosca. prendiamo quindi la stringa a^(n+1)b^n Sia q lo stato in cui arriva l'automa dopo aver scandito le n+1 'a'. Sia q' il primo stato che l'automa attraversa due volte nel percorso che dallo stato q arriva allo stato finale (q' esiste perche' il numero di 'b' e' n, per il pigeon-principle). Se il ciclo da q' a q' e' lungo p, allora anche le stringhe a^(n+1)b^(n+r*p) per ogni r sono riconosciute dall'automa. Ma non appartengono pero' al linguaggio. Contraddizione.