думаю тут поможет понимание отношений как подмножества декартова произведений
N := 0 | S(N)
a <= b := trans_closure(refl_closure({ (n, S(n)) | n in N }))
где refl_closure добавляет в отношение { (n, n) | n in N } и trans_closure добавляет { (a, c) | (a, b) in (<=), (b, c) in (<=) } бесконечно раз
то есть
(<=) = { (0, 0), (0, 1), (0, 2), ..., (1, 1), (1, 2), ..., (2, 2), (2, 3), .... }
a <= b := (a, b) in (<=)
в категории отношение наличия морфизма между двумя объектами как рефлексивно и транзитивно, поэтому если есть морфизм между a и b, значит a <= b