Teorema 4:
Dim: Per $i \in {1,\ldot,2_k}$, sia $V_i \subseteq V$ l'insieme dei vertici v con
$\ell(v) \geq i$ e sia $E_i = E \cap (V_i * V_I)$. Inoltre $E_i$ contiene soltanto i vertici
i cui endpoints hanno un etichettatura maggiore o uguale di i.
Per ogni i e j con $i < j$ abbiamo che $V_j\subseteq V_i$ inoltre il grafo $G_j$ è un
sottografo di $G_i$. Di conseguenza il MSCC's di $G_j$ raffina quello di $G_i$ nel
senso che se due vertici appartengono alla stessa MSCC di $G_j$ essi appartengono alla
stessa MSCC di $G_i$. Questi perfezionamenti sono la chiave dell'algoritmo. L'algoritmo
infatti ricerca questi $i\in {1,\ldots,2_k}$ tale che i è pari e c'è un MSCC di $G_i$ non
banale che contiene il vertice etichettato con i. Intuitivamente quando l'algoritmo esamina
un canditato i, termina con "si" se è un testimone, o esamina altri canditati j diversi da i.
Ci sono due casi:
-Se $j>i$ si esamina un sottografo $G_i$ formato dai vertici e archi che appartengono al
MSCC non banale di $G_j$.
-Se $j<i$ si esamina una versione compressa di $G_j$ in cui i vertici che appartengono
alla stessa MSCC in $G_i$ sono rappresentati da un solo vertice. Di conseguenza il grafo
che consideriamo ha meno stati e archi, precisamente per ogni $ j_1>i e j_2<i, il numero
di archi nei due grafi richiesti per esamininare $j_1 e j_2$ non è maggiore del numero di
archi nel grafo richiesti per verificare i.
Dato G e un $i\leq j$ (Se j è minore di i non esiste nessun testimone e la procedura dirà
no), la procedura per prima cosa calcola MSCC di $G_mid$ dove mid è un indice con il
valore medio tra i e j. Se mid è pari ed esiste un MSCC di $G_mid$ con un vertice
etichettato mid, la procedura termina con output "Si"(mid è il testimone). Altrimenti si
chiamano solve(G_bottom, mid+1,j) e solve(G_top,i, mid-1) dove $G_bottom$ è un
sottografo di $G_mid$ e $G_top$ è il grafo compresso ottenuto dal MSCC di $G_mid$.
(in tal caso il corrispondente MSCC è un singleton ed è banale) e $<u,v>\in E$, oppure se
u e v sono in $V_mid$ e essi appartengono a MSCCs diversi($C_u diverso da C_v$).
Quindi, ricercare il certificato in $i,\ldots,mid-1$ possiamo ignorare la struttra interna
degli MSCC's in $C_mid$.