Diszjunkció | |
---|---|
VAGY | |
| |
Meghatározás | |
igazságtáblázat | |
logikai kapu | |
normál formák | |
Szétválasztó | |
kötőhártya | |
Zhegalkin polinom | |
Tagság az előre befejezett osztályokban | |
0-t takarít meg | Igen |
Megment 1 | Igen |
Monoton | Igen |
lineáris | Nem |
Önkettős | Nem |
Disjunkció (a lat. disjunctio - „disjunkció”) szóból, logikai összeadás , logikai VAGY , beleértve a VAGY ; néha a VAGY egy logikai művelet , alkalmazásában a lehető legközelebb áll az „vagy” unióhoz , abban az értelemben , hogy „vagy ez, vagy az, vagy mindkettő” [1] .
A diszjunkció lehet bináris (két operandussal) vagy -ary ( operandusokkal) tetszőleges .
A bejegyzés lehet előtag - a műveleti jel az operandusok elé kerül ( lengyel jelölés ), infix - a műveleti jel az operandusok közé kerülhet, vagy postfix - a műveletjel az operandusok után jön. Ha az operandusok száma kettőnél több, az elő- és utótag-jelölések gazdaságosabbak.
A diszjunkciós művelet leggyakoribb jelölése a következő:
|| |Ugyanakkor a modern matematikában és matematikai logikában az ISO 31-11 nemzetközi szabvány által javasolt jelölés a legelterjedtebb [2] . Nem jelent meg azonnal: George Boole , aki megalapozta a szimbolikus módszer logikára való szisztematikus alkalmazását, nem dolgozott diszjunkcióval ( ehelyett szigorú diszjunkciót használt , amit + jellel jelölt ), William Jevons pedig a jelet javasolta. diszjunkcióra . Ernst Schroeder és P. S. Poretsky ismét a + jelet használta , de a szokásos diszjunkcióval kapcsolatban [3] . A szimbólum , mint a diszjunkció megjelölése, először Bertrand Russell (1908) "Matematikai logika a típuselmélet alapján" [4] című cikkében fordul elő; latból származik . vel , ami "vagy"-t jelent [5] [6] . ·|·
A ⋁diszjunkció jelölését a korai Algol 60 programozási nyelvben is használták [7] . Mivel azonban a legtöbb számítógépen használt szabványos karakterkészletekben (például ASCII -ben vagy EBCDIC -ben) nincs megfelelő karakter , a legszélesebb körben használt programozási nyelvek más jelöléseket is tartalmaztak a szétválasztáshoz. Így a Fortran IV -ben, illetve a PL/I -ben a és elnevezést használták (utóbbi cseréjének lehetőségével a kulcsszóval ) [8] ; a fenntartott szó [9] [10] Pascalban és Ada -ban használatos ; a C és C++ nyelvek a jelölést használják a bitenkénti diszjunkcióhoz és a logikai diszjunkcióhoz [11] ). .OR.| ORor|||
Végül a kétértékű logika igazságértékeinek természetes sorrendjében (amikor azt feltételezzük, hogy ) kiderül, hogy így a diszjunkció a maximum számítási műveletének speciális esete ; ez nyitja meg a legtermészetesebb módot a diszjunkciós művelet meghatározására sokértékű logikával rendelkező rendszerekben [12] [13] .
A MAX logikai függvényt a kétértékű (bináris) logikában diszjunkciónak nevezik ( logikai "VAGY" , logikai összeadás vagy egyszerűen "VAGY" ). Az eredmény egyenlő a legnagyobb operandussal.
A Boole-algebrában a diszjunkció két, három vagy több változó függvénye (egyben egy művelet operandusa, egy függvény argumentuma is). Így az eredmény , ha minden operandus egyenlő ; minden más esetben az eredmény .
igazságtáblázat | ||
---|---|---|
Igazságtáblázat hármas (három operandus) diszjunkcióhoz:
0 | 0 | 0 | 0 |
0 | 0 | egy | egy |
0 | egy | 0 | egy |
0 | egy | egy | egy |
egy | 0 | 0 | egy |
egy | 0 | egy | egy |
egy | egy | 0 | egy |
egy | egy | egy | egy |
A bináris logikában diszjunkciónak nevezett műveletet a többértékű logikában maximumnak nevezik : , ahol , a a logika értéke. Más lehetőségek is lehetségesek[ mi? ] . Általában igyekeznek fenntartani a kompatibilitást a Boole-algebrával az operandusok értékére vonatkozóan .
Ennek a műveletnek a maximum nevének van értelme bármilyen értékű logikában, beleértve a bináris logikát is, és a diszjunkció , logikai "VAGY" , logikai összeadás és egyszerűen "VAGY" nevek a bináris logikára jellemzőek, és ritkábban használatosak, ha többértékű logikák.
A klasszikus propozíciós számításban a diszjunkció tulajdonságait axiómák segítségével határozzuk meg . A klasszikus propozíciószámítás különböző axiómarendszerekkel adható meg, és ezek közül néhány a diszjunkció tulajdonságait írja le. Az egyik leggyakoribb lehetőség 3 diszjunkciós axiómát tartalmaz:
Ezek az axiómák felhasználhatók más, a diszjunkciós műveletet tartalmazó képletek bizonyítására. Kérjük, vegye figyelembe, hogy a klasszikus propozíciós számításban az eredményt nem az operandusok értékéből számítják (mint a Boole-algebrában), hanem a képlet egészét kell igazolni az axiómák és a következtetési szabályok alapján.
A tetszőleges számú bemenettel való diszjunkció mnemonikus szabálya a következő: A kimenet a következő lesz:
A halmazelmélet szempontjából a diszjunkció az unió működésével analóg .
A számítógépes nyelvekben a diszjunkciónak két fő változata van: logikai „VAGY” és bitenkénti „VAGY”. Például a C/C++/Perl/PHP nyelvben a logikai "VAGY"-t a "||", a bitenkénti "OR"-t pedig a "|" szimbólum jelöli. A Pascal/Delphi nyelvekben mindkét típusú diszjunkciót a " vagy " kulcsszó jelöli , és a művelet eredményét az operandusok típusa határozza meg. Ha az operandusok logikai típusúak (például Boolean), akkor a rendszer logikai műveletet hajt végre, ha egy egész szám (például bájt) bitenkénti művelet.
A logikai "VAGY" feltételes ugrás operátorokban vagy hasonló esetekben használatos, amikor egy eredmény vagy szükséges . Például:
ha ( a || b ) { /* néhány művelet */ };Az eredmény akkor lesz egyenlő , ha mindkét operandus egyenlő vagy . Minden más esetben az eredmény az lesz .
Ebben az esetben a szokásos konvenciót alkalmazzuk: ha a bal oldali operandus értéke egyenlő , akkor a jobb oldali operandus értéke nem kerül kiszámításra (ehelyett lehet összetett képlet). Ez a konvenció felgyorsítja a program végrehajtását, és bizonyos esetekben hasznos technika. A Delphi fordító egy speciális direktívát támogat, amely tartalmazza
{$B-}vagy kikapcsolása
{$B+}hasonló viselkedés. Például, ha a bal oldali operandus ellenőrzi, hogy a jobb oldali operandust ki kell-e értékelni:
if ( a == NULL || a -> x == 0 ) { /* néhány művelet */ };Ebben a példában a bal oldali operandus ellenőrzése miatt a jobb oldali operanduson soha nem fordul elő nullmutató hivatkozási eltérés.
A bitenkénti VAGY a szokásos Boole-algebrai műveletet hajtja végre a bal és a jobb oldali operandus összes bitjén páronként. Például,
ha | |
a = | |
b= | |
akkor | |
a VAGY b = |
A disjunkció és a "vagy" kötőszó közötti hasonlóságra a természetes nyelvben gyakran felhívják a figyelmet, amikor "vagy ezt, vagy azt, vagy mindkettőt egyszerre" értelemben használják. A jogi dokumentumokban gyakran írják: "és (vagy)", néha "és / vagy", ami azt jelenti, hogy "vagy ez, vagy az, vagy mindkettő egyszerre". Az "A és/vagy B" összetett állítás hamisnak tekinthető, ha mind A, mind B állítás hamis, ellenkező esetben az összetett állítás igaz. Ez pontosan megfelel a diszjunkció definíciójának a Boole-algebrában, ha az "igaz" -t jelöli , a "hamis" pedig a -val .
A természetes nyelv kétértelműsége abban rejlik, hogy a "vagy" unió két jelentésben használatos: vagy a diszjunkció jelölésére, majd egy másik műveletre - a szigorú diszjunkcióra ( kizárólagos "OR" ).
Szótárak és enciklopédiák | |
---|---|
Bibliográfiai katalógusokban |
Boole-műveletek | |
---|---|
|
Logikák | |||||||||
---|---|---|---|---|---|---|---|---|---|
Filozófia • Szemantika • Szintaxis • Történelem | |||||||||
Logikai csoportok |
| ||||||||
Alkatrészek |
| ||||||||
Logikai szimbólumok listája |