53
Towards Natural Style Towards Natural Style for Resolution for Resolution Proofs Proofs in Theorema in Theorema Diana Dubu Diana Dubu West University of Timiş West University of Timiş oara oara eAustria Research Institute eAustria Research Institute Supervis Supervis o o r r Prof. Dr. Tudor Jebelean Prof. Dr. Tudor Jebelean

Towards Natural Style for Resolution Proofs in Theorema

  • Upload
    giles

  • View
    24

  • Download
    0

Embed Size (px)

DESCRIPTION

Towards Natural Style for Resolution Proofs in Theorema. Diana Dubu West University of Timiş oara eAustria Research Institute Supervis o r Prof. Dr. Tudor Jebelean. Presentation Outline. Work context Motivation Tool support Approach Notions My work Example Future work. - PowerPoint PPT Presentation

Citation preview

Page 1: Towards Natural Style for Resolution Proofs  in Theorema

Towards Natural Style for Towards Natural Style for ResolutionResolution Proofs Proofs

in Theoremain Theorema

Diana DubuDiana DubuWest University of TimişWest University of Timişoaraoara

eAustria Research InstituteeAustria Research InstituteSupervisSupervisoorr

Prof. Dr. Tudor JebeleanProf. Dr. Tudor Jebelean

Page 2: Towards Natural Style for Resolution Proofs  in Theorema

Presentation OutlinePresentation Outline

Work contextWork context

MotivationMotivation

Tool Tool supportsupport

ApproachApproach

NotionsNotions

My workMy work

ExampleExample

Future work...Future work...

Page 3: Towards Natural Style for Resolution Proofs  in Theorema

Presentation OutlinePresentation Outline

Work contextWork context

MotivationMotivation

Tool Tool supportsupport

ApproachApproach

NotionsNotions

My workMy work

ExampleExample

Future work...Future work...

Page 4: Towards Natural Style for Resolution Proofs  in Theorema

Research EnvironmentResearch Environment

Scholarship at the Research Institute for Scholarship at the Research Institute for Symbolic Computation (RISC), Johannes Symbolic Computation (RISC), Johannes Kepler Universität, Linz, AustriaKepler Universität, Linz, Austria

Program Coordinator: Prof. Dr. Tudor Program Coordinator: Prof. Dr. Tudor JebeleanJebelean

Attendance at the Automated Theorem Attendance at the Automated Theorem Proving II lecture and Theorema SeminarsProving II lecture and Theorema Seminars

Further collaborations with Theorema Further collaborations with Theorema Group membersGroup members

Page 5: Towards Natural Style for Resolution Proofs  in Theorema

Presentation OutlinePresentation Outline

Work contextWork context

MotivationMotivation

Tool Tool supportsupport

ApproachApproach

NotionsNotions

My workMy work

ExampleExample

Future work...Future work...

Page 6: Towards Natural Style for Resolution Proofs  in Theorema

WhyWhy NaturalNatural Style? Style?ProblemsProblems with proofs with proofs generated by clausa reasoners

– too long (intermediary steps)– machine-oriented formalism

hard to follow by the user (even if experienced)

– different system representations

SolutionSolution: 1. construct a uniform machine-independent

representation

2. translate machine-found proofs into a human-comprehensible format

Page 7: Towards Natural Style for Resolution Proofs  in Theorema

WhyWhy NaturalNatural Style? Style?ProblemsProblems with proofs with proofs generated by clausa reasoners

– too long (intermediary steps)– machine-oriented formalism

hard to follow by the user (even if experienced)

– different system representations

SolutionSolution: 1. construct a uniform machine-independent

representation

2. translate machine-found proofs into a human-comprehensible format

Page 8: Towards Natural Style for Resolution Proofs  in Theorema

Presentation OutlinePresentation Outline

Work contextWork context

MotivationMotivation

Tool Tool supportsupport

ApproachApproach

NotionsNotions

My workMy work

ExampleExample

Future work...Future work...

Page 9: Towards Natural Style for Resolution Proofs  in Theorema

ToolkitToolkitTheoremaTheorema

built on top of Mathematica at RISC by the

Theorema Research Group initiated by Prof. Dr. Bruno Buchberger

integrates the computing capabilities of a CAS with the deduction capabilities of ATPsinteracts with the user in the language of predicate logic (the natural language for expressing mathematical properties and algorithms)

Page 10: Towards Natural Style for Resolution Proofs  in Theorema

Proving in TheoremaProving in Theorema

methods for several mathematical domainsmethods for several mathematical domains :: propositional logicpropositional logic general predicate logicgeneral predicate logic induction over integers and over listsinduction over integers and over lists set theoryset theory boolean combinations of polynomial [in]equalities boolean combinations of polynomial [in]equalities

(using Groebner Bases)(using Groebner Bases) combinatorial summation (using Paule–Schorn–combinatorial summation (using Paule–Schorn–

Zeilberger)Zeilberger) PCS (proving–computing–solving) for proving in higher-PCS (proving–computing–solving) for proving in higher-

order logic with equality [Buchberger]order logic with equality [Buchberger]

Page 11: Towards Natural Style for Resolution Proofs  in Theorema

Tma Proof ObjectTma Proof Object

generated as a result of the proofgenerated as a result of the proof

contains the proof tree - information about:contains the proof tree - information about:assumptions’ listassumptions’ listsubgoals at each proof stepsubgoals at each proof step formulae used at each stepformulae used at each step formulae generated at each stepformulae generated at each stepstatus (proved, failed, pending)status (proved, failed, pending)

