SE467076B - Saett och anordning foer teorembevisning - Google Patents

Saett och anordning foer teorembevisning

Info

Publication number
SE467076B
SE467076B SE8902191A SE8902191A SE467076B SE 467076 B SE467076 B SE 467076B SE 8902191 A SE8902191 A SE 8902191A SE 8902191 A SE8902191 A SE 8902191A SE 467076 B SE467076 B SE 467076B
Authority
SE
Sweden
Prior art keywords
instantiation
variables
formula
triples
analysis
Prior art date
Application number
SE8902191A
Other languages
English (en)
Other versions
SE8902191D0 (sv
SE8902191L (sv
Inventor
Gunnar Martin Natan Staalmarck
Original Assignee
Gunnar Martin Natanael Staalma
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Gunnar Martin Natanael Staalma filed Critical Gunnar Martin Natanael Staalma
Priority to SE8902191A priority Critical patent/SE467076B/sv
Publication of SE8902191D0 publication Critical patent/SE8902191D0/sv
Priority to EP90850184A priority patent/EP0403454B1/en
Priority to DE69020438T priority patent/DE69020438T2/de
Priority to CA002018828A priority patent/CA2018828C/en
Priority to US07/537,937 priority patent/US5276897A/en
Priority to JP2157416A priority patent/JP3046611B2/ja
Publication of SE8902191L publication Critical patent/SE8902191L/sv
Publication of SE467076B publication Critical patent/SE467076B/sv

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3323Design verification, e.g. functional simulation or model checking using formal methods, e.g. equivalence checking or property checking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
    • G06N5/013Automatic theorem proving

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Algebra (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Geometry (AREA)
  • Complex Calculations (AREA)
  • Devices For Executing Special Programs (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Document Processing Apparatus (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

467 10 15 20 25 30 076 2 Två viktiga iakttagelser som berör uppfimingen är a) Alla härledningar (bevis) av tautologier i Naturliga Deduktionssystem (ND-system) kan skrivas på en unik normalform som bara innehåller delformler och negerade delformler till den formel som skall bevisas. b) Frågan att avgöra om en formel kan bevisas vara en tautologi med en normal härleching (härledning på normalformen) vars alla delhärled- ningar innehåller högst ett bestämt antal N olika fria antaganden, kan beräknas med metoden enligt uppfinningen i polynomiell tid.
Metoden och anordningen enligt uppfinningen kännetecknas av patentkravet och löser problemet med alltför manga och tidsödande testförlopp vid kontroll av sanningshalten i en formel. Enligt uppfinningen löses problemet genom att formeln uppdelas i deluttryck s k tripplar var och en innefattande tre termer, varefter sanningsvärden, logiska Üzor eller l:or, tilldelas variabler i tripplarna för kontroll av samingshalten i dessa. Uppdelningen i tripplar gör det möjligt att formulera effektiva beräkningsregler för att räkna ut sanningshalten hos deluttryck i ursprungsformeln. Därigenom kan ursprungsformelns sanningshalt beräknas utan att man behöver analysera samtliga kombinationer av sannings- värden hos ursprungsformelns variabler. Kontrollen utförs således mot tripplar i stället för mot samtliga variabler i hela formeln, därvid reduceras antalet testförlopp avsevärt och en mycket stor tidsvinst görs.
En anordning för utförande av sättet kallad teorembevisare, innehåller en sekvensenhet S, en generator G, en permanentenhet P, en analysator A samt ett antal evaluerare (beräkningsenheter) E.
Sekvensenheten S bestämmer vilket moment av bevisningen som för tillfället skall genomföras. Generatorn G genererar sekvenser av ordnade variabler s k tupplar. Permanentenheten P innehåller ett minne för lagring av tripplar, en instansieringsdel och en analysdel. Evalueraren E är en beräkningsenhet som självständigt svarar för beräkningen i ett testförlopp. Enheten innehåller ett minne, en instansieringsdel, en regeldel och en ananlysdel. analysatom A analyserar resultatet av beräkningarna i samtliga testförlopp. 10 15 20 25 467 076 3 Metoden kan med fördel användas i alla tillämpningar där det exempelvis är fraga om att kontrollera att en specifikation för ett system är riktig och att realiserbarheten enligt specifikationen är möjlig. Den specifikation som skall testas kan vara avsedd för såväl en maskinvarulösning pà ett problem som en programvarulösning.
En ytterligare fördel med sättet och anordningen enligt uppfinningen är förutom tidsvinsten, tillämpbarheten pà bade små och stora system, enkla 'såväl som komplicerade.
FIGLRBESKRIVNING Sättet och anordningen enligt uppfinningen beskrivs närmare nedan med hjälp av ett utföringsexempel under hänvisning till bifogad ritning i vilken Figur 1 utgör ett flödesschema för beskrivning av ett förlopp enligt uppfin- ningen.
Figur 2 utgör ett blockschema över en anordning enligt uppfinningen.
Figur 3 utgör ett blockschema över en sekvensenhet S.
Figur li utgör ett blockschema över en generator G.
Figur 5 utgör ett blockschema över en permanentenhet P.
Figur 6 utgör ett blockschema över en instansieringsdel i permanentenhet P.
Figur 7 utgör ett blockschema över en analysdel i permanentenhet P.
Figur 8 utgör ett blockschema över ett negeringselement.
Figur 9 utgör ett blockschema över en evaluerare E.
Figur 10 utgör ett blockschema över en instansieringsdel i evalueraren E.
Figur ll utgör ett blockschema över en analysdel i evalueraren E.
Figur 12 utgör ett blockschema över en regeldel i evalueraren E.
Figur 13 utgör ett blockschema över en föravkodare.
Figur 14 utgör ett blockschema över en instansieraravkodare.
Figur 15 utgör ett blockschema över en terminalavkodare.
Figur 16 utgör ett blockschema över en slutsatsdel, samt Figur 17 som utgör ett blockschema över en analysator A.
FÖREDRAGEN UTFURINGSI-'ORM Metoden enligt uppfimingen kan delas upp i tva faser: 467 076 10 15 2D 4 a) Uppbyggnad av (data)-strukturer b) Beräkningsfas.
Uppbyggnadsfasen 1. En formel som skall testas skrivs om till en logiskt ekvivalent formel som exempelvis bara innehåller - > (implicerar) och - (negationen - A till en formel A definieras som (A- >0)) som logiska konstanter t ex enligt följande omskrivningsregler: (A or B) skrivs om till (-A - > B) (A å: B) skrivs om till - (A - > - B) (Det är även möjligt att använda fler booleska konnektiv men då mäste även särskilda instansieringsregler införas för dessa.) 2. Lät al - an vara alla variabler i A.
Lat Bl - Bk vara alla sammansatta delformler till A och lat Bi vara (Ci - >Di) där Ci och Di är delformler till A.
Låt vidare yl - yk vara "nya" variabler på sådant sätt att yi skiljer sig från varje ai, dvs alla nya variabler skiljer sig från var och en av de gamla variablerna.
Låt f vara en funktion sa att f (ai) = ai och f (Bi) = yi.
Ett uttryck M (A) = ((yl <-> (f (Cl) - > f (Dl) )) ö<...&(yk<->(f(ck)->f(Dk)))) kallas matrisen för A, och ett konjunktionsled ti = (yi <-> (f (Ci) - > f (Di) ) ) i en matris kallas som tidigare nämnts en trippel. För att förenkla beskrivningen betraktas M (A) som en mängd av tripplar (t1...tn) och en trippel ti = (yi <-> (f (Ci) - > f (Di) )) som en ordnad mängd (yi, f (Ci), f (Di) ).
Beräkningsfasen När matrisen IVKA) byggts upp startas den s k beräkningsfasen. Varje samman- satt delformel till den ursprungliga formeln A finns representerad av en ny -_^ \.__ 1D 15 20 25 ~ » 4e7:o7e 5 variabel i en trippel i matrisen M(A). Om den konventionen införs att alltid lata hela formeln A representeras av den högst indexerade trippeln l M(A) dvs om M(A) = (t1...tk), sa representeras hela A av yk i tk = (yk, f (Ck), f (Dk) ).
Exemplet enligt uppfinningen utger fran att U-tilldelning representerar falskhet och att 1-tilldelning representerar sanning.
En fundamental egenskap hos en matris M (Å) är, att om formeln A är tautolog så "tvingar" definitionen av A den variabel som representerar A att vara sann.
Uttryckt i formella termer: .
Om M (A) = (t1...tk) sa är A en tautologi om och endast om M (A) -_> yk är en tautologi.
En annan formulering för samma sak är: Om M (A) = ( t1...tk ) sä är A tautolog om och endast om M (A) yk/D är kontradiktorisk (där yk/0 star för att variabeln yk tilldelats D).
En tautolegicheckning av en formel A gar i huvudsak till pà följande sätt: (i) en matris M (A) = ( t1...tk) byggs upp (ii) yk tilldelas 0, dvs det antas att hela formeln A är falsk (iii) variabler i M (A) tilldelas värden enligt bestämda regler tills antingen en falsk trippel, en s k terminal, uppträder och den slutsatsen kan dras att formeln A är tautolog, eller tills det visar sig att ingen beräknings- regel är tillämplig varvid den slutsatsen kan dras att formeln A inte är bevisbar i den formella kalkyl som valts för simulering.
Ds beskrivningen innehåller vissa speciella uttryck lämnas nedan en förklaring till nagra av dem.
En term är alltid lika med en variabel eller en konstant, U eller 1.
En trippel imehäller alltid tre (3) termer.
En matris omfattar en eller flera tripplar. 467 076 2 a) Nej ingen trippel är terminal b) Ja en enkel instansieringsregel kan tillämpas på 1:4 och ger resultatet: tl (1, 1, q) t2 (1, q, 0) 5 t3 (Û, 1, D) 14 (0, 1, 0) t5 (Û, 1, Û) 3 a) Nej, ingen trippel är terminal b) Ja, en enkel instansieringsregel 5 kan tillämpas på t3 och ger resultatet: 10 t1(1, 1, q) 12 (1, q, 0) 13 (0, 1, 0) wmrw :s (0, 1, 0) 15 4 a) Nej ingen trippel är terminal b) Ja en enkel instansieringsregel kan tillämpas på trippel tl och ger resultatet: t1(1, 1, 1) t2 (1, 1, 0) 20 :3 (0, 1, 0) 1401, 1, 0) 15 (0, 1, 0) 5 Trippeln t2 visade sig vara en terminal. Formeln är således tautolog.
Testinstansiering, dvs prov med l:or och Ûzor behövdes inte i detta fall, enkla 25 instansieringsregler räckte. ~ Dä beräkningar med hjälp av enkla instansieringsregler inte är möjliga utförs, som tidigare nämnts, testinstansieringar med hjälp av ettor (1) och nollor (O).
Detta innebär att man till en eller flera oinstansierade variabler i matrisen 10 15 20 25 467 0-76 7 Som en förklaring till instansieringen enligt regel l kan sägas: Om en trippel (X, Y, l) är element i en matris M sä reduceras matrisen M till M med konstanten 1 substituerad för variabeln X.
Formel som skall beräknas: ' X1 X5 X2 X4 X3 (p->q) -> ((q->r) -> (p->r)) (i) formeln skrivs om till tripplar och den variabel som representerar hela formeln instansieras till 0 (noll), enligt exemplet variabel X5- GBHOm instansieringen till 0, antas hela formeln vara falsk.
Trippel tl = (Xl,p,q) t2 = (X2,q,r) t3 = (X3,p,r) 134 = (Xwxzpxy t5 = (0,Xl,X4) Formeln antas vara falsk X5 = 0.
Det bör påpekas att X1 - X5 inte finns med i ursprungsformeln utan är de nya variabler som motsvarar de sammansatta delformlerna i ursprungsformeln.
Placeringen av X1 - X5 indikerar vilka delformler respektive variabel represen- terar.
Med tillämpning av reglerna 1-10 och under hänvisning till figur 1 visas exempel pa beräkning av ovanstående formel. 1 a) Ingen trippel är terminal b) Enkel instansieringsregel 10, kan tillämpas pà trippel t5, och ger resultatet: tl (1, p, q) (vilket innebär att 1 substitueras för X1 i matrisen och o för X4) t2 (X2, q, r) t3 (X3, p, r) . :4 (O, X2, X3) t5 (U l D) 467 076 10 15 20 25 2 a) Nej ingen trippel är terminal b) Ja en enkel instansieringsregel kan tillämpas på t4 och ger resultatet: tl (1, 1, q) t2 (l, q, 0) t3 (Û, 1, 0) :4 (0, 1, 0) t5 (0, 1, 0) 3 a) Nej, ingen trippel är terminal b) Ja, en enkel instansieringsregel 5 kan tillämpas på t3 och ger resultatet: umrm umew :3(0,1,0) wmrw w@Lm 4 a) Nej ingen trippel är terminal b) Ja en enkel instansieringsregel kan tillämpas på trippel tl och ger resultatet: :l (1, 1, 1) t2 (1, 1, 0) :3 (0, 1, 0) 1:4 (0, 1, 0) ts (0, 1, 0) 5 Trippeln t2 visade sig vara en terminal. Formeln är således tautolog.
Testinstansiering, dvs prov med 1:or och Ûzor behövdes inte i detta fall, enkla instansieringsregler räckte.
Dä beräkningar med hjälp av enkla instansieringsregler inte är möjliga utförs, som tidigare nämnts, testinstansieringar med hjälp av ettor (1) och nollor (0).
Detta innebär att man till en eller flera oinstansierade variabler i matrisen 10 15 20 25 30 467 076' 9 tilldelar ettor (l) och nollor (O) för varje möjlig kombination av ettor (1) och nollor (U) hos dessa variabler. Därefter tillämpas, för var och en av nämnda möjliga kombinationer, de enkla instansieringsreglerna tills ingen sådan regel längre är tillämpbar. Resultatet från tillämpningen av den enkla instansierings- reglerna pa matrisen för var och en av den enskilda kombinationerna sparas temporärt för jämförelser. De olika resultaten (värdetilldelningar till variabler) jämförs och analyseras. De resultat som är gemensamma för vart och ett av testfallen sparas permanent, och de övriga temporärt sparade resultaten raderas. Beräkningarna enligt metoden upprepas tills man uppnår ett resultat som är acceptabelt för den praktiska tillämpning som är aktuell.
I figur 2 visas en anordning enligt uppfinningen i form av en teorembevisare bestående av en sekvensenhet S, en generator G, en permanentenhet P, en j analysator A och ett antal evaluerare EÛ -- E(Q-l) beräkningsenheter.
Sekvensenheten bestämmer vilket moment av teorembevisningen som för till- fället skall genomföras. Övriga enheter signalerar sina tillstànd via bussar till sekvensenheten som med ledning av detta bestämmer vilket moment som skall utföras härnäst.
Generatorn genererar tupplar av testvariabler. Variablernas namn överförs före varje testevaluering till samtliga evaluerare via en buss GB. En tuppel avser en sekvens ordnade variabler exempelvis .
Permanentenheten innehåller ett minne. Varje adress innehåller tre ord mot- svarande de tre variablerna i en trjpül. I orden lagras det värde till vilket variabeln för närvarande är permanent instansierad, (tilldelar en variabel ett värde). Permanentenheten består förutom minnet bland annat av en instansie- ringsdel och en analysdel.
För varje kombination av konstanta värden som en tuppel av testvariabler kan instansieras till finns en evaluerare. Om tuppelns storlek är T sa finns det Q=2T evaluerare. Som exempel kan en tuppel bestående av 2 variabler instansieras till <Û,0>, <Û,l>, , varför det behövs 4 evaluerare. Varje evaluerare svarar självständigt för evalueringen av ett testfall. Evaluerarna innehåller var sitt minne av samma slag som i permanentenheten. I orden lagras det värde till 467 10 15 20 25 30 076 10 vilket variabeln för närvarande är instansierad i testen. Innehållet i minnet i permanentenheten kan via en buss CB kopieras till minnena i evaluerarna.
Evalueraren består förutom minnet bland annat av en instansieringsdel, en regeldel och en analysdel.
Analysatorn genererar alla par av variabler för utvärdering av testerna.
Adresser motsvarande paren sänds via en buss AB till alla evaluerare och till permanentenheten. Analysen av paret utförs i dessa varefter resultatet medde- las till analysatorn.
Formatet pa den matris som lagras i minnena i permanentenheten och evalue- rarna framgår av tabell l. De n första adresserna upptas av tripplarna. Speciellt innehåller adress 0 den trippel som motsvarar formelns huvudimplikation. För varje trippel, i, lagras värdet av dess tre variabler i V. V. och V.
|,X, 1, Y i, Z därpå följande adresserna används för atomerna. För varje atom, i, lagras dess värde i ordet Ai. anlechingen till att atomerna finns med är att varje unik .Dea variabel skall förekomma åtminstone en gäng i ord 0. Den sista adressen används för att lagra konstanten 0.
Adress Ord 0 Ord l Ord 2 Û Vo,x Vo,v Vo,z 1 V1,x V1,v V1,z “'1 Xn-Lx Vn-1,v Vn-1,z n 0 n+l Al n+a-1 Aa-l n+a 0 Tabell 1: Format för minne Varje ord är uppdelat enligt tabell 2. EGO anger den ekvivalensklass som variabeln för närvarande är instansierad till. C=l anger att variabeln är instansierad till konstanten 0. EGC saknar då betydelse men antas vara 0. N=l anger att variabeln är instansierad till negationen av angiven ekvivalensklass eller konstant. I det följande anges värden allmänt som < N,C,E@C >. 10 15 20 25 467 076 ll ä Beteckning Innehåll 0-31 ECJC Ekvivalensklass 32 C Konstant 33 N Negation Tabell 2: Format för ord.
Antag att tva variabler X, Y har värdena respektive . Följande gäller då: - X=Y (X lika med Y) om NX=NY,CY=EQCY - XfiY (X negerat lika med Y) om NXMY,CX=CY,EGICX=EQC - X=l) (X falsk) om NX=Û, Cx=l - X=l (X sann) om Nx=l, CX=1 Y Initialt har varje Lnik variabel V ett unikt värde <0,Û,AV>, där AV är adressen till det ställe i matrisen där V förekommer i ord 0. Variabeln som motsvarar hela formeln skall därför ha värdet <Û,Û,O>. Instansiering av en variabel X med värdet till en konstant, likhet eller negerad likhet med en annan variabel sker genom att ändra dess värde i överensstämmelse med ovanstående.
Eftersom alla variabler som är lika eller negerat lika med X fortfarande skall vara lika respektive negerat lika med X så skall dessas värden ändras pa motsvarande sätt. lnstansiering innebär därför att värdena hos alla variabler V med ekvivalensklass EQCV=EQCX ändras. Föremalet för en instansiering är således snarare en ekvivalensklass än en variabel. I det följande kallas en sådan ekvivalensklass destination och ekvivalensklassen säges instansieras till ett värde. 3 FUNKTION Teorembevisningen delas in i följande huvudmoment: - Laddning - Initiering - Kopiering - Generering 467 076 10 15 2D l2 - Evaluering - Analys - Rapportering Sekvensenheten bestämmer med hjälp av signaler från övriga enheter vilket moment som skall utföras. 3.1 LADDNING Under laddningen överförs den pà ovanstående sätt beskrivna matrisen från nagot yttre media till minnet i permanentdelen. Denna överföring kan ske med kända triviala metoder och beskrivs därför inte här. Maskinvaran för detta är inte heller inritad i schemat. 3.2 INITIERING Teorembevisaren startas med en yttre startsignal som innebär att initiering påbörjas. Variabeln som motsvarar hela formeln, eller noga räknat dess ekviva- lensklass, instansieras till konstanten Ü i permanentenheten.
Instansiering av en ekvivalensklass D till ett värde V sker genom att alla tripplar och atomer adresseras i tur och ordning. När något ord innehållande D upptäcks, ändras ordet till V. 3.3 KOPIERING Efter initiering och allmänt som första moment i varje test vidtar kopiering.
Kopiering innebär att matrisen i permanentdelen kopieras i sin helhet till samtliga evaluerare.
Kopieringen sker genom att alla tripglar och atomer i permanentenheten adresseras i tur och orching. Trippeln och aktuell adress överförs via bussen CB för inskrivning i evaluerarna. 10 15 20 25 467 076' 13 3.4 GENERERING Efter kopiering vidtar generering av en tuppel av testvariabler och instansiering av dessa i evaluerarna. Varje evaluerare ger en unik kombination av instan- sieringar till testvariablerna.
Generatorn innehåller lika manga räknare som tuppelns storlek, T. Räknarna bestämmer vilka variabler som för tillfället ingår i tuppeln. Nollställning av räknarna sker varje gang nagon permanent instansiering ägt rum eftersom alla tester da maste upprepas. I övrigt stegas räknarkombinationen vid varje genere- ring.
Den första variabeln överförs via bussen GB till samtliga evaluerare. I varje evaluerare bestäms huruvida variabeln skall instansieras till konstanten 0 eller 1. Instansiering sker sedan parallellt i samtliga evaluerare. Den tillgar enligt samma princip som i permanentenheten. När alla evaluerare är färdiga överförs nästa variabel och proceduren upprepas tills alla variabler i tuppeln är instansierade. Evaluerarna bestämmer värden pa ett sadant sätt att variablerna i tuppeln far en unik kombination av instansieringar i varje evaluerare. För detta ändamal har varje evaluerare ett unikt nummer. 3.5 EVALUERING Efter genereringen vidtar evaluering. Alla evaluerare evaluerar matrisen paral- lellt och oberoende av varandra. Evaluering sker i tva delmoment, sökning efter regler som kan tillämpas och instansiering enligt dessa regler.
Sökning utförs genom att adressera tripplarna i tur och orching. För varje trippel undersöks om nagon instansieringsregel eller termineringsregel är till- lämpbar. Om nagon tillämpbar termineringsregel hittas sa avslutas evalueringen och terminal signaleras. Om nagon tillämpbar instansieringsregel hittas avbryts sökningen och instansiering enligt regeln vidtas. Om hela matrisen genomsökts utan att nagon tillämpbar regel påträffats sa avslutas evalueringen.
Instansiering sker enligt de principer som angetts tidigare, vilket innebär genomgång av samtliga tripplar. lnstansieringen bestäms av regeln och variab- 467 076 1D 15 20 25 14 lerna i den trippel för vilken regeln var tillämpbar. Efter ínstansieringen pabörjas sökningen efter tillämpbara regler fran början. 3.6 ANALYS När alla evaluerare är färdiga vidtar analys. Om alla evaluerare signalerar terminal övergar teorembevisaren till rapportering eftersom formeln da är logiskt sann. I annan fall utvärderas testen.
Utvärderingen gar ut pa att hitta nytillkomna instansieringar som förekommer i samtliga evaluerare. Analysenheten utpekar i tur och ordning alla par av variabler genom att överföra adresspar pa buss AB till samtliga evaluerare och till permanentenheten. Eftersom alla variabler förekommer nagon gang i ord 0 i matrisen är det tillräckligt att analysera detta ord. Varje evaluerare och permanentenheten undersöker om variabelparet är lika eller negerat lika instansierade. Resultatet signaleras till analysenheten. Om paret är lika eller negerat lika instansierat i samtliga evaluerare men inte i permanentenheten sa skall paret instansieras lika respektive negerat lika i permanentenheten. Instan- sieringen tillgar pa tidigare beskrivet sätt.
Genom att analysenheten även kommer att peka ut den sista variabeln i matrisen, nämligen den som alltid är instansierad till Û, sa garanteras att utvärderingen täcker nytillkomna instansieringar till Û och 1.
När alla par analyserats övergar teorembevisaren i ett av tva alternativa moment. Om analysen ledde till nagon permanent instansiering sa maste alla tester upprepas fran början. Övergang sker da till kopiering och räknarna i generatorn nollställs. Om analysen inte ledde till nagon permanent instansiering och alla möjliga tester ännu inte har utförts, sa skall -test med en ny tuppel av variabler ske. Övergang sker även i detta fall till kopiering. I detta fall stegas räknarna i generatorn. Om analysen inte ledde till nagon permanent instansie- ring och alla möjliga tester har utförts, sa övergar teorembevisaren till rapportering eftersom formeln da inte kan bevisas logiskt sann. 10 15 20 467 076 15 3.7 RAPPORTERING Rapportering innebär endast att resultatet av teorembevisningen finns tillgäng- ligt i form av en sann-signal. 4 DETALJBESKRIVNING 4.1 FÖRBINDELSER Tabell 3 anger alla förbindelser mellan olika enheter i teorembevisaren.
Förbindelser i bussar anges med bussens namn följt av kolon och förbindelsens namn i bussen. Stora bokstäver anger förbindelser med mer än en bit.
Förbindelser av typen virad-och är märkta med å. För en sådan förbindelse är _ signalen 1 endast om samtliga sändande enheter signalerar 1. 0 anger kommuni- kation med omgivningen.
Namn Fran lill Funktion C:A Perm Eval Adress vid kopiering CzVX Perm Eval Variabel X (ord 0) vid kopiering C:VY Perm Eval Variabel Y (ord 1) vid kopiering C:VZ Perm Eval Variabel Z (ord 2) vid kopiering G:D Gen Eval Variabel som skall testinstansieras Gm Gen Eval Variabelns platsnummer i tuppeln Gzstrobe Gen Eval Ny variabel utsänd A:A Anal Eval Adress vid analys Azstrobe Anal Eval Komplett adresspar utsänt Perm A:equal Eval Anal å: Alla evaluerare men inte Perm Perm permanentenheten har lika inst Aznequal Eval Anal ö: Alla evaluerare men inte Perm _ Perm permanentenheten har negerat lika inst 467 076 18 .z reset gen N ' perm ready perm ready gen ready eval ready & eval term Start anal ready & not any inst & eVflï fefldä 5= mgre [ggtg H01. EVG] tefm ana! ready & not any inst ö. not more tests anal ready 8. any inst & Diagram 1: Tillstándsgraf för sekvensenhet. 10 15 467 076 17 4.2 SEKVENSENHET Sekvensenheten S enligt figur 3 är en finit tillstandsmaskin med tillstånds- övergångar enligt diagram 1.
En räknare SC bestämmer tillståndet. Den avkodas till sju olika tillståndssigna- ler i avkodaren SD. Övergång mellan successivt kodade tillstànd sker genom att räknaren stegas. Vilka yttre signaler som skall kunna stega räknaren beror av tillståndet och väljs med väljaren SS. Övergång mellan icke sussessivt kodade tillstånd sker genom att räknaren laddas med konstanten 0 eller 3. Vilka yttre signaler som skall kunna ladda räknaren beror av tillståndet och väljs med grindlogik.
En vippa STF håller resultatet av teorembevisningen. Den 0-ställs vid start och l-ställs i samband med övergång från tillstånd 5 till O.
Signalen 'reset gen' ges till generatorn i samband med övergång från tillstånd 6 till 3 om signalen 'any inst' är aktiv.
Tre register SNRO, SNRl, SNR2 innehåller antal tripplar, N, antal tripplar plus atomer, N+A, respektive antal tripplar plus atomer plus 1, N+A+l. Dessa antas laddas under laddningsmomentet som inte beskrivs här. 467 076 18 Û : reset gen perm ready perm ready gen ready eval ready & 0 eval term a SW* Report True anal ready & not any inst & eVflï fefldä 5= mgre [ggtg H01 EVG] tefm ana! ready & not any inst ö. not more tests anal ready 8. any inst & Diagram 1: Tillstândsgraf för sekvensenhet. 10 15 20 467 076 19 4.3 GENERATOR Generatorn G enligt figur 4 deltar endast i momentet generering.
Enheten innehåller en räknare för varje variabel i testtuppeln. GDCÛ -- GDC(T-l), där T är tuppelns storlek. Varje räknare räknar modulo N+A.
Räknarna är kopplade i en kedja sa att en räknare i kedjan stegas när föregående räknare börjar om fran U.
En räknare GSC, som räknar modulo t, sköter sekventieringen. Räknaren väljer via en väljare GDS ut en av räknarna GDCÛ-“GDCXT-l).
När genereringen börjar har GSC värdet O. GDCÛ kommer da att väljas av GDS _ och värdet sänds ut pa 'G:D'. Värdet tolkas som en ekvivalensklass i evaluerar- na. Samtidigt sänds värdet pa GSC ut pa 'G:N'. När evaluerarna instansierat i enlighet med utsända data mottar generatorn signalen 'eval ready' varvid GSC stegas. Nästa räknare GDCl kommer da att väljas och dess värde att sändas ut.
Proceduren upprepas tills alla räknare har valts varsin gang. 'När signalen 'eval ready' mottas sista gängen ger GSC en carry-signal som stegar räknarkedjan GDCO--GDCÜ-l) och sänder signalen 'gen ready' till sekvensenheten.
Generatorn aterställs under momentet initiering eller da signalen 'reset gen' mottas fran sekvensenheten. Återställning innebär att alla räknare GDCÛ- GDCÛ-l) sätts till 0.
En vippa GMF anger huruvida fler tester atestar. Den sätts till l vid aterställning av generatorn och till 0 da räknarkedjan GDCÜ--GDCÜ-l) ger carry-signal. Vippans värde sänds som signalen 'more tests' till sekvensenheten. 4.4 PERMANENTENHET Permanentenheten P enligt figur 5 deltar i momenten initiering, kopiering och analys. Under analysen finns tva delmoment, nämligen jämförelse och instansie- ring. 467 o7e_ 1D 15 20 25 20 Enheten innehåller ett matrisminne PM, en instansieringsdel PI och en analysdel PC.
Matrisminnet är uppdelat i tre identiska minnen PMX, PMY, PMZ innehållande orden O, l respektive 2. Den gemensamma adressen till minnena väljs med en väljare PAS. Indata till samtliga minnen väljs med en väljare PVS. De tre minnena har separata skrivsignaler som väljs med tre parallella väljare PWS.
Instansieringsdelen PI enligt figur 6 har en jämförare för varje minne. De tre adresserade orden i PM jämförs med en komparand. Vid likhet mellan ett ord och komparanden skickas en skrivsignal till motsvarande minne. Komparanden väljs med en väljare PDS (figur 5).
Analysdelen PC enligt figur 7 jämför adresserat ord från minnet PMX med närmast tidigare adresserat ord med avseende pà likhet eller negerad likhet.
Orden registreras i register PDR och PVR (figur 5). En korskopplare PCX (figur 7) tillser att ett ord som innehåller en konstant (C=l) alltid registreras i PVR.
En räknare PAC som räknar modulo N+A+l används i samband med initiering, kopiering och instansiering för att adressera matrisminnet PM.
Två vippor PIFl, PIF2 bestämmer vilket delmoment, jämförelse eller instansie- ring, som pågår vid analys. De avgör även huruvida instansiering skall ske till likhet eller negerad likhet.
Väljarna styrs under de olika momenten ut enligt tabell 4.
Moment _P¿A_§ Eyâ flQå _P_W_S_ Initiering AP VS DS _ WI Kopiering AP - - AnalyszJämförelse A:A - - Instansiering AP VC DC WI anger separata data till X, Y, Z, Tabell 4: Val i permanentenhet. 10 15 20 25 30 467 076 21 Instansiering av en ekvivalensklass D=EGCD till ett värde V= V innebär att alla tripplar och atomer genomsöks. Detta görs genom att adressera R' CR' , och icke- PM från en räknare PAC som stegas kontinuerligt. De utlästa orden EQCR> jämförs i instansieringsdelen PI med komparanden EQCD konstant, CR=Û, aktiveras en skrivsignal motsvarande det matchande ordet.
Denna skrivsignal medför att värdet , där Q betecknar modulo-tva-summa, ersätter det matchande ordet i PM. Modulo-tvà-summe- ringen utförs med negeringselementen PVN. Ett negeringselement enligt figur 8 negerar ett värde genom att ändra N när dess styringang är l. När alla tripplar och atomer i PM har adresserats erhalls en carry-signal fran räknaren PAC. lnitiering innebär att ekvivalensklass Û instansieras till konstanten Û med den beskrivna metoden. D och V väljs med väljarna enligt ovanstående tabell där DS=U, VS=<Û,l,Û>. När initieringen är klar skickas signalen 'perm ready' till sekvensenheten.
Kopiering imebär att hela matrisminnet PM adresseras rad för rad med hjälp av räknaren PAC som stegas kontinuerligt. De utlästa orden i raden sänds till alla evaluerare pà 'C:VX', 'C:VY', 'C:VZ' tillsammans med adressen pä 'C:A'. När kopieringen är klar skickas signalen 'perm ready' till sekvensenheten.
Under analysens jämförelsemoment mottas de tvâ adresserna till det variabel- par som skall jämföras på 'A:A' under tva konsekutiva cykler. PM adresseras i tur och ordning med dessa adresser. Det först adresserade ordet XO= från PMX registreras i registret PCR för att i nästa cykel jämföras i analysdelen PC med det andra adresserade ordet Xl= från PMX. Om värdena är lika, Xl=XÛ, sänds inte signalen Azequal. Om värdena är negerat lika, XlfiXü, sänds inte signalen Amequal. Anledningen till inverte- ringen är att analysen gàr ut pa att finna likheter i evaluerarna där likheter inte finns i permanentenheten. Den negerade likheten avgörs med hjälp av ett negeringselement. För eventuell instansiering registreras det först adresserade ordets ekvivalensklass i registret PDR och det sist utlästa ordets värde i registret PVR savitt inte det först utlästa ordet är en konstant, C0=l, i vilket fall registreringen görs tvärtom. Dmkastningen görs med väljare PCX. Fältet N i PVR sätts dock alltid lika med NUÛNl. Modulo-tvà-summeringen görs med ett *i negeringselement. ' 467 076 1D 15 2D 25 22 Analysens instansieringsmoment initieras genom att signalen 'A:equal' eller 'A:nequal' mottas i kombination med 'Azstrobeh Det förra fallet innebär att det senast jämförda paret skall instansieras lika, det senare att paret skall instansieras negerat lika. Vippan PIFl eller PIFZ sätts till 1 i respektive fall.
Om PDR innehåller EQCD och PVR innehåller så skall EQCD instansieras till i det förra fallet och till det senare fallet. Negeringen sker med ett negeringselement efter PVR.
Instansiering utförs med tidigare beskriven metod. När denna är klar skickas signalen 'perm ready' till analysenheten. >i 4.5 EVALUER ARE Evaluerarna E enligt figur 9 deltar i momenten kopiering, generering, evalue- ring och analys. Under evalueringen finns två delmoment, nämligen sökning och instansiering.
Varje enhet innehåller ett matrisminne EM, en instansieringsdel EI, en regeldel ER och en analysdel EC.
Matrisminnet är i likhet med minnet i permanentenheten uppdelat i tre identiska minnen EMX, EMY, EMZ innehållande orden U, 1 respektive 2. Den gemensamma adressen till minnena väljs med en väljare EAS. Indata till minnena väljs dels med tre parallella väljare EVS2, dels, daindata är gemen- samma för samtliga minnen, med en väljare EVSl. De tre minnena har separata skrivsignaler vilka väljs med tre parallella väljare EWS.
Instansieringsdelen EI se figur 10 har i likhet med instansieringsdelen i permanentenheten en jämförare för varje minne. De tre adresserade orden i EM jämförs med en komparand. Vid likhet mellan ett ordoch komparanden skickas en skrivsignal till motsvarande minne. Komparanden väljs med en väljare EDS (figur 9).
Regeldelen ER (figur 12) innehåller en villkorsdel ERDP, ERDI, ERDT, en slutsatsdel ERE och en väljardel ERDS, ERVS. Villkorsdelen undersöker huruvi- da en adresserad trippel i matrisminnet EM uppfyller villkorsdelen i någon regel och pekar i så fall ut denna eller markerar terminal. Slutsatsdelen bestämmer 10 15 2D 467 076" 23 med utgångspunkt fràn detta vilka instansieringar som skall görs och ställer ut väljarna.
Analysdelen EC enligt figur ll jämför adresserat ord från EMX med närmast tidigare adresserat ord med avseende pà likhet eller negerad likhet.
En räknare EAC (figur 9) som räknar modulo N eller N+A används i samband med generering, sökning och instansiering för att adressera EM.
En vippa ElF bestämmer vilket delmoment, sökning eller instansiering som pagar vid evaluering.
Väljarna styrs under de olika momenten ut enligt tabell 5.
Instansiering av en ekvivalensklaæ D=EQC till ett värde V= D V innebär att alla tripplar och atomer genomsöks. Tillvägagangssättet är identiskt med instansiering i permanentenheten. Under instansieringen räknar EAC modulo N+A.
Kopiering innebär att tripplar mottas på 'C:VX', 'C:VY', 'C:VZ' tillsammans med adresser pà 'C:A'. För varje mottagen trippel adresseras EM med den mottagna adressen och trippeln skrivs in.
Moment ' _E_É_V_§ EíDS Lil/å Kopiering C:A C:V . 1 Generer ing AE VG G:D WI i Evaluering: Sökning AE - - Ü Inst AE VR DR WI 'É- Analys A:A - - Û f. anger separata data till X, Y, Z.
Tabell 5: Val i evaluerare. 467 076 10 15 20 25 30 35 240 För varje steg i genereringen mottas den variabel som skall instansieras, eller noga räknat dess ekvivalensklass, pa 'G:D' tillsammans med variabelns nummer i tuppeln pa 'G:N'. Numret styr en väljare EVGS vars ingångar utgörs av respektive evaluerares nummer i binär form. Om den valda biten är 0 sa skall ínstansiering ske till konstanten 0, i annat fall till konstanten 1. Pa detta sätt kommer tuppeln av variabler att fa en unik kombination av instansieringar i varje evaluerare. Instansiering sker sedan pa ovan beskrivet sätt. När instansie- ringen är klar skickas signalen 'eval ready' till generatorn.
Under evalueringens sökmoment genomsöks alla tripplar tills en trippel som uppfyller någon av reglernas villkorsdelar uppfylls. EM adresseras med EAC som stegas kontinuerligt. Under sökningen räknar EAC modulo N. De utlästa orden analyseras i regeldelens villkorsdel. En föravkodare ERDP (figur 13) undersöker de tre adresserade orden var för sig med avseende pa konstant eller icke- konstant värde och parvis med avseende pa lika eller negerat lika värde. En instansieraravkodare ERDI (figur 14) undersöker resultatet fran ERDP med avseende pa huruvida villkoret i någon instansieringsregel är uppfyllt. Tabell 6 sammanfattar villkoren. Om sa är fallet pekas regeln ut. En kedja av eller- grindar tillser att högst en utpekning sker. En eller-grind avgör huruvida nagon instansieringsregel är utpekad. En terminalavkodare ERDT (figur 15) undersöker på liknande sätt resultatet fran EDRP med avseende pa huruvida villkorsdelen i nagon terminalregel är uppfylld. Tabell 7 sammanfattar villkoren. Om sa är fallet pekas reglen ut. En eller-grind avgör huruvida nagon terminalregel är utpekad. Slutsatsdelen ERE (figur 16) bestämmer med ledning av den i ERDI utpekade regeln pa vilket sätt instansiering skall ske. Slutsatserna sammanfat- tas i tabell 6. Resultatet är en utpekning av ett av orden 0, l eller 2 som den variabel som skall instansieras, samt en utpekning av orden 0, 1, 2 eller konstanten 0 som värde för instansieringen jämte en anvisning om negation.
Denna utpekning styr ut väljarna ERDS, ERVS somväljer utpekade ord och eventuellt negerar värdet. Om den utpekade variabeln är , det utpekade värdet är , och anvisning om negation betecknas N, sa blir föremålet för instansiering ekvivalensklassen EQCD och det för instansie- ring anvisade värdet . Det senare astadkoms med tva negeringselement som negerar det utpekade värdet. Vippan ETF sätts till 0 vid generering. Om terminal upptäcks sa sätts ETF till 1 och signalen 'eval term' sänds till sekvensenheten”. Om nagon applicerbar instansieringsregel upptäcks sa 10 15 20 25 467 076 25 sätts vippan EIF till l varefter evalueringens instansieringsmoment påbörjas.
Om alla tripplar i EM genomsöks utan att nagon applicerbar instansieringsregel påträffas så leder carry-signalen frän EAC till att signalen 'eval ready' sänds till sekvensenheten.
Under evalueringens instansieringsmoment sker instansiering i enlighet med resultatet fran ER. lnstansieringen tillgar pa tidigare beskrivet sätt. När denna är klar sätts vippan EIF till 0 och sökmomentet upprepas fran början. Ägg! Vïtg Slutsats å X š 2321 Ilš šzš På Mä .Ylfl Il 0 V Y C l I2 0 V Z C 0 I3 V 0 X C 0 14 l V Z C l IS l V 0 Y C 0 I6 V l X C l I7 V X ' C 1 I8a V 1 ”i = X Z 0 IBb l V "1 = Z X 0 I9a V 0 '1 fi X Y l I9b V Û '1 f: Y X l 110 V = X C l Ill i V = X C 1 Il2 V ,~'= X C 1 V: icke-konstant C: konstant =: lika i: negerat lika Tabell 6: Villkor och slutsatser i instansieringsregler. 467 076, 28 -Igggismßfivlsgnz FQ" R sArsLgglk; BETEQKNINQAR Beteckning Funktion A Analysator AACO-- Räknarkedja för utpekning av adresser till variabler AAC1 AAlF Vippa för markering av att någon instansiering skett AAS Väljare för val av räknare AACO-AACI AIF Vippa för delmoment instansiering ASC Räknare för AAS E Evaluerare EAC Räknare för intem adressering av EM EAS Väljare för adress till EM EC Analysdel ECR Register för fördröjning av data till EC EDR Register för destination från ER EDS Väljare för destination till EI EI Instansieringsdel EIF Vippa för delmoment instansiering EM Matrisminne EMX Minne för ord 0 EMY Minne för ord 1 EMZ Minne för ord 2 ENS Vâljare för räknarinställning av EAC ER Regeldel ERDI Instansieraravkodare ERDP Föravkodare ERDS Väljare för destination från ER ERDT Terrninalavkodare ERE Slutsatsdel ERVS Väljare för värde från ER EVGS Väljare för värde enligt generator EVN Negeringselement för värde till EM EVR Register för värde från ER i EVS1 Väljare 1 för värde till EM EVS2 Väljare 2 för värde till EM EWS Väljare för skrivsignaler mot EM 10 15 20 467 076 27 sänts ut indikeras med signalen 'A:strobe' som genereras av carry-signalen fran ASCL. Carry-signalen medför även att räknarkedjan AACO, AACl stegas.
Resultatet av jämförelserna i evaluerarna och permanentenheten mottas pa 'A:equal' och 'A:nequal'. Om nagon av dessa är aktiva sätts AIF till 1 varefter instansiering vidtar i permanentenheten. Även AAIF sätts till 1 vilket ger upphov till signalen 'any inst' till sekvensenheten. Om varken 'A:equal' eller 'A:nequal' är aktiva sa upprepas proceduren för nästa par.
Under instansiering förhåller sig analysenheten passiv. När signalen 'perm ready' mottas fran permanentenheten sätts AIF till Û Varpa proceduren för jämförelse fortsätter som ovan.
När alla par har undersökts erhålls carry-signal fran räknarkedjan AACO, AACl. _ Därmed avslutas analysen och signalen 'anal ready' sänds till sekvensenheten.
Metoden och anordningen kan praktiskt utnyttjas vid exempelvis kontroll av om ett elsystem konstruktionsmässigt stämmer mot specifikationen för systemet.
Systemlösningen kan beskrivas i formler som därefter jämförs med formler för specifikationen varvid kan konstateras om systemet fungerar i överensstämmel- se med specifikationen. Att över huvudtaget översätta en specifikation till formler är känt sedan lang tid tillbaka, se exempelvis "Symbolic analysis of relay and switching circuits" Trans. Amer. Inst. Elect. Eng. Volym 57 sid. 713- 723 1938, Shannon, men nämns för att underlätta förståelsen för metoden och anordningen enligt uppfinningen.
I sadana tillämpningar där behov finns av en s k motmodell, i de fall formeln inte är tautolog, kan metoden dessutom användas i ett sk "back-tracking" förfarande, exempelvis vid satisfierbarhetskontroll. 467 076, 28 - EMBEVI REFH: AT L IK- Bim; KNIN AR Beteckning Funktion A Analysator AACO-- Räknarkedja för utpekning av adresser till variabler AAC1 AAlF Vippa för markering av att någon instansiering skett AAS Väljare för val av räknare AACO-AACI AIF Vippa för delmoment instansiering ASC Räknare för AAS E Evaluerare EAC Räknare för intem adressering av EM EAS Väljare för adress till EM EC Analysdel ECR Register för fördröjning av data till EC EDR Register för destination från ER EDS Väljare för destination till EI EI Instansieringsdel EIF Vippa för delmoment instansiering EM Matrisminne EMX Minne för ord 0 EMY Minne för ord 1 EMZ Minne för ord 2 ENS Väljare för räknarinställning av EAC ER Regeldel ERDI Instansieraravkodare ERDP Föravkodare ERDS Väljare för destination från ER ERDT Terrninalavkodare ERE Slutsatsdel ERVS Väljare för värde från ER EVGS Väljare för värde enligt generator EVN Negeringselement för värde till EM EVR Register för värde från ER EVS1 Väljare 1 för värde till EM EVSZ Väljare 2 för värde till EM EWS Väljare för skrivsignaler mot EM GDCO- GDC(T-1 ) GDS GMF GSC PAC PAS PC PCR PCX PDR PDS PIF1 PIF2 PM PMX PMY PMZ PVN PVR PVS PWS SC SD S S STF SNRO SN RI SNRZ 467 D76 29 Generator Räknarkedja för destinationer Väljare för val av räknare GDCO-GDGT-l) Vippa för markering av kvarstående tester Räknare för GDS Permanentenhet Räknare för intern adressering av PM Väljare för adress till PM Analysdel Register för fördröjning av data till PC Korskopplare mellan destination och värde Register för destination från PC Väljare för destination till PI Instansieringsdel Vippa 1 för delmoment instansiering Vippa 2 för delmoment instansiering Matrisminne Minne för ord 0 Minne för ord 1 Minne för ord 2 Negeringselement för värde till EM Register för värde från PC Väljare för värde till PM Väljare för skrivsignaler mot PM Sekvensenhet Räknare för moment Avkodare för moment Väljare för stegning av SC Vippa för markering av sann formel Register för antal tripplar Register för antal tripplar plus atomer Register för antal tripplar plus atomer plus 1

