:- set_prolog_flag(flowlog_engine, wam).

ok :-
    functor(foo(a,b), N, A),
    N == foo,
    A == 2,

    functor(T, foo, 2),
    arg(1, T, X),
    arg(2, T, Y),
    var(X),
    var(Y),
    X \== Y,

    T =.. [foo, X, Y],
    foo(a,b) =.. L,
    L = [foo, a, b],
    5 =.. [5],
    foo =.. [foo],

    U =.. [foo, a, b],
    U == foo(a,b),

    compare('<', a, b),
    compare('>', b, a),
    compare('=', a, a),
    compare(C, a, b),
    C == '<',
    \+ compare('>', a, b),
    \+ arg(0, foo(a,b), _),
    functor(T2, 5, 0),
    T2 == 5.