Page 12: Towards Natural Style for Resolution Proofs  in Theorema

Tma Proof ObjectTma Proof Object

generated as a result of the proofgenerated as a result of the proof

contains the proof tree - information about:contains the proof tree - information about:assumptions’ listassumptions’ listsubgoals at each proof stepsubgoals at each proof step formulae usedformulae used at each step at each step formulae generated at each stepformulae generated at each stepstatus (proved, failed, pending)status (proved, failed, pending)

Page 13: Towards Natural Style for Resolution Proofs  in Theorema

Tma Proof ObjectTma Proof Object

generated as a result of the proofgenerated as a result of the proof

contains the proof tree - information about:contains the proof tree - information about:assumptions’ listassumptions’ listsubgoals at each proof stepsubgoals at each proof step formulae usedformulae used at each step at each step formulae generatedformulae generated at each step at each stepstatus (proved, failed, pending)status (proved, failed, pending)

Page 14: Towards Natural Style for Resolution Proofs  in Theorema

Theorema`Provers`Common`ProofObject`Private`AndNode[ Theorema`Provers`Common`ProofObject`PrivaTheorema`Provers`Common`ProofObject`Private`AndNode[ Theorema`Provers`Common`ProofObject`Private`ProofInfo["DoneMatching", •usedFormulae[], te`ProofInfo["DoneMatching", •usedFormulae[],

• •generatedFormulae[]], generatedFormulae[]], Theorema`Provers`Common`ProofObject`Private`Subgoals[ Theorema`Provers`Common`ProofObject`Theorema`Provers`Common`ProofObject`Private`Subgoals[ Theorema`Provers`Common`ProofObject`Private`AndNode[Theorema`Provers`Common`ProofObject`Private`ProofInfo[ "ConclusionIsAssumption", Private`AndNode[Theorema`Provers`Common`ProofObject`Private`ProofInfo[ "ConclusionIsAssumption", •usedFormulae[ "Proposition (3)", "Proposition (1)/1"], •generatedFormulae[]], •usedFormulae[ "Proposition (3)", "Proposition (1)/1"], •generatedFormulae[]], Theorema`Provers`Common`ProofObject`Private`Subgoals[], Theorema`Provers`Common`ProofObject`Private`Subgoals[], Theorema`Provers`Common`ProofObject`Private`MainProofSituation[ •lf["Proposition (3)", Theorema`Provers`Common`ProofObject`Private`MainProofSituation[ •lf["Proposition (3)", MORTAL[Confucius], •finfo[]], •asml[•lf[ "Proposition (1)/1", MORTAL[Confucius], •finfo[""]], •lf["Proposition MORTAL[Confucius], •finfo[]], •asml[•lf[ "Proposition (1)/1", MORTAL[Confucius], •finfo[""]], •lf["Proposition (1)", ™ForAll[•range[•simpleRange[•var[x]]], True, ™Implies[MAN[•var[x]], (1)", ™ForAll[•range[•simpleRange[•var[x]]], True, ™Implies[MAN[•var[x]],

MORTAL[•var[x]]]], •finfo[""]], •lf["Proposition (2)", MAN[Confucius], •finfo[""]]], MORTAL[•var[x]]]], •finfo[""]], •lf["Proposition (2)", MAN[Confucius], •finfo[""]]], •lkTab[{{"ProversHistory", {PND}}, {"LastProver", PND}, {"PND", •lkTab[{{"ModusPonensFacts", •lkTab[{{"ProversHistory", {PND}}, {"LastProver", PND}, {"PND", •lkTab[{{"ModusPonensFacts",

• •lkTab[{}]}, {"NewFormulae", {{}, Theorema`Provers`PredicateLogic`Auxiliary`Private`•oldForms[]}}, lkTab[{}]}, {"NewFormulae", {{}, Theorema`Provers`PredicateLogic`Auxiliary`Private`•oldForms[]}}, {"GoalHistory", {"GoalHistory",

{MORTAL[Confucius]}}, {"MatchingFacts", •lkTab[{{{"Proposition (1)", "Proposition (2)"}, {MORTAL[Confucius]}}, {"MatchingFacts", •lkTab[{{{"Proposition (1)", "Proposition (2)"}, True}}]}}]}}]], Theorema`Provers`Common`ProofObject`Private`Constraints[], "proved"]], True}}]}}]}}]], Theorema`Provers`Common`ProofObject`Private`Constraints[], "proved"]], Theorema`Provers`Common`ProofObject`Private`MainProofSituation[•lf["Proposition (3)", Theorema`Provers`Common`ProofObject`Private`MainProofSituation[•lf["Proposition (3)",

MORTAL[Confucius], •finfo[]], •asml[•lf["Proposition (1)", ™ForAll[ •range[•simpleRange[•var[x]]], True, MORTAL[Confucius], •finfo[]], •asml[•lf["Proposition (1)", ™ForAll[ •range[•simpleRange[•var[x]]], True,

™ ™Implies[MAN[•var[x]], MORTAL[ •var[x]]]], •finfo[""]], •lf["Proposition (2)", MAN[Confucius], Implies[MAN[•var[x]], MORTAL[ •var[x]]]], •finfo[""]], •lf["Proposition (2)", MAN[Confucius],

• •finfo[""]]], •lkTab[{{"ProversHistory", {}}, {"LastProver", PND}, {"PND", •lkTab[{{"ModusPonensFacts", finfo[""]]], •lkTab[{{"ProversHistory", {}}, {"LastProver", PND}, {"PND", •lkTab[{{"ModusPonensFacts", •lkTab[{}]}, {"MatchingFacts", •lkTab[{}]}, {"NewFormulae", {{}, •lkTab[{}]}, {"MatchingFacts", •lkTab[{}]}, {"NewFormulae", {{}, Theorema`Provers`PredicateLogic`Auxiliary`Private`•oldForms[]}}, {"GoalHistory", Theorema`Provers`PredicateLogic`Auxiliary`Private`•oldForms[]}}, {"GoalHistory", {MORTAL[Confucius]}}}]}}]], Theorema`Provers`Common`ProofObject`Private`Constr\{MORTAL[Confucius]}}}]}}]], Theorema`Provers`Common`ProofObject`Private`Constr\

aints[], "proved"]]aints[], "proved"]]

Example - $TmaProofObjectExample - $TmaProofObject

Page 15: Towards Natural Style for Resolution Proofs  in Theorema

Theorema`Provers`Common`ProofObject`Private`AndNode[ Theorema`Provers`Common`ProofObject`PrivaTheorema`Provers`Common`ProofObject`Private`AndNode[ Theorema`Provers`Common`ProofObject`Private`ProofInfo["DoneMatching", •usedFormulae[], te`ProofInfo["DoneMatching", •usedFormulae[],

• •generatedFormulae[]], generatedFormulae[]], Theorema`Provers`Common`ProofObject`Private`Subgoals[ Theorema`Provers`Common`ProofObject`Theorema`Provers`Common`ProofObject`Private`Subgoals[ Theorema`Provers`Common`ProofObject`Private`AndNode[Theorema`Provers`Common`ProofObject`Private`ProofInfo[ "ConclusionIsAssumption",Private`AndNode[Theorema`Provers`Common`ProofObject`Private`ProofInfo[ "ConclusionIsAssumption", •usedFormulae•usedFormulae[ "Proposition (3)", "Proposition (1)/1"], •generatedFormulae[]], [ "Proposition (3)", "Proposition (1)/1"], •generatedFormulae[]], Theorema`Provers`Common`ProofObject`Private`Subgoals[], Theorema`Provers`Common`ProofObject`Private`Subgoals[], Theorema`Provers`Common`ProofObject`Private`MainProofSituation[ •lf["Proposition (3)", Theorema`Provers`Common`ProofObject`Private`MainProofSituation[ •lf["Proposition (3)", MORTAL[Confucius], •finfo[]], •asml[•lf[ "Proposition (1)/1", MORTAL[Confucius], •finfo[""]], •lf["Proposition MORTAL[Confucius], •finfo[]], •asml[•lf[ "Proposition (1)/1", MORTAL[Confucius], •finfo[""]], •lf["Proposition (1)", ™ForAll[•range[•simpleRange[•var[x]]], True, ™Implies[MAN[•var[x]], (1)", ™ForAll[•range[•simpleRange[•var[x]]], True, ™Implies[MAN[•var[x]],

MORTAL[•var[x]]]], •finfo[""]], •lf["Proposition (2)", MAN[Confucius], •finfo[""]]], MORTAL[•var[x]]]], •finfo[""]], •lf["Proposition (2)", MAN[Confucius], •finfo[""]]], •lkTab[{{"ProversHistory", {PND}}, {"LastProver", PND}, {"PND", •lkTab[{{"ModusPonensFacts", •lkTab[{{"ProversHistory", {PND}}, {"LastProver", PND}, {"PND", •lkTab[{{"ModusPonensFacts",

• •lkTab[{}]}, {"NewFormulae", {{}, Theorema`Provers`PredicateLogic`Auxiliary`Private`•oldForms[]}}, lkTab[{}]}, {"NewFormulae", {{}, Theorema`Provers`PredicateLogic`Auxiliary`Private`•oldForms[]}}, {"GoalHistory", {"GoalHistory",

{MORTAL[Confucius]}}, {"MatchingFacts", •lkTab[{{{"Proposition (1)", "Proposition (2)"}, {MORTAL[Confucius]}}, {"MatchingFacts", •lkTab[{{{"Proposition (1)", "Proposition (2)"}, True}}]}}]}}]], Theorema`Provers`Common`ProofObject`Private`Constraints[], "proved"]], True}}]}}]}}]], Theorema`Provers`Common`ProofObject`Private`Constraints[], "proved"]], Theorema`Provers`Common`ProofObject`Private`MainProofSituation[•lf["Proposition (3)", Theorema`Provers`Common`ProofObject`Private`MainProofSituation[•lf["Proposition (3)",

MORTAL[Confucius], •finfo[]], •asml[•lf["Proposition (1)", ™ForAll[ •range[•simpleRange[•var[x]]], True, MORTAL[Confucius], •finfo[]], •asml[•lf["Proposition (1)", ™ForAll[ •range[•simpleRange[•var[x]]], True,

™ ™Implies[MAN[•var[x]], MORTAL[ •var[x]]]], •finfo[""]], •lf["Proposition (2)", MAN[Confucius], Implies[MAN[•var[x]], MORTAL[ •var[x]]]], •finfo[""]], •lf["Proposition (2)", MAN[Confucius],

• •finfo[""]]], •lkTab[{{"ProversHistory", {}}, {"LastProver", PND}, {"PND", •lkTab[{{"ModusPonensFacts", finfo[""]]], •lkTab[{{"ProversHistory", {}}, {"LastProver", PND}, {"PND", •lkTab[{{"ModusPonensFacts", •lkTab[{}]}, {"MatchingFacts", •lkTab[{}]}, {"NewFormulae", {{}, •lkTab[{}]}, {"MatchingFacts", •lkTab[{}]}, {"NewFormulae", {{}, Theorema`Provers`PredicateLogic`Auxiliary`Private`•oldForms[]}}, {"GoalHistory", Theorema`Provers`PredicateLogic`Auxiliary`Private`•oldForms[]}}, {"GoalHistory", {MORTAL[Confucius]}}}]}}]], Theorema`Provers`Common`ProofObject`Private`Constr\{MORTAL[Confucius]}}}]}}]], Theorema`Provers`Common`ProofObject`Private`Constr\

aints[], "proved"]]aints[], "proved"]]

Example - $TmaProofObjectExample - $TmaProofObject

Page 16: Towards Natural Style for Resolution Proofs  in Theorema

Theorema`Provers`Common`ProofObject`Private`AndNode[ Theorema`Provers`Common`ProofObject`PrivaTheorema`Provers`Common`ProofObject`Private`AndNode[ Theorema`Provers`Common`ProofObject`Private`ProofInfo["DoneMatching", •usedFormulae[], te`ProofInfo["DoneMatching", •usedFormulae[],

• •generatedFormulae[]], generatedFormulae[]], Theorema`Provers`Common`ProofObject`Private`Subgoals[ Theorema`Provers`Common`ProofObject`Theorema`Provers`Common`ProofObject`Private`Subgoals[ Theorema`Provers`Common`ProofObject`Private`AndNode[Theorema`Provers`Common`ProofObject`Private`ProofInfo[ "ConclusionIsAssumption", Private`AndNode[Theorema`Provers`Common`ProofObject`Private`ProofInfo[ "ConclusionIsAssumption", •usedFormulae•usedFormulae[ "Proposition (3)", "Proposition (1)/1"], [ "Proposition (3)", "Proposition (1)/1"], •generatedFormulae[]•generatedFormulae[]], ], Theorema`Provers`Common`ProofObject`Private`Subgoals[], Theorema`Provers`Common`ProofObject`Private`Subgoals[], Theorema`Provers`Common`ProofObject`Private`MainProofSituation[ •lf["Proposition (3)", Theorema`Provers`Common`ProofObject`Private`MainProofSituation[ •lf["Proposition (3)", MORTAL[Confucius], •finfo[]], •asml[•lf[ "Proposition (1)/1", MORTAL[Confucius], •finfo[""]], •lf["Proposition MORTAL[Confucius], •finfo[]], •asml[•lf[ "Proposition (1)/1", MORTAL[Confucius], •finfo[""]], •lf["Proposition (1)", ™ForAll[•range[•simpleRange[•var[x]]], True, ™Implies[MAN[•var[x]], (1)", ™ForAll[•range[•simpleRange[•var[x]]], True, ™Implies[MAN[•var[x]],

MORTAL[•var[x]]]], •finfo[""]], •lf["Proposition (2)", MAN[Confucius], •finfo[""]]], MORTAL[•var[x]]]], •finfo[""]], •lf["Proposition (2)", MAN[Confucius], •finfo[""]]], •lkTab[{{"ProversHistory", {PND}}, {"LastProver", PND}, {"PND", •lkTab[{{"ModusPonensFacts", •lkTab[{{"ProversHistory", {PND}}, {"LastProver", PND}, {"PND", •lkTab[{{"ModusPonensFacts",

• •lkTab[{}]}, {"NewFormulae", {{}, Theorema`Provers`PredicateLogic`Auxiliary`Private`•oldForms[]}}, lkTab[{}]}, {"NewFormulae", {{}, Theorema`Provers`PredicateLogic`Auxiliary`Private`•oldForms[]}}, {"GoalHistory", {"GoalHistory",

{MORTAL[Confucius]}}, {"MatchingFacts", •lkTab[{{{"Proposition (1)", "Proposition (2)"}, {MORTAL[Confucius]}}, {"MatchingFacts", •lkTab[{{{"Proposition (1)", "Proposition (2)"}, True}}]}}]}}]], Theorema`Provers`Common`ProofObject`Private`Constraints[], "proved"]], True}}]}}]}}]], Theorema`Provers`Common`ProofObject`Private`Constraints[], "proved"]], Theorema`Provers`Common`ProofObject`Private`MainProofSituation[•lf["Proposition (3)", Theorema`Provers`Common`ProofObject`Private`MainProofSituation[•lf["Proposition (3)",

MORTAL[Confucius], •finfo[]], •asml[•lf["Proposition (1)", ™ForAll[ •range[•simpleRange[•var[x]]], True, MORTAL[Confucius], •finfo[]], •asml[•lf["Proposition (1)", ™ForAll[ •range[•simpleRange[•var[x]]], True,

™ ™Implies[MAN[•var[x]], MORTAL[ •var[x]]]], •finfo[""]], •lf["Proposition (2)", MAN[Confucius], Implies[MAN[•var[x]], MORTAL[ •var[x]]]], •finfo[""]], •lf["Proposition (2)", MAN[Confucius],

• •finfo[""]]], •lkTab[{{"ProversHistory", {}}, {"LastProver", PND}, {"PND", •lkTab[{{"ModusPonensFacts", finfo[""]]], •lkTab[{{"ProversHistory", {}}, {"LastProver", PND}, {"PND", •lkTab[{{"ModusPonensFacts", •lkTab[{}]}, {"MatchingFacts", •lkTab[{}]}, {"NewFormulae", {{}, •lkTab[{}]}, {"MatchingFacts", •lkTab[{}]}, {"NewFormulae", {{}, Theorema`Provers`PredicateLogic`Auxiliary`Private`•oldForms[]}}, {"GoalHistory", Theorema`Provers`PredicateLogic`Auxiliary`Private`•oldForms[]}}, {"GoalHistory", {MORTAL[Confucius]}}}]}}]], Theorema`Provers`Common`ProofObject`Private`Constr\{MORTAL[Confucius]}}}]}}]], Theorema`Provers`Common`ProofObject`Private`Constr\

aints[], "proved"]]aints[], "proved"]]

Example - $TmaProofObjectExample - $TmaProofObject

Page 17: Towards Natural Style for Resolution Proofs  in Theorema

Theorema Proof NotebookTheorema Proof NotebookA:\Link1\-home-info-www-people-knakagaw-ex-indexlnk2.htmA:\Link1\-home-info-www-people-knakagaw-ex-indexlnk2.htmPredicatePredicate LogicLogic ProverProver

Prove:Prove:(Proposition (6))¬((¬Q)\[Or](¬R)),(Proposition (6))¬((¬Q)\[Or](¬R)),under the assumptions:under the assumptions:(Proposition (1))P\[Or]Q,(Proposition (1))P\[Or]Q,(Proposition (2))Q\[Or]R,(Proposition (2))Q\[Or]R,(Proposition (3))R\[Or]W,(Proposition (3))R\[Or]W,(Proposition (4))(¬R)\[Or](¬P),(Proposition (4))(¬R)\[Or](¬P),(Proposition (5))(¬W)\[Or](¬Q).(Proposition (5))(¬W)\[Or](¬Q).We prove (Proposition (6)) by contradiction.We prove (Proposition (6)) by contradiction.We assume We assume (1)(¬Q)\[Or](¬R),(1)(¬Q)\[Or](¬R),and show a contradiction.and show a contradiction.We prove (a contradiction) by case distinction using (1).We prove (a contradiction) by case distinction using (1).Case (1.1) ¬Q:Case (1.1) ¬Q:We delete (Proposition (5)) because it is subsumed by We delete (Proposition (5)) because it is subsumed by

(1.1).(1.1).From (1.1) and (Proposition (1)) we obtain by resolutionFrom (1.1) and (Proposition (1)) we obtain by resolution(2)P.(2)P.From (2) and (Proposition (4)) we obtain by resolutionFrom (2) and (Proposition (4)) we obtain by resolution(3)¬R.(3)¬R.From (1.1) and (Proposition (2)) we obtain by resolutionFrom (1.1) and (Proposition (2)) we obtain by resolution(4)R.(4)R.Formula (a contradiction) is proved because (4) and (3) Formula (a contradiction) is proved because (4) and (3)

are contradictory.are contradictory.Case (1.2) ¬R:Case (1.2) ¬R:We delete (Proposition (4)) because it is subsumed by We delete (Proposition (4)) because it is subsumed by

(1.2).(1.2).From (1.2) and (Proposition (2)) we obtain by resolutionFrom (1.2) and (Proposition (2)) we obtain by resolution(5)Q.(5)Q.We delete (Proposition (1)) because it is subsumed by We delete (Proposition (1)) because it is subsumed by

(5).(5).

From (5) and (Proposition (5)) we obtain by resolutionFrom (5) and (Proposition (5)) we obtain by resolution(6)¬W.(6)¬W.From (1.2) and (Proposition (3)) we obtain by resolutionFrom (1.2) and (Proposition (3)) we obtain by resolution(7)W.(7)W.Formula (a contradiction) is proved because (7) and (6) Formula (a contradiction) is proved because (7) and (6)

are contradictory.are contradictory.

Additional Proof Generation InformationAdditional Proof Generation InformationThe Proof CallThe Proof CallProve[Proposition["6"],Prove[Proposition["6"], using\[Rule]using\[Rule]

{Proposition["1"],Proposition["2"],Proposition["3"],{Proposition["1"],Proposition["2"],Proposition["3"], Proposition["4"],Proposition["5"]},SearchDepth->35];Proposition["4"],Proposition["5"]},SearchDepth->35];

Formulae Occuring during the ProofFormulae Occuring during the Proof(1)(¬Q)\[Or](¬R)(1)(¬Q)\[Or](¬R)(1.1)¬Q(1.1)¬Q(1.2)¬R(1.2)¬R(2)P(2)P(3)¬R(3)¬R(4)R(4)R(5)Q(5)Q(6)¬W(6)¬W(7)W(7)W(a contradiction)False(a contradiction)False(Proposition (1))P\[Or]Q(Proposition (1))P\[Or]Q(Proposition (2))Q\[Or]R(Proposition (2))Q\[Or]R(Proposition (3))R\[Or]W(Proposition (3))R\[Or]W(Proposition (4))(¬R)\[Or](¬P)(Proposition (4))(¬R)\[Or](¬P)(Proposition (5))(¬W)\[Or](¬Q)(Proposition (5))(¬W)\[Or](¬Q)(Proposition (6))¬((¬Q)\[Or](¬R))(Proposition (6))¬((¬Q)\[Or](¬R))

Page 18: Towards Natural Style for Resolution Proofs  in Theorema

and...and...

Otter Otter

a resolution-style theorem proving program for a resolution-style theorem proving program for first order with equalityfirst order with equality

includes the inference rules: binary resolution, includes the inference rules: binary resolution, hyperresolution, UR-resolution and binary hyperresolution, UR-resolution and binary paramodulationparamodulation

transforms formulae into normal formtransforms formulae into normal form there is a direct link with Theoremathere is a direct link with Theorema

Page 19: Towards Natural Style for Resolution Proofs  in Theorema

T h e o r e m a

Proof in a notebooka

Theorema and OtterTheorema and Otterblack box linkblack box link

Theorema callProve[…]

TranslatorStep 2

Step 3

Step 5

Step 1

Linking component to external system

Translating component

ExternalSystem

Step 4

Page 20: Towards Natural Style for Resolution Proofs  in Theorema

T h e o r e m a

Proof in a notebooka

Theorema and OtterTheorema and Otterwhite box linkwhite box link

Theorema callProve[…]

TranslatorStep 2

Step 3

Step 5

Step 1

Linking component to external system

Translating component

ExternalSystem

Step 4Step 7Back

TranslatorStep 6

Page 21: Towards Natural Style for Resolution Proofs  in Theorema

Presentation OutlinePresentation Outline

Work contextWork context

MotivationMotivation

Tool Tool supportsupport

ApproachApproach

NotionsNotions

My workMy work

ExampleExample

Future work...Future work...

Page 22: Towards Natural Style for Resolution Proofs  in Theorema

How?How?

Understand underlying mechanisms of Understand underlying mechanisms of proving in Theoremaproving in Theorema

Understand the interaction with external Understand the interaction with external provers (i.e. Otter) of Theoremaprovers (i.e. Otter) of Theorema

Study the current status of research w.r.t. Study the current status of research w.r.t. Natural Style (i.e. Natural Style (i.e. Transformation of Machine-Transformation of Machine-Found Proofs into Assertion Level Proofs, Found Proofs into Assertion Level Proofs, Andreas Meier)Andreas Meier)

Page 23: Towards Natural Style for Resolution Proofs  in Theorema

Other ApproachesOther Approaches1.1.

Search for an optimal proof by applying the transformation rules on-the-fly:

Rewrite-rules (Buchberger, Jebelean)S-decomposition in [Jebelean]

Page 24: Towards Natural Style for Resolution Proofs  in Theorema

Other ApproachesOther Approaches2.2.

Transform Resolution proofs into Natural Transform Resolution proofs into Natural Deduction proofs Deduction proofs

[Andrews, Miller, Schmitt & Kreitz, Lingenfelder][Andrews, Miller, Schmitt & Kreitz, Lingenfelder]

Problems:Problems: – many levels of indirect partsmany levels of indirect parts

CauseCause: use of ND-rules for eliminating : use of ND-rules for eliminating quantifiers and connectorsquantifiers and connectors

– representationrepresentation CauseCause: a large number of low-level : a large number of low-level syntactical manipulations of logical quantifiers syntactical manipulations of logical quantifiers and connectivesand connectives

Page 25: Towards Natural Style for Resolution Proofs  in Theorema

This approachThis approach

Andreas Meier -> perform Andreas Meier -> perform transformations at the assertion leveltransformations at the assertion level

AssertionsAssertions::

theorems and definitionstheorems and definitions

Page 26: Towards Natural Style for Resolution Proofs  in Theorema

Schemata of the ApproachSchemata of the Approach

Theorema

Otter

Proof callProve[…]

Proof result (string)

Refutation graphs

Transformation

algorithm

Extra

c

t

Relevant information

§TmaProofObject

ND proof

ND*rules

Transformationprocedures

NaturalStyleProof

Notebook

Page 27: Towards Natural Style for Resolution Proofs  in Theorema

Which proofs?Which proofs?

Proofs obtained by Proofs obtained by resolution resolution through refutationthrough refutation

A set of clauses is unsatisfiable A set of clauses is unsatisfiable (inconsistent) iff there is a resolution (inconsistent) iff there is a resolution deduction of the empty clause deduction of the empty clause from S.from S.

Page 28: Towards Natural Style for Resolution Proofs  in Theorema

RefutationRefutation

DefinitionA refutation of Δ is a derivation in which some finite subset of ground formulas is unsatisable.(Δ = a finite set of closed formulae in normal form)

How? How? Add negated goal to the set of axioms and prove Add negated goal to the set of axioms and prove the inconsistency of the new set by producing the inconsistency of the new set by producing the empty clause through a set of inferences.the empty clause through a set of inferences.

Page 29: Towards Natural Style for Resolution Proofs  in Theorema

Resolution PrincipleResolution Principle

(Robinson, 1965) (Robinson, 1965) For any two clauses C and D, if there is a For any two clauses C and D, if there is a literal L1 in C that is complementary to a literal L1 in C that is complementary to a literal L2 in D, then delete L1 and L2 from literal L2 in D, then delete L1 and L2 from C and D, respectively, and construct the C and D, respectively, and construct the disjunction of the remaining clauses. The disjunction of the remaining clauses. The constructed clause is a constructed clause is a resolventresolvent of C and of C and DD (Chang and Lee, Symbolic Logic and Mechanical Theorem Proving)

Page 30: Towards Natural Style for Resolution Proofs  in Theorema

Problem:Problem:

Proofs’ format vary with the systeme Proofs’ format vary with the systeme (automated theorem prover)(automated theorem prover)

Solution:Solution:

Find a common representation of machine-Find a common representation of machine-found proofs.found proofs.

Refutation GraphsRefutation Graphs

((Transformation of Machine-Found Proofs into Transformation of Machine-Found Proofs into

Assertion Level Proofs, Assertion Level Proofs, Andreas MeierAndreas Meier))

Page 31: Towards Natural Style for Resolution Proofs  in Theorema

Presentation OutlinePresentation Outline

Work contextWork context

MotivationMotivation

Tool Tool supportsupport

ApproachApproach

NotionsNotions

My workMy work

ExampleExample

Future work...Future work...

Page 32: Towards Natural Style for Resolution Proofs  in Theorema

DefinitionsDefinitions

CClause graphlause graph - a quadruple G = (- a quadruple G = (LL,,CC,,MMLLitit,,), where), where LL is a finite set; elements are is a finite set; elements are literal nodesliteral nodes CC22LL is a partition of the set of literal nodes; is a partition of the set of literal nodes;

elements are elements are clause nodesclause nodes of G of G MMLLitit is a mapping from is a mapping from LL to the set of literals, labelling to the set of literals, labelling

literal nodes with literalsliteral nodes with literals , the set of links, is a partition of a subset of , the set of links, is a partition of a subset of LL, s.t. , s.t.

for all for all the following hold: the following hold:11 All the literal nodes in one link are labeled with literals whos All the literal nodes in one link are labeled with literals whos

atoms are unifibleatoms are unifible

22 There must be at least one positive shore and one negative There must be at least one positive shore and one negative literal literal in a linkliteral literal in a link

Page 33: Towards Natural Style for Resolution Proofs  in Theorema

Literal nodes not belonging to any link are called Literal nodes not belonging to any link are called purepure

Each link Each link has two opposite shores: a has two opposite shores: a positive positive shoreshore S S++(() and a ) and a negativenegative shoreshore S S--(() (i.e. ) (i.e. literal nodes with positive and negative literals, literal nodes with positive and negative literals, respectively)respectively)

trailtrail - a walk in which all links are distrinct; joins - a walk in which all links are distrinct; joins start and end clause nodes; a trail to a link start and end clause nodes; a trail to a link - a - a trail whose last clause has a literal in trail whose last clause has a literal in

cyclecycle - a trail joining a clause node to itself; a - a trail joining a clause node to itself; a graph with such a cicle is calledgraph with such a cicle is called cyclic cyclic

Page 34: Towards Natural Style for Resolution Proofs  in Theorema

Deduction graphDeduction graph - a non-empty, ground - a non-empty, ground (i.e. all literals are ground) and acyclic (i.e. all literals are ground) and acyclic clause graphclause graph

Refutation graphRefutation graph a deduction graph a deduction graph without pure literal nodeswithout pure literal nodes

Minimal deduction (refutation) graphMinimal deduction (refutation) graph - one - one containing no proper subgraph which is containing no proper subgraph which is itself a deduction (refutation) graph)itself a deduction (refutation) graph)

+A+B

-A +B-BExample

Page 35: Towards Natural Style for Resolution Proofs  in Theorema

Presentation OutlinePresentation Outline

Work contextWork context

MotivationMotivation

Tool Tool supportsupport

ApproachApproach

NotionsNotions

My workMy work

ExampleExample

Future work...Future work...

Page 36: Towards Natural Style for Resolution Proofs  in Theorema

How to obtain refutation How to obtain refutation graphs?graphs?

Call Otter for proving by resolution Call Otter for proving by resolution (automatic transformation in normal form)(automatic transformation in normal form)

Retrieve the result in $TmaProofObjectRetrieve the result in $TmaProofObject

Parse $TmaProofObject and extract Parse $TmaProofObject and extract relevant information (used formulae, relevant information (used formulae, generated formulae)generated formulae)

Build the data structureBuild the data structure

Page 37: Towards Natural Style for Resolution Proofs  in Theorema

AlgorithmAlgorithm

C1;C2; :::;Cn - initial set of clauses - represent the nodes in the refutation graph

Identify the resolvents R1;R2; :::;Rm generated by the inference rules

Determine the links in the refutation graph:

1. Identify in each resolvent Ri from the set R1;R2; :::;Rm which original clause has been used. For the inferences using resolvents to generate new ones, identify from which original clauses have the former been generated

2. Extract from the initial clauses the literals remaining after the resolution step and connect them s. t. each link has a positive shore and a negative one.

Page 38: Towards Natural Style for Resolution Proofs  in Theorema

RemarksRemarks

It is possible that a literal in Ri originates from more than one initial clause all labels are stored s.t. all possible links between the nodes of the refutation graph are established

Parsing has been performed on strings (black box link)

Page 39: Towards Natural Style for Resolution Proofs  in Theorema

Presentation OutlinePresentation Outline

Work contextWork contextMotivationMotivationTool Tool supportsupportApproachApproachNotionsNotionsMy workMy workExampleExampleFuture work...Future work...

Page 40: Towards Natural Style for Resolution Proofs  in Theorema

Simple eSimple examplexampleConsideringConsidering prove

Q R, R (P Q), P (Q R) P Q

Page 41: Towards Natural Style for Resolution Proofs  in Theorema

Refutation graphRefutation graph

q p

r -q

-r p

-p -q

q -r

-p q r

6

6.2

6.12

3

1

5

4

2.1

2.2

3.2

3.1

1.1

1.2

5.3

5.1

5.2

4.1

4.2

Theorem A deduction graph is minimal iff it has one more clauses as links. [Eisinger]

Page 42: Towards Natural Style for Resolution Proofs  in Theorema

Data StructureData Structure

Page 43: Towards Natural Style for Resolution Proofs  in Theorema

Presentation OutlinePresentation Outline

Work contextWork contextMotivationMotivationTool Tool supportsupportApproachApproachNotionsNotionsMy workMy workExampleExampleFuture work...Future work...

Page 44: Towards Natural Style for Resolution Proofs  in Theorema

Future directionsFuture directions

Implementation of transformation Implementation of transformation procedure in Theoremaprocedure in Theorema

Extend the analysis to predicate logicExtend the analysis to predicate logic

Analize proofs obtained from other provers Analize proofs obtained from other provers or with other proving methodsor with other proving methods

Page 45: Towards Natural Style for Resolution Proofs  in Theorema

What’s next?What’s next?

Analyse and transform the refutation Analyse and transform the refutation graphs s.t. proofs are simplifiedgraphs s.t. proofs are simplified

How?How?

The solution offered by Andreas MeierThe solution offered by Andreas Meier

with possible(?) improvementswith possible(?) improvements

Page 46: Towards Natural Style for Resolution Proofs  in Theorema

DefinitionsDefinitionsUnit Clause StepUnit Clause Step (UCS) (UCS)

G - refutation graph. {AC, {UCG - refutation graph. {AC, {UC11,…, UC,…, UCnn}, R}, Rlitlit} is a UCS in G if:} is a UCS in G if:

AC, UCAC, UC11,…, UC,…, UCnn - clauses in G, R - clauses in G, Rlit lit - literal of AC- literal of AC

UCUC11,…, UC,…, UCnn - unit clauses, AC - not an unit clause - unit clauses, AC - not an unit clause

each literal of AC (except Reach literal of AC (except Rlitlit) - linked with the some unit ) - linked with the some unit

clauses’s literal of UCclauses’s literal of UC11,…, Ucn,…, Ucn

UCUC11,…, UC,…, UCnn} - } - unit clausesunit clauses , AC - , AC - assertion clauseassertion clause, R, Rlitlit - -

result literalresult literal of the UCS of the UCS

RLitAC

UC1 UC2 UC3

Page 47: Towards Natural Style for Resolution Proofs  in Theorema

UCS - ReplacementUCS - Replacement

G - refutation graph. {AC, {UCG - refutation graph. {AC, {UC11,…, UC,…, UCnn}, R}, Rlitlit} a } a UCS in G, UCUCS in G, UCnewnew a new unit clause consisting of a new unit clause consisting of RRlitlit. UCS-replacement:. UCS-replacement:

Remove AC from GRemove AC from G Add UCAdd UCnewnew to G to G - link connecting R- link connecting R litlit of AC. If of AC. If was removed was removed

at first step, add at first step, add ’ connecting R’ connecting Rlitlit of UC of UCnewnew and and literals connected by literals connected by . Otherwise, add R. Otherwise, add Rlitlit of of UCUCnew new to to ..

Each of UCEach of UC11,…, UC,…, UCnn, whose literal became pure , whose literal became pure at 1st step is removedat 1st step is removed

Page 48: Towards Natural Style for Resolution Proofs  in Theorema

UCS-Decomposition AlgorithmUCS-Decomposition Algorithm

G - refutation graphG - refutation graph

Initialization-stepInitialization-step: D(G): D(G)={} ={} şişi G Gcurrcurr=G=G

UCS - replacement step:UCS - replacement step: While While GGcurrcurr is not an end is not an end

step:step: Seek and UCS Seek and UCS in in GGcurrcurr

Replace Replace in in GGcurr curr and assign Gand assign Gcurr curr to the resulting to the resulting

refutation graphrefutation graph Assign D(G)=D(G) Assign D(G)=D(G) { {}}If there is no UCS in If there is no UCS in GGcurrcurr stop with error message stop with error message

Final step: If Final step: If GGcurr curr has the form of an end step S, has the form of an end step S,

assign D(G)=D(G) assign D(G)=D(G) S and finish S and finish

Page 49: Towards Natural Style for Resolution Proofs  in Theorema

Obtain UCS-decomposable Obtain UCS-decomposable graphsgraphs

Liquidation-Strategy with the Direct-Decomposition MethodLiquidation-Strategy with the Direct-Decomposition Method

Not minimal => is liquidated

Transformation rules

Page 50: Towards Natural Style for Resolution Proofs  in Theorema

Obtain UCS-decomposable Obtain UCS-decomposable graphs graphs

Separation Strategy with the Direct Decomposition MethodSeparation Strategy with the Direct Decomposition Method

Transformation rules

Page 51: Towards Natural Style for Resolution Proofs  in Theorema

Obtain UCS-decomposable Obtain UCS-decomposable graphs graphs

Liquidation Strategy with the Symetrical Simplification MethodLiquidation Strategy with the Symetrical Simplification Method

Transformation rules

Page 52: Towards Natural Style for Resolution Proofs  in Theorema

Obtain UCS-decomposable Obtain UCS-decomposable graphs graphs

Separation Strategy with the Symetrical Simplification MethodSeparation Strategy with the Symetrical Simplification Method

Transformation rules

Page 53: Towards Natural Style for Resolution Proofs  in Theorema

Thank youThank you