Posts kriterium är en av de centrala teoremerna i teorin om booleska funktioner , som upprättar ett nödvändigt och tillräckligt villkor för att någon uppsättning booleska funktioner ska ha tillräcklig uttrycksförmåga för att representera vilken boolesk funktion som helst. Först formulerad av den amerikanske matematikern Emil Post .
I mitten av 1960-talet dök verk upp nästan samtidigt i Sovjetunionen och i Frankrike, där Posts resultat presenterades från olika positioner och i en mer tillgänglig form. På 1980-talet lyckades ett antal forskare på en gång, med olika tillvägagångssätt och olika tekniker, få ganska kompakta bevis på Posts resultat. Det algebraiska tillvägagångssättet för studiet av slutna klasser av booleska funktioner (subalgebra av den iterativa postalgebra över en uppsättning ) tillhör A. I. Maltsev .
En boolesk funktion är en funktion av typ , där , och är ariteten av . Antalet olika aritetsfunktioner är lika med , medan det totala antalet olika booleska funktioner är oändligt. Det är dock uppenbart att många funktioner kan uttryckas i termer av att andra använder superpositionsoperatorn . Till exempel har det länge varit känt att från disjunktion och negation är det möjligt att, med hjälp av de Morgans lagar , få en konjunktion . Dessutom kan vilken boolesk funktion som helst representeras som en DNF , det vill säga i termer av konjunktion, disjunktion och negation. En naturlig fråga uppstår: hur avgör man om en given uppsättning funktioner kommer att vara tillräcklig för att representera någon boolesk funktion? Sådana uppsättningar kallas funktionellt kompletta . Posts teorem svarar på denna fråga. Eftersom tillståndet för satsen är nödvändigt och tillräckligt, kallas det också ett kriterium .
Tanken med satsen är att betrakta mängden av alla booleska funktioner som en algebra med avseende på operationen av superposition . Nu bär den namnet Postalgebra . Denna algebra innehåller, som sin subalgebra, uppsättningar av funktioner som är stängda under superposition. De kallas också för slutna klasser . Låt vara en delmängd av . Stängningen av en uppsättning är den minimala subalgebra som innehåller . Stängningen består med andra ord av alla funktioner som är superpositioner . Uppenbarligen kommer det att vara funktionellt komplett om och bara om . Frågan om huruvida en given klass är funktionellt komplett handlar alltså om att kontrollera om dess stängning är densamma som .
Operatören är en stängningsoperatör . Med andra ord har den (bland andra) egenskaperna:
Det sägs att en uppsättning funktioner genererar en sluten klass (eller en klass genereras av en uppsättning funktioner ) om . En uppsättning funktioner kallas en bas för en sluten klass om och för någon annan delmängd av uppsättningen än .
Om vi lägger till ett element som inte tillhör en subalgebra som inte tillhör den och bildar en stängning blir resultatet en ny subalgebra som innehåller den givna. Samtidigt kommer det att sammanfalla med , om och bara om det inte finns några andra subalgebra mellan den ursprungliga subalgebra och , det vill säga om den ursprungliga subalgebra var maximal. Således, för att kontrollera att en given uppsättning funktioner är funktionellt komplett, räcker det att verifiera att den inte helt tillhör någon av de maximala subalgebrerna . Det visar sig att det bara finns fem sådana subalgebror, och frågan om att tillhöra dem kan lösas enkelt och effektivt.
Följande är några av följderna som följer av dubbelfunktionssatserna .
Vi övergår nu till att klargöra fullständigheten av specifika uppsättningar funktioner.
Observera att ingen av de stängda klasserna helt och hållet ingår i föreningen av de andra fyra. Detta följer av följande relationer:
Alla icke-triviala (annat än ) slutna klasser av booleska funktioner finns helt och hållet i minst en av klasserna . |
Ett system av booleska funktioner F är komplett om och endast om det inte helt tillhör någon av de slutna klasserna . |
Det vill säga när fem funktioner kan implementeras i den: icke-självdual, icke-monotone, icke-linjära, icke-bevarande 0 och icke-bevarande 1.
Beviset för Posts kriterium baseras på att systemet av funktioner ( OCH , ELLER och INTE ) är komplett. Således är alla system där dessa tre funktioner är implementerade också kompletta. Låt oss bevisa att i ett system som uppfyller Post-kriteriet är det alltid möjligt att implementera konjunktion , disjunktion och negation .
Betrakta en funktion som inte tillhör klassen T 0 . För henne
Denna funktion kanske tillhör klassen T 1 .
Betrakta en funktion som inte tillhör klassen T 1 . För henne
Denna funktion kanske tillhör klassen T 0 .
Betrakta en funktion som inte tillhör klassen S av självdubbla funktioner. För det finns det en sådan uppsättning indatavariabler X att
Låt, till exempel, då har vi också konstanten 1.
På liknande sätt, om, till exempel, så har vi också konstanten 0.
I vilket fall som helst, med en inverterare och en icke-självdubbel funktion, kan vi få en av konstanterna.
Om vi i något av ovanstående fall fick en växelriktare och en av konstanterna, får vi den andra konstanten med hjälp av växelriktaren: eller
För en icke-monoton funktion måste det finnas en uppsättning indatavariabler så att
ochLåt till exempel och . Sedan .
I vilket fall som helst, med en icke-monoton funktion och båda konstanterna, kan vi få en inverterare.
I de föregående underavsnitten gick vi igenom alla möjliga alternativ (se figur) och kom fram till att med funktioner som inte tillhör klasserna T 0 , T 1 , S och M kan vi alltid få inverteraren och båda konstanterna i olika sätt.
Per definition har en icke-linjär funktion minst en term i Zhegalkin-polynomet som innehåller en konjunktion av flera variabler. Låt, till exempel, det finns någon icke-linjär funktion
Låt oss sätta oss som mål att konstruera en konjunktion på grundval av den
Tilldela värdena 1 till variablerna , vi får:
Uppenbarligen, i det allmänna fallet, efter en sådan transformation, får vi en funktion av formen
där hakparenteserna betyder att termen de lyfter fram kan eller inte kan finnas i det slutliga uttrycket.
I det enklaste fallet, i frånvaro av andra medlemmar, får vi omedelbart en konjunktion:
Låt oss överväga andra alternativ.
Vilket som helst av dessa uttryck, med hjälp av en växelriktare, kan reduceras till en konjunktion.
Med en icke-linjär funktion, en växelriktare och en konstant 1, kan du alltså alltid få en konjunktion.
Med en växelriktare och en konjunktion kan du alltid få en disjunktion:
Enbart en funktion är ett komplett system om och endast om:
Exempel på funktioner som ensamma är ett komplett system skulle vara Schaeffers stroke och Pierces pil .
Det maximala antalet funktioner i basen av logikens algebra är 4 [1] . |
1) Låt oss bevisa att det från vilket komplett system av funktioner som helst är möjligt att peka ut ett komplett delsystem som inte består av fler än fyra funktioner.
Enligt Posts kriterium ska fem funktioner finnas i ett komplett system:
Låt oss överväga en funktion . Två fall är möjliga:
2) Låt oss visa att det finns en grund för fyra funktioner. Betrakta ett system av funktioner . Detta system är komplett:
Inget av dess undersystem är dock komplett:
Teoremet har bevisats.