濁音には、対応していません。つまりバグです。
全角カタカナから半角カタカナへ変換します。
(ア→ア オ→オ ン→ン)
五十音範囲としました。(拗音、濁音などは除く)
♪ プログラムコード
code
sub_atom/5 をネットで検索してください。
% cat string.pl k_hk(K) :- _ア= 'アイウエオ\ カキクケコ\ サシスセソ\ タチツテト\ ナニヌネノ\ ハヒフヘホ\ マミムメモ\ ヤーユーヨ\ ラリルレロ\ ワーーーヲ\ ン', _ア= 'アイウエオ\ カキクケコ\ サシスセソ\ タチツテト\ ナニヌネノ\ ハヒフヘホ\ マミムメモ\ ヤーユーヨ\ ラリルレロ\ ワーーーヲ\ ン', sub_atom( _ア,F,L,E,K ), sub_atom( _ア,F,L,E,Ans ), write(Ans),!,fail.
実行例
% swipl -q ?- [string]. /* string.pl を読み込む */ % string compiled 0.00 sec, 3 clauses true. ?- k_hk( 'ア' ). ア false. ?- k_hk( 'ス' ). ス false. ?- k_hk( 'ン' ). ン false. ?- halt. %