class Test6{
    public static void main(String[] args){
	// m = ABB
	Mot m = new Mot('A', new Mot('B', new Mot('B', null)));


	// -----------------------------------------
	// premier test
	// -----------------------------------------
	// m3 = B
	Mot m3 = new Mot('B', null);
	// n3 = A
	Mot n3 = new Mot('A', null);
	// r3 = (B,A)
	Regle r3 = new Regle(m3, n3);

	ListeMots f = Mot.reecrire(r3, m);
	// on doit voir (ABA, AAB), a l'ordre pres
	ListeMots.afficher(f);
	System.out.println();


	// -----------------------------------------
	// second test
	// -----------------------------------------
	// m1 = AB
	Mot m1 = new Mot('A', new Mot('B', null));
	// n1 = A
	Mot n1 = new Mot('A', null);

	// m2 = BB
	Mot m2 = new Mot('B', new Mot('B', null));
	// n2 = A
	Mot n2 = new Mot('A', null);

	// r1 = (AB,A)
	Regle r1 = new Regle(m1, n1);
	// r2 = (BB,A)
	Regle r2 = new Regle(m2, n2);
	Regle[] r = {r1, r2};

	// on doit voir AA et AB (a l'ordre pres)
	ListeMots e = Mot.reecrire(r, m);
	ListeMots.afficher(e);
	System.out.println();
	
	// on doit voir A 
	ListeMots.afficher(Mot.reecrire(r, e));
	// on doit voir AA
	ListeMots.afficher(Mot.irreductibles(r, e));
    }
}