Claims (7)

467 076 1D 30 PATENTKRAV
1. Sätt för att vid sk tautologicheckning(kontroll) i en teorembevisnings- anordning i exempelvis ett kommunikationssystem avgöra om alla möjliga tilldelningar av sanningsvärden 0 och l till variabler i en boolesk formel gör formeln sann, k ä n n e te c k n a d därav att den formel (F) som skall undersökas omvandlas till ett antal tripplar (tl-tn), varefter undersöks om någon av nämnda tripplar är en terminal eller ej varvid kontroll av tripplarna görs mot antingen förutbestämda enkla ínstansierings- regler eller genom testinstansiering av värden (talvärden) l eller 0, varvid om nagon av nämnda tripplar är en terminal, formeln (F) bevisligen är tautolog.
2. Sätt enligt patentkrav l, k ä n n e t e c k n a t därav att nämnda tripplar representerar delformler av ursprungsformeln.
3. Sätt enligt patentkrav 1 k ä n n e t e c k n a t därav att uppdelningen i deluttryck möjliggör beräkning av ursprungsformelns sanningshalt utan analys av samtliga kombinationer av sanningsvärden hos ursprungsformelns variabler.
4. Sätt enligt patentkrav 1 k ä n n e t e c k n a t därav att instansiering även är möjlig variabel till variabel.
5. Anordning för utförande av sättet enligt patentkrav l, för att vid sk tautologicheckning i en teorembevisningsanordning i exempelvis ett kommuni- kationssystem avgöra om alla möjliga tilldelningar av sanningsvärden Û och l till variabler i en boolesk formel gör formeln sann, k ä n n e t e c k n a d därav att en teoremsbevisningsanordning (TB) innefattar en sekvensenhet (5) som på grundval av information från övriga anslutna enheter avgör vilket moment i en serie moment som skall utföras, en via kommunikationsbussar till sekvensen- heten ansluten generator (G) för generering av sekvenser av ordnade variabler (tripplar), en permanentenhet (P) innefattande ett minnesorgan för att på varje minnesadress lagra ord motsvarande variablerna i en trippel, varje kombination av konstanta värden till vilka en tuppel av testvariabler kan instansieras behandlas i en beräkningsenhet, evaluerare (E) varvid varje evaluerare inne- håller ett minnesorgan av motsvarande slag som i permanentenheten, 15 467 076 31 en analysator (A) genererar alla par av variabler för utvärdering av beräkningar varvid adresser sänds till alla evaluerare och till permanentenheten via en buss (AB), varefter analys av paret utförs i nämnda evaluerare och permanentenhet och att resultatet av analysen meddelas nämnda analysator.
6. Anordning enligt patentkrav 5 k ä n n e t e c k n a t därav att nämnda permanentenhet (P) förutom minnesorgan även innefattar en instansieringsdel och en analysdel.
7. Anordning enligt patentkrav 5 k ä n n e t e c k n a t därav att nämnda evaluerare (E) förutom minnesorgan även innefattar en instansieringsdel, en regeldel och en analysdel.
SE8902191A 1989-06-16 1989-06-16 Saett och anordning foer teorembevisning SE467076B (sv)

