>>45
大変なミス。# _副目標 :- ... はsolve/4のインラインでないと変数情報が
渡せませんでした。

solve(# P,V,L1,L2) :-
  !,
  P =.. [_関係表名|_引数ならび],
  select cname into _属性名ならび from col where tname=_関係表名,
  条件の選別(_属性名ならび,_引数ならび,_条件句候補,L1),
  ( not(_条件句候補=[]),
  条件句の作成(_条件句候補,_条件句),
  select *
  into X
  from _関係表名
  where _条件句;
  _条件句候補=[],
  select *
  into X
  from _関係表名
  ),
  member(_引数ならび,X).
でなくてはいけません。ただし、( ) の部分は別述語として定義する
べきでしょう。