The C-flag, which means borrow after a subtraction, is also somewhat simple to understand. What does it mean when a subtraction results in a non-zero borrow from the most significant digit?
Let us consider the following pseudo instruction:
The flags are set according to the result of y - x. What does it mean when C = 1?
This is a borrow from bit n when each operand has n bits. Just based on what we understand about the role of borrowing in subtraction, we should conclude that x > y. Technically, this means that 2n + y -x = d. However, since d only has n bits, we can deduce that 2n + y -x < 2n. We can then subtract 2n from both sides, resulting in +y -x < 0. One more step and we conclude that y < x.
However, we still have an important issue to address. Under which interpretation (signed or unsigned) that we can conclude C = 1 ⇔ x < y? For example, in a 4-bit system, 11112 can be interpreted as 15 using the unsigned interpretation, or it can be interpreted as -1 using the signed interpretation.
The answer is unsigned. This is because the bit-wise subtraction that affects the borrow/carry flag is not sign-aware. In other words, 00012 - 11112 results in a borrow of 1 when 11112 is treated as just that, an unsigned (non-negative) number.
One can come up with counter-examples of why C = 1 does not imply y < x in the signed interpretation. In a four-bit system, try x = 1,y = -1. The 4-bit binary subtraction y - x does not result in C = 1!