I came across this example of a fact in Prolog:
vertical(line(point(X,Y),point(X,Z))).
This seems strange to me as I thought facts always contain only a functor and atoms (or structures of atoms) and the above code seems more like a rule (if .... then line is vertical).
This has really confused me and I am now trying to figure out the difference between a fact containing variables and a rule and when one or the other should be used. Someone please help me out! :S
Also, how could I write this code using rules?