Åtskiljande | |
---|---|
ELLER | |
| |
Definition | |
sanningstabell | |
logisk port | |
normala former | |
Disjunktiv | |
konjunktival | |
Zhegalkin polynom | |
Medlemskap i förfullbordade klasser | |
Sparar 0 | Ja |
Sparar 1 | Ja |
Monoton | Ja |
linjär | Inte |
Självdubbel | Inte |
Disjunktion (av lat. disjunctio - "disjunction"), logisk addition , logisk OR , inklusive OR ; ibland är bara ELLER en logisk operation , i sin tillämpning så nära fackföreningen "eller" som möjligt i betydelsen "antingen det här eller det eller båda på en gång" [1] .
En disjunktion kan vara antingen binär (med två operander) eller -är (har operander) för en godtycklig .
Posten kan vara prefix - operationstecknet kommer före operanderna ( polsk notation ), infix - operationstecknet kommer mellan operanderna, eller postfix - operationstecknet kommer efter operanderna. När antalet operander är fler än två är prefix- och postfixnotationer mer ekonomiska.
Den vanligaste notationen för disjunktionsoperationen är:
|| |Samtidigt är notationen som rekommenderas av den internationella standarden ISO 31-11 den mest använda inom modern matematik och matematisk logik [2] . Det dök inte upp omedelbart: George Boole , som lade grunden för den systematiska tillämpningen av den symboliska metoden på logik, arbetade inte med disjunktion (med hjälp av strikt disjunktion istället , som han betecknade med ett + -tecken ), och William Jevons föreslog tecknet för disjunktion . Ernst Schroeder och P. S. Poretsky använde återigen tecknet + , men i förhållande till den vanliga disjunktionen [3] . Symbolen som beteckning på disjunktion förekommer först i artikeln "Matematisk logik baserad på teorin om typer" [4] av Bertrand Russell (1908); det härstammar från lat. vel , som betyder "eller" [5] [6] . ·|·
Notationen ⋁för disjunktion användes också i det tidiga programmeringsspråket Algol 60 [7] . Men på grund av avsaknaden av ett motsvarande tecken i standardteckenuppsättningarna ( till exempel i ASCII eller EBCDIC ) som används på de flesta datorer , tillhandahöll de mest använda programmeringsspråken andra notationer för disjunktion. I Fortran IV respektive PL/I användes således beteckningarna .OR.och |(med möjlighet att ersätta den senare med nyckelordet OR ) [8] ; det reserverade ordet [9] [10] används i Pascal och Ada ; språken C och C++ använder notationen för bitvis disjunktion och för logisk disjunktion [11] ). or|||
Slutligen, under den naturliga ordningen av sanningsvärdena för tvåvärdig logik (när det antas att ), visar det sig att sålunda visar sig disjunktionen vara ett specialfall av operationen att beräkna maximum ; detta öppnar upp det mest naturliga sättet att definiera disjunktionsoperationen i system med många värderade logik [12] [13] .
Den logiska funktionen MAX i tvåvärdig (binär) logik kallas disjunktion ( logisk "ELLER" , logisk addition eller helt enkelt "ELLER" ). Resultatet är lika med den största operanden.
I boolesk algebra är en disjunktion en funktion av två, tre eller fler variabler (de är också operander för en operation, de är också argument för en funktion). Således blir resultatet , om alla operander är lika ; i alla andra fall är resultatet .
sanningstabell | ||
---|---|---|
Sanningstabell för ternär (tre operander) disjunktion:
0 | 0 | 0 | 0 |
0 | 0 | ett | ett |
0 | ett | 0 | ett |
0 | ett | ett | ett |
ett | 0 | 0 | ett |
ett | 0 | ett | ett |
ett | ett | 0 | ett |
ett | ett | ett | ett |
Operationen, som kallas disjunktion i binär logik , kallas maximum i flervärdslogik : , där , a är värdet på logik. Andra alternativ är möjliga[ vad? ] . Som regel försöker de upprätthålla kompatibilitet med boolesk algebra för operandernas värden .
Namnet på denna operation maximalt är vettigt i logik med vilket värde som helst, inklusive i binär logik, och namnen disjunktion , logisk "ELLER" , logisk addition och helt enkelt "ELLER" är karakteristiska för binär logik och används mindre ofta när man flyttar till flervärdiga logiker.
I den klassiska propositionskalkylen definieras egenskaperna för en disjunktion med hjälp av axiom . Den klassiska propositionskalkylen kan ges av olika system av axiom, och några av dem kommer att beskriva disjunktionens egenskaper. Ett av de vanligaste alternativen inkluderar 3 axiom för disjunktion:
Dessa axiom kan användas för att bevisa andra formler som innehåller disjunktionsoperationen. Observera att i den klassiska propositionskalkylen beräknas resultatet inte från operandernas värden (som i boolesk algebra), utan det krävs för att bevisa formeln som helhet baserat på axiom och slutledningsregler.
Mnemonregeln för disjunktion med valfritt antal ingångar är: Utgången blir:
När det gäller mängdteorin är disjunktion analog med föreningens funktion .
I datorspråk finns det två huvudvarianter av disjunktion: logisk "ELLER" och bitvis "ELLER". Till exempel, i C/C++/Perl/PHP, betecknas logiskt "ELLER" med symbolen "||", och bitvis "ELLER" med symbolen "|". På språken Pascal/Delphi betecknas båda typerna av disjunktion med nyckelordet " eller " , och resultatet av operationen bestäms av typen av operander. Om operanderna är av boolesk typ (till exempel boolesk) utförs en logisk operation, om ett heltal (till exempel byte) är en bitvis operation.
Det logiska "ELLER" används i villkorliga hoppoperatorer eller i liknande fall när ett resultat eller krävs . Till exempel:
om ( a || b ) { /* vissa åtgärder */ };Resultatet blir lika om båda operanderna är lika eller . I alla andra fall blir resultatet .
I det här fallet tillämpas standardkonventionen: om värdet på den vänstra operanden är lika med , beräknas inte värdet på den högra operanden (istället kan det finnas en komplex formel). Denna konvention påskyndar programexekveringen och är en användbar teknik i vissa fall. Delphi-kompilatorn stöder ett speciellt direktiv som inkluderar
{$B-}eller stänga av
{$B+}liknande beteende. Till exempel, om den vänstra operanden kontrollerar om den högra operanden behöver utvärderas:
if ( a == NULL || a -> x == 0 ) { /* vissa åtgärder */ };I det här exemplet, på grund av kontrollen på den vänstra operanden, kommer en nollpekaredereferens aldrig att inträffa på den högra operanden.
Det bitvisa ELLER utför den vanliga booleska algebraoperationen på alla bitar av vänster och höger operand i par. Till exempel,
om | |
a = | |
b= | |
sedan | |
a ELLER b = |
Likheten mellan disjunktion och konjunktionen "eller" i naturligt språk påpekas ofta när den används i betydelsen "antingen det här eller det eller båda på en gång." I juridiska dokument skriver de ofta: "och (eller)", ibland "och / eller", vilket betyder "antingen detta eller det, eller båda på en gång." Det sammansatta påståendet "A och/eller B" anses vara falskt när både påståendena A och B är falska, annars är det sammansatta påståendet sant. Detta motsvarar exakt definitionen av disjunktion i boolesk algebra, om "sant" betecknas med , och "falskt" med .
Det naturliga språkets tvetydighet ligger i det faktum att facket "eller" används i två betydelser: antingen för att beteckna disjunktion, sedan för en annan operation - strikt disjunktion ( exklusivt "ELLER" ).
Ordböcker och uppslagsverk | |
---|---|
I bibliografiska kataloger |
booleska operationer | |
---|---|
|
Logik | |||||||||
---|---|---|---|---|---|---|---|---|---|
Filosofi • Semantik • Syntax • Historia | |||||||||
Logiska grupper |
| ||||||||
Komponenter |
| ||||||||
Lista över booleska symboler |