Prolog convierte minutos a horas
Este es el código que he creado.
mins_to_hours(In, H, M):-
In < 60,
H = 0,
M is In.
mins_to_hours(In, H, M):-
In >= 60,
H is H1+1,
In1 is In-60,
mins_to_hours(In1, H1, M).
Funciona bien cuando los minutos son menos de 60, por ejemplo,
?- mins_to_hours(20,H,M).
H = 0,
M = 20 ;
false.
Sin embargo, cuando intenta ejecutarlo durante más de 60 minutos
?- mins_to_hours(80,H,M).
it genera una excepción
ERROR: Arguments are not sufficiently instantiated
ERROR: In:
ERROR: [9] _3198 is _3204+1
ERROR: [8] mins_to_hours(80,_3232,_3234) at c:/.../xyz.pl:11
ERROR: [7] <user>
en la posiciónH is H1+1,
.
¿Alguna idea de cómo solucionar este problema