% =================================================================
% データ定義（ファクト）
% product(Name, Price, Rating, ReviewCount)
% =================================================================
product(item1, 3000, 4.8, 20).
product(item2, 1800, 4.2, 200).
product(item3, 5000, 4.9, 5).
product(item4, 2500, 4.5, 80).

% =================================================================
% AIが独自に定義した「おすすめ（recommended）」のルール
% 定義：評価(Rating)が4.5以上、かつレビュー数(ReviewCount)が15件以上
% =================================================================
recommended_product(Name) :-
    product(Name, _, Rating, ReviewCount),
    Rating >= 4.5,
    ReviewCount >= 15.

% =================================================================
% メイン処理（ideoneの実行用エントリーポイント）
% =================================================================
main :-
    % すべてのおすすめ商品をバックトラックで列挙して表示
    forall(recommended_product(Name),
           (format('Recommended item: ~w~n', [Name]))),
    halt.