Title: Towards Natural Style for Resolution Proofs in Theorema
1Towards Natural Style for Resolution Proofs in
Theorema
- Diana Dubu
- West University of Timisoara
- eAustria Research Institute
- Supervisor
- Prof. Dr. Tudor Jebelean
2Presentation Outline
- Work context
- Motivation
- Tool support
- Approach
- Notions
- My work
- Example
- Future work...
3Presentation Outline
- Work context
- Motivation
- Tool support
- Approach
- Notions
- My work
- Example
- Future work...
4Research Environment
- Scholarship at the Research Institute for
Symbolic Computation (RISC), Johannes Kepler
Universität, Linz, Austria - Program Coordinator Prof. Dr. Tudor Jebelean
- Attendance at the Automated Theorem Proving II
lecture and Theorema Seminars
- Further collaborations with Theorema Group members
5Presentation Outline
- Work context
- Motivation
- Tool support
- Approach
- Notions
- My work
- Example
- Future work...
6Why Natural Style?
- Problems 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
- Solution
- construct a uniform machine-independent
representation - translate machine-found proofs into a
human-comprehensible format
7Why Natural Style?
- Problems 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
- Solution
- construct a uniform machine-independent
representation - translate machine-found proofs into a
human-comprehensible format
8Presentation Outline
- Work context
- Motivation
- Tool support
- Approach
- Notions
- My work
- Example
- Future work...
9Toolkit
- Theorema
-
- 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 ATPs - interacts with the user in the language of
predicate logic (the natural language for
expressing mathematical properties and algorithms)
10Proving in Theorema
- methods for several mathematical domains
- propositional logic
- general predicate logic
- induction over integers and over lists
- set theory
- boolean combinations of polynomial
inequalities (using Groebner Bases) - combinatorial summation (using PauleSchornZeilbe
rger) - PCS (provingcomputingsolving) for proving in
higher-order logic with equality Buchberger
11Tma Proof Object
- generated as a result of the proof
- contains the proof tree - information about
- assumptions list
- subgoals at each proof step
- formulae used at each step
- formulae generated at each step
- status (proved, failed, pending)
12Tma Proof Object
- generated as a result of the proof
- contains the proof tree - information about
- assumptions list
- subgoals at each proof step
- formulae used at each step
- formulae generated at each step
- status (proved, failed, pending)
13Tma Proof Object
- generated as a result of the proof
- contains the proof tree - information about
- assumptions list
- subgoals at each proof step
- formulae used at each step
- formulae generated at each step
- status (proved, failed, pending)
14Example - TmaProofObject
- TheoremaProversCommonProofObjectPrivateAndNod
e TheoremaProversCommonProofObjectPrivat
eProofInfo"DoneMatching", usedFormulae, - generatedFormulae, TheoremaProversCo
mmonProofObjectPrivateSubgoals
TheoremaProversCommonProofObjectPrivateAndNod
eTheoremaProversCommonProofObjectPrivateProo
fInfo "ConclusionIsAssumption", usedFormulae
"Proposition (3)", "Proposition (1)/1",
generatedFormulae, TheoremaProversCommonPro
ofObjectPrivateSubgoals, TheoremaProversComm
onProofObjectPrivateMainProofSituation
lf"Proposition (3)", MORTALConfucius,
finfo, asmllf "Proposition (1)/1",
MORTALConfucius, finfo"", lf"Proposition
(1)", ForAllrangesimpleRangevarx,
True, ImpliesMANvarx, - MORTALvarx, finfo"",
lf"Proposition (2)", MANConfucius,
finfo"", lkTab"ProversHistory", PND,
"LastProver", PND, "PND", lkTab"ModusPonen
sFacts", - lkTab, "NewFormulae",
, TheoremaProversPredicateLogicAuxiliaryPri
vateoldForms, "GoalHistory", - MORTALConfucius,
"MatchingFacts", lkTab"Proposition (1)",
"Proposition (2)", True,
TheoremaProversCommonProofObjectPrivateConstr
aints, "proved", TheoremaProversCommonProof
ObjectPrivateMainProofSituationlf"Proposition
(3)", - MORTALConfucius, finfo,
asmllf"Proposition (1)", ForAll
rangesimpleRangevarx, True, - ImpliesMANvarx, MORTAL
varx, finfo"", lf"Proposition (2)",
MANConfucius, - finfo"", lkTab"ProversHistory",
, "LastProver", PND, "PND",
lkTab"ModusPonensFacts", lkTab,
"MatchingFacts", lkTab, "NewFormulae",
, TheoremaProversPredicateLogicAuxiliaryPri
vateoldForms, "GoalHistory",
MORTALConfucius, TheoremaProversComm
onProofObjectPrivateConstr\ - aints, "proved"
15Example - TmaProofObject
- TheoremaProversCommonProofObjectPrivateAndNod
e TheoremaProversCommonProofObjectPrivat
eProofInfo"DoneMatching", usedFormulae, - generatedFormulae, TheoremaProversCo
mmonProofObjectPrivateSubgoals
TheoremaProversCommonProofObjectPrivateAndNod
eTheoremaProversCommonProofObjectPrivateProo
fInfo "ConclusionIsAssumption", usedFormulae
"Proposition (3)", "Proposition (1)/1",
generatedFormulae, TheoremaProversCommonPro
ofObjectPrivateSubgoals, TheoremaProversComm
onProofObjectPrivateMainProofSituation
lf"Proposition (3)", MORTALConfucius,
finfo, asmllf "Proposition (1)/1",
MORTALConfucius, finfo"", lf"Proposition
(1)", ForAllrangesimpleRangevarx,
True, ImpliesMANvarx, - MORTALvarx, finfo"",
lf"Proposition (2)", MANConfucius,
finfo"", lkTab"ProversHistory", PND,
"LastProver", PND, "PND", lkTab"ModusPonen
sFacts", - lkTab, "NewFormulae",
, TheoremaProversPredicateLogicAuxiliaryPri
vateoldForms, "GoalHistory", - MORTALConfucius,
"MatchingFacts", lkTab"Proposition (1)",
"Proposition (2)", True,
TheoremaProversCommonProofObjectPrivateConstr
aints, "proved", TheoremaProversCommonProof
ObjectPrivateMainProofSituationlf"Proposition
(3)", - MORTALConfucius, finfo,
asmllf"Proposition (1)", ForAll
rangesimpleRangevarx, True, - ImpliesMANvarx, MORTAL
varx, finfo"", lf"Proposition (2)",
MANConfucius, - finfo"", lkTab"ProversHistory",
, "LastProver", PND, "PND",
lkTab"ModusPonensFacts", lkTab,
"MatchingFacts", lkTab, "NewFormulae",
, TheoremaProversPredicateLogicAuxiliaryPri
vateoldForms, "GoalHistory",
MORTALConfucius, TheoremaProversComm
onProofObjectPrivateConstr\ - aints, "proved"
16Example - TmaProofObject
- TheoremaProversCommonProofObjectPrivateAndNod
e TheoremaProversCommonProofObjectPrivat
eProofInfo"DoneMatching", usedFormulae, - generatedFormulae, TheoremaProversCo
mmonProofObjectPrivateSubgoals
TheoremaProversCommonProofObjectPrivateAndNod
eTheoremaProversCommonProofObjectPrivateProo
fInfo "ConclusionIsAssumption", usedFormulae
"Proposition (3)", "Proposition (1)/1",
generatedFormulae, TheoremaProversCommonPro
ofObjectPrivateSubgoals, TheoremaProversComm
onProofObjectPrivateMainProofSituation
lf"Proposition (3)", MORTALConfucius,
finfo, asmllf "Proposition (1)/1",
MORTALConfucius, finfo"", lf"Proposition
(1)", ForAllrangesimpleRangevarx,
True, ImpliesMANvarx, - MORTALvarx, finfo"",
lf"Proposition (2)", MANConfucius,
finfo"", lkTab"ProversHistory", PND,
"LastProver", PND, "PND", lkTab"ModusPonen
sFacts", - lkTab, "NewFormulae",
, TheoremaProversPredicateLogicAuxiliaryPri
vateoldForms, "GoalHistory", - MORTALConfucius,
"MatchingFacts", lkTab"Proposition (1)",
"Proposition (2)", True,
TheoremaProversCommonProofObjectPrivateConstr
aints, "proved", TheoremaProversCommonProof
ObjectPrivateMainProofSituationlf"Proposition
(3)", - MORTALConfucius, finfo,
asmllf"Proposition (1)", ForAll
rangesimpleRangevarx, True, - ImpliesMANvarx, MORTAL
varx, finfo"", lf"Proposition (2)",
MANConfucius, - finfo"", lkTab"ProversHistory",
, "LastProver", PND, "PND",
lkTab"ModusPonensFacts", lkTab,
"MatchingFacts", lkTab, "NewFormulae",
, TheoremaProversPredicateLogicAuxiliaryPri
vateoldForms, "GoalHistory",
MORTALConfucius, TheoremaProversComm
onProofObjectPrivateConstr\ - aints, "proved"
17Theorema Proof Notebook
- A\Link1\-home-info-www-people-knakagaw-ex-indexln
k2.htm - Predicate Logic Prover
- Prove
- (Proposition (6))((Q)\Or(R)),
- under the assumptions
- (Proposition (1))P\OrQ,
- (Proposition (2))Q\OrR,
- (Proposition (3))R\OrW,
- (Proposition (4))(R)\Or(P),
- (Proposition (5))(W)\Or(Q).
- We prove (Proposition (6)) by contradiction.
- We assume
- (1)(Q)\Or(R),
- and show a contradiction.
- We prove (a contradiction) by case distinction
using (1). - Case (1.1) Q
- We delete (Proposition (5)) because it is
subsumed by (1.1). - From (1.1) and (Proposition (1)) we obtain by
resolution - (2)P.
- From (5) and (Proposition (5)) we obtain by
resolution - (6)W.
- From (1.2) and (Proposition (3)) we obtain by
resolution - (7)W.
- Formula (a contradiction) is proved because (7)
and (6) are contradictory. - Additional Proof Generation Information
- The Proof Call
- ProveProposition"6",
- using\RuleProposition"1",Proposition"2",P
roposition"3", - Proposition"4",Proposition"5",SearchDep
th-gt35 - Formulae Occuring during the Proof
- (1)(Q)\Or(R)
- (1.1)Q
- (1.2)R
- (2)P
- (3)R
18 and...
- Otter
- a resolution-style theorem proving program for
first order with equality - includes the inference rules binary resolution,
hyperresolution, UR-resolution and binary
paramodulation - transforms formulae into normal form
- there is a direct link with Theorema
19Theorema and Otterblack box link
Translating component
T h e o r e m a Proof in a notebook a
TranslatorStep 2
ExternalSystemStep 4
Theorema callProve
Step 3
Step 1
Step 5
Linking component to external system
20Theorema and Otterwhite box link
Translating component
T h e o r e m a Proof in a notebook a
TranslatorStep 2
ExternalSystemStep 4
Theorema callProve
Step 3
Step 1
BackTranslatorStep 6
Step 5
Step 7
Linking component to external system
21Presentation Outline
- Work context
- Motivation
- Tool support
- Approach
- Notions
- My work
- Example
- Future work...
22How?
- Understand underlying mechanisms of proving in
Theorema - Understand the interaction with external provers
(i.e. Otter) of Theorema - Study the current status of research w.r.t.
Natural Style (i.e. Transformation of
Machine-Found Proofs into Assertion Level Proofs,
Andreas Meier)
23Other Approaches1.
- Search for an optimal proof by applying the
transformation rules on-the-fly - Rewrite-rules (Buchberger, Jebelean)
- S-decomposition in Jebelean
24Other Approaches2.
- Transform Resolution proofs into Natural
Deduction proofs - Andrews, Miller, Schmitt Kreitz,
Lingenfelder - Problems
- many levels of indirect parts
- Cause use of ND-rules for eliminating
quantifiers and connectors - representation
- Cause a large number of low-level syntactical
manipulations of logical quantifiers and
connectives
25This approach
- Andreas Meier -gt perform transformations at the
assertion level - Assertions
- theorems and definitions
26Schemata of the Approach
Theorema
TmaProofObject
Notebook
27Which proofs?
- Proofs obtained by resolution through refutation
- A set of clauses is unsatisfiable
(inconsistent) iff there is a resolution
deduction of the empty clause ? from S.
28Refutation
- Definition
- A 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?
- Add negated goal to the set of axioms and prove
the inconsistency of the new set by producing the
empty clause through a set of inferences.
29Resolution Principle
- (Robinson, 1965) For any two clauses C and D,
if there is a literal L1 in C that is
complementary to a literal L2 in D, then delete
L1 and L2 from C and D, respectively, and
construct the disjunction of the remaining
clauses. The constructed clause is a resolvent
of C and D (Chang and Lee, Symbolic Logic and
Mechanical Theorem Proving)
30- Problem
- Proofs format vary with the systeme
(automated theorem prover) - Solution
- Find a common representation of machine-found
proofs. - Refutation Graphs
- (Transformation of Machine-Found Proofs into
Assertion Level Proofs, Andreas Meier)
31Presentation Outline
- Work context
- Motivation
- Tool support
- Approach
- Notions
- My work
- Example
- Future work...
32Definitions
- Clause graph - a quadruple G (L,C,MLit,?),
where - L is a finite set elements are literal nodes
- C?2L is a partition of the set of literal nodes
elements are clause nodes of G - MLit is a mapping from L to the set of literals,
labelling literal nodes with literals - ?, the set of links, is a partition of a subset
of L, s.t. for all ??? the following hold - ?1 All the literal nodes in one link are labeled
with literals whos atoms are unifible - ?2 There must be at least one positive shore and
one negative literal literal in a link
33- Literal nodes not belonging to any link are
called pure - Each link ? has two opposite shores a positive
shore S(?) and a negative shore S-(?) (i.e.
literal nodes with positive and negative
literals, respectively) - trail - a walk in which all links are distrinct
joins start and end clause nodes a trail to a
link ? - a trail whose last clause has a literal
in ? - cycle - a trail joining a clause node to itself
a graph with such a cicle is called cyclic
34- Deduction graph - a non-empty, ground (i.e. all
literals are ground) and acyclic clause graph - Refutation graph a deduction graph without pure
literal nodes - Minimal deduction (refutation) graph - one
containing no proper subgraph which is itself a
deduction (refutation) graph)
35Presentation Outline
- Work context
- Motivation
- Tool support
- Approach
- Notions
- My work
- Example
- Future work...
36How to obtain refutation graphs?
- Call Otter for proving by resolution (automatic
transformation in normal form) - Retrieve the result in TmaProofObject
- Parse TmaProofObject and extract relevant
information (used formulae, generated formulae) - Build the data structure
37Algorithm
- C1C2 Cn - initial set of clauses -
represent the nodes in the refutation graph - Identify the resolvents R1R2 Rm generated
by the inference rules - Determine the links in the refutation graph
- 1. Identify in each resolvent Ri from the set
R1R2 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.
38Remarks
- 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)
39Presentation Outline
- Work context
- Motivation
- Tool support
- Approach
- Notions
- My work
- Example
- Future work...
40Simple example
prove
Q ? R, R? (P? Q), P? (Q? R)
P? Q
41Refutation graph
1
6
4
1.1
1.2
6.2
6.1
2
4.1
4.2
2.1
2.2
3
5
r
3.2
3.1
5.3
5.1
5.2
Theorem A deduction graph is minimal iff it
has one more clauses as links. Eisinger
42Data Structure
43Presentation Outline
- Work context
- Motivation
- Tool support
- Approach
- Notions
- My work
- Example
- Future work...
44Future directions
- Implementation of transformation procedure in
Theorema - Extend the analysis to predicate logic
- Analize proofs obtained from other provers or
with other proving methods
45Whats next?
- Analyse and transform the refutation graphs s.t.
proofs are simplified - How?
- The solution offered by Andreas Meier
- with possible(?) improvements
46Definitions
- Unit Clause Step (UCS)
- G - refutation graph. AC, UC1,, UCn, Rlit is
a UCS in G if - AC, UC1,, UCn - clauses in G, Rlit - literal of
AC - UC1,, UCn - unit clauses, AC - not an unit
clause - each literal of AC (except Rlit) - linked with
the some unit clausess literal of UC1,, Ucn - UC1,, UCn - unit clauses , AC - assertion
clause, Rlit - result literal of the UCS
47UCS - Replacement
- G - refutation graph. AC, UC1,, UCn, Rlit a
UCS in G, UCnew a new unit clause consisting of
Rlit. UCS-replacement - Remove AC from G
- Add UCnew to G
- ? - link connecting Rlit of AC. If ? was removed
at first step, add ? connecting Rlit of UCnew
and literals connected by ?. Otherwise, add Rlit
of UCnew to ?. - Each of UC1,, UCn, whose literal became pure at
1st step is removed
48UCS-Decomposition Algorithm
- G - refutation graph
- Initialization-step D(G) si GcurrG
- UCS - replacement step While Gcurr is not an end
step - Seek and UCS ? in Gcurr
- Replace ? in Gcurr and assign Gcurr to the
resulting refutation graph - Assign D(G)D(G) ? ?
- If there is no UCS in Gcurr stop with error
message - Final step If Gcurr has the form of an end step
S, assign D(G)D(G) ? S and finish
49Obtain UCS-decomposable graphs
Liquidation-Strategy with the Direct-Decomposition
Method
Transformation rules
?
Not minimal gt ? is liquidated
?
50Obtain UCS-decomposable graphs
- Separation Strategy with the Direct Decomposition
Method
Transformation rules
51Obtain UCS-decomposable graphs
- Liquidation Strategy with the Symetrical
Simplification Method
Transformation rules
52Obtain UCS-decomposable graphs
- Separation Strategy with the Symetrical
Simplification Method
Transformation rules
53Thank you