Logic and mathematical variables as objects

194 Views Asked by At

I am currently working on describing a predicate logic for which the objects are mathematical variables. Thus I can say stuff like:

$\forall x: R(x) \implies \text{operator}(x)=1$

Here $x$ is a logical variable ranging over all mathematical variables in the domain and the equality operator $=$ is the mathematical equality, not the logical equality and $\text{operator}$ is the operator I am looking for (see below).

On the other hand I can say stuff like:

$\forall x,y: (R(x) \land R(y)) \implies x \not\equiv y$

whereby I mean that $x$ and $y$ denote different mathematical variables, not that the variables are different in value.

However, now I want to introduce a mathematical function which works on a mathematical value, given a mathematical variable. Therefore I need some kind of operator which, given a variable, returns the value.

$\text{operator}(x)$

What would be a logical name or symbol for such an operator?

2

There are 2 best solutions below

2
On

Some logic Texts ("Language Proof and Logic "Barwicse c.s. for example) call it function symbols, others just call it functions or operators.

Be aware that most logics assume that there is one and only one term where the operator refers to.

If there is no referent you get reference failures see http://en.wikipedia.org/wiki/Definite_description and http://en.wikipedia.org/wiki/Failure_to_refer

If there is more than one then it is not a function and you also can get into trouble.

If one of these options possibly exist then is better to replace the function symbol by a predicate: (this is always possible)

$ R(x,y)$ is true $ =_{df}$ (if and only if) "some condition" is true. For example

$R(4,2)$ and $R(4,-2)$ are both true for $R(x,y) =_{df} (x = y^2) $

While you can get into trouble if you use $ y = \sqrt x $ because in $Q$ ) there is no $ \sqrt{-1} $.

but against this logical better formulation there is the problem that functions are easier to read.

Good Luck

3
On

It seems to me that you are after some sort of valuation; although this concept is used in model theory to describe semantic truth for a given theory and logic.

It seems to me you want to talk about the values of the variables at the same time than the variables themselves. This will lead you to deal with expresions meaning different things: x will be a "variable", whereas operator(x) will be a "value of a variable". Thus, in your logic an expresion such as x = operator(y) should not make sense as it is compering two different kinds; or put other way, the syntax for "=" only makes sense for the same kind of expressions on both sides.

To address this then you need to introduce typed logic (if I remember correctly), but I should stop here as further discussion is only possible if my understanding is aligned with what you are trying to achieve.

Does the above make sense?

Edit: It's been a while since I haven't touch any Logic-related topics. But digging today I just found this freely available presentation about "Typed first-order logic" in academia.edu (registration is free.) I bet from there you can find lot more; I barely remember anything :)