Posts kriterium er en af de centrale teoremer i teorien om boolske funktioner , der etablerer en nødvendig og tilstrækkelig betingelse for, at nogle sæt boolske funktioner har tilstrækkelig udtryksevne til at repræsentere enhver boolsk funktion. Først formuleret af den amerikanske matematiker Emil Post .
I midten af 1960'erne udkom værker næsten samtidigt i USSR og Frankrig, hvor Posts resultater blev præsenteret fra forskellige positioner og i en mere tilgængelig form. I 1980'erne lykkedes det en række forskere på én gang ved hjælp af forskellige tilgange og forskellige teknikker at få ret kompakte beviser for Posts resultater. Den algebraiske tilgang til studiet af lukkede klasser af boolske funktioner (subalgebraer af den iterative postalgebra over et sæt ) tilhører A. I. Maltsev .
En boolsk funktion er en funktion af type , hvor , og er ariteten af . Antallet af forskellige aritetsfunktioner er lig med , mens det samlede antal forskellige boolske funktioner er uendeligt. Det er dog indlysende, at mange funktioner kan udtrykkes i form af andre ved hjælp af superpositionsoperatoren . For eksempel har det længe været kendt, at fra disjunktion og negation er det muligt, ved hjælp af de Morgans love , at opnå en konjunktion . Derudover kan enhver boolsk funktion repræsenteres som en DNF , det vil sige i form af konjunktion, disjunktion og negation. Et naturligt spørgsmål opstår: hvordan bestemmer man, om et givet sæt funktioner vil være tilstrækkeligt til at repræsentere en boolsk funktion? Sådanne sæt kaldes funktionelt komplette . Posts sætning besvarer dette spørgsmål. Da sætningens betingelse er nødvendig og tilstrækkelig, kaldes den også et kriterium .
Ideen med sætningen er at betragte mængden af alle boolske funktioner som en algebra med hensyn til driften af superposition . Nu bærer den navnet Post algebra . Denne algebra indeholder, som dens subalgebraer, sæt af funktioner, der er lukket under superposition. De kaldes også lukkede klasser . Lad være en delmængde af . Lukningen af et sæt er den minimale subalgebra indeholdende . Med andre ord består lukningen af alle funktioner, der er superpositioner . Det vil naturligvis være funktionelt komplet, hvis og kun hvis . Spørgsmålet om, hvorvidt en given klasse er funktionelt komplet, kommer således ned til at kontrollere, om dens lukning er den samme som .
Operatøren er en lukningsoperatør . Med andre ord har den (blandt andre) egenskaberne:
Det siges, at et sæt funktioner genererer en lukket klasse (eller en klasse er genereret af et sæt funktioner ), hvis . Et sæt funktioner kaldes en basis for en lukket klasse, hvis og for en hvilken som helst delmængde af sættet udover .
Hvis vi tilføjer et element, der ikke hører til en subalgebra , der ikke hører til den, og danner en lukning, vil resultatet være en ny subalgebra, der indeholder den givne. Samtidig vil det falde sammen med , hvis og kun hvis der ikke er andre subalgebraer mellem den oprindelige subalgebra og , altså hvis den oprindelige subalgebra var maksimal. For at kontrollere, at et givet sæt funktioner er funktionelt komplet, er det således tilstrækkeligt at verificere, at det ikke helt tilhører nogen af de maksimale subalgebraer . Det viser sig, at der kun er fem sådanne subalgebraer, og spørgsmålet om at tilhøre dem kan løses enkelt og effektivt.
Det følgende er nogle af de følger, der følger af dobbeltfunktionssætningerne .
Vi vender os nu til at afklare fuldstændigheden af specifikke sæt funktioner.
Bemærk, at ingen af de lukkede klasser er helt indeholdt i foreningen af de andre fire. Dette følger af følgende forhold:
Enhver ikke-triviel (bortset fra ) lukket klasse af booleske funktioner er fuldstændig indeholdt i mindst én af klasserne . |
Et system af boolske funktioner F er komplet, hvis og kun hvis det ikke helt tilhører nogen af de lukkede klasser . |
Det vil sige, når fem funktioner kan implementeres i det: ikke-selv-dual, ikke-monotone, ikke-lineær, ikke-bevarende 0 og ikke-bevarende 1.
Beviset for Posts kriterium er baseret på, at systemet af funktioner ( OG , ELLER og IKKE ) er komplet. Ethvert system, hvori disse tre funktioner er implementeret, er således også komplet. Lad os bevise, at i et system, der opfylder Post-kriteriet, er det altid muligt at implementere konjunktion , disjunktion og negation .
Overvej en funktion, der ikke tilhører klassen T 0 . For hende
Denne funktion hører muligvis ikke til klassen T 1 .
Overvej en funktion, der ikke tilhører klassen T 1 . For hende
Denne funktion hører muligvis ikke til klassen T 0 .
Overvej en funktion, der ikke tilhører klassen S af selv-duale funktioner. Til det er der sådan et sæt inputvariabler X, der
Lad for eksempel så har vi også konstanten 1.
På samme måde, hvis for eksempel, så har vi også konstanten 0.
Under alle omstændigheder, med en inverter og en ikke-selv-dual funktion, kan vi få en af konstanterne.
Hvis vi i et af ovenstående tilfælde fik en inverter og en af konstanterne, får vi den anden konstant ved hjælp af inverteren: eller
For en ikke-monotonisk funktion skal der være et sæt inputvariabler, således at
ogLad for eksempel og . Så .
Under alle omstændigheder, med en ikke-monotonisk funktion og begge konstanter, kan vi få en inverter.
I de foregående underafsnit gennemgik vi alle mulige muligheder (se figur) og kom til den konklusion, at med funktioner, der ikke hører til klasserne T 0 , T 1 , S og M, kan vi altid få inverteren og begge konstanter i forskellige måder.
Per definition har en ikke-lineær funktion mindst ét led i Zhegalkin-polynomiet , der indeholder en konjunktion af flere variable. Lad for eksempel være en ikke-lineær funktion
Lad os sætte os som mål at konstruere en konjunktion på dens grundlag
Tildel værdierne 1 til variablerne , vi får:
Det er klart, at vi i det generelle tilfælde efter en sådan transformation får en funktion af formen
hvor de firkantede parenteser betyder, at det udtryk, de fremhæver, måske er til stede i det endelige udtryk.
I det enkleste tilfælde, i mangel af andre medlemmer, får vi straks en konjunktion:
Lad os overveje andre muligheder.
Ethvert af disse udtryk kan ved hjælp af en inverter reduceres til en konjunktion.
Med en ikke-lineær funktion, en inverter og en konstant 1 kan du således altid få en konjunktion.
Givet en inverter og en konjunktion, kan du altid få en disjunktion:
En funktion alene er et komplet system, hvis og kun hvis:
Eksempler på funktioner, der alene er et komplet system, ville være Schaeffers streg og Pierces pil .
Det maksimale antal funktioner i grundlaget for logikkens algebra er 4 [1] . |
1) Lad os bevise, at det fra ethvert komplet system af funktioner er muligt at udskille et komplet delsystem, der ikke består af mere end fire funktioner.
Ifølge Posts kriterium skal fem funktioner være til stede i et komplet system:
Lad os overveje en funktion . To tilfælde er mulige:
2) Lad os vise, at der er grundlag for fire funktioner. Overvej et system af funktioner . Dette system er komplet:
Ingen af dens undersystemer er dog komplette:
Sætningen er blevet bevist.