Otter: een op resolutie gebaseerde stellingenbewijzer voor 1e-orde logica met gelijkheid Gerard Vreeswijk.

Slides:



Advertisements
Verwante presentaties
Ronde (muziek, TV & Showbizzzz)
Advertisements

Hoe werkt een rekenmachine?
NEDERLANDS WOORD BEELD IN & IN Klik met de muis
Beter afspelen.
November 2013 Opinieonderzoek Vlaanderen – oktober 2013 Opiniepeiling Vlaanderen uitgevoerd op het iVOXpanel.
Uitgaven aan zorg per financieringsbron / /Hoofdstuk 2 Zorg in perspectief /pagina 1.
Global e-Society Complex België - Regio Vlaanderen e-Regio Provincie Limburg Stad Hasselt Percelen.
Smart Style on the Semantic Web Lynda Hardman CWI, Multimedia and Human-Computer Interaction TU/e, Multimedia and Internet Technology.
1 Co-Design at Chess-iT Guus Bosman. 2 Afstuderen bij Chess Net.Footworks tot augustus 2003 Afstuderen augustus 2003 tot maart 2004 Chess full-time vanaf.
Ronde (Sport & Spel) Quiz Night !
Copyright © 2008 Tele Atlas. All rights reserved. Zet uw Business Data op de kaart: Locaties in eTOM ®
Vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Onderwerpen voor vandaag Gelinkte lijsten Finite State.
Een optimale benutting van vierkante meters Breda, 6 juni 2007.
Nieuwe wegen in ontwerpen met CAD
1 Presenting Borealis 2006 © 2005 Borealis A/S Presenting Borealis A leading, innovative provider of plastics solutions February 2007.
F. Mol, W.M. Ankum, B.W. Mol, F. van der Veen, P.J. Hajenius Incidentie van EUG en Chlamydia trachomatis infectie in Nederland.
Datastructuren Analyse van Algoritmen en O
Naar het Jaareinde toe
zaterdag 19 juli 2014 Saturday, 19 July 2014 I see what you don’t see I come from another galaxy My earthal life was not the intention I was meant.
Omgevingen zijn dan geïmplementeerd als Symbol Tables. Symbol Table mapt een symbool met een Binding Meerdere noties van binding –Meerdere manieren te.
EIE/06/075/SI From January 2007 to March 2009 Nationale Workshop Energiebesparing Introductie van E-BAG.
WISKUNDIGE FORMULES.
Elke 7 seconden een nieuw getal
Visibility-based Probabilistic Roadmaps for Motion Planning Tim Schlechter 13 februari 2003.
Regelmaat in getallen … … …
Parallelle Algoritmen String matching. 1 Beter algoritme patroonanalyse Bottleneck in eenvoudig algoritme: WITNESS(j) (j = kandidaat in eerste i-blok)
Neurale Netwerken Kunstmatige Intelligentie Rijksuniversiteit Groningen April 2005.
LokWeb and LWB 7 maart 2006 by Maarten and Hilverd.
Probleem P 1 is reduceerbaar tot P 2 als  afbeelding  :P 1  P 2 zo dat: I yes-instantie van P 1   (I) yes-instantie van P 2 als ook:  polytime-algoritme,
1Ben Bruidegom Hoe werkt een rekenmachine? Ben Bruidegom AMSTEL Instituut Universiteit van Amsterdam.
1Ben Bruidegom A Harvard Machine Calculator Calculator  Computer.
1Ben Bruidegom A Harvard Machine Recapitulatie Calculator Calculator  Calculator met “loopjes” Calculator met “loopjes”  Processor.
 (het is niet zo moeilijk…)
