findmin/3 の定義
findmin/3という述語が出てきますが、定義が載っていませんでした。この定義を教えてください。
findmin/3は、第二引数を非決定性でcallを実行し、その時点の第一引数項をリストに収集した上でその中の最小値を第三引数に単一化する、というものの筈です。
チーム(1,巨人).
チーム(2,阪神).
チーム(3,中日).
選手(1,1,阿部,10).
選手(2,1,杉内,18).
選手(3,2,金本,6).
選手(4,2,鳥谷,1).
選手(5,3,岩瀬,13).
選手(6,3,谷繁,27).
各チームから背番号最少の選手を抽出する(_チーム,_選手名,_チーム最小背番号) :-
チーム(_チームID,_チーム),
findmin([_背番号,_選手名],選手( _,_チームID,_選手名,_背番号),[_チーム最小背番号,_選手名]).