# Transformation of a simple logic statement

I'm designing a logic circuit and I was wondering if the following two things are equivalent:

(x <= y) and (x < (y + 1))

I can't think of any set of numbers that would make these two things not equivalent. Only real integers are allowed. Thank you.

-
Why wont you just test it in Mathematica? – ALEXANDER Mar 30 '14 at 22:26
Implies[(x <= y) , (x < (y + 1))] // Simplify – ciao Mar 30 '14 at 22:28
Have a look at ForALL as well. – ALEXANDER Mar 30 '14 at 22:31
@rasher Could you to justify your claim? I'm affraid that is an artifact of the system even though that is true, because Simplify is not a substitute for Resolve. – Artes Mar 30 '14 at 23:05
@Artes: perhaps I'm mistaken, seem to recall resolve/reduce part of simplify under the covers. – ciao Mar 31 '14 at 0:10

In Mathematica:

    Reduce[ForAll[{x, y}, x <= y \[Equivalent] x < y + 1], Integers]
(* True *)


or:

    Resolve[ForAll[{x, y}, x <= y \[Equivalent] x < y + 1], Integers]
(* True *)


For a mathematical proof, the direct implication $x \leq y \Rightarrow x < y+1$ has the trivial proof noted by @rcollyer in a comment. The converse implication $x < y + 1 \Rightarrow x<=y$ is a consequence of the proposition that, for every integer $y$, there is no integer strictly between $y$ and $y + 1$. The proof of that reduces to the case of nonnegative $y$, and then one may argue from the axioms for the natural numbers.

-