alpha(boolean,_Type,_Infos,boolean) :- !.
alpha(boolean_true,_Type,_Infos,boolean_true) :- !.
alpha(boolean_false,_Type,_Infos,boolean_false) :- !.
alpha(global(X),_Type,_Infos,global(X)) :- !.
alpha(string,_Type,_Infos,string) :- !.
alpha(integer,_Type,_Infos,integer([MinInt,MaxInt])) :- !,
preferences:get_preference(minint,MinInt),
preferences:get_preference(maxint,MaxInt).
alpha(couple(X,Y),_Type,_Infos,couple(AbsX,AbsY)) :- !,
alpha(X,X,[],AbsX), alpha(Y,Y,[],AbsY).
alpha(set(_X),Type,Infos,Abs) :- !,
alpha(empty_set,Type,Infos,Abs).
alpha(integer(X),_Type,_Infos,integer([X,X])) :- !.
alpha(empty_set,set(SetOfType),_Infos,set(AbsType,[0,0],MaxCard)) :- !,
alpha(SetOfType,SetOfType,[],AbsType),
max_cardinality(SetOfType,MaxCard).