Disjunktio | |
---|---|
TAI | |
Venn kaavio | |
Määritelmä | |
totuustaulukko | |
logiikka portti | |
normaaleja muotoja | |
Disjunktiivinen | |
sidekalvo | |
Zhegalkinin polynomi | |
Jäsenyys valmiilla luokilla | |
Säästää 0 | Joo |
Säästää 1 | Joo |
Yksitoikkoinen | Joo |
lineaarinen | Ei |
Itsenäinen kaksinkertainen | Ei |
Disjunktio ( lat. disjunctio - "disjunktio"), looginen lisäys , looginen TAI , mukaan lukien TAI ; joskus vain TAI on looginen operaatio , sovellettaessa mahdollisimman lähellä liittoa "tai" merkityksessä "joko tämä tai tuo tai molemmat kerralla" [1] .
Disjunktio voi olla joko binäärinen (jossa on kaksi operandia) tai -ary (jolla on operandit) mielivaltaiselle .
Merkintä voi olla etuliite - operaatiomerkki tulee ennen operandia ( puolalainen notaatio ), infix - operaatiomerkki tulee operandien väliin tai jälkiliite - operaatiomerkki tulee operandien jälkeen. Kun operandien lukumäärä on enemmän kuin kaksi, etuliitteen ja jälkiliitteen merkinnät ovat taloudellisempia.
Yleisin disjunktiooperaation merkintä on:
|| |Samaan aikaan kansainvälisen ISO 31-11 -standardin suosittelema merkintätapa on laajimmin käytetty modernissa matematiikassa ja matemaattisessa logiikassa [2] . Se ei ilmestynyt heti: George Boole , joka loi perustan symbolisen menetelmän systemaattiselle soveltamiselle logiikkaan, ei toiminut disjunktion kanssa (käyttäen sen sijaan tiukkaa disjunktiota , jonka hän merkitsi + -merkillä ), ja William Jevons ehdotti merkkiä disjunktiota varten . Ernst Schroeder ja P. S. Poretsky käyttivät jälleen merkkiä + , mutta suhteessa tavalliseen disjunktioon [3] . Symboli disjunktion nimityksenä esiintyy ensimmäisen kerran Bertrand Russellin (1908) artikkelissa "Matemaattinen logiikka, joka perustuu tyyppiteoriaan" [4] ; se on johdettu lat. vel , joka tarkoittaa "tai" [5] [6] . ·|·
Disjunktion merkintää ⋁käytettiin myös varhaisessa ohjelmointikielessä Algol 60 [7] . Kuitenkin, koska useimmissa tietokoneissa käytetyissä vakiomerkistöissä (esimerkiksi ASCII- tai EBCDIC - merkistöissä ) ei ollut vastaavaa merkkiä , yleisimmin käytetyt ohjelmointikielet tarjosivat muita merkintöjä disjunktiota varten. Näin ollen Fortran IV :ssä ja PL/I :ssä käytettiin nimityksiä ja (mahdollisuudella korvata jälkimmäinen avainsanalla ) [8] ; varattu sana [9] [10] on käytössä Pascalissa ja Adassa ; C- ja C++-kielet käyttävät merkintää bittikohtaiseen disjunktioon ja loogiseen disjunktioon [11] ). .OR.| ORor|||
Lopuksi kaksiarvoisen logiikan totuusarvojen luonnollisessa järjestyksessä (kun oletetaan, että ) käy ilmi, että Siten disjunktio osoittautuu maksimilaskennan erikoistapaukseksi ; tämä avaa luonnollisimman tavan määritellä disjunktiotoiminto moniarvologiikan järjestelmissä [12] [13] .
Loogista funktiota MAX kaksiarvoisessa (binäärilogiikassa) kutsutaan disjunktioksi ( looginen "OR" , looginen lisäys tai yksinkertaisesti "OR" ). Tulos on yhtä suuri kuin suurin operandi.
Boolen algebrassa disjunktio on kahden, kolmen tai useamman muuttujan funktio (ne ovat myös operaation operandeja, ne ovat myös funktion argumentteja). Näin ollen tulos on , jos kaikki operandit ovat yhtä suuret ; kaikissa muissa tapauksissa tulos on .
totuustaulukko | ||
---|---|---|
Totuustaulukko ternääriselle (kolmen operandin) disjunktiolle:
0 | 0 | 0 | 0 |
0 | 0 | yksi | yksi |
0 | yksi | 0 | yksi |
0 | yksi | yksi | yksi |
yksi | 0 | 0 | yksi |
yksi | 0 | yksi | yksi |
yksi | yksi | 0 | yksi |
yksi | yksi | yksi | yksi |
Toimintoa, jota kutsutaan binäärilogiikassa disjunktioksi , kutsutaan maksimiksi moniarvologiikassa : , missä , a on logiikan arvo. Muut vaihtoehdot ovat mahdollisia[ mitä? ] . Yleensä he yrittävät ylläpitää yhteensopivuutta Boolen algebran kanssa operandien arvojen suhteen .
Tämän toiminnon maksiminimellä on järkeä millä tahansa arvolla, mukaan lukien binäärilogiikassa, ja nimet disjunktio , looginen "OR" , looginen lisäys ja yksinkertaisesti "OR" ovat ominaisia binäärilogiikalle, ja niitä käytetään harvemmin siirrettäessä moniarvoinen logiikka.
Klassisessa lauselaskennassa disjunktion ominaisuudet määritellään aksioomien avulla . Klassinen lauselaskenta voidaan antaa erilaisilla aksioomijärjestelmillä, ja osa niistä kuvaa disjunktion ominaisuuksia. Yksi yleisimmistä vaihtoehdoista sisältää 3 disjunktion aksioomia:
Näitä aksioomia voidaan käyttää todistamaan muita disjunktiooperaation sisältäviä kaavoja. Huomaa, että klassisessa lauselaskennassa tulosta ei lasketa operandien arvoista (kuten Boolen algebrassa), vaan kaava on todistettava kokonaisuutena aksioomien ja päättelysääntöjen perusteella.
Mnemoninen sääntö disjunktiolle minkä tahansa tulomäärän kanssa on: Lähtö on:
Joukkoteorian kannalta disjunktio on analoginen liiton toiminnan kanssa .
Tietokonekielissä disjunktiosta on kaksi päävaihtoehtoa: looginen "OR" ja bittikohtainen "OR". Esimerkiksi C/C++/Perl/PHP:ssä looginen "OR" on merkitty symbolilla "||" ja bittikohtaisesti "OR" symbolilla "|". Pascal/Delphi-kielissä molemmat disjunktiot merkitään avainsanalla " tai " , ja operaation tulos määräytyy operandien tyypin mukaan. Jos operandit ovat boolen tyyppiä (esimerkiksi Boolean), suoritetaan looginen toiminto, jos kokonaisluku (esimerkiksi tavu) on bittikohtainen operaatio.
Loogista "OR":ta käytetään ehdollisissa hyppyoperaattoreissa tai vastaavissa tapauksissa, kun vaaditaan tulos tai . Esimerkiksi:
jos ( a || b ) { /* joitakin toimia */ };Tulos on yhtä suuri , jos molemmat operandit ovat yhtä suuret tai . Joka muussa tapauksessa tulos on .
Tässä tapauksessa sovelletaan vakiosopimusta: jos vasemman operandin arvo on yhtä suuri kuin , oikean operaandin arvoa ei lasketa (sen sijaan voi olla monimutkainen kaava). Tämä käytäntö nopeuttaa ohjelman suorittamista ja on hyödyllinen tekniikka joissakin tapauksissa. Delphi-kääntäjä tukee erityistä direktiiviä, joka sisältää
{$B-}tai sammuttamalla
{$B+}samanlaista käytöstä. Jos esimerkiksi vasen operandi tarkistaa, onko oikea operandi arvioitava:
if ( a == NULL || a -> x == 0 ) { /* joitakin toimia */ };Tässä esimerkissä vasemman operandin tarkistuksen vuoksi nollaosoittimen viittausta ei koskaan tapahdu oikealla operandilla.
Bittikohtainen TAI suorittaa tavanomaisen Boolen algebra-operaation kaikille vasemman ja oikean operandin biteille pareittain. Esimerkiksi,
jos | |
a = | |
b= | |
sitten | |
a TAI b = |
Disjunktion ja konjunktion "tai" välinen samankaltaisuus luonnollisessa kielessä tulee usein esiin, kun sitä käytetään merkityksessä "joko tämä tai tuo tai molemmat kerralla". Oikeudellisissa asiakirjoissa he kirjoittavat usein: "ja (tai)", joskus "ja / tai", mikä tarkoittaa "joko tätä tai tuota tai molempia kerralla". Yhdistelmäväite "A ja/tai B" katsotaan epätosi, kun molemmat väitteet A ja B ovat vääriä, muuten yhdistelmäväite on tosi. Tämä vastaa täsmälleen Boolen algebran disjunktion määritelmää, jos "tosi" on merkitty :lla ja "epätosi" -merkillä .
Luonnollisen kielen moniselitteisyys piilee siinä, että liittoa "tai" käytetään kahdessa merkityksessä: joko merkitsemään disjunktiota, sitten toista operaatiota - tiukkaa disjunktiota ( poissulkeva "TAI" ).
![]() | |
---|---|
Bibliografisissa luetteloissa |
Boolen operaatiot | |
---|---|
|
Logiikka | |||||||||
---|---|---|---|---|---|---|---|---|---|
Filosofia • Semantiikka • Syntaksi • Historia | |||||||||
Logiikkaryhmät |
| ||||||||
Komponentit |
| ||||||||
Luettelo loogisista symboleista |