Una formula aperta è una formula che contiene almeno una variabile libera.
Una formula aperta non è associata ad un valore di verità, diversamente da una formula chiusa che è sempre una proposizione e che quindi può avere un valore di verità vero o falso . Una formula aperta può essere trasformata in una formula chiusa applicando i quantificatori o specificando il dominio del discorso degli individui per ogni variabile libera (indicata con x, y, z.... o con x1 , x2 , x3, ecc.). Questo tipo di trasformazione è chiamata cattura delle variabili libere perché tende a trasformarle in variabili vincolate a un dominio di costanti individuali.
Ad esempio, quando si ragiona sui numeri naturali, la formula " x + 2 > y " è aperta, poiché contiene le variabili libere x e y . Al contrario, la formula " ∃ y ∀ x : x + 2 > y " è chiusa grazie all'uso dei quantificatori e ha valore di verità vero.
Un esempio di formula chiusa con valore di verità falso riguarda la sequenza dei numeri di Fermat:
studiata da Fermat in relazione alla proprietà dei numeri primi. Se si unisce il predicato P (è numero primo) a ogni numero della sequenza si ottiene un insieme di formule chiuse false quando il rango n è maggiore di 4. Quindi, la formula chiusa ∀n P(Fn) è falsa.
Nella teoria delle basi di dati, quando si esprime una query come formula del primo ordine aperta, le variabili libere rappresentano quelle che in una query SQL rientrerebbero nella clausola SELECT. Ad esempio, una formula come:
dove è l'unica variabile libera, potrebbe essere espressa in SQL come:
SELECT a1.persona AS p
FROM anno_nascita a1
WHERE a1.anno = 2020
AND EXISTS (
SELECT *
FROM madre_di m1
JOIN anno_nascita a2 ON m1.madre = a2.persona
WHERE m1.figlio = a1.persona
AND a2.anno = 1999
)
la quale seleziona tutte le persone nate nel 2020 la cui madre è nata nel 1999.
Formalmente, l'esecuzione della query SQL di cui sopra in un database equivale a cercare tutte le sostituzioni delle variabili libere di con costanti tali che l'interpretazione di Herbrand di soddisfa , dove è l'insieme di atomi ground che rappresentano il database.