NL8703110A - Werkwijze en inrichting voor het verifieren van een wiskundig bewijs. - Google Patents

Werkwijze en inrichting voor het verifieren van een wiskundig bewijs. Download PDF

Info

Publication number
NL8703110A
NL8703110A NL8703110A NL8703110A NL8703110A NL 8703110 A NL8703110 A NL 8703110A NL 8703110 A NL8703110 A NL 8703110A NL 8703110 A NL8703110 A NL 8703110A NL 8703110 A NL8703110 A NL 8703110A
Authority
NL
Netherlands
Prior art keywords
series
verification
sub
line
lines
Prior art date
Application number
NL8703110A
Other languages
English (en)
Original Assignee
Philips Nv
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 Philips Nv filed Critical Philips Nv
Priority to NL8703110A priority Critical patent/NL8703110A/nl
Priority to US07/283,687 priority patent/US5032988A/en
Priority to EP88202949A priority patent/EP0322064A1/en
Priority to JP63321843A priority patent/JPH01201772A/ja
Publication of NL8703110A publication Critical patent/NL8703110A/nl

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/45Exploiting coarse grain parallelism in compilation, i.e. parallelism between groups of instructions

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Complex Calculations (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

A
PHN 12.365 1 N.V. Philips' Gloeilampenfabrieken te Eindhoven.
Werkwijze en inrichting voor het verifiëren van een wiskundig bewijs.
ACHTERGROND VAN DE UITVINDING
De uitvinding betreft een werkwijze voor het verifiëren van een wiskundig bewijs dat wordt uitgedrukt in een getypeerde hogere orde taal. Het feit dat een taal een getypeerde hogere orde taal is 5 betekent dat er getypeerde tenen zijn en dat zogenoemde hogere orde konstrukties gebruikt worden. De taal wordt gekozen omdat hij beter aansluit bij de normale wiskundige formuleringen dan de zogenoemde eerste orde talen. Laatstgenoemde worden weliswaar wegens hun eenvoudige struktuur meer gebruikt maar hebben door beperkingen aan de te gebruiken 10 konstrukties minder uitdrukkingskracht. Een voorbeeld van zo'n getypeerde hogere orde taal en het gebruik ervan is beschreven in L.S. van Benthem Jutting, Checking Landau's "Grundlagen" in the Automath System, Mathematical Centre Tracts Vol. £3, Amsterdam, 1979. Een getypeerde hogere orde taal is een logische taal die is opgebouwd uit 15 termen, waarbij soorten van termen zijn: types, expressies, "gewone" termen, bewijzen, proposities, afkortingen, dat zijn namen voor respektievelijke andere termen, terwijl er een variatie in soorten termen is toegestaan. De vorm van een term, kan bijvoorbeeld zijn een constante, een variabele, of een funktie. De termen worden verbonden 20 door konstruktoren die relaties tussen termen aangeven. Konstruktoren kunnen aangeven arithmetische operaties, logische operaties, implikaties, en verdere. Zo'n taal kan gebruikt worden voor het formuleren van een wiskundig bewijs, waarbij onderdelen van het bewijs elk voorzien worden van een naam, en op hiërarchische wijze deel 25 uitmaken van onderdelen van telkens hogere orde totdat een naamgeving van hoogste orde wordt geêffektueerd. Zo'n bewijs is dan geformuleerd in een reeks van lijnen, waarbij elke lijn in de reeks hiërarchisch niet-lager is dan alle voorgaande lijnen in de reeks. Dit betekent: de latere lijn is ofwel hoger in de hiërarchie, ofwel er is 30 geen relatie tussen de twee lijnen.
De werkwijze voor het verifiëren van een wiskundig bewijs, dat bestaat uit een aantal deelbewijzen vereist, dat bij het .8703110 t * PHN 12.365 2 achtereenvolgens uitgeven van de afkortingen of lijnen aan de volgende eisen is voldaan: 1. Er moet een serie van verifikaties op de -lijnen- worden uitgevoerd; 2. Elke -lijn- wordt beïnvloed door een omgeving waarin nul of meer 5 andere -lijnen- aanwezig zijn die eerder in de reeks staan en daardoor een hiërarchisch lager niveau hebben; 3. Het resultaat van de verifikatie van een -lijn- wordt bepaald door alle lijnen in de omgeving; het is niet nodig dat al deze omgevingslijnen ook een materiële bijdrage aan dat bepalen leveren; 10 4. Als alle -lijnen- in die omgeving korrekt zijn kan de verifikatie van de desbetreffende lijn in een eindig aantal stappen worden uitgevoerd en als antwoord -goed- of -fout leveren. De daarvoor benodigde tijd is ook eindig en afhankelijk van de verwerkingssnelheid.
5. Als er echter één of meer -lijnen- in die omgeving niet korrekt 15 zijn, is er nog een derde uitkomst mogelijk doordat het aantal benodigde stappen oneindig groot wordt, met name doordat het verifikatieproces in een oneindig roulerende lus terecht kan komen. Het verifiëren van het bewijs in de volgorde der lijnen geeft dus steeds een korrekt antwoord in een eindige tijd, maar door het grote aantal benodigde stappen is 20 deze tijd soms exorbitant lang.
SAMENVATTING VAN DE UITVINDING
Het is een doelstelling van de uitvinding om te verschaffen een werkwijze voor het versnellen van de verifikatie van een 25 in zo'n taal geformuleerd wiskundig bewijs, terwijl enerzijds de detektie van een fout zeker naar buiten gesignaleerd wordt, zonder dat de werkwijze oneindig lang zou kunnen duren, en terwijl anderzijds de complexiteit beperkt blijft. De uitvinding realiseert de doelstelling doordat hij realiseert een werkwijze voor het verifiëren van een 30 wiskundig bewijs, dat wordt uitgedrukt in een getypeerde hogere ordetaal doordat het bewijs geformuleerd is in een eerste reeks van lijnen, waarbij elke lijn in de reeks hiërarchisch niet lager is dan enige voorgaande lijn in de reeks, welke werkwijze de volgende stappen omvat: - in een verdeelproces worden uit de eerste reeks lijnen opvolgende 35 deelreeksen van lijnen gevormd; - door het verdeelproces wordt telkens een volgende deelreeks aan een beschikbaar verifikatieproces van een tweede reeks verifikatieprocessen .8703110 « * PHN 12.365 3 geassigneerd ter verifikatie, waarbij een verifikatieproces naast een daaraan geassigneerde deelreeks ook alle voorafgaande deelreeksen ontvangt, on uit die voorafgaande deelreeksen de typendefinitie der in de geassigneerde deelreeks voorkomende namen te abstraheren; 5 - door de reeks verifikatieprocessen worden de verifikaties uitgevoerd, waarbij een positieve verifikatie een -klaar- signaal oplevert, een negatieve verifikatie een -fout- signaal oplevert, en een onafgebroken verifikatie noch een -klaar- signaal, noch een -fout- signaal oplevert; - door het verdeelproces wordt bij ontvangst van een foutsignaal aan 10 alle verifikatieprocessen een stopsignaal toegevoerd, doch bij ontvangst van een voldoend aantal -klaar- signalen aan een gebruiker een -korrekt-signaal. Het assigneren der deelreeksen in volgorde aan de verifikatieprocessen moet zó gebeuren dat als er géén verifikatieproces beschikbaar is - ze zijn dan dus alle bezig - een 15 aaneengesloten volgorde van deelreeksen in bewerking is: er is dus niet een deelreeks overgeslagen. Als aan deze voorwaarde voldaan is behoeft niet strikt de hand gehouden te worden aan de assignatievolgorde op het niveau van de deelreeks, maar wel op het niveau van de reeks verifikatieprocessen.
20 De uitvinding betreft mede een multiprocessorinrichting voor het uitvoeren van de werkwijze.
Verdere aspekten zijn gereciteerd in de onderconclusies.
KORTE BESCHRIJVING VAN DE FIGUREN EN TABELLEN 25 De uitvinding wordt nader beschreven aan de hand van enkele figuren: figuur 1 geeft een verdelingsschema van een inrichting volgens de uitvinding; figuur 2 geeft een schema van de kommunikatie tussen 30 enkele processen.
Tabel A geeft de werking van een verdelingsproces;
Tabel B geeft twee kommunikatieoperaties van een verdelingsproces;
Tabel C geeft de werking van een verifikatieproces.
35 De beschrijving geeft eerst enige uitleg van het Automath systeem, en daarna een implementatie op een boomstruktuur van stations.
.8703110
V
PHN 12.365 4
BESCHRIJVING VAN HET AOTOMATH SYSTEEM
Hierna wordt enige uitleg geven van het Automath systeem. De uitvinding kan ook gebruikt worden in een omgeving van andere talen die aan dezelfde vereisten voldoen, zoals het -Nuprl-5 systeem (R.L. Constable et al, Implementing mathematics with the Nuprl proof development System, Englewood Cliffs, 1986). Een text in de taal Automath bestaat uit een aantal lijnen; elk van de vorm:
C*N := a:T
Daarin is C een verzameling van termen, die dus eventueel 10 leeg is: dit is de verzameling van variabelen en vooronderstellingen, waaronder die welke aangeeft dat het type van a: type (a)=T. De elementen van C zijn parameters van N. Als daarna N gebruikt moet worden dienen deze parameters te worden ingevuld. De ster scheidt de aannames van de rest van de lijn.
15 Verder is N een naam of afkorting voor de complexere term a, terwijl elke lijn een nieuwe naam N introduceert: N kan daarin worden opgevat als een standaardbewijs van een axioma T, een konstante van het type T, of een konstruktor om andere termen te maken. Het gebruik van N als konstruktor maakt het mogelijk om een willekeurige konstruktor te 20 definiëren.
De aanduiding a kan respresenteren een term, een type, een propositie of een bewijs van een stelling. Als a er is, kan daarvoor de afkorting N gebruikt worden. Het is mogelijk om lijnen zonder a te gebruiken, bijvoorbeeld als introduktie van axioma's, konstanten of 25 variabelen. Een lijn kan daarmee allerlei informatie gebruiken die in eerdere lijnen is gedefinieerd. Het beschreven mechanisme werkt als een compakte uitdrukkingsmogelijkheid voor a en T. Een lijn in de taal Automath kan daarmee worden opgevat als een tableaulijn: de kontext C is een reeks aanamen; de aanduiding a is een term of een bewijs, de 30 aanduiding T representeert het type van a of de propositie waarvan a het bewijs vormt. De lijn is korrekt als inderdaad het type van a gelijk is aan T. Op zichzelf zijn tableaulijnen beschreven in het artikel Z. Manna en R. Waldinger, A deductive approach to Program Synthesis, ACM Trans, on Programming Languages and Systems, Vol. 2, (1980) pagina's 90-92.
35 De omgeving van een lijn is opgebouwd uit alle eerdere lijnen uit welke enige afkorting is gebruikt, tesamen met de omgevingen van deze eerdere lijnen. De omgeving van de eerste lijn is leeg. De .8783110 PHN 12.365 5 tekst, respektievelijk het bewijs is korrekt als iedere lijn korrekt is aet betrekking tot zijn omgeving. Een lijn L is korrekt als de term a die in L wordt gedefinieerd een type heeft gelijk aan T. Om een positief verifikatieresultaat te bekomen, aoeten alle lijnen in de omgeving zelf 5 korrekt zijn. Een korrekte tekst in zo een getypeerde hogere orde taal representeert daaraee een bewijs; het verifiëren van dit bewijs wordt uitgevoerd als een serie kontroles op de juistheid van een type.
Het Autoaath systeem verifieert in de taal Automath geschreven bewijzen (en analoog voor andere aan de gereleveerde eisen 10 voldoende talen). Het verifiëren van een lijn gebeurt door het herformuleren van onderdelen van de lijn totdat de conclusie of onderdeel a al dan niet het type T bezit direkt gemaakt kan worden. Het herformuleren kan eventueel een aantal malen achtereen gebeuren. Het herformuleren gebeurt door telkens een afkorting te vervangen door een 15 meestal uitgebreidere representatie waarvan de onderdelen eenvoudiger van struktuur zijn en de verkregen expressie tot een normaal- of standaardvorm te transformeren. Een term is getypeerd als aan twee voorwaarden is voldaan: - de term moet korrekt gevormd zijn: alle konstruktoren hebben 20 voldoende, bekende argumenten; variabelen moeten écht variabelen zijn; - alle in de konstruktie van de term gebruikte afkortingen zijn zelf getypeerd.
Daarom bestaat een verifikatie op typering in de eerste plaats in een 25 kontrole op het korrekt gevormd zijn, en vervolgens een herschrijven.
Als echter ergens in de tekst een term a een afkorting gebruikt van een niet getypeerde term kan het herschrijven van a een onbegrensde hoeveelheid bewerkingen vergen, en dus een onbepaalde tijd duren. Een elementair voorbeeld is het volgende: 30 stel dat in een begindeel van een Automath-tekst de lijn voorkomt: 0*(a) := g(a) : type; daarin is 0 een lege verzameling, -g- een funktie, en de puntkomma maakt geen deel uit van de eigenlijke Automath-tekst. Bovendien is deze 35 lijn fout. Deze fout wordt dus by sewkentiële verifikatie van de tekst geverifieerd en brengt als zodanig de verifikatie tot stilstand. Bij gedistribueerde verifikatie wordt deze lijn in een ander proces .8703110 * PHN 12.365 6 geverifieerd dan verdere lijnen van de tekst, die bijvoorbeeld luiden: type (f) = g(a)->b; de funktieruimte met originelen in a wordt afgebeeld in b; type (c) = a; 5 te bewijzen: type f(c) = b; dan zou in feite bewezen moeten worden type (c) = g(a).
Net behulp van de kennis van de eerstgenoemde lijn zou deze laatste een onbegrensd aantal malen geëxpandeerd kunnen worden, zonder dat óf 10 een korrekte verifikatie, ofwel een duidelijke fout zou ontstaan: type (c) = g(a); type (c) = g(g(a)); enzovoorts.
Nu is het weliswaar mogelijk om deze laatste expansie te blokkeren, maar in een gekompliceerdere omgeving is het foutvrij maken van zo'n 15 blokkade vaak ondoenlijk.
BESCHRIJVING VAN EEN VOORKEURSINRICHTING
Figuur 1 geeft een verdelingsschema van een voorkeursinrichting volgens de uitvinding. Deze inrichting is opgebouwd 20 als een hiërarchisch georganiseerd multiprocessorsysteem dat bevat de deelprocessoren 20, 22, 24, 26, 28, 30, 32. De eerstgenoemde drie deelprocessoren vormen tezamen een verdeelprocessor. De laatste vier deelprocessoren verifikatieprocessoren. Het aantal verifikatieprocessoren en ook de breedte en diepte van de boom 25 verdeelprocessoren zijn op zichzelf willekeurig. De te verifiëren tekst in de taal Automath wordt ontvangen op verbinding 34.
Deelprocessor 22 emuleert ten opzichte van deelprocessor 20 een verifikatieprocessor. Dit zelfde geldt voor alle hiërarchische lager geordineerde deelprocessoren, telkens ten opzichte van één 30 deelprocessor op een naast hogere hiërarchisch niveau.
Deelprocessor 22 emuleert ten opzichte van deelprocessoren 26, 28 een verdeelprocessor. Dit zelfde geldt voor alle hiërarchisch hoger geordineerde deelprocessoren ten opzichte van een niet lege verzameling van deelprocessoren op een naast lager hiërarchisch niveau (indien dit 35 laatste aanwezig is). Op zichzelf is het mogelijk dat een deelprocessor zelf in multiproces-operatie werkzaam kan zijn, bijvoorbeeld met behulp van tijdmultiplexorganisatie. In figuur 1 wordt elk proces dan door een .8703110 4 PHN 12.365 7 eigen blok gerepresenteerd: het is dus a priori mogelijk dat een bepaalde processor zowel een verdeelproces als een verifikatieproces herbergt. Eén en ander verhindert de bereikbare verwerkingssnelheid ten opzichte van een systeem met (nog) meer deelprocessoren.
5 Als deelprocessor 20 de tekst ontvangen heeft worden hieruit opeenvolgende deelreeksen van lijnen afgezonderd. Een eerste deelreeks wordt nu bijvoorbeeld toegevoerd aan deelprocessor 22. Een tweede deelreeks wordt toegevoerd aan deelprocessor 24, tezamen met alle voorgaande deelreeksen, in dit geval dus alleen de eerste deelreeks. Het 10 is mogelijk dat er geen verdere deelreeksen meer over zijn, het is ook mogelijk dat er wel een verdere deelreeks over is. De deelprocessoren 22, 24 hebben nu als taak te zorgen voor de verifikatie van de eerste deelreeks, respektievelijk de verifikatie van de tweede deelreeks.
Aangezien ze niet op het laagste hiërarchisch niveau zijn geordineerd 15 handelen ze op dezelfde manier als deelprocessor 20. Ze vormen dus deelreeksen van tweede orde om deze aan de deelprocessoren 26, 28, 30, 32 toe te voeren. Deze laatste ontvangen dan dus elk een eigen deelreeks van tweede orde, tezamen met alle voorgaande deelreeksen van tweede orde of eerste orde. Verder zijn deze vier deelprocessors wèl op het 20 laagste hiërarchisch niveau geordineerd zodat ze de eigenlijke verifikatie uitvoeren. Als een verifikatie van een deelreeks is voltooid wordt dit gesignaleerd naar het naast hogere niveau; impliciet wordt daarmee om toezending van een volgende deelreeks verzocht, inclusief verdere, niet te verifiëren, maar in de tekst eerder voorkomende 25 deelreeksen. Dit signaleren gaat door tot op hogere hiërarchische niveau's tot er een nadere deelreeks beschikbaar is: deze wordt dan aan de verzoekende deelprocessor toegevoerd, of tot er op het hoogste hiërarchische niveau geen nadere deelreeks beschikbaar is: dan is de verifikatie althans gedeeltelijk gereed. Als laatstgenoemd verzoek nu 30 door alle deelprocessoren van het op één na hoogste niveau is gedaan zonder dat er nog enige nadere deelreeks beschikbaar was, is de verifikatie geheel gereed, en met succes afgesloten. Dit wordt dan aan een gebruiker gemeld.
Als er bij enige verifikatie een fout wordt gedetekteerd, 35 wordt dit via de hiërarchische struktuur aan alle andere deelprocessoren gemeld alsmede aan de gebruiker, en daarmee is de verifikatie beëindigd.
.8703110 PHN 12.365 8
In dit verband geeft figuur 2 een voorbeeld schema van kommunikatie tussen een vaderproces 40 en drie zoonprocessen 42, 44, 46; in dit verband kunnen proces en processor als identiek beschouwd worden; de verschillen treden pas op een lager niveau van het 5 kommunikatieprotokol op.
Tussen de niet getekende gebruiker en de deelprocessor van hoogste hiërarchisch niveau 40 komen drie berichten voor: - series of lines: de gebruiker stuurt een verifikatie verzoek ten aanzien van een bijgeleverde reeks lijnen; 10 - error: het verifikatieresultaat is negatief eventueel met als parameter de eerste lijn waar een fout werd gevonden; - o.k.: het verifikatie resultaat is positief.
Tussen een verder willekeurig paar deelprocessoren op twee direkt opvolgende hiërarchische niveau's komen de volgende 15 berichten voor: a. uitgezonden door de hoogste deelprocessor: - receive lines, dat is een bericht dat een nadere deelreeks lijnen bevat, en, voor zover nodig, eerdere deelreeksen lijnen van de Automath tekst; 20 - stop, dat is een bericht dat aangeeft dat geen nadere deelreeksen lijnen te verwachten zijn, zodat wat betreft de ontvangende deelprocessor, en ook eventuele, daaraan gesubordineerde deelprocessoren geen nieuwe verifikatie gestart hoeft te worden; dit betekent niet dat laatstgenoemde deelprocessoren gestopt hoeven te zijn, en zeker niet, 25 dat daarmee de verifikatie gereed is; het is dus een bericht dat alleen relevantie heeft voor deelprocessoren die zelf al gereed waren; - error, dat een een bericht dat aangeeft dat er enige verifikatie operatie een negatief resultaat heeft gehad; dit laatste bericht betekent dat alle deelprocessoren, en daarvan 30 gesubordineerde deelprocessoren hun aktie kunnen beëindigen.
b. uitgezonden door de laagste deelprocessor: - get new lines, dat is een bericht dat een positief verifikatieresultaat representeert en voorts een verzoek tot het toevoeren van een nieuwe deelreeks van lijnen ter verifikatie, daarbij 35 ook eventueel noodzakelijke eerdere deelreeksen voor zover die nog niet waren doorgestuurd naar de desbetreffende deelprocessor; - error, dat is een bericht dat er in enige ten opzichte van de . 87031 1 0 PHN 12.365 9 betreffende verbinding subalterne deelprocessor een verifikatie een negatief resultaat heeft gehad; dit kan een van de afgebeelde deelprocessoren 42, 44, 46 zijn, naar ook een deelprocessor op een nog lager hiërarchisch niveau; het foutsignaal wordt dus zowel in opgaande 5 als in neergaande progressie gekommuniceerd; - finished, dat is een bericht dat werkt als een ontvangstbevestiging van het eerder gereleveerde -stop- bericht.
Er wordt op gewezen dat het beschreven berichtenstelsel één van de verschillende mogelijkheden is, dat verschillende 10 aspekten ervan toepasbaar zijn in elke multiproces-situatie, waarin taken in deeltaken verdeeld en de deeltaken naar lagere hiërarchische niveaufs gestuurd worden, en dat de onderhavige uitvinding geen betrekking heeft op een dergelijke berichtenstruktuur op zichzelf.
15 BESCHRIJVING VAN DE ACTIE VAN EEN DISTRIBUTIENODE
Tabel A geeft de aktie van een distributienode. De regels van de aktie zijn genummerd van 1 tot 30. Na het begin worden de variabelen gedeclareerd. Regel 2 definieert de verzameling van de te verifiëren lijnen. Regel 3 identificeert het vaderproces van de node, 20 voor het hoogst-niveau-proces identificeert dit de gebruiker. Regel 4 identificeert de (één of meer) zoonprocessen van de node, dit kunnen dus verdere distributienodes of anderzins verifikatienodes zijn (gemengd is ook mogelijk). De vadernode, indien aanwezig is altijd een distributienode. Regel 5 geeft een lopende variabele over de verzameling 25 der zonen. Regel 6 definieert een stop kriterium, met binaire waarde. Regel 7 geeft de ontvangst van de verzameling der te verifiëren lijnen, waarna de variabele S de juiste waarde krijgt. Regel 8 geeft dat elk van de zoonprocessen een deel reeks van de te verifiëren lijnen krijgt toebedeeld. In regel 9 wordt het stopkriterium onwaar gemaakt. In 30 regel 10 wordt een itererende procedure gestart, die pas wordt beëindigd als het stopkriterium waar is. Regel 11 geeft aan dat als van een vaderproces een foutsignaal ontvangen wordt, alle zoonprocessen een foutsignaal toegevoerd krijgen. Regel 12 geeft dat als van een van de zoonprocessen een foutsignaal ontvangen wordt het vaderproces èn 35 alle andere zoonprocessen een foutsignaal wordt toegevoerd. Op beide regels 11, 12 wordt het stopkriterium waar gemaakt. Regel 13 geeft: als van een zoonproces een verzoek om toevoer van verdere lijnen wordt .8703110 PHN 12.365 10 verzocht (dit betekent dat al dan niet definitief de verifikatie is afgelopen) dan wordt een volgende procedure uitgevoerd. Regel 14: als de nog niet ter verifikatie verstuurde verzameling leeg was (geworden) dan wordt op regel 15 aan het vaderproces een verzoek om toezending van 5 nadere lijnen gedaan. Als van de vader een foutmelding wordt ontvangen (regel 16) dan wordt aan alle zoonprocessen een foutmelding gestuurd en lokaal wordt het stopkriterium waar gemaakt. Regel 17: als van de vader een deelverzameling (verdere) lijnen wordt ontvangen, wordt dit de ' nieuwe te verifiëren verzameling lijnen en wordt een deelreeks van 10 deze verzameling (eventueel kan dit de gehele resterende verzameling betreffen), geassigneerd aan het zoonproces dat het verzoek van regel 13 had gestuurd. Als van het vaderproces (regel 18) een stopsignaal wordt ontvangen, wordt lokaal het stopkriterium waar gemaakt en doorgestuurd aan het zoonproces dat het verzoek van regel 13 had gestuurd. Zolang de 15 verzameling (nog) niet leeg is, wordt de assignering daarvan aan de zoonprocessen voortgezet. Regel 20 is de tegenhanger van regel 16; regel 21 is de tegenhanger van regel 13. Regel 22 is de tegenhanger van regel 10. Regel 23 geeft wat er gebeurt als de konditie van regel 10 niet meer geldt: het stopkriterium is waar geworden (regel 11, 12, 16, 18). Voor 20 alle zoonprocessen wordt dan de volgende operatie uitgevoerd. Regel 24: als van het vaderproces een foutsignaal wordt ontvangen dan wordt dit aan alle zoonprocessen toegevoerd. Regel 25: als van een zoonproces een foutsignaal wordt ontvangen, dan wordt dit aan het vaderproces en aan alle andere zoonprocessen toegevoerd. Als van een zoon een verzoek 25 ontvangen wordt om nadere lijnen (regel 26) dan wordt aan deze zoon een stopsignaal toegevoerd. Als van een zoon een -klaar- signaal wordt ontvangen, dan wordt de verzameling zoonprocessen met dit partikuliere zoonproces verminderd. Als alle zonen afgehandeld zijn (regel 28) wordt een -gereed-signaal aan het vaderproces toegevoerd (regel 29), en is de 30 uitvoering beëindigd (regel 20).
Tabel B geeft twee kommunikatie-operaties van een verdelingsproces. De eerste is de eigenlijke verdelingsprocedure van te verifiëren lijnen die in Tabel A op regels 8, 17 is gereleveerd. Eerst wordt een variabele S1 gedefinieerd, dat is een deelverzameling van de 35 verzameling van alle te verifiëren lijnen. Op regel 3 wordt deze variabele gedefinieerd als een niet lege deelverzameling bestaande uit een beginreeks van lijnen van de te verifiëren lijnen. Op regel 4 .8703110 PHN 12.365 11 wordt aan soon S een bericht uitgezonden dat de verzameling S1 representeert. Op regel 5 wordt een nieuwe hoofdverzameling, namelijk de resterende lijnen van de verzameling S, bijgewerkt. Regel 6 signaleert het eind van de procedure. Er wordt op gewezen dat de omvang van de 5 verzameling S1 aan de hand van de aktuele situatie gekozen moet worden.
Regel 7 geeft de procedure -distribute error- die in Tabel λ op regels 11, 12, 16, 24, 25 is gereleveerd. Regel 8 geeft de aktie van deze procedure: voor een lopende waarde van s krijgt telkens de zoon met rangnummer s de foutmelding toegevoerd. Regel 9 signaleert 10 het einde van de procedure.
Als in het bovenstaande het verdeelproces op het hoogste hiërarchisch niveau was gelegen, dan vervalt alle kommunikatie met het hiërarchisch naasthogere verdeelproces. In Tabel A betreft dit de volgende regels: regel 3 (in plaats hiervan kan een signalering 15 -hoogste niveau- plaatsvinden); regel 7 (dit kan nu vervangen worden door de van de gebruiker ontvangen reeks lijnen te signaleren); regel 9 (niet van toepassing); regel 15; regel 16; regel 17 (verondersteld wordt dat de te verifiëren reeks lijnen in één keer wordt ontvangen); regel 18 (in feite kan de hele procedure van regels 14-20 korter worden 20 geformuleerd als: toesturen van deelreeksen tot de verzameling van nog te verifiëren lijnen leeg geworden is); regel 24; regel 29. De regels 7, 25, 29 representeren de bij figuur 2 vermelde interface met de gebruiker.
25 BESCHRIJVING VAN HET VERIFIKATIEPROCES
Tabel C geeft een voorkeursuitvoering van de werking van een verifikatieproces. Na het begin op regel 1 worden de volgende variabelen gedeklareerd. Op regel 2 de verzameling van alle te verifiëren lijnen; op regel 3 het vaderproces van de verifikatienode 30 (bijvoorbeeld in de vorm van een adres of identifikatie); op regel 4 het tweewaardige, reeds eerder gereleveerde stopkriterium; op regel 5 een tweewaardige foutsignalering die waar wordt als er een fout is gevonden. Regels 6, 7 maken deze twee signaleringen onwaar. Op regel 8 start een lus die voortdurend herhaald wordt totdat het stopkriterium 35 waar wordt. Als nu van het vaderproces een foutmelding wordt ontvangen (regel 9) worden de kriteria van regels 6, 7 beide waar gemaakt. Als van het vaderproces een stopmelding wordt ontvangen (regel 10) wordt lokaal . 87031 1 0 PHN 12.365 12 de stopsignalering -waar- gemaakt. Als van de vader een deelreeks van lijnen wordt ontvangen (regel 11) wordt lokaal de te verifiëren reeks lijnen gelijkgesteld aan deze ontvangen (deel)reeks. Regel 12, 13 definiëren het eigenlijke verifikatieproces: zolang als er geen fout 5 gevonden wordt, gaat het verifikatieproces gedurende een eindige tijd voort. Dat deze tijd inderdaad eindig is, wordt niet door het bepaalde in regels 12, 13 gegeven, maar door de struktuur van de verdeling over de processoren en het distribueren van een eventuele foutmelding. En het in de juiste volgorde van assigneren van de deelreeksen (dit geldt voor 10 elk distributieproces apart) aan de zoonprocessen (verifikatieprocessen of subalterne distributieprocessen) garandeert de korrektheid in die zin dat slechts een eindig aantal stappen nodig is voor de verifikatie.
Regel 14 komt overeen met regel 9. Regel 15 start een procedure op het lokaal detekteren van een negatief verifikatieresultaat: er wordt een 15 foutmelding aan het vaderproces gestuurd; ook wordt lokaal de foutsignalering waar gemaakt; verder wordt lokaal de stopsignalering waar gemaakt. Regel 19 sluit laatstgenoemde procedure af. Regel 20 sluit de aktie van regel 12 af. Regel 21 sluit de aktie van regel 11 af. Regel 22 geeft aan dat het proces na voltooiing van een deeltaak vraagt om 20 toezending van een nieuwe deelreeks van lijnen. Regel 23 sluit de aktie van regel 8 af. Regel 24 geeft aan dat als er geen te verifiëren lijnen meer over zijn en de foutsignalering nog onwaar is, het klaarsignaal aan de vader wordt afgegeven. Regel 25 sluit de aktie af.
.8703110

Claims (4)

1. Werkwijze voor het verifiëren van een wiskundig bewijs, dat wordt uitgedrukt in een getypeerde hogere ordetaal doordat het bewijs geformuleerd is in een eerste reeks van lijnen, waarbij elke lijn in de reeks hiërarchisch niet lager is dan enige voorgaande lijn 5 in de reeks, welke werkwijze de volgende stappen omvat: - in een verdeelproces worden uit de eerste reeks lijnen opvolgende deelreeksen van lijnen gevormd; - door het verdeelproces wordt telkens een volgende deelreeks aan een beschikbaar verifikatieproces van een tweede reeks verifikatieprocessen 10 geassigneerd ter verifikatie, waarbij een verifikatieproces naast een daaraan geassigneerde deelreeks ook alle voorafgaande deelreeksen ontvangt, om uit die voorafgaande deelreeksen de typendefinitie der in de geassigneerde deelreeks voorkomende namen te abstraheren; - door de reeks verifikatieprocessen worden de verifikaties uitgevoerd, 15 waarbij een positieve verifikatie een -klaar- signaal oplevert, een negatieve verifikatie een -fout- signaal oplevert, en een onafgebroken verifikatie noch een -klaar- signaal, noch een -fout- signaal oplevert; - door het verdeelproces wordt bij ontvangst van een -fout- signaal aan alle verifikatieprocessen een stopsignaal toegevoerd, doch bij ontvangst 20 van een voldoend aantal -klaar- signalen aan een gebruiker een -korrekt-signaal.
2. Werkwijze volgens conclusie 1, met het kenmerk, dat een -klaar- signaal een verzoek tot het toevoeren van een verdere specifiek geassigneerde deelreeks en eventueel daaraan voorafgaande deelreeksen 25 aan het betreffende verifikatieproces behelst, dat laatstgenoemd toevoeren het -klaar- signaal van het desbetreffende verifikatieproces opheft, en dat genoemd -korrekt- signaal pas vrijgegeven wordt als alle deelreeksen ter verifikatie geassigneerd zijn.
3. Werkwijze volgens conclusie 1 of 2, met het kenmerk, dat 30 genoemd foutsignaal een rangnummer van een de negatieve verifikatie opleverende lijn bevat en dat genoemd stopsignaal genoemd rangnummer bevat om daarop slechts lijnen met lagere rangnummers te doen verifiëren en daarbij ofwel een sekundair foutsignaal, ofwel een -klaar- signaal te vormen, en dat genoemd -korrekt- signaal een laagst, 35 aldus ontvangen rangnummer bevat.
4. Inrichting voor het uitvoeren van de werkwijze volgens conclusie 1, 2 of 3, met het kenmerk, dat een hiërarchisch .8703110 4 PHN 12.365 14 georganiseerde en uit deelprocessoren opgebouwde verdeelprocessor is voorzien, waarbij een enkele deelprocessor van hoogste niveau aanwezig is, en alle andere deelprocessoren zich ten opzichte van één enkele, telkens bijbehorende, deelprocessor op naasthoger niveau presenteren als een verifikatieprocessor en ten opzichte van een verzameling processoren 5 op een naastlager niveau als een verdeelprocessor. * .8703110
NL8703110A 1987-12-23 1987-12-23 Werkwijze en inrichting voor het verifieren van een wiskundig bewijs. NL8703110A (nl)

Priority Applications (4)

Application Number Priority Date Filing Date Title
NL8703110A NL8703110A (nl) 1987-12-23 1987-12-23 Werkwijze en inrichting voor het verifieren van een wiskundig bewijs.
US07/283,687 US5032988A (en) 1987-12-23 1988-12-13 Method of and device for verifying a mathmatical proof
EP88202949A EP0322064A1 (en) 1987-12-23 1988-12-19 Method and device for verifying a mathematical proof
JP63321843A JPH01201772A (ja) 1987-12-23 1988-12-20 数学的証明を検証する方法及び装置

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
NL8703110A NL8703110A (nl) 1987-12-23 1987-12-23 Werkwijze en inrichting voor het verifieren van een wiskundig bewijs.
NL8703110 1987-12-23

Publications (1)

Publication Number Publication Date
NL8703110A true NL8703110A (nl) 1989-07-17

Family

ID=19851138

Family Applications (1)

Application Number Title Priority Date Filing Date
NL8703110A NL8703110A (nl) 1987-12-23 1987-12-23 Werkwijze en inrichting voor het verifieren van een wiskundig bewijs.

Country Status (4)

Country Link
US (1) US5032988A (nl)
EP (1) EP0322064A1 (nl)
JP (1) JPH01201772A (nl)
NL (1) NL8703110A (nl)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4987102A (en) * 1989-12-04 1991-01-22 Motorola, Inc. Process for forming high purity thin films
US6157901A (en) * 1998-08-25 2000-12-05 Lucent Technologies Inc. Type annotation method for use in verification tools
US7216306B1 (en) 1999-03-24 2007-05-08 Zhe Li Checkpoint restart method using condensed partial results by determining boolean constant subsets

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4044476A (en) * 1973-09-05 1977-08-30 Marsh Jeanette B Educational methods and devices

Also Published As

Publication number Publication date
EP0322064A1 (en) 1989-06-28
JPH01201772A (ja) 1989-08-14
US5032988A (en) 1991-07-16

Similar Documents

Publication Publication Date Title
CN109840429B (zh) 智能合约部署、调用方法和装置
US6983285B2 (en) Apparatus and method for dynamically verifying information in a distributed system
US5564051A (en) Automatic update of static and dynamic files at a remote network node in response to calls issued by or for application programs
JP3723572B2 (ja) ネットワークにおけるプロセスの移動,実行及び相互作用に基づいた分散処理のためのシステム及び方法
US6507875B1 (en) Modular application collaboration including filtering at the source and proxy execution of compensating transactions to conserve server resources
US6112253A (en) Object-oriented method maintenance mechanism that does not require cessation of the computer system or its programs
US4961137A (en) Method for operating a multiprocessor system for therein establishing a global binary assertion and a multiprocessor apparatus comprising synchronization means for such establishing, in particular for effecting a garbage collection operation
US20070143393A1 (en) Systems and methods for enhanced message support using a generic client proxy
Lavarenne et al. The SynDEx software environment for real-time distributed systems design and implementation
JPH06110808A (ja) クライアントインターフェースをアプリケーションのオブジェクト指向呼出しに対処するための方法及び装置
US5561802A (en) Method for managing programs with attribute information and developing loaded programs
JPH0656600B2 (ja) 分散不均一環境におけるサーバー機能の実行方法及び装置
JP2002505466A (ja) 遠隔メソッド呼出し方法及び装置
CN1331052C (zh) 用于管理多系统群集中资源争用的方法和装置
JP2539185B2 (ja) 多重フェ―ズ・コミット処理方法
Craft Resource management in a decentralized system
CN110691122B (zh) 平行链共识方法、设备及存储介质
NL8703110A (nl) Werkwijze en inrichting voor het verifieren van een wiskundig bewijs.
US20060106895A1 (en) Method and subsystem for performing metadata cleanup for replication topologies
US20020198895A1 (en) Apparatus and method for dynamically verifying information in a distributed system
EP0871118B1 (en) Parallel data processing system and method of controlling such a system
Issarny Concurrent exception handling
CN107277108B (zh) 一种区块链的节点处的消息处理方法、装置及系统
CN113222332B (zh) 招标流程的配置方法、装置、电子设备、及存储介质
JPH09245003A (ja) 並列分散処理システムおよびその方法

Legal Events

Date Code Title Description
A1B A search report has been drawn up
BV The patent application has lapsed