How do I write the following mathematical statement as a predicate logic formula?

44 Views Asked by At

The mathematical statement that I has to write as a predicate logic formula in the language L = {<, =, f}, where f is unary function, is the following: "Strictly increasing function doesn't have a maximum."

I have an idea but I am not sure if it is correct:

$((\forall x)(\forall y)((x < y)\rightarrow (f(x) < f(y))))\rightarrow \neg(\exists x)(\forall y)(y < x)$

1

There are 1 best solutions below

0
On

What you've written there is almost correct. A maximum conventionally uses $\leq$, not $<$. But more importantly, you aren't saying anything at all about $f$ in the second half. I think you want to say $(x\neq y\land f(x)\leq f(y))$ instead of just $(x< y)$

From an aesthetic standpoint, I would also prefer that $\lnot(\exists x)$ is swapped with $(\forall x)\lnot$. And then that the resulting $\lnot(\forall y)$ is swapped for $(\exists y)\lnot$ (although this does make the connection between the formula and the original goal of "does not have a maximum" a little more opaque). You have a bit more parentheses than you really need. So I would have written it as $$ \forall x\forall y(x < y\rightarrow f(x) < f(y))\rightarrow\forall x\exists y(f(x)<f(y) $$