

ratio(second,minute,1/60).
ratio(minute,hour,1/60).
ratio(hour,day,1/24).
ratio(day,year,1/365).
ratio(month,year,1/12).

getRatio(Same,Same,1).
getRatio(From,To,Ratio) :- ratio(From,To,Ratio).
getRatio(From,To,Ratio) :- ratio(To,From,Rev), 
			   Ratio is 1/Rev.
getRatio(From,To,Ratio) :- ratio(From,Then,R1), 
			   getRatio(Then,To,R2), 
			   Ratio is R1*R2.

convert(FromUnit,FromVal,ToUnit,ToVal) :-
	getRatio(FromUnit,ToUnit,Ratio),
	ToVal is FromVal*Ratio.
convert(FromUnit,FromVal,ToUnit,ToVal) :-
        getRatio(ToUnit,FromUnit,Rev),
        ToVal is FromVal/Rev.