Priority Applications (6)

Application Number Priority Date Filing Date Title
SE8902191A SE467076B (sv) 1989-06-16 1989-06-16 Saett och anordning foer teorembevisning
EP90850184A EP0403454B1 (en) 1989-06-16 1990-05-17 Method and apparatus for checking propositional logic theorems in system analysis
DE69020438T DE69020438T2 (de) 1989-06-16 1990-05-17 Verfahren und Vorrichtung zum Prüfen von Aussagelogiktheoremen in der Systemanalyse.
CA002018828A CA2018828C (en) 1989-06-16 1990-06-12 Determining propositional logic theorems by applying values and rules to triplets that are generated from a boolean formula
US07/537,937 US5276897A (en) 1989-06-16 1990-06-14 System for determining propositional logic theorems by applying values and rules to triplets that are generated from boolean formula
JP2157416A JP3046611B2 (ja) 1989-06-16 1990-06-15 トートロジーチェック装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
SE8902191A SE467076B (sv) 1989-06-16 1989-06-16 Saett och anordning foer teorembevisning

Publications (3)

Publication Number Publication Date
SE8902191D0 SE8902191D0 (sv) 1989-06-16
SE8902191L SE8902191L (sv) 1990-12-17
SE467076B true SE467076B (sv) 1992-05-18

