Relational program synthesis with numerical reasoning