Prolog
% =================================================================
% データ定義（ファクト）
% =================================================================
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が独自に定義：評価4.5以上 ＆ レビュー15件以上）
recommended_product(Name, Rating, ReviewCount) :-
    product(Name, _, Rating, ReviewCount),
    Rating >= 4.5,
    ReviewCount >= 15.

% =================================================================
% メイン処理（ideone用）
% =================================================================
main :-
    write('--- Recommended Products ---'), nl,
    forall(recommended_product(Name, Rating, ReviewCount),
           format('Item: ~w (Rating: ~w, Reviews: ~w)~n', [Name, Rating, ReviewCount])),
    halt.

:- initialization(main).