Transcription from SQL to FOL (First Order Logic)

Join the discussion
Ask a follow-up here, or get your own question answered by working scientists, mathematicians and engineers — people, not an autocomplete.
Real named experts · corrections over time · the nuance an AI answer skips
3 replies · 3K views
Messages
7,819
Reaction score
13,151
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?
 
on Phys.org
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})$$
 
  • Like
Likes   Reactions: WWGD
andrewkirk said:
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})$$
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)?
 
WWGD said:
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)?
I think I'd try the following for
Code:
 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.