:- eval(run()).

run() :-
	fine(),
	println(["fine"]).
run() :-
	notfine(),
	println(["notfine"]).

fine() :- equals(_, a), equals(_, 2). 

notfine() :- notfine_s(). 
notfine() :- notfine_n(). 
notfine() :- notfine_x(). 
notfine_s() :- equals(String._, a), equals(String._, b). 
notfine_n() :- equals(Number._, 1), equals(Number._, 2). 
notfine_x() :- equals(String._, a), equals(Number._, 2). 
