# A Transcription from SQL to FOL (First Order Logic)

Tags:
1. Jun 3, 2017

### WWGD

Hi All,
When a query is made in SQL , it is transcribed into FOL in the back end , and, if the transcription is a wff , the models, if any, are returned as the answer to the query. I have an idea of how the transcription works for basic statements, but, does anyone know the actual " transcription map" for more complicated queries, such as, e.g., joins? Do we use product models in this case, or do we union the models to form new ones?

2. Jun 5, 2017

### andrewkirk

I'll have a go at this, since nobody else has.

If a table in the database is represented by an atomic wff, and we have tables $p,q$ represented by the a $m$-ary predicate $P$ and a $n$-ary predicate $Q$ respectively, then I think the Inner Join of the two tables on the first $r$ arguments to both tables, in the same order, will be represented by the following wff with $m+n-r$ free variables:
$$P(x_1,...,x_m)\wedge Q(x_1,..x_r,x_{m+1},...,x_{m+n-r})$$

3. Jun 5, 2017

### WWGD

Thanks, Andrew, how would the model of the union then be defined, as just a set union of the two models ( the models of the two wffs)?

4. Jun 5, 2017

### andrewkirk

I think I'd try the following for
Code (Text):
select x1,x2,....,xr from p UNION select x1,x2,....,xr from q
$$\exists x_{r+1},x_{r+2},....,x_{m+n-r}:\ P(x_1,...,x_m)\vee Q(x_1,...,x_r,x_{m+1},...,x_{m+n-r})$$
This wff has $r$ free variables, corresponding to the $r$ columns in the tables $p$ and $q$ that match.