Я пытался написать код проверки типов с помощью Пролога, но я новичок с Прологом, мое правило не работает, и я не понимаю, почему?
(я уже определил факты для bool
и т.1009 *
мое правило: if e1:bool, if e2:t and if e3:t, so (if e1 e2 e3):t
мое правило Пролога:
type( iF(Cond, Cons, Alter), Env, Y) :-
type( Cond, Env, T1) ,
type( Cons, Env, T2),
type( Alter, Env, T2),
lastOf( X, T1),
X == bool,
lastOf( Y, T2).