It is unknown whether the following 6-clause "pure" Prolog program halts.
:- f(s(s(s(s(s(s(s(s(N)))))))),F), m(S,S,s(F)).
f(o,s(o)).
f(s(N),G) :- f(N,F), m(s(N),F,G).
m(o,_,o).
m(s(X),Y,Z) :- a(Y,P,Z), m(X,Y,P).
a(o,Y,Y).
a(s(X),Y,s(Z)) :- a(X,Y,Z).
It is based on a conjecture, related to Brocard's Problem, that n!+1=m^2 only has solutions for n < 8.
Is there a smaller Prolog program whose halting is unknown?
Only "pure" Prolog is allowed, so library and standard predicates, numbers, not and cut are forbidden.
I examined many unsolved problems but could not find a corresponding smaller program. Brocard's Problem is also one of the smallest in: https://codegolf.stackexchange.com/questions/97004/does-the-code-terminate
EDIT: Determining if a program halts can be challenging. For example, proving that the following program does not halt requires non-trivial induction.
:- p(f(X),f(f(Y)),f(f(b))).
p(f(a),f(X),f(f(X))).
p(f(a),f(a),f(f(X))).
p(X,f(f(Y)),X) :- p(Y,f(f(Y)),f(f(X))).
p(f(X),Y,Z) :- p(X,f(Y),f(f(Z))).