Konjunkció

Konjunkció
ÉS

Venn-diagram
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).

Jelölés

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] .

Boole-algebra

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] .

Többértékű logika

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.

Klasszikus logika

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.

Áramkör

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:

Halmazelmélet

A halmazelmélet szempontjából a konjunkció analóg a metszés műveletével .

Programozás

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 =

Kapcsolat a természetes nyelvvel

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".

Lásd még

Jegyzetek

  1. 1 2 3 Kondakov, 1975 , p. 264-266, 534-536.
  2. „és” jel . // Weboldal Online etimológiai szótár . Letöltve: 2016. február 7. Az eredetiből archiválva : 2011. február 18..
  3. Kondakov, 1975 , p. 67.
  4. Styazhkin N. I. . A matematikai logika kialakulása. — M .: Nauka , 1967. — 508 p.  - S. 321, 348, 352, 368.
  5. A halmazelmélet és -logikai szimbólumok legkorábbi felhasználásai . // Weboldal Jeff Miller weboldalak . Hozzáférés időpontja: 2016. február 7. Az eredetiből archiválva : 2011. augusztus 21..
  6. Kondakov, 1975 , p. harminc.
  7. Pratt T. Programozási nyelvek: fejlesztés és megvalósítás. — M .: Mir , 1979. — 574 p.  - S. 352, 439.
  8. Grogono P. . Programozás Pascalban. — M .: Mir , 1982. — 384 p.  - S. 51.
  9. Wegner P. . Programozás Ada nyelven. — M .: Mir , 1983. — 240 p.  - S. 68.
  10. Ellis M. , Stroustrup B.  . Útmutató a C++ programozási nyelvhez megjegyzésekkel. — M .: Mir , 1992. — 445 p. — ISBN 5-03-002868-4 .  - S. 65, 86-87.
  11. Yablonsky S. V.  . Bevezetés a diszkrét matematikába. — M .: Nauka , 1979. — 272 p.  - S. 9-10, 37.
  12. Rvachev V. L.  . Az R -függvények elmélete és néhány alkalmazása. - Kijev: Naukova Dumka , 1982. - 552 p.  - S. 38, 66.
  13. 1 2 Kibernetikai szótár. 2. kiadás / Szerk. V. S. Mihalevics. - Kijev: Ukrán Szovjet Enciklopédia , 1989. - 751 p. - ISBN 5-88500-008-5 .

Irodalom