前提・実現したいこと
prologにおいて
Term ::= Alphabet | Digit | f(Term) | g(Term,Term)
Alphabet ::= a | b
Digit ::= 0 | 1
が定義されているとき,与えられたアトム A が与えられた項 Term に出現するかど うかを判定する述語 ocr_check(A,Term) のプログラムを作成したいです
発生している問題・エラーメッセージ
ocr_check(a,f(g(b,f(a))))を与えた時、falseとなりうまくできません。
どのように改良すればよいでしょうか?
該当のソースコード
prolog
1alphabet(a). 2alphabet(b). 3 4digit(0). 5digit(1). 6 7 8ocr_check(A,A). 9ocr_check(A,f(T1)):-ocr_check(A,T1). 10ocr_check(A,g(T2,T3)):-ocr_check(A,T2),ocr_check(A,T3). 11
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。