jobbra|bélyegkép|Vagy-kapu A matematikai logikában diszjunkció ( "szétválasztás, szembeállítás") vagy más néven logikai „vagy” alatt egy olyan kétváltozós logikai műveletet értünk, amelynek a logikai értéke akkor és csak akkor hamis, ha mind a két operandusának hamis a logikai értéke. Másként megközelítve: a diszjunkció akkor igaz, ha bármely operandusának igazságértéke igaz. A logikai értelemben vett vagy műveletnek a fentiek értelmében eltérő jelentése van a hétköznapi "vagy" szavunkhoz képest. Természetes nyelven ugyanis a "vagy" szó alatt a "kizáró vagy" műveletét szoktuk érteni, azaz amikor az operandusok közül egyszerre csak az egyik igaz, a kettő együtt nem. Ez a logikai vagy művelettel nem ekvivalens. Például, amikor azt mondjuk, hogy "Küldd el sms-ben, vagy e-mailben!", az alatt azt értjük, hogy vagy az egyik, vagy a másik úton kérjük az adatot, nem azt, hogy mind a két módon szeretnénk megkapni. A hétköznapi beszédben ilyenkor inkább "és"-t mondunk.
A diszjunkció jele ∨ vagy +. Logikai összeadásnak nevezik, habár erre a kizáró vagy lenne a jobb jelölt. Előfordul, hogy a köznyelvben a vagy kötőszó használata nem kizáró. Például: Szerencséje volt, vagy jól tanult. nem zárja ki azt, hogy mindkét esemény bekövetkezett. Programozási nyelvekben a vagyot gyakran rövidzáras vagy valósítja meg, ami csak akkor vizsgálja meg a második tagot, ha az első hamis. A halmazelméletben az unió. A predikátumlogikában az egzisztenciális kvantor.
Definíció A p vagy q ítéletek diszjunkcióját a következő igazságtáblázat definiálja:
+ p q ∨ igaz igaz igaz igaz hamis igaz hamis igaz igaz hamis hamis hamis ahol a diszjunkció jele.
A diszjunkció egységeleme a hamis, ami azt jelenti, hogyha az egyik tag hamis, akkor a diszjunkció igazságértéke megegyezik a másik tag igazságértékével. Ezért, ha kiterjesztik a műveletet több, illetve kevesebb operandusra, akkor az üres vagy hamis.
Tulajdonságai Tetszőleges ítéletek esetén teljesülnek a következő állítások: A diszjunkció idempotens, azaz
A diszjunkció kommutatív, azaz
A diszjunkció asszociatív, azaz
A diszjunkció monoton, vagyis monotonicity:
A konjunkció disztributív a diszjunkcióra, azaz
A diszjunkció disztributív a konjunkcióra, azaz
A konjunkcióra és a diszjunkcióra teljesülnek az elnyelési tulajdonságok (abszorptivitás), azaz
A konjunkcióra és a diszjunkcióra teljesülnek a De Morgan azonosságok, azaz , és
Végül fennáll a dualitás elve, azaz ha felcseréljük a konjunkciót és a diszjunkciót, valamint az igaz és a hamis logikai konstansokat, akkor az állítás igazságértéke megmarad. Igaztartó, illetve hamistartó, ami azt jelenti, hogy: ha egy diszjunkció minden tagja igaz, akkor a konjunkció igaz ha egy diszjunkció minden tagja hamis, akkor a diszjunkció hamis
Halmazelméleti megközelítés A diszjunkció művelete a halmazelméletben megfelel az unió műveletének. "A vagy B" Venn-diagramja (a piros rész az igaz rész diszjunkció esetén)
150px|A vagy B
Alkalmazása a számítástudományban A legtöbb programozási nyelvben létezik diszjunkció önálló műveletként. Két fajtáját meg is különböztethetjük, tipikusan már a forráskódban is másként jelölve.
Logikai diszjunkció Megfelel a fentebb tárgyaltaknak, azaz két operandus (feltétel) közül az egyik teljesülése esetén a futás az elágazás igaz ágán folytatódik. Általában ha az egyik feltétel igaznak bizonyult, a többi már nem is értékelődik ki, a futásidővel való spórolás okán. Jelölése C nyelven pl. "||", Pythonban az "or" kulcsszóval történik. if ((a < 0) || (a > 10)) { return true; } // Ha az a kisebb lesz 0-nál, vagy nagyobb 10-nél, igazat adunk vissza
Bitszintű diszjunkció Ekkor a vagy műveletét tipikusan egy számon végezzük el, bitenként. Amennyiben egy adott helyi értéken legalább az egyik operandus 1, akkor az eredmény is 1 lesz. Például ha a = 1100 (=12), b = 1010 (=10): a = 1100 b = 1010 | = 1110 Tehát az eredményünk 14 lesz. Ezen műveletet pl. C nyelven egy "|" jellel tüntetjük fel. Halmazelméleti megfelelő A halmazelméleti unióba való tartozás logikai vaggyal fogalmazható meg: x ∈ A ∪ B akkor és csak akkor, ha (x ∈ A) ∨ (x ∈ B). E megfeleltetés alapján az unió több tulajdonságban is osztozik a logikai diszjunkcióval, mint az asszociativitás, kommutativitás és idempotencia. Természetes nyelv Az emberi nyelvek logikája nem teljesen feleltethető meg a matematikai logikának. Nincs ez másként a vaggyal sem.
A nyelvekben általában a vagyot kizáró értelemben használják. Ha arról van szó, hogy valakit értesítsenek valahogyan, akkor mondhatja azt, hogy: Kérem, értesítsenek telefonon vagy e-mailben. A nem kizáró használatra példa, ha valaki a jó jegyeit azzal szerezte meg, hogy okos, vagy szorgalmasan tanult. Ebben az esetben a beszélő nem állítja, hogy az egyik kizárná a másikat.
Források Szendrei Ágnes: Diszkrét matematika Logika algebra kombinatorika, Polygon, Szeged (1994) https://web.archive.org/web/20050222113037/http://www.inf.u-szeged.hu/oktatas/Tempus/logika.doc Juhász István: Programozás I. (halott link) Hazewinkel, Michiel, ed. (2001) , "Disjunction", Encyclopedia of Mathematics, Springer Science+Business Media B.V. / Kluwer Academic Publishers, Eric W. Weisstein. "Disjunction." From MathWorld—A Wolfram Web Resource
Fordítás
Kapcsolódó szócikkek Konjunkció De Morgan-azonosságok Logikai kapu
Kategória:Matematikai logika