Input: 
defaultPredicationValue;
closedWorldAssumption.

AllEIs
set(cross_validation_method,leave-one-out).
set(cross_validation_method,folds). provide fold information as well. 
For different time points, you need to provide the fold information as well. 

lv0_allTimePoints:-
	tell('CNR_early.pl'),lv0(1,22),told,
tell('CNR_late.pl'),lv0(23,44),told,
tell('CNR_mid.pl'),lv0(45,66),told,
tell('NOR_early.pl'),lv0(67,88),told,
tell('NOR_late.pl'),lv0(89,110),told,
tell('NOR_mid.pl'),lv0(111,132),told,
tell('RIN_early.pl'),lv0(133,154),told,
tell('RIN_late.pl'),lv0(155,176),told,
tell('RIN_mid.pl'),lv0(177,198),told.


lv0(EIStart,EIEnd):- %,MutantType_and_Time):-
	%tell('tomato_cv_all_withoutLearning.txt'),	

numbersList(EIStart,EIEnd,PosEIs),
leaveOneOut(PosEIs,PosEIs,Results),write(Results),
ord_subtract(PosEIs,Results,UnCover),
selectlist(checkCoverdByDefault,UnCover,CoveredByDefault),append(CoveredByDefault,Results,PredictedResults),
percentage(PredictedResults,PosEIs,PA),
write('CNR_earlyPredictive Accuracy is'),write(PA),nl,
/*
numbersList(EIStart,EIEnd,PosEIsCNR_early),
leaveOneOut(PosEIsCNR_early,PosEIsCNR_early,Results),
percentage(Results,PosEIsCNR_early,PA),
write('CNR_earlyPredictive Accuracy is'),write(PA),nl,
numbersList(23,44,PosEIsCNR_late), 
numbersList(45,66,PosEIsCNR_mid),
numbersList(67,88,PosEIsNOR_early),
numbersList(89,110,PosEIsNOR_late),
numbersList(111,132,PosEIsNOR_mid),
numbersList(133,154,PosEIsRIN_early),
numbersList(155,176,PosEIsRIN_late),
numbersList(177,198,PosEIsRIN_mid),*/
nl. %told.

checkCoverdByDefault(EI):-
	ex(EI,concentration(MID,DefaultChange,Time),1),
	defaultPrediction(Time,DefaultChange).

%defaultPrediction(Time,Change).
defaultPrediction('CNR_E',no_change).
defaultPrediction('CNR_M',down).
defaultPrediction('CNR_L',down).
defaultPrediction('NOR_E',no_change).
defaultPrediction('NOR_M',no_change).
defaultPrediction('NOR_L',up).
defaultPrediction('RIN_E',no_change).
defaultPrediction('RIN_M',no_change).
defaultPrediction('RIN_L',no_change).
% pick out the default list.