* Splitting tickets at an intermediate station sometimes reduced the total fare, so p(A,B)+p(B,C)<p(A,C);
* Reverse journeys are not always the same price, so p(A,B)!=p(B,A); and
* For a time it was necessary to purchase a platform ticket to enter the station proper, so p(A,A)!=0.
Even now I save thousands of pounds a year by finding optimal split ticket journeys, some of which take (partial) advantage of advance fare discounts.
So I'm not surprised, and no longer think of common sense as something to be expected from fare structures.