A Mercury programozási nyelv

Implicit kvantálás

A Mercury-ban lévő, implicit kvantálásra vonatkozó szabályok nem egyeznek meg a matematikai logikában megszokottakkal. Mercury-ban azok a változók, amelyek nem fordulnak elő a klózok fejében, implicit egzisztenciálisan kvantáltak lesznek a legközelebbi lezárt hatókörükben (a következő bekezdésben precízen megfogalmazott módon). Ez lehetővé teszi, hogy a legtöbb egzisztenciális kvantort elhagyjuk, és ez tömörebb kódot eredményez.

Egy változó egy előfordulása közömbös szövegkörnyezetben van, ha az egy negációban, univerzális kvantifikációban, egy if-then-else kifejezés feltételében, egy egyenlőtlenségben vagy egy lambda kifejezésben szerepel.

Két cél párhuzamos, ha különböző tagok ugyanabban a diszjunkcióban, vagy ha egy if-then-else kifejezésben az egyik cél az "else" rész, míg a másik cél vagy a "then" rész vagy része az if-then-else kifejezés feltételének, vagy céljai összefüggés nélküli (eltérő és nem-átfedő) lambda kifejezéseknek.

Ha egy változó közömbös szövegkörnyezetben fordul elő és azon kívül a szövegkörnyezeten kívül csak párhuzamos célokban szerepel, akkor a változó implicit egzisztenciálisan kvantifikált.