Tio ĉi estas epitoma laborfolio, ne lernolibro, nek deviga terminaro aŭ kompleta kompendio. Mi tie ĉi notis informojn pri nocioj, kiujn mi iam devis lerni por ekzameno.

Logikaj funkcioj

En la klasika logiko oni laboras nur per du diversaj valoroj: vera kaj malvera, aŭ 0 kaj 1. Logikaj funkcioj bildigas variablojn, kiuj havas unu el du valoroj, al tiuj du valoroj denove. Ekzemple NE estas unuargumenta logika funkcio, kiu bildigas 0 al 1 kaj 1 al 0, oni ĝin signas per superstreketo: \(\overline{0}=1\). Duargumentaj, logikaj funkcioj estas KAJ kaj .

Ekzistas kvar unu-argumentaj logikaj funkcioj:

[NUL] [UNU] [ID] [NE]

NUL kaj UNU
La funkcioj NUL kaj UNU ignoras la argumenton kaj ĉiam rezultas en 0 (malvera) respektive 1 (vera). Do efektive ili povas esti konsiderataj kiel senargumentaj funkcioj. Cetere oni nomas esprimon, kiu ĉiam estas malvera kontraŭdiro (\(\bot\)). Esprimon ĉiam veran oni ankaŭ nomas taŭtologio (\(\top\)).
ID
La funkcio ID (idento) ĉiam redonas la argumenton senŝanĝe.
NE
La funkcio NE - neg(aci)o, ĉiam redonas la kontraŭon de la argumento. Oni povas signi ĝin per \(\lnot\), sed ni ĉi tie uzas alternative la superstrekon, kiu koncizigas esprimon kun pluraj aplikaj de funkcio NE. En programlingvo oni povas realigi ĝin per (x) => !x aŭ per (x) => 1-x.
x f(x)
0  
1  

Entute ekzistas 16 diversaj du-argumentaj logikaj funkcioj, jen elekto:

[NUL] [UNU] [IDx] [NEx] [IDy] [NEy] [SPx] [SPy] [KAJ] [NKAJ] [AŬ] [NEK] [IMPL] [REPL] [EKV] [XAŬ]

NUL kaj UNU
La duargumentaj funkcioj NUL (kontraŭdiro) kaj UNU (taŭtologio) ne dependas de siaj argumentoj. Ni jam pritraktis ilin sub la unuargumentaj. Ili aperas tie ĉi pro kompleteco.
IDx kaj IDy
La idento-funkcioj IDx kaj IDy ignoras unu el siaj argumentoj kaj funkcias kiel unuargumenta idento sur la argumento x respektive y.
NEx kaj NEy
La neaj funkcioj NEx (\(\overline{x}\)) kaj NEy (\(\overline{y}\)) ignoras unu el siaj argumentoj kaj funkcias kiel unuargumenta negacio sur la argumento x respektive y.
SPx kaj SPy
Ĉe la funkcio SPx (subpremo de x, alinome inhib(ici)o de x), la argumento y, se vera, subpremas, t.e. nuligas, malverigas, la valoron de x. La funkcio SPy (subpremo de y) inversigas la rolon de ambaŭ argumentoj. En programlingvo oni povas realigi SPx per (x,y) => x && !y aŭ per (x,y) => x > y.
KAJ kaj NKAJ
La funkcio KAJ (konjunkcio, AND) estas vera nur, se ambaŭ argumentoj estas veraj. Ni simboligas ĝin per la kutima signo \(\land\). En programlingvo oni povas realigi ĝin per (x,y) => x && y aŭ per (x,y) => x*y.
La funkcio NKAJ (ekskludo, malkaj, ankaŭ NAND aŭ Ŝeferfunkcio laŭ Henry Maurice Sheffer) estas ĉiam vera, krom se ambaŭ argumentoj estas veraj. Alivorte ĝi estas la negacio de KAJ. Oni povas simboligi ĝin per \(x\mid y\) aŭ \(x\barwedge y\). En programlingvo oni povas realigi ĝin per (x,y) => ! (x && y)(x,y) => 1 - x*y.
kaj NEK
La funkcio (inkluziva disjunkcio, OR) estas vera, se alemanŭ unu el ĝiaj argumentoj estas vera. Ni simboligas ĝin per la kutima signo \(\lor\). En programlingvo oni povas realigi ĝin per (x,y) => x || y, (x,y) => x+y > 0 aŭ per (x,y) => x + y - x*y.
La funkcio NEK (NOR, nihilo, funkcio de Peirce) estas vera nur, se nek x nek y estas veraj. Ĝia simbolo estas \(⊽\) kaj oni povas programlingve realigi ĝin per (x,y) => !(x||y)(x,y) => x+y == 0.
IMPL kaj REPL
La funkcio IMPL (implico) estas malvera nur, se x estas vera, sed y estas malvera: Se pluvas, mi ĉiam restas hejme. Oni simboligas ĝin per \(\implies\) kaj programlingve povas esprimi ĝin per (x,y) => x<=y.
La funkcio REPL (inversa implico, reimplico, replikacio) estas malvera, se y estas vera, sed ne x: Nur se estas bela vetero (x), foje mi promenas (y). Do x esprimas necesan kondiĉon, por ke y estu vera. Oni uzas la simbolon \(\Leftarrow\) kaj realigas ĝin en programo ekzemple per (x,y) => x>=y.
EKV kaj XAŬ
La funkcio EKV (XNOR, NXOR, XAND, ekvivalento, duobla implico) estas vera nur, se ambaŭ x kaj y havas la saman valoron. Oni uzas la simbolon \(\iff\) aŭ \(\odot\) kaj programlingve esprimas ĝin per (x,y) => x==y.
La funkcio XAŬ (ekskluziva disjunkcio, XOR) estas vera, se nur unu el ambaŭ argumento estas vera. Ĝia simbolo estas \(\oplus\) aŭ \(\veebar\) kaj oni povas programlingve realigi ĝin per (x,y) => x^y aŭ per (x,y) => x != y.
x y f(x,y)
0 0  
0 1  
1 0  
1 1  

Supermetado de funkcioj

Oni per supermetado de logikaj funkcioj povas ricevi novajn. Ekzemple oni povas ricevi la logikan funkcion KAJ per supermetado de la du funkcioj NE kaj : \(x \lor y = \overline{\overline{x} \land \overline{y}}\).