Family

ID=20376307

Family Applications (1)

Application Number Title Priority Date Filing Date
SE8902191A SE467076B (sv) 1989-06-16 1989-06-16 Saett och anordning foer teorembevisning

Country Status (6)

Country Link
US (1) US5276897A (sv)
EP (1) EP0403454B1 (sv)
JP (1) JP3046611B2 (sv)
CA (1) CA2018828C (sv)
DE (1) DE69020438T2 (sv)
SE (1) SE467076B (sv)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5680518A (en) * 1994-08-26 1997-10-21 Hangartner; Ricky D. Probabilistic computing methods and apparatus
US5974462A (en) * 1997-03-28 1999-10-26 International Business Machines Corporation Method and apparatus for controlling the number of servers in a client/server system
US7216306B1 (en) 1999-03-24 2007-05-08 Zhe Li Checkpoint restart method using condensed partial results by determining boolean constant subsets
US6415430B1 (en) 1999-07-01 2002-07-02 Nec Usa, Inc. Method and apparatus for SAT solver architecture with very low synthesis and layout overhead
US7073143B1 (en) 2000-11-06 2006-07-04 Cadence Design Systems, Inc. Solving constraint satisfiability problem for circuit designs
US6618841B1 (en) 2000-11-06 2003-09-09 Verplex Systems, Inc. Non-assignable signal support during formal verification of circuit designs
US7653520B2 (en) * 2002-07-19 2010-01-26 Sri International Method for combining decision procedures with satisfiability solvers
US7120569B2 (en) * 2003-05-19 2006-10-10 Javier Armando Arroyo-Figueroa Sequential machine for solving boolean satisfiability (SAT) problems in linear time
US8001072B2 (en) * 2008-06-19 2011-08-16 Microsoft Corporation Determining satisfiability of a function with arbitrary domain constraints
US9685959B2 (en) 2014-09-12 2017-06-20 Ecole Polytechnique Federale De Lausanne (Epfl) Method for speeding up boolean satisfiability

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3043563A1 (de) * 1980-11-15 1982-06-24 Licentia Patent-Verwaltungs-Gmbh, 6000 Frankfurt Verfahren zur auswertung boolescher ausdruecke
US4504236A (en) * 1981-06-11 1985-03-12 Shea Zellweger Devices for displaying or performing operations in a two-valued system
US4698751A (en) * 1984-07-13 1987-10-06 Ford Aerospace & Communications Corporation Systolic array for solving cyclic loop dependent algorithms
US4722071A (en) * 1985-04-19 1988-01-26 Pertron Controls, Corporation Compiler for evaluating Boolean expressions
JPS63229857A (ja) * 1987-03-19 1988-09-26 Sanyo Electric Co Ltd 静電破壊保護回路
DE3807813A1 (de) * 1988-03-10 1989-09-21 Thomae Gmbh Dr K Neue benzocycloheptenderivate, diese verbindungen enthaltende arzneimittel und verfahren zu deren herstellung
JPH01231166A (ja) * 1988-03-11 1989-09-14 Fujitsu Ltd 日本語文章処理方式

Also Published As

Publication number Publication date
EP0403454A1 (en) 1990-12-19
DE69020438D1 (de) 1995-08-03
CA2018828C (en) 1998-05-05
DE69020438T2 (de) 1995-12-14
JP3046611B2 (ja) 2000-05-29
JPH0329034A (ja) 1991-02-07
EP0403454B1 (en) 1995-06-28
US5276897A (en) 1994-01-04
SE8902191D0 (sv) 1989-06-16
CA2018828A1 (en) 1990-12-16
SE8902191L (sv) 1990-12-17

Similar Documents

Publication Publication Date Title
JP4379106B2 (ja) 車両用蓄電装置の内部状態検出システム
Abraham et al. An algorithm for the accurate reliability evaluation of triple modular redundancy networks
Cao Basic ideas for event-based optimization of Markov systems
SE467076B (sv) Saett och anordning foer teorembevisning
CN108197014A (zh) 故障诊断方法、装置及计算机设备
CN110857035B (zh) 确定充电剩余时间的方法、装置和电动车辆
WO2018011993A1 (ja) シミュレーション方法及びシミュレーション装置
Hillston et al. A simple time scale decomposition technique for stochastic process algebras
US6424958B1 (en) Coding and storing method for fuzzy logic rules and circuit architecture for processing such rules
US5901155A (en) System and method for testing the operation of registers in electronic digital systems
SE465393B (sv) Adressprocessor foer en signalprocessor
Böhm et al. QCDCL with cube learning or pure literal elimination-what is best?
US11876389B2 (en) Electrical accumulator battery
JP2021124420A (ja) バッテリ劣化判定装置、バッテリ劣化判定方法、及びバッテリ劣化判定プログラム
KR20210004342A (ko) 뉴로모픽 장치
Nakano et al. Graph representation and diagnosis for multiunit faults
US20130151773A1 (en) Determining availability of data elements in a storage system
CN117669449B (zh) 灭磁电路确定方法、装置、计算机设备和存储介质
Shewchuk et al. Toward learning time-varying functions with high input dimensionality
CN115840131A (zh) 一种非对称桥接故障的测试方法
CN117011644A (zh) 一种传动轴故障诊断方法、装置、***、设备及介质
DE102021109931A1 (de) Steuerungsvorrichtung für eine Leistungsversorgungsschaltung, Leistungsversorgungsschaltungsteuerungsprogramm und Verfahren zur Steuerung einer Leistungsversorgungsschaltung
Fernández-Baca et al. Linear-time algorithms for parametric minimum spanning tree problems on planar graphs
CN115840181A (zh) 充电桩高压采样校准电路、方法及电子设备
CN117908506A (zh) 车载控制器的功能测试方法、装置、设备和存储介质

Legal Events

Date Code Title Description
NAL Patent in force

Ref document number: 8902191-9

Format of ref document f/p: F

NUG Patent has lapsed