Konjunkció | |
---|---|
ÉS | |
| |
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 |
A kötőszó (a latin conjunctio szóból – „egyesülés, kapcsolat”) egy logikai művelet , jelentése a lehető legközelebb áll az „és” unióhoz. Szinonimák: logikai "ÉS" , logikai szorzás , néha csak "ÉS" [1] .
A konjunkció lehet bináris művelet (azaz két operandusa van), háromtagú művelet (vagyis három operandusa van) vagy n-es művelet (azaz n operandusa van).
A kötőművelet leggyakoribb jelölése a következő:
(pontot a logikai szorzás jeleként használva ez a jel, akárcsak a közönséges algebrai szorzásnál , elhagyható: [1] ).
Ugyanakkor az ISO 31-11 szabvány által javasolt jelölés a legelterjedtebb a modern matematikában és matematikai logikában , ahol azonban versenyez az & jellel & [1] ; ez utóbbi a Kr.e. I. században jelent meg. e. a latin union et 'and' grafikus rövidítéseként ( ligatúra ) már Jacob és Johann Bernoulli is használta 1685-ben logikai láncszemként (bennük azonban nem állításokat , hanem fogalmakat kapcsolt össze ) [2] [3] . George Boole (a szimbolikus módszer logikára való szisztematikus alkalmazásának más úttörői követték: W. S. Jevons , E. Schroeder , P. S. Poretsky ) az előjellel való konjunkciót - közönséges szorzásként jelölte [4] . A ⋀ (fordított diszjunkciós jel) szimbólumot a konjunkció szimbólumaként Arend Heyting (1930) javasolta [5] .
A ⋀konjunkció jelölését a korai Algol 60 programozási nyelvben is használták [6] . Mivel azonban a legtöbb számítógépen használt szabványos karakterkészletekből (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 adtak a kötőszóhoz. Í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 ) [7] ; Pascal és Ada a fenntartott szót használja [8] [9] ; a C és C++ nyelvek a jelölést használják bitenkénti és logikai konjunkcióra [10] ). .AND.& ANDand&&&
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 az kötőszó a minimum számítási műveletének speciális esete ; ez nyitja meg a legtermészetesebb módot a konjunkció működésének meghatározására sokértékű logikai rendszerekben (bár néha a konjunkció általánosításának más módjai is szóba kerülnek - például a k értékű logika esetében, amelyben az igazságértékek halmaza a természetes számok félcsoportjának kezdeti szegmense képviseli ) [11] [12] .
Meghatározás. A MIN
logikai függvényt a kétértékű (bináris) logikában konjunkciónak nevezik ( logikai "ÉS" , logikai szorzás vagy egyszerűen "ÉS" ).
Szabály: Az eredmény egyenlő a legkisebb operandussal.
Leírás.
A Boole-algebrában a kötőszó két, három vagy több változó függvénye (ezek egy művelet operandusai is, egy függvény argumentumai is). A változók értéket vehetnek fel egy halmazból . Az eredmény is a halmazhoz tartozik . Az eredményt egy egyszerű szabály vagy az igazságtáblázat alapján számítjuk ki . Értékek helyett bármilyen más megfelelő karakterpár használható, például vagy vagy „hamis”, „igaz”, de ilyen megjelölésnél a szenioritást is meg kell határozni, például , digitális megjelöléssel, szenioritás természetes .
Szabály: az eredmény , ha minden operandus egyenlő ; minden más esetben az eredmény .
Igazságtáblázatok:
bináris kötőszóhoz
hármas kötőszóra
0 | 0 | 0 | 0 |
egy | 0 | 0 | 0 |
0 | egy | 0 | 0 |
egy | egy | 0 | 0 |
0 | 0 | egy | 0 |
egy | 0 | egy | 0 |
0 | egy | egy | 0 |
egy | egy | egy | egy |
A konjunkció a gyenge diszjunkcióhoz képest kommutatív , asszociatív és disztributív [13] .
A bináris logikában konjunkciónak nevezett műveletet a többértékű logikákban általában a minimális művelethez társítják : , ahol a a logika értéke; azonban más lehetőségek is lehetségesek a szokásos konjunkció általánosítására a beállított értékű esetre. Általában megpróbáljuk fenntartani a kompatibilitást a Boole-algebrával az és operandusok értékeinél .
Ennek a műveletminimumnak a neve bármilyen értékű logikában értelmes, beleértve a bináris logikát is, és a konjunkció , logikai "ÉS" , logikai szorzás és egyszerűen "AND" nevek jellemzőek a bináris logikára, és ritkábban használatosak, amikor áttér többértékű logikák.
A klasszikus propozíciószámításban egy kötőszó 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 az kötőszó tulajdonságait írja le. Az egyik leggyakoribb lehetőség 3 axiómát tartalmaz a konjunkcióra:
Ezen axiómák felhasználásával más, a kötőműveletet tartalmazó képleteket is be lehet bizonyítani. 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 konjunkciós függvényt megvalósító logikai elemet illesztési áramkörnek nevezzük [13] . A tetszőleges számú bemenettel való összekapcsolás mnemonikus szabálya a következő: A kimenet a következő lesz:
A halmazelmélet szempontjából a konjunkció analóg a metszés műveletével .
A számítógépes nyelvekben a kötőszó két fő változatát használják: logikai "ÉS" és bitenkénti (bitenkénti) "AND". Például a C/C++ nyelvekben a logikai ÉS-t az „&&”, a bitenkéntieket pedig az „&” szimbólummal jelöljük. A C# -ban használt terminológiában az "&" műveletet logikai "ÉS"-nek, az "&&" műveletet pedig feltételes "AND"-nak nevezik , mivel az operandusok értékei a számítás folytatásának feltételei. A Pascal/Delphi nyelvekben mindkét kötőszót a " és a " 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 "ÉS" feltételes ugrásutasításokban vagy hasonló esetekben használatos, amikor egy eredmény vagy szükséges . Például:
if ( a & b & c ) { /* néhány művelet */ };Az összehasonlítás ebben az esetben a kifejezés végéig folytatódik, függetlenül a köztes eredményektől. A feltételes "ÉS" elve hasonló helyzetben:
a = hamis _ b = igaz ; c = igaz ; if ( a && b && c ) { /* néhány művelet */ };A kifejezés igazságának ellenőrzése ebben az esetben az a változó ellenőrzése után leáll, mivel a további összehasonlításnak nincs értelme.
Az eredmény akkor lesz egyenlő , ha mindkét operandus egyenlő (nem egyenlő a numerikus típusoknál ). 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 azt teszteli, hogy a jobb oldali operandus kiértékelhető-e:
if ( a != 0 && b / a > 3 ) { /* néhány művelet */ };Ebben a példában a bal oldali operandus ellenőrzése miatt a jobb oldali operandus soha nem osztódik nullával.
A bitenkénti "AND" a szokásos logikai 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 és b = |
A kötőszó és az „és” kötőszó közötti hasonlóságra a természetes nyelvben gyakran rámutatnak. Az " A és B " összetett állítás akkor tekinthető igaznak, ha mind A , mind B állítás igaz , ellenkező esetben az összetett állítás hamis. Ez pontosan megfelel a konjunkció definíciójának a Boole-algebrában, ha az "igaz" -ot jelöli , a "hamis" pedig a -val . Ugyanakkor gyakran előfordul a szokásos természetes nyelvi kétértelműségi záradék is . Például a kontextustól függően az „és” unió hordozhat egy „és akkor”, „és ezért”, „és akkor” további konnotációt. A természetes nyelvi logika és a matematikai logika közötti különbséget szellemesen fejezte ki Stephen Kleene amerikai matematikus , megjegyezve, hogy a természetes nyelven "Mary férjhez ment és babát szült" nem azonos azzal, hogy "Mary babát szült és férjhez ment".
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 |