Number を受け取り、1 からそれまでのリストを作成するサービス述語が必要です。次に、カウンターを 1 から Number にインクリメントして再帰し、サービス述語を呼び出して結果を追加します。
mazeCreator(Number, List) :-
mazeCreator(1, Number, [], List).
mazeCreator(Index, Number, Built, List) :-
Index =< Number, % don't forget the check the limit
make_list(Index, Number, Temp), % call service predicate
append(Built, Temp, Other),
% increment Index and recurse
...
% dont' forget the base case (i.e. when Index is not =< Number, equate Built and List)
mazeCreator(_, _, ....).
Prolog に between/3 と findall/3 がある場合、次のコンパクトな方法で実行できます。
mazeCreator(Number, List):-
findall(I/J, (between(1, Number, I), between(1, Number, J)), List).