>>16

単位行列(_単位行列) :-
    正方行列(_単位行列),
    length(_単位行列,_次数),
    単位行列(1,_次数,_単位行列).

単位行列(M,N,[]) :- M > N,!.
単位行列(M,N,[_行|R]) :-
    単位行列(M,1,N,_行),
    M2 is M + 1,
    単位行列(M2,N,R).