
lazyAllTsTranslation(AllTs,NewAllClas):- maplist(lazyTsTranslation,AllTs,NewAllClas).

lazyTsTranslation(EI-Ts,EI-Clas):- maplist(listHead,Ts,Clas).
					%Clas0),remove_duplicates(Clas0,Clas),
					%length(Clas0,K0),length(Clas,K),
					%nl,write('Comparing redundancy within each example'),write({K0,K}).

%lazyTranslation(Ts,PrunedTs):- maplist(listHead,Ts,PrunedTs).

listHead([Head|List],Head). % [Head]? Head -- depend later


counting([],Tree,Tree).
counting([EI-OneEITRecord|All_T_Records],TreeSoFar,Tree):-
	insertOneEI_Ts(OneEITRecord,EI,TreeSoFar,NTreeSoFar),
	counting(All_T_Records,NTreeSoFar,Tree).


insertOneEI_Ts([],EI,Tree,Tree).

insertOneEI_Ts([TI|TIs],EI,TreeSoFar,Tree):-
	inserted(TI,EI),!,
	insertOneEI_Ts(TIs,EI,TreeSoFar,Tree).

insertOneEI_Ts([TI|TIs],EI,TreeSoFar,Tree):-
	(rb_lookup(TI,EI_List,TreeSoFar)->
		rb_update(TreeSoFar,TI,[EI|EI_List],NTreeSoFar);		
		rb_insert(TreeSoFar,TI,[EI],NTreeSoFar)
	),	
	asserta(inserted(TI,EI)),
	insertOneEI_Ts(TIs,EI,NTreeSoFar,Tree).