Opdrachten Snelheid.
Wie het kleine niet eert ... (quarks, leptonen,….)
In dit vakje zie je hoeveel je moet betalen. Uit de volgende drie vakjes kan je dan kiezen. Er is er telkens maar eentje juist. Ken je het juiste antwoord,
1 7 nov Rijnsburg 7 nov Rijnsburg. 2 Hebreeën 7 15 En nog veel duidelijker wordt het, als naar het evenbeeld van Melchisedek een andere priester.
Hoorcollege 7 Collections, arrays. Programma ‘Snowflakes’ Sneeuwvlok object.
Werken aan Intergenerationele Samenwerking en Expertise.
CLICK THE END EINDE THE END May peace be with you EINDE Moge de vrede met jou zijn Next time I’ll present you the alphabet Volgende keer bied ik je het.
1 Van Harvard naar MIPS. 2 3 Van Harvard naar MIPS Microprocessor without Interlocked Pipeline Stages Verschillen met de Harvard machine: - 32 Registers.
PLAYBOY Kalender 2006 Dit is wat mannen boeit!.
Automation SolutionsMFG/Pro Dutch usergroup 8 februari 2007 ISA S88 & S95 Het gebruik van deze normen in de productie.
Tussentoets Digitale Techniek. 1 november 2001, 11:00 tot 13:00 uur. Opmerkingen: 1. Als u een gemiddeld huiswerkcijfer hebt gehaald van zes (6) of hoger,
Computertechniek 2 – ARM assembler Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1  D3EEMS1  programmed I/O: de.
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren 1 Les 3 - onderwerpen Het.
Vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Onderwerpen voor vandaag Het ARM bord met wat library functies.
Vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Onderwerpen voor vandaag GUI  command line redirection.
Schitterende Organisaties®
Motivation One secret for success in organizations is motivated and enthusiastic employees The challenge is to keep employee motivation consistent with.
1 Over het examen (1): Modus Mondeling met schriftelijke voorbereiding 4 uur, 3 onderdelen: –Modellering (  schriftelijk, dan mondeling) –Queries / relationeel.
ZijActief Koningslust 10 jaar Truusje Trap
Versie 1: ; v2: ; v3: ; v4:… ca. 50 minuten met maken van tekening (vraag 12) ca. 40 minuten zonder maken van tekening (vraag.
Writing exercise This one goes into your language portfolio!!! You have until the end of the week to hand it in… (So you have a little longer than it says.
Lesson 9.
TOPIC O: Pointers | pag. 1 Pointer = adres in het geheugen, is zelf geen geheugen! Expliciet geheugen aanvragen vóór gebruik.
Test je geheugen
© Shopping 2020 TITLE Date Subtitle Logo Gastheer Logo Voorzitter.
Benjamin Boerebach, Esther Helmich NVMO workshop 12 juni 2014.
De financiële functie: Integrale bedrijfsanalyse©
Logistics: a driver for innovation Low costs High value Flexibility now and later Superior technology Timwood - T > No transport - I > No Inventory - M.
De steen van Rosetta Jean-François Champollion (1822) Hiëroglyfen – Demotisch – Grieks.
BB examen Dorus Daris. Stage 1 Er zijn trends in de doorlooptijden waarneembaar.
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 C programmeren voor niet-C programmeurs les 2 definitie.
1 Zie ook identiteit.pdf willen denkenvoelen 5 Zie ook identiteit.pdf.
Strijd tegen de zonde?.
Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk Inleiding adaptieve systemen Lerende classificatie systemen.
Transcript van de presentatie:

Otter: een op resolutie gebaseerde stellingenbewijzer voor 1e-orde logica met gelijkheid Gerard Vreeswijk

Inhoud Herkomst Otter Klein voorbeeld (met unit deletion) Set-of-support resolutie Otter’s given clause loop (Stap 1, 2, 3, 4) Voorbeelden –Binaire resolutie –$-evaluatie Otter’s given clause loop, Stap 4: de beoordeling of een nieuw afgeleide resovent behouden moet blijven Nog enkele voorbeelden –Demodulatie (= termherschrijven)

Otter: herkomst Organized Techniques for Theorem proving and Effective Research William W. McCune, et al. Eind 20e eeuw (1987- ) Argonne National Laboratory, Argonne, Illinois 1e-orde stellingenbewijzer Hyper-resolutie Set-of-support strategie Typische aanroep: otter file.out

Voorbeeld input Otter set(binary_res). set(print_lists_at_end). assign(stats_level,1). list(usable). -Greek(x) | Person(x). -Person(x) | Mortal(x). end_of_list. list(sos). Greek(socrates). end_of_list. Usable clauses Set-of-support clauses Parameters (eerste twee zijn “flags”)

Otter 3.2, August Started by dosuser on JISLUM, Thu Jan 4 16:26: The command was "c:/local/otter.exe". set(binary_res). dependent: set(factor). dependent: set(unit_deletion). set(print_lists_at_end). assign(stats_level, 1). list(usable). 1 [] -Greek(x)|Person(x). 2 [] -Person(x)|Mortal(x). end_of_list. list(sos). 3 [] Greek(socrates). end_of_list. ======= end of input processing ======= Huis- houdelijk Initialiseren van afhankelijke parameters (“flags”) Echo de oorspronkelijke input

1 [] -Greek(x)|Person(x). # USABLE 2 [] -Person(x)|Mortal(x). # USABLE 3 [] Greek(socrates). # SOS =========== start of search =========== given clause #1: (wt=2) 3 [] Greek(socrates). ** KEPT (pick-wt=2): 4 [binary,3.1,1.1] Person(socrates). given clause #2: (wt=2) 4 [binary,3.1,1.1] Person(socrates). ** KEPT (pick-wt=2): 5 [binary,4.1,2.1] Mortal(socrates). given clause #3: (wt=2) 5 [binary,4.1,2.1] Mortal(socrates). Search stopped because sos empty. ============ end of search ============ Daarna: verslag van zoekproces Given clause is altijd één van de lichtste (~ kortste) clauses uit de Set of Support Deze clause werd afgeleid, toegevoegd aan de SOS, en meteen weer geselecteerd als volgende “given clause”

Daarna: een dump van de uiteindelijke “Usable” en “SOS” list(usable). 1 [] -Greek(x)|Person(x). 2 [] -Person(x)|Mortal(x). 3 [] Greek(socrates). 4 [binary,3.1,1.1] Person(socrates). 5 [binary,4.1,2.1] Mortal(socrates). end_of_list. list(sos). end_of_list. list(demodulators). end_of_list.

Daarna: wat statistieken statistics clauses given 3 clauses generated 2 clauses kept 2 clauses forward subsumed 0 clauses back subsumed 0 Kbytes malloced times (seconds) user CPU time 0.00 (0 hr, 0 min, 0 sec) system CPU time 0.00 (0 hr, 0 min, 0 sec) wall-clock time 0 (0 hr, 0 min, 0 sec) binary_res time 0.00 for_sub time 0.00 back_sub time 0.00 conflict time 0.00 Process 0 finished Thu Jan 4 16:26:

Unit deletion unit_deletion Als deze vlag gezet is dan zal unit deletion toegepast worden op nieuwe clauses. Unit deletion verwijdert een literal van een nieuwe clause als die literal een instantie is van een negatie van een unit clause in USABLE of SOS. Voorbeeld. Stel dat p(a,x) | q(a,x) gegenereerd wordt en -q(u,v) is aanwezig. Dan wordt q(a,x) gestript. Stel -q(u,b) is aanwezig [ i.p.v. -q(u,v ) ]. Dan wordt q(a,b) NIET gestript. Immers, x zou dan gebonden worden.

Set-of-support strategie Gegeven een model m, verdeel clause set C in tweeën: –C 1 z.d.d. m ⊨ C 1 –Set of support C 2 = Def C – C 1 Restrictie: elke resolvent moet afstammen van tenminste één voorouder uit set of support C Usable m ⊨m ⊨ Set of Support Stelling: onder deze restrictie is resolutie nog steeds compleet. (Bewijs in o.a. Chang & Lee, 1971, of in Schöning, Beide boeken recent heruitgegeven.)

Set-of-support strategie USABLE is vervulbaar USABLE met SOS zou onvervulbaar moeten zijn Altijd minstens één van de ouders afstammeling van SOS USABLE (consistent) SOS (inconsistent)  (!) nooit alle ouders uit usable

Volledigheid set-of-support resolutie volgt uit volledigheid lineaire resolutie (Bewijs uit Schöning, pp ) SOS is inconsistent  SOS bevat ten minste één clause Lineaire resolutie is volledig   lineaire resolutie refutatie R vanuit SOS R is meteen SOS refutatie! USABLE (consistent) SOS (inconsistent)

Otter’s given-clause loop 1.Selecteer een clause C uit de SOS 2.Breng C naar USABLE 3.Genereer alle resolventen C, U 1,…,U n  R 4.Vereenvoudig R, bekijk wat kan worden weggegooid (bijv. R zelf, of resolventen) 5.Voeg (evt. bewaarde) R toe aan SOS

SOS USABLE Otter’s given-clause loop

set(binary_res). set(very_verbose). formula_list(usable). p. -p | q. -p | -q | r. -r. end_of_list. formula_list(sos). end_of_list. Raadsel: wat gaat Otter doen met onderstaande input?

=========== start of search =========== Search stopped because sos empty. ============ end of search ============ statistics clauses given 0 clauses generated 0 binary_res generated 0 demod & eval rewrites 0 clauses wt,lit,sk delete 0 tautologies deleted 0 clauses forward subsumed 0 (subsumed by sos) 0 unit deletions 0 factor simplifications 0 clauses kept 0 new demodulators 0 empty clauses 0 clauses back demodulated 0 clauses back subsumed 0 usable size 4 sos size 0 demodulators size 0 passive size 0 hot size 0

set(binary_res). clear(unit_deletion). clear(factor). set(very_verbose). formula_list(usable). p. -p|q. -p| -q|r. end_of_list. formula_list(sos). -r. end_of_list. Binaire resolutie

list(usable). 1 [] p. 2 [] -p|q. 3 [] -p| -q|r. end_of_list. list(sos). 4 [] -r. end_of_list. =========== start of search =========== given clause #1: (wt=1) 4 [] -r. 0 [binary,4.1,3.3] -p| -q. ** KEPT (pick-wt=2): 5 [binary,4.1,3.3] -p| -q. 5 back subsumes 3.

=========== start of search =========== given clause #1: (wt=1) 4 [] -r. 0 [binary,4.1,3.3] -p| -q. ** KEPT (pick-wt=2): 5 [binary,4.1,3.3] -p| -q. 5 back subsumes 3. given clause #2: (wt=2) 5 [binary,4.1,3.3] -p| -q. 0 [binary,5.1,1.1] -q. ** KEPT (pick-wt=1): 6 [binary,5.1,1.1] -q. 0 [binary,5.2,2.2] -p| -p. ** KEPT (pick-wt=1): 7 [binary,5.2,2.2] -p. ----> UNIT CONFLICT at 0.05 sec ----> 8 [binary,7.1,1.1] $F.

Length of proof is 2. Level of proof is PROOF [] p. 2 [] -p|q. 3 [] -p| -q|r. 4 [] -r. 5 [binary,4.1,3.3] -p| -q. 7 [binary,5.2,2.2] -p. 8 [binary,7.1,1.1] $F end of proof Search stopped by max_proofs option. ============ end of search ============

$-Evaluatie Een hamburger kost y, een cola kost z. We bestellen x maaltijden, bestaande uit een hamburger en een cola. Otter kan afleiden wat we dienen te betalen voor willekeurige x, y en z. Niet zo bijzonder dat Otter dat kan. Wel interessant om te zien hoe Otter dat doet.

Input voor prijsberekening set(hyper_res). set(very_verbose). assign(stats_level,0). list(usable). -O(x,y,z) | B($PROD(x,$SUM(y,z))). end_of_list. list(sos). O(3,2,2). end_of_list.

=========== start of search =========== 1 [] -O(x,y,z) | B($PROD(x,$SUM(y,z))). given clause #1: (wt=4) 2 [] O(3,2,2). 0 [hyper,2,1] B($PROD(3,$SUM(2,2))). demod term: 3. demod term: 2. demod term: $SUM(2,2). demod term: $PROD(3,4). demod term: B(12). after demodulation: 0 [hyper,2,1,demod] B(12). ** KEPT (pick-wt=2): 3 [hyper,2,1,demod] B(12). given clause #2: (wt=2) 3 [hyper,2,1,demod] B(12). Search stopped because sos empty. ============ end of search ============

Natuurlijke deductie in Otter 1.N(1) 2.N(x) → N(S(x)) “1 is een getal” Inductie :“als x een getal is, dan is S(x) dat ook ” Peano, 1889: “Principes van de Rekenkunde gepresenteerd met een Nieuwe Methode” (Arithmetices principia, nova methodo exposita) Precisering van werk van Dedekind, Negen axioma’s: vier bt. gelijkheid (refl., symm., trans. + gesloten onder gelijkheid), twee bt. eenduidigheid van zg, successorfunctie, een bt. natuurlijke deductie. Twee axioma’s bt. definitie van getal.

list(usable). 1 [] n(1). % 1 is een getal 2 [] -n(x)|n(s(x)). % als x een getal is, is de % opvolger van x dat ook end_of_list. list(sos). 3 [] -n(s(s(1))). % 3 is geen getal end_of_list. ======= end of input processing ======= =========== start of search =========== given clause #1: (wt=4) 3 [] -n(s(s(1))). 0 [binary,3.1,2.2] -n(s(1)). ** KEPT (pick-wt=3): 4 [binary,3.1,2.2] -n(s(1)). given clause #2: (wt=3) 4 [binary,3.1,2.2] -n(s(1)).

0 [binary,3.1,2.2] -n(s(1)). ** KEPT (pick-wt=3): 4 [binary,3.1,2.2] -n(s(1)). given clause #2: (wt=3) 4 [binary,3.1,2.2] -n(s(1)). 0 [binary,4.1,2.2] -n(1). ** KEPT (pick-wt=2): 5 [binary,4.1,2.2] -n(1). ----> UNIT CONFLICT at 0.00 sec ----> 6 [binary,5.1,1.1] $F. Length of proof is 2. Level of proof is PROOF [] n(1). 2 [] -n(x)|n(s(x)). 3 [] -n(s(s(1))). 4 [binary,3.1,2.2] -n(s(1)). 5 [binary,4.1,2.2] -n(1). 6 [binary,5.1,1.1] $F end of proof

Otter’s given-clause loop 1.Selecteer een clause C uit de SOS 2.Breng C naar USABLE 3.Genereer alle resolventen C, U 1,…,U n  R 4.Vereenvoudig R, bekijk wat kan worden weggegooid (bijv. R zelf, of resolventen) 5.Voeg (evt. bewaarde) R toe aan SOS Een complex proces

1. Hernoem variabelen (x, y, z, u, v, w, v1, v2, v3, v4,...) * 2. Print de boodschap dat resolvent R gevonden is. 3. Herschrijf, of demoduleer, R (inclusief $-evaluatie). * 4. Oriënteer gelijkheden (dwz flip “=“ zonodig voor demodulatie). * 5. Pas unit deletion toe op R. 6. Merge identieke literals. * 7. Pas factorisatie toe (proces lijkt op 6). * 8. Gooi R weg en exit als R te lang is. 9. Gooi R weg en exit als R een tautologie is. * 10. Gooi R weg en exit als R te zwaar is. * 11. Sorteer literals alfabetisch. * 12. Gooi R weg en exit als R superset is van een andere clause uit USABLE of SOS (forward subsumption). 13. Voeg R toe aan SOS. * 14. Print de boodschap dat resolvent R bewaard is. 15. Als R leeg is dan is een refutatie gevonden. 16. Als R unit clause is, doorzoek SOS en USABLE voor mogelijke resolutie met R. * 17. Print een bewijs als refutatie is gevonden. * 18. Kijk of van R een herschrijfregel (demodulator) te maken is * 19. Herschrijf terug als Stap 18 een herschrijfregel oplevert. * 20. Gooi alle supersets van R uit USABLE en SOS (back subsumption). * 21. Factoriseer R en verwerk factors. Stap 4 uit Otter’s given clause loop voor resolvent R

Demodulatie van termen Modulo rekenen met getallen: 3 = 10 = 17 (mod 7) Modulo reken met termen kan ook: Stel gelijkheid: echtgenoot(echtgenoot(x)) = x Herschrijfregel: echtgenoot(echtgenoot(x)) → x Voorbeeld: vriend(echtgenoot(echtgenoot(truus))) → vriend(truus). Stel gelijkheid: ( x * y) * z = x * (y * z) Herschrijfregel: ( x * y) * z → x * (y * z) Voorbeeld: ((7 * 2) * 4) * 6 → (7 * 2) * (4 * 6) → 7 * (2 * (4 * 6)).

set(hyper_res). set(order_eq). set(very_verbose). assign(stats_level,0). list(usable). -P | Eq( f(u,v,w), g(x1,x2,y1,y2) ). end_of_list. list(sos). P. end_of_list. list(demodulators). f(x,y,z) = a. g(u,v,w,x) = b. end_of_list. Illustratie stappen 1-4 : 1.Hernoem 2.Print 3.Herschrijf 4.Orienteer

1 [] –P | Eq(f(u,v,w),g(x1,x2,y1,y2)). % usable 2 [] P. % sos 3 [] f(x,y,z) = a. % demodulator 4 [] g(u,v,w,x) = b. % demodulator given clause #1: (wt=1) 2 [] P. 0 [hyper,2,1] Eq(f(x,y,z),g(u,v,w,v6)). demod term: f(x,y,z). --> result: a demod demod term: a. demod term: g(u,v,w,v6). --> result: b demod demod term: b. demod term: Eq(a,b). after demodulation: 0 [hyper,2,1,demod,3,4] Eq(a,b). ** KEPT (pick-wt=3): 5 [hyper,2,1,demod,3,4,flip.1] Eq(b,a). given clause #2: (wt=3) 5 [hyper,2,1,demod,3,4,flip.1] Eq(b,a). Search stopped because sos empty. Hernoem Print Her- schrijf Oriëntee r (zwaarste termen vooraan)

Verder: Manual Otter (66 pp.) Kalman’s boek (> 500 pp.) Concurrenten van Otter –Andere resolutie-provers –Andere methoden (bv. Tableaux of binary decision diagrams) Opvolgers van Otter: Prover 9

Donderdag Redeneren met gelijkheid Demodulatie in Otter (= termherschrijven) Paramodulatie in Otter Daarna Algebra’s (1e-orde logica met gelijkheid + axioma’s) Birkhoff’s bewijssysteem Termherschrijven, Knuth-Bendix

Wat volgt zijn slides die ik achtergehouden heb omdat ze niet in het verhaal pasten. Ik heb ze toch bijgesloten omdat ze wellicht nog van nut zijn.

Otter t.b.v. het toetsen van wetenschappelijke theorieën Toetsen van theorieën uit de economie en de sociologie: 1.Formaliseer voorgestelde theorie 2.Check op consistentie, en logische consequenties 3.Check op falsifieerbaarheid: als nooit te falsifiëren, dan geen wetenschappelijke theorie 4.Werk uitgevoerd met Otter en model-checker MACE Vgl. proefschrift Jaap Kamps, UvA, Amsterdam (1998)

Conference on Automated Deduction (CADE), Year U.S. (%) Europe (%) Other (%)Site Argonne, Illinois Kaiserslautern, Germany Saratoga Springs, New York Nancy, France New Brunswick, New Jersey Tallinn, Estonia 2006 Seattle, Washington 2007Bremen, Germany 2008Sydney, Australia 2009Montreal, Canada Geografische verschuiving onderzoek ATP

formula_list(usable). p. P -> q. (p&q) -> r. -r. end_of_list > usable clausifies to: list(usable). 0 [] p. 0 [] -p|q. 0 [] -p| -q|r. 0 [] -r. end_of_list. Otter in “mode auto”

SCAN INPUT: prop=1, horn=1, equality=0, symmetry=0, max_lits=3. The clause set is propositional; the strategy will be ordered hyperresolution with the propositional optimizations, with satellites in sos and nuclei in usable. dependent: set(hyper_res). dependent: set(propositional). dependent: set(sort_literals) > process usable: ** KEPT (pick-wt=2): 1 [] -p|q. ** KEPT (pick-wt=3): 2 [] -p| -q|r. ** KEPT (pick-wt=1): 3 [] -r > process sos: ** KEPT (pick-wt=1): 4 [] p. ======= end of input processing ======= Dus hier m  false

=========== start of search =========== given clause #1: (wt=1) 4 [] p. given clause #2: (wt=1) 5 [hyper,4,1] q. 6 [hyper,5,2,4] r. ----> UNIT CONFLICT --> 7 [binary,6.1,3.1] $F. Length of proof is 2. Level of proof is PROOF [] -p|q. 2 [] -p| -q|r. 3 [] -r. 4 [] p. 5 [hyper,4,1] q. 6 [hyper,5,2,4] r. 7 [binary,6.1,3.1] $F end of proof Search stopped by max_proofs option. ============ end of search ============

set(auto). formula_list(usable). p. p -> q. (p & q) -> r. % de ontkenning van wat te bewijzen is: -r. end_of_list. Otter in “mode auto”

----- Otter 3.3, August The process was started by gv on EDE, Mon Nov 21 14:25: set(auto). dependent: set(auto1). dependent: set(process_input). dependent: clear(print_kept). dependent: clear(print_new_demod). dependent: clear(print_back_demod). dependent: clear(print_back_sub). dependent: set(control_memory). dependent: assign(max_mem, 12000). dependent: assign(pick_given_ratio, 4). dependent: assign(stats_level, 1). dependent: assign(max_seconds, 10800). Otter in “mode auto”

Prover 9: hoofdscherm

Prover 9: parameters en flags