predicate free_timeslot() = let { int: slot = max(Times) div 10; int: time = uniform(min(Times), max(Times) - slot); } in forall(t in Tasks) ((sol(s[t]) < time \/ time+slot > sol(s[t])) -> s[t] = sol(s[t]));