
outputToC(PosEIs,T_EITIs):-
	tell('claID_mapping.pl'),
	claRenameIndex(T_EITIs,MaxIndex),
	told,consult('claID_mapping.pl'),

	tell('outputToC.pl'),  	%tell('cla_score.pl'),
	forAll(claID_mapping(ClaID,ClaIDIndex),(claLength(ClaID,ClaLength),portray_clause(claLength(ClaIDIndex,ClaLength)))),
	%told,


	%tell('candiateH_claID.pl'),
	forAll(candidateH0(EI,TI,OneH),hTranslate_mappedToClaID(EI,TI,OneH)),
	%told,


	%tell('contradicts.pl'),
	setof(ContradicatedClaIDs,(inconsistenValue(ContradicatedClaIDs)),All_ContradicatedClaIDs),
	maplist(outputContradicts,All_ContradicatedClaIDs),
	told.

outputContradicts(ContradicatedClaIDs):-
	portray_clause(contradict(ContradicatedClaIDs)).


/*inconsistenValue(ContradicatedClaIDs):-	%{RID,Time}-
	claID_mapping([rs-{RID,LimitingType,Change,Time}],ClaIndex),
	claID_mapping([rs-{RID,LimitingType1,Change1,Time}],ClaIndex1),
	ClaIndex\==ClaIndex1,
	findall(ClaIndex_any,claID_mapping([rs-{RID,LimitingType_any,Change_any,Time}],ClaIndex_any),ContradicatedClaIDs). */

inconsistenValue(AllContradicatedClaIDs):-	%{RID,Time}-
	claID_mapping([rs-{reversed-RID,LimitingType,Change,Time}],ClaIndex),claID_mapping([rs-{RID,LimitingType1,Change1,Time}],ClaIndex1),

	findall(ClaIndex_any,claID_mapping([rs-{reversed-RID,LimitingType_any,Change_any,Time}],ClaIndex_any),ContradicatedClaIDs),
	findall(ClaIndex_any1,claID_mapping([rs-{RID,LimitingType_any1,Change_any1,Time}],ClaIndex_any1),ContradicatedClaIDs1),
	append(ContradicatedClaIDs,ContradicatedClaIDs1,AllContradicatedClaIDs).

inconsistenValue(AllContradicatedClaIDs):-
	claID_mapping([rs-{reversed-RID2,LimitingType2,Change2,Time}],ClaIndex2),
	(claID_mapping([rs-{RID2,LimitingType22_no,Change22_no,Time}],ClaIndex22_no)->
		  fail;
		  Foo=0
	),
	claID_mapping([rs-{reversed-RID2,LimitingType22,Change22,Time}],ClaIndex22),
	ClaIndex2\==ClaIndex22,
	findall(ClaIndex_any,claID_mapping([rs-{reversed-RID2,LimitingType_any,Change_any,Time}],ClaIndex_any),AllContradicatedClaIDs).

 
inconsistenValue(AllContradicatedClaIDs):-
	claID_mapping([rs-{RID2,LimitingType2,Change2,Time}],ClaIndex2),\+reversedReaction(RID2),
	\+claID_mapping([rs-{reversed-RID2,LimitingType22_no,Change22_no,Time}],ClaIndex22_no),
	claID_mapping([rs-{RID2,LimitingType22,Change22,Time}],ClaIndex22),
	ClaIndex2\==ClaIndex22,
	findall(ClaIndex_any,claID_mapping([rs-{RID2,LimitingType_any,Change_any,Time}],ClaIndex_any),AllContradicatedClaIDs).

reversedReaction(reversed-RID).
  
inconsistenValue(ContradicatedMIDs):-
	claID_mapping([met-{MID,Change,Time}],ClaIndex),
	claID_mapping([met-{MID,Change1,Time}],ClaIndex1),
	ClaIndex\==ClaIndex1,
	findall(ClaIndex_any,claID_mapping([met-{MID,Change_any,Time}],ClaIndex_any),ContradicatedMIDs).


/*
	maplist(outputSharedInfo,T_EITIs), listing,
	findall(EITIs_any,sharedHs(ClaID,EITIs_any),AllShared0),
	flatten(AllShared0,AllShared1),sort(AllShared1,AllShared),
	ti_GroupedByEI(AllShared,Grouped),
	order_by_candidatesNum(Grouped,OrderedGroups),
	print_list(OrderedGroups). */



claRenameIndex([],0).
claRenameIndex([ClaID-EITIs|Clas],Index):-
	claRenameIndex(Clas,PreIndex),
	Index is PreIndex+1,
	portray_clause(claID_mapping(ClaID,Index)).


hTranslate_mappedToClaID(EI,TI,OneH):-
	maplist(claID_mapping,OneH,OneH_claID),
	portray_clause(candidateH(EI,TI,OneH_claID)).



%([ClaID-EITIs|Clas],):-
%	Clas,