How to deal with different definition true/false. In standard conception is true defined as taking the first value and false as taking the second one. Let's say we have true/false defined as follows:
$$true = \lambda xy.x \\false = \lambda xy.yx $$
Can you explain to me how to define $ \leq $? Now I don't want you to tell me the solution (which I post here) - I got a problem to figure out how to thought process tasks like this one. Is there any pattern for this stuff or is it something you can't learn (but need that right intuition)?
Solution(using ternary operator):
$$LET(?:) =\lambda ctf.ct(\lambda x.f)$$ $$LET (\leq) =\lambda ab.iszero(sub (ab)) ? True:False $$ (sub(ab)) stands for (sub ab)