Developments and Applicationsautexier/talks/CISA2006.pdf& CISA, University of Edinburgh, Scotland...
Transcript of Developments and Applicationsautexier/talks/CISA2006.pdf& CISA, University of Edinburgh, Scotland...
The New Proof Assistant ΩMEGA:Developments and Applications
Serge Autexier
(joint work with the ΩMEGA Group∗
∗ Jorg Siekmann, Christoph Benzmuller, Chad E. Brown, Mark Buckley, Dominik Dietrich, Armin Fiedler (part-time), Andreas Franke,
Henri Lesourd, Marvin Schiller, Frank Theiß, Marc Wagner, Jurgen Zimmer
)
DFKI GmbH & CS Department, Saarland University, Saarbrucken, Germany
& CISA, University of Edinburgh, Scotland (May-July)
CISA Seminar, 20th July 2006
Edinburgh, Scotland
CISA Seminar, 20th July 2006 – p.1
Source: Autexier
Old ΩMEGA
Exp
ansio
n
Ab
stra
ctio
n
Abstract Proof Plan
Higher Order Natural Deduction
Proof Object
Struct
ure
Data
VerbalizationProofComputation
Transformation
MULTI
OANTS
TRAMP
P.REX
LOUI
OANTS−R
OMDOC
MBASEMAYA
MATHWEB
ATPs & C
ASs
LEO
COSIE
SAPPER
LEARNOMATIC
Proof
Knowledge−basedProof Planning
Agent−oriented Theorem Proving
ExternalSystems Transformation
Proof
Learning GUI
MathematicalServices
MathsRepositories
MathsDocuments
AssertionRetrieval
OMEGA
Proof-Planning(MULTI, E. Melis, A. Meier)
Agent-based TheoremProving (ΩANTS, V. Sorge)
NL Verbalisation of Proofs(P.rex , A. Fiedler)
External systems (ATP, CAS)(MATHWEB-SB J. Zimmer)
Proof transformation(TRAMP, A. Meier)
Math. Knowledge base(MBASE A. Franke)
OMDOC (M. Kohlhase)
CISA Seminar, 20th July 2006 – p.2
Source: Autexier
Old ΩMEGA
Exp
ansio
n
Ab
stra
ctio
n
Abstract Proof Plan
Higher Order Natural Deduction
Proof Object
Struct
ure
Data
VerbalizationProofComputation
Transformation
MULTI
OANTS
TRAMP
P.REX
LOUI
OANTS−R
OMDOC
MBASEMAYA
MATHWEB
ATPs & C
ASs
LEO
COSIE
SAPPER
LEARNOMATIC
Proof
Knowledge−basedProof Planning
Agent−oriented Theorem Proving
ExternalSystems Transformation
Proof
Learning GUI
MathematicalServices
MathsRepositories
MathsDocuments
AssertionRetrieval
OMEGA
Base Calculus: simplytyped HOL, NaturalDeduction
Hierarchical proofdatastructure (PDS) tailoredto
Base ND calculus
Proof planning methods
Tactics
Heavily overcrowded
Graphical user interfaceLΩUI
CISA Seminar, 20th July 2006 – p.2
Source: Autexier
Old ΩMEGA
Exp
ansio
n
Ab
stra
ctio
n
Abstract Proof Plan
Higher Order Natural Deduction
Proof Object
Struct
ure
Data
VerbalizationProofComputation
Transformation
MULTI
OANTS
TRAMP
P.REX
LOUI
OANTS−R
OMDOC
MBASEMAYA
MATHWEB
ATPs & C
ASs
LEO
COSIE
SAPPER
LEARNOMATIC
Proof
Knowledge−basedProof Planning
Agent−oriented Theorem Proving
ExternalSystems Transformation
Proof
Learning GUI
MathematicalServices
MathsRepositories
MathsDocuments
AssertionRetrieval
OMEGA
Base Calculus: simplytyped HOL, NaturalDeduction
Hierarchical proofdatastructure (PDS) tailoredto
Base ND calculus
Proof planning methods
Tactics
Heavily overcrowded
Graphical user interfaceLΩUI
CISA Seminar, 20th July 2006 – p.2
Source: Autexier
Why and What did we Change?
Natural Deduction Calculus too cumbersome (not natural enough)
CISA Seminar, 20th July 2006 – p.3
Source: Autexier
Why and What did we Change?
Natural Deduction Calculus too cumbersome (not natural enough)
Want direct reasoning with the assertions (interactive & automatic)
⇒ CORE-calculus that directly supports that [Autexier, CADE’05]
CISA Seminar, 20th July 2006 – p.3
Source: Autexier
Why and What did we Change?
Natural Deduction Calculus too cumbersome (not natural enough)
Want direct reasoning with the assertions (interactive & automatic)
⇒ CORE-calculus that directly supports that [Autexier, CADE’05]
The proof datastructure was completely overcrowded
CISA Seminar, 20th July 2006 – p.3
Source: Autexier
Why and What did we Change?
Natural Deduction Calculus too cumbersome (not natural enough)
Want direct reasoning with the assertions (interactive & automatic)
⇒ CORE-calculus that directly supports that [Autexier, CADE’05]
The proof datastructure was completely overcrowded
New generic proof datastructure (PDS)
CISA Seminar, 20th July 2006 – p.3
Source: Autexier
Why and What did we Change?
Natural Deduction Calculus too cumbersome (not natural enough)
Want direct reasoning with the assertions (interactive & automatic)
⇒ CORE-calculus that directly supports that [Autexier, CADE’05]
The proof datastructure was completely overcrowded
New generic proof datastructure (PDS)
Definition of the task-layer as uniform reasoning platform
CISA Seminar, 20th July 2006 – p.3
Source: Autexier
Why and What did we Change?
Natural Deduction Calculus too cumbersome (not natural enough)
Want direct reasoning with the assertions (interactive & automatic)
⇒ CORE-calculus that directly supports that [Autexier, CADE’05]
The proof datastructure was completely overcrowded
New generic proof datastructure (PDS)
Definition of the task-layer as uniform reasoning platform
GUI LΩUI nice, but did not meet requirements of targeted users,say mathematicians
CISA Seminar, 20th July 2006 – p.3
Source: Autexier
Why and What did we Change?
Natural Deduction Calculus too cumbersome (not natural enough)
Want direct reasoning with the assertions (interactive & automatic)
⇒ CORE-calculus that directly supports that [Autexier, CADE’05]
The proof datastructure was completely overcrowded
New generic proof datastructure (PDS)
Definition of the task-layer as uniform reasoning platform
GUI LΩUI nice, but did not meet requirements of targeted users,say mathematicians
Plug ΩMEGA as reasoning service provider into tools anyway used
by users, e.g. WYSIWYG text-editors like TEXMACS (analogy:
grammar checkers)
CISA Seminar, 20th July 2006 – p.3
Source: Autexier
Why and What did we Change?
Natural Deduction Calculus too cumbersome (not natural enough)
Want direct reasoning with the assertions (interactive & automatic)
⇒ CORE-calculus that directly supports that [Autexier, CADE’05]
The proof datastructure was completely overcrowded
New generic proof datastructure (PDS)
Definition of the task-layer as uniform reasoning platform
GUI LΩUI nice, but did not meet requirements of targeted users,say mathematicians
Plug ΩMEGA as reasoning service provider into tools anyway used
by users, e.g. WYSIWYG text-editors like TEXMACS (analogy:
grammar checkers)
Add development graph manager MAYA to efficiently maintainformal theories and proofs
CISA Seminar, 20th July 2006 – p.3
Source: Autexier
Towards the New ΩMEGA
CISA Seminar, 20th July 2006 – p.4
Source: Autexier
New Architecture
MathematicalServices
DIALOG
daVinci
V2.
1
inst−54
union−53
TransitiveRelation
inst−32
union−31
Relation
union−25
inst−26
ReflexiveRelation
union−55
inst−56
union−57
PreOrder
union−59
inst−60
PartialOrder
union−82
inst−83
union−84
inst−86
union−85
inst−90
basic−89
SigOrder
basic−51
union−50
basic−49
basic−110
inst−111
inst−108
union−107
BooleanAlgebra
union−104
inst−105
union−106
inst−130
union−129
ExtBooleanAlgebra
basic−112
basic−109
inst−120
union−119
inst−121
inst−116
union−115
inst−118
union−117
RichBooleanAlgebra
ExtPartialOrder
basic−87
inst−100
union−99
inst−101
inst−96
union−95
TotalOrder
inst−63
union−62
union−92
inst−93
union−94
inst−127
union−126
ExtTotalOrder
basic−97
RichTotalOrder
union−75
inst−76
inst−78
union−77
Rat
basic−21
inst−20
union−19
Int
basic−16
inst−15
union−14
Nat
basic−11
union−67
inst−68
inst−66
union−65
union−72
inst−73
inst−71
union−70
inst−124
union−123
RichPartialOrder
union−46
inst−47
EquivalenceRelation
inst−45
union−44
PartialEquivalenceRelation
inst−42
union−41
SymmetricRelation
inst−29
union−28
union−34
inst−35
SimilarityRelation
inst−37
union−36
inst−40
union−39
DevelopmentGraph
Agent−orientedTheoremProving
ComputationTransformation
RetrievalAssertion
Learning
DeveloperGUI
Task Layer
ConstraintSolver
MathematicalRepositoriesProof
Verbalization
LOUI
OANTS
MULTI
LEARNOMATIC
SAPPER
MATHSERV
COSIE
OANTS−R
MBASE
PREX
MAYA
Knowledge−basedProof Planning
CORE
PLATO
MEDIATOR
CISA Seminar, 20th July 2006 – p.5
Source: Autexier
This Talk
MathematicalServices
DIALOG
daVinci
V2.
1
inst−54
union−53
TransitiveRelation
inst−32
union−31
Relation
union−25
inst−26
ReflexiveRelation
union−55
inst−56
union−57
PreOrder
union−59
inst−60
PartialOrder
union−82
inst−83
union−84
inst−86
union−85
inst−90
basic−89
SigOrder
basic−51
union−50
basic−49
basic−110
inst−111
inst−108
union−107
BooleanAlgebra
union−104
inst−105
union−106
inst−130
union−129
ExtBooleanAlgebra
basic−112
basic−109
inst−120
union−119
inst−121
inst−116
union−115
inst−118
union−117
RichBooleanAlgebra
ExtPartialOrder
basic−87
inst−100
union−99
inst−101
inst−96
union−95
TotalOrder
inst−63
union−62
union−92
inst−93
union−94
inst−127
union−126
ExtTotalOrder
basic−97
RichTotalOrder
union−75
inst−76
inst−78
union−77
Rat
basic−21
inst−20
union−19
Int
basic−16
inst−15
union−14
Nat
basic−11
union−67
inst−68
inst−66
union−65
union−72
inst−73
inst−71
union−70
inst−124
union−123
RichPartialOrder
union−46
inst−47
EquivalenceRelation
inst−45
union−44
PartialEquivalenceRelation
inst−42
union−41
SymmetricRelation
inst−29
union−28
union−34
inst−35
SimilarityRelation
inst−37
union−36
inst−40
union−39
DevelopmentGraph
Agent−orientedTheoremProving
ComputationTransformation
RetrievalAssertion
Learning
DeveloperGUI
Task Layer
ConstraintSolver
MathematicalRepositoriesProof
Verbalization
LOUI
OANTS
MULTI
LEARNOMATIC
SAPPER
MATHSERV
COSIE
OANTS−R
MBASE
PREX
MAYA
Knowledge−basedProof Planning
CORE
PLATO
MEDIATOR
CISA Seminar, 20th July 2006 – p.6
Source: Autexier
Development graphs:Maintaining structured mathematical
theories
CISA Seminar, 20th July 2006 – p.7
Source: Autexier
Context
Evolutionary Formal Development
Structured Specification
Theorem Prover Structured Internal Representation
Translation intologicalrepresentation
Proof Obligations + Structured Database
Changingspecificationsdue to prooffailures
CISA Seminar, 20th July 2006 – p.8
Source: Autexier
Development Graphs
LIST[ELEM]Local Signature:
· Local sorts List[Elem]
· Local constants [] : List[Elem], . . .
Local Axioms: · [] ++ K = K, . . .
Local Lemmata:
· reverse(K ++ L) = reverse(L) ++ reverse(K)
· . . .
MONOID
Local Signature:
· Local sorts: Elem
· Local constants: ∗ : Elem × Elem → Elem
Local Axioms: x ∗ e = x, . . .
Local Signature:
· Local sorts: Elem
σ
id
[Hutter’00], [AutexierHutter’02&’05], [MossakowskiAutexierHutter’01&’06]CISA Seminar, 20th July 2006 – p.9
Source: Autexier
daVinci
V2.
1
inst−45
union−44
TransitiveRelation
inst−23
union−22
Relation
union−16
inst−17
ReflexiveRelation
union−46
inst−47
union−48
PreOrder
union−50
inst−51
PartialOrder
union−73
inst−74
union−75
inst−77
union−76
inst−81
basic−80
SigOrder
basic−42
union−41
basic−40
basic−101
inst−102
inst−99
union−98
BooleanAlgebra
union−95
inst−96
union−97
inst−121
union−120
ExtBooleanAlgebra
basic−103
basic−100
inst−111
union−110
inst−112
inst−107
union−106
inst−109
union−108
RichBooleanAlgebra
ExtPartialOrder
basic−78
inst−91
union−90
inst−92
inst−87
union−86
TotalOrder
inst−54
union−53
union−83
inst−84
union−85
inst−118
union−117
ExtTotalOrder
basic−88
RichTotalOrder
union−66
inst−67
inst−69
union−68
Rat
basic−12
inst−11
union−10
Int
basic−7
inst−6
union−5
Nat
basic−2
union−58
inst−59
inst−57
union−56
union−63
inst−64
inst−62
union−61
inst−115
union−114
RichPartialOrder
union−37
inst−38
EquivalenceRelation
inst−36
union−35
PartialEquivalenceRelation
inst−33
union−32
SymmetricRelation
inst−20
union−19
union−25
inst−26
SimilarityRelation
inst−28
union−27
inst−31
union−30
CISA Seminar, 20th July 2006 – p.10
Source: Autexier
Role of Development Graphs
Development Graph
=
Structured Logical Content of Specifications Structured Specification
+
Status of proof obligations Verification +
(pending, proven, used axioms, . . . ) Management
Deals with evolution of formal specifications and proofs
⇒ Save as much proof work as possible!
Exploits graph structure of formal specifications to reduce effects ofchanges on existing proofs
Difference analysis of formal specifications to determine fine grainedchanges
CISA Seminar, 20th July 2006 – p.11
Source: Autexier
This Talk
MathematicalServices
DIALOG
daVinci
V2.
1
inst−54
union−53
TransitiveRelation
inst−32
union−31
Relation
union−25
inst−26
ReflexiveRelation
union−55
inst−56
union−57
PreOrder
union−59
inst−60
PartialOrder
union−82
inst−83
union−84
inst−86
union−85
inst−90
basic−89
SigOrder
basic−51
union−50
basic−49
basic−110
inst−111
inst−108
union−107
BooleanAlgebra
union−104
inst−105
union−106
inst−130
union−129
ExtBooleanAlgebra
basic−112
basic−109
inst−120
union−119
inst−121
inst−116
union−115
inst−118
union−117
RichBooleanAlgebra
ExtPartialOrder
basic−87
inst−100
union−99
inst−101
inst−96
union−95
TotalOrder
inst−63
union−62
union−92
inst−93
union−94
inst−127
union−126
ExtTotalOrder
basic−97
RichTotalOrder
union−75
inst−76
inst−78
union−77
Rat
basic−21
inst−20
union−19
Int
basic−16
inst−15
union−14
Nat
basic−11
union−67
inst−68
inst−66
union−65
union−72
inst−73
inst−71
union−70
inst−124
union−123
RichPartialOrder
union−46
inst−47
EquivalenceRelation
inst−45
union−44
PartialEquivalenceRelation
inst−42
union−41
SymmetricRelation
inst−29
union−28
union−34
inst−35
SimilarityRelation
inst−37
union−36
inst−40
union−39
DevelopmentGraph
Agent−orientedTheoremProving
ComputationTransformation
RetrievalAssertion
Learning
DeveloperGUI
Task Layer
ConstraintSolver
MathematicalRepositoriesProof
Verbalization
LOUI
OANTS
MULTI
LEARNOMATIC
SAPPER
MATHSERV
COSIE
OANTS−R
MBASE
PREX
MAYA
Knowledge−basedProof Planning
CORE
PLATO
MEDIATOR
CISA Seminar, 20th July 2006 – p.12
Source: Autexier
The Task Layer:Developing and maintaining proofs, proof
plans, proof sketches, and alternatives
CISA Seminar, 20th July 2006 – p.13
Source: Autexier
The TASK LAYER at a Glance
The uniform proof construction interface used by both the human user andthe automated proof search procedures
Instance of the new proof datastructure (PDS)
Tasks = Gentzen-style multi-conclusion sequents + focuses of attentionon subformulas
Proof construction steps (task justifications):
1. introduction of a proof sketch [Wiedijk, TYPES’03]
2. deep structural rules for weakening and decomposition of subformulas
3. the application of a lemma that can be postulated on the fly
4. the application of a CORE calculus rule
5. the application of an inference (⇐ Proof Planning, ΩANTS)
CISA Seminar, 20th July 2006 – p.14
Source: Autexier
The TASK LAYER at a Glance
The uniform proof construction interface used by both the human user andthe automated proof search procedures
Instance of the new proof datastructure (PDS)
Tasks = Gentzen-style multi-conclusion sequents + focuses of attentionon subformulas
Proof construction steps (task justifications):
1. introduction of a proof sketch [Wiedijk, TYPES’03]
2. deep structural rules for weakening and decomposition of subformulas
3. the application of a lemma that can be postulated on the fly
4. the application of a CORE calculus rule
5. the application of an inference (⇐ Proof Planning, ΩANTS)
CISA Seminar, 20th July 2006 – p.14
Source: Autexier
The new Proof Datastructure (PDS)
CISA Seminar, 20th July 2006 – p.15
Source: Autexier
Proof Data Structure (PDS)
Proof simultaneously at different levels of granularity
Representation of abstract proof ideas and their refinement
(Proof Planning)
Representation of external systems proofs/computations and theirrefinement
Definable level of granularity (slices through the hierarchy) Views
• Interactive proof development• Adaptive natural language proof explanations
Allows to postpone verification (expansion) of higher-level proof steps
Alternative proof attempts (on the same level of granularity)
Support for lemmatization (forest of PDS trees with links)
[AutexierBenzmüllerDietrichMeierWirth,MKM 2005]
CISA Seminar, 20th July 2006 – p.16
Source: Autexier
Example Abstract PDS
⊢ ¬rat(√
12)
Sketch
rat(√
12) ⊢ ⊥
Sketch
rat(√
12), int(n), int(m),¬commondiv(n, m),√
12 = nm
⊢ ⊥
Sketch
Σ ⊢ div(n, 3) ∧ div(m, 3)
Sketch
Σ ⊢ div(n, 3) Σ ⊢ div(m, 3)
Sketch
Σ ⊢ div(n, 2) ∧ div(m, 2)
Sketch
Σ ⊢ div(n, 2) Σ ⊢ div(m, 2)
CISA Seminar, 20th July 2006 – p.17
Source: Autexier
Example Complete PDSComplete PDS
⊢ ¬rat(√
12)
Sketch
rat(√
12) ⊢ ⊥
Sketch
rat(√
12), int(n), int(m),¬commondiv(n, m),√
12 = nm
⊢ ⊥
Sketch
Σ ⊢ div(n, 3) ∧ div(m, 3)
Sketch
Σ ⊢ div(n, 3) Σ ⊢ div(m, 3)
Sketch
Σ ⊢ div(n, 2) ∧ div(m, 2)
Sketch
Σ ⊢ div(n, 2) Σ ⊢ div(m, 2)
ApplyLemma(Rat − Criterion)
rat(√
12),∃y:int, z:int√
12 = yz∧ ¬commondiv(y, z) ⊢ ⊥
Decomposition
h
¬Ih
CISA Seminar, 20th July 2006 – p.18
Source: Autexier
Example Complete PDSComplete PDS A PDS View
⊢ ¬rat(√
12)
Sketch
rat(√
12) ⊢ ⊥
Sketch
rat(√
12), int(n), int(m),¬commondiv(n, m),√
12 = nm
⊢ ⊥
Sketch
Σ ⊢ div(n, 3) ∧ div(m, 3)
Sketch
Σ ⊢ div(n, 3) Σ ⊢ div(m, 3)
Sketch
Σ ⊢ div(n, 2) ∧ div(m, 2)
Sketch
Σ ⊢ div(n, 2) Σ ⊢ div(m, 2)
ApplyLemma(Rat − Criterion)
rat(√
12),∃y:int, z:int√
12 = yz∧ ¬commondiv(y, z) ⊢ ⊥
Decomposition
h
¬Ih
⊢ ¬rat(√
12)
Sketch
rat(√
12) ⊢ ⊥
ApplyLemma(Rat − Criterion)
rat(√
12),∃y:int, z:int√
12 = yz∧ ¬commondiv(y, z) ⊢ ⊥
Decomposition
rat(√
12), int(n), int(m),¬commondiv(n,m),√
12 = nm
⊢ ⊥
Sketch
Σ ⊢ div(n, 3) ∧ div(m, 3)
Sketch
Σ ⊢ div(n, 3) Σ ⊢ div(m, 3)
Sketch
Σ ⊢ div(n, 2) ∧ div(m, 2)
Sketch
Σ ⊢ div(n, 2) Σ ⊢ div(m, 2)
CISA Seminar, 20th July 2006 – p.18
Source: Autexier
PDSs
Alternative subproofs require to allow for alternative substitutions ofMetavariables =⇒ Mechanism to support that efficiently
[Dietrich, Diploma Thesis, 2006]
PDS provided basis to use λµµ-calculus proof terms as semantics forOMDOC proofs extended by alternatives (= PDS)
[Autexier&Sacerdoti-Coen, MKM’06]
(λµeµ-calculus proposed by Curien and Herbelin, Curry-Howard Isomorphism toclassical SK, allows call-by-value/call-by-name)
CISA Seminar, 20th July 2006 – p.19
Source: Autexier
Proof Construction by Inference Application
CISA Seminar, 20th July 2006 – p.20
Source: Autexier
From Tactics and Methods. . .. . . to Inferences
In the old ΩMEGA system there were
(ΩMEGA-)tactics (interactive theorem proving)
methods (proof planning)
For each of them, again each application direction (AD) had to be specified manually:
P1 : F P2 : U = V
C : G=subst-m-fw(π)
Application Condition: −
Outline functions:
〈C compute-=subst-prem(P1, P2, π)〉
P1 : F P2 : U = V
C : G=subst-m-bw1(π)
Application Condition: −
Outline functions:
〈P1 compute-=subst-prem(C, P2, π)〉
Having P1 and P2, we can get C (fw)
Having C and P2, we can get P1 (bw1)
Having C and P1, we can get P2 (bw2)
Having P1, P2 and C, we check the
proof step
CISA Seminar, 20th July 2006 – p.21
Source: Autexier
The same as a single Inference. . .
P1 : F P2 : U = V
C : G=subst-m(π)
Application Condition: −Outline functions:
〈C compute-=subst-prem(P1,P2, π)〉〈P1 compute-=subst-prem(C,P2, π)〉
There were 4 tactics and 2 methods in the old ΩMEGA system!
Inferences unify (ΩMEGA-)tactics and methods, overcome manualspecification of ADs
CISA Seminar, 20th July 2006 – p.22
Source: Autexier
Examples of Inferences
P1 : A ⊆ B P2 : B ⊆ C
C : A ⊆ C
Application Condition: −
CISA Seminar, 20th July 2006 – p.23
Source: Autexier
Examples of Inferences
[ǫ > 0,D > 0, 0 <| x − A |, | x − A |< D]...
P :| F(x) − L |< ǫ
C : limA
F = LLimit(ǫ, x)
Application Condition: EV(ǫ, F,A,L) ∧ EV(x, F,A,L,D)
CISA Seminar, 20th July 2006 – p.24
Source: Autexier
Examples of Inferences
P : O(U,V)
C : O(U′,V′)Maple-Simplify
Application Condition: O ∈ =,≤, <,≥, >Outline functions: 〈U maple-simplify(U′)〉
〈U′ maple-simplify(U)〉〈V maple-simplify(V′)〉〈V′ maple-simplify(V)〉
CISA Seminar, 20th July 2006 – p.25
Source: Autexier
General Form of Inferences[ H1
1 , . . . , H1
n1]
.
.
.
P1 : F1 . . .
[ Hk
1 , . . . , Hk
nk]
.
.
.
Pk : Fk
C1 : G1 . . . Cm : Gm
Name(ω1, . . . , ωn)
Outline Functions: 〈i1, f1(i11, . . . , i1j1)〉 Application Conditions: P(i01, . . . , i0m)
...〈il, f l(il1, . . . , iljl)〉
CISA Seminar, 20th July 2006 – p.26
Source: Autexier
General Form of Inferences[ H1
1 , . . . , H1
n1]
.
.
.
P1 : F1 . . .
[ Hk
1 , . . . , Hk
nk]
.
.
.
Pk : Fk
C1 : G1 . . . Cm : Gm
Name(ω1, . . . , ωn)
Outline Functions: 〈i1, f1(i11, . . . , i1j1)〉 Application Conditions: P(i01, . . . , i0m)
...〈il, f l(il1, . . . , iljl)〉
Procedure to automatically synthesise inferences from arbitrary formulascontained in the mathematical theories.
∀A, B, C : Set.(A ⊆ B ∧ B ⊆ C) ⇒ (A ⊆ C)
∀f, a, l.∀ǫ.ǫ > 0 ⇒ ∃δ.δ > 0 ⇒ ∀x.(0 <| x − a | ∧ | x − a |< δ) ⇒| f(x) − l |< ǫ
⇒ lima f = l
(Had all to be encoded manually in the old ΩMEGA system. . . )
Only the other inferences must be manually encoded (e.g. =subst-m)CISA Seminar, 20th July 2006 – p.26
Source: Autexier
Application of Inferences
Inference are applied on subformulas of a task
Not all premises and conclusions need to be mapped.
Premises are mapped to negative positions in a task
Conclusions are mapped to positive positions in a task
Example:
Φ
ΦSame
A ∧ B, (A ∧ B) ⇒ C ) ⊢ P ⇒ C
CISA Seminar, 20th July 2006 – p.27
Source: Autexier
Application of Inferences
Inference are applied on subformulas of a task
Not all premises and conclusions need to be mapped.
Premises are mapped to negative positions in a task
Conclusions are mapped to positive positions in a task
Example:
Φ
ΦSame
A ∧ B, ( A ∧ B︸ ︷︷ ︸conditions
) ⇒ C ) ⊢ P ⇒ C
A ∧ B,A ∧ B ⇒ C ⊢ P ⇒ A ∧ B
CISA Seminar, 20th July 2006 – p.27
Source: Autexier
A more complex example
P ⇒ (A ⊂ B) ⊢ Q ⇒ (A ⊂ C)
CISA Seminar, 20th July 2006 – p.28
Source: Autexier
A more complex example
P ⇒ (A ⊂ B) ⊢ Q ⇒ (A ⊂ C)P1 : (A ⊂ B) P2 : (B ⊂ C)
C : (A ⊂ C)Subset
CISA Seminar, 20th July 2006 – p.28
Source: Autexier
A more complex example
P ⇒ (A ⊂ B) ⊢ Q ⇒ (A ⊂ C)P1 : (A ⊂ B) P2 : (B ⊂ C)
C : (A ⊂ C)Subset
Suppose we map P1 7→ 〈1, 2〉 and C 7→ 〈2, 2〉 (Hence P2 → B ⊂ C).
CISA Seminar, 20th July 2006 – p.28
Source: Autexier
A more complex example
P ⇒ (A ⊂ B) ⊢ Q ⇒ (A ⊂ C)P1 : (A ⊂ B) P2 : (B ⊂ C)
C : (A ⊂ C)Subset
Suppose we map P1 7→ 〈1, 2〉 and C 7→ 〈2, 2〉 (Hence P2 → B ⊂ C).
CISA Seminar, 20th July 2006 – p.28
Source: Autexier
A more complex example
P ⇒ (A ⊂ B) ⊢ Q ⇒ (A ⊂ C)P1 : (A ⊂ B) P2 : (B ⊂ C)
C : (A ⊂ C)Subset
Suppose we map P1 7→ 〈1, 2〉 and C 7→ 〈2, 2〉 (Hence P2 → B ⊂ C).
P ⇒ (A ⊂ B) ⊢ Q ⇒ (P ∧ (B ⊂ C))
CISA Seminar, 20th July 2006 – p.28
Source: Autexier
Interesting Questions
When is an inference applicable?
P1 : F P2 : U = V
C : G=subst-m(π)
Application Condition: −Outline functions:
〈C compute-=subst-prem(P1,P2, π)〉〈P1 compute-=subst-prem(C,P2, π)〉
As soon as we have matched enough premises and conclusions such
that we can compute any missing premise and conclusion using the
outline functions
Application directions = These sets of premises and conclusions=⇒ Sufficient information for the proof planner
=⇒ No need for extra methods as in the old ΩMEGA system
More enhanced static analysis of inferences allows for automaticgeneration of inference-specific agents required by ΩANTS
=⇒ Overcomes manual definition of the agents as in the oldΩMEGA system [Autexier&Dietrich, MKM’06]
CISA Seminar, 20th July 2006 – p.29
Source: Autexier
Comparing wrt. Proofs
old ΩMEGA new ΩMEGA
long proofs
low branching
short proofs
high branching
Decomposition methods become superfluous
LIM+
53 inference applications in total
28 applications of decomposition rules (> 50%)
CISA Seminar, 20th July 2006 – p.30
Source: Autexier
Next Steps
Automation of proof search
Reactivate ΩANTS on that basis
Reimplement proof planner MULTI
Evaluation:
Coding effort is already drastically reduced
Less inferences required by deep application of inferences
Benefit for automated proof search?
Specific services required to support proof development inTEXMACS via PLATΩ
CISA Seminar, 20th July 2006 – p.31
Source: Autexier
Comparison
Old ΩMEGA New ΩMEGA
tactics for math. knowledge manually automatically
tactics for procedures manually manually
application directions manually automatically
agent specification manually automatically
control knowledge manually manually
assertion level simulated directly
OR parallelism no yes
abstract proof operators get independent of logical details
CISA Seminar, 20th July 2006 – p.32
Source: Autexier
This Talk
MathematicalServices
DIALOG
daVinci
V2.
1
inst−54
union−53
TransitiveRelation
inst−32
union−31
Relation
union−25
inst−26
ReflexiveRelation
union−55
inst−56
union−57
PreOrder
union−59
inst−60
PartialOrder
union−82
inst−83
union−84
inst−86
union−85
inst−90
basic−89
SigOrder
basic−51
union−50
basic−49
basic−110
inst−111
inst−108
union−107
BooleanAlgebra
union−104
inst−105
union−106
inst−130
union−129
ExtBooleanAlgebra
basic−112
basic−109
inst−120
union−119
inst−121
inst−116
union−115
inst−118
union−117
RichBooleanAlgebra
ExtPartialOrder
basic−87
inst−100
union−99
inst−101
inst−96
union−95
TotalOrder
inst−63
union−62
union−92
inst−93
union−94
inst−127
union−126
ExtTotalOrder
basic−97
RichTotalOrder
union−75
inst−76
inst−78
union−77
Rat
basic−21
inst−20
union−19
Int
basic−16
inst−15
union−14
Nat
basic−11
union−67
inst−68
inst−66
union−65
union−72
inst−73
inst−71
union−70
inst−124
union−123
RichPartialOrder
union−46
inst−47
EquivalenceRelation
inst−45
union−44
PartialEquivalenceRelation
inst−42
union−41
SymmetricRelation
inst−29
union−28
union−34
inst−35
SimilarityRelation
inst−37
union−36
inst−40
union−39
DevelopmentGraph
Agent−orientedTheoremProving
ComputationTransformation
RetrievalAssertion
Learning
DeveloperGUI
Task Layer
ConstraintSolver
MathematicalRepositoriesProof
Verbalization
LOUI
OANTS
MULTI
LEARNOMATIC
SAPPER
MATHSERV
COSIE
OANTS−R
MBASE
PREX
MAYA
Knowledge−basedProof Planning
CORE
PLATO
MEDIATOR
CISA Seminar, 20th July 2006 – p.33
Source: Autexier
Mediating between Texteditors and ProofAssistance Systems
–The PLATΩ System
CISA Seminar, 20th July 2006 – p.34
Source: Autexier
Plato at a Glance
The user authors his mathematical documents with a scientificWYSIWYG text-editor
in the informal language he is used to, that is a mixture of naturallanguage and formulas
using semantic annotations (PL) that follow the textual structure
CISA Seminar, 20th July 2006 – p.35
Source: Autexier
Plato at a Glance
The user authors his mathematical documents with a scientificWYSIWYG text-editor
Generate from this informal semantic representation the correspondingformal representation for a proof assistant
CISA Seminar, 20th July 2006 – p.35
Source: Autexier
Plato at a Glance
The user authors his mathematical documents with a scientificWYSIWYG text-editor
The primary task of PLATΩ(Marc Wagner, Diploma Thesis, ?July 2006?)
Maintain consistent formal (PA) and informal representations(Text-editor)
Relay service requests from the Text-editor to the PA
Propagate changes from the PA to the Text-editorCISA Seminar, 20th July 2006 – p.35
Source: Autexier
The initial Document in the Te xt-Editor
CISA Seminar, 20th July 2006 – p.36
Source: Autexier
Uploaded Theory in the M AYA system
CISA Seminar, 20th July 2006 – p.37
Source: Autexier
Uploaded Proof in the T ASK LAYER
CISA Seminar, 20th July 2006 – p.38
Source: Autexier
User-Modified Document in the Text-Editor
CISA Seminar, 20th July 2006 – p.39
Source: Autexier
Transformed User-Modified Proof inthe TASK LAYER
CISA Seminar, 20th July 2006 – p.40
Source: Autexier
Menu Interaction in the Text-Editor
CISA Seminar, 20th July 2006 – p.41
Source: Autexier
Patched Menu in the Text-Editor
CISA Seminar, 20th July 2006 – p.42
Source: Autexier
System-Modified Proof in the T ASK
LAYER
CISA Seminar, 20th July 2006 – p.43
Source: Autexier
Patched Document in the Text-Editor
CISA Seminar, 20th July 2006 – p.44
Source: Autexier
My work during the visit to the DREAM Group:
“Automated Reasoning in Large StructuredTheories”
CISA Seminar, 20th July 2006 – p.45
Source: Autexier
Motivation
daVinci
V2.
1
inst−45
inst−17
ReflexiveRelation
inst−47
union−48
PreOrder
union−50
inst−51
PartialOrder
union−73
inst−74
union−75
inst−77
union−76
inst−81
basic−80
SigOrder
basic−42
basic−101
inst−102
inst−99
inst−96
union−97
inst−121
ExtBooleanAlgebra
basic−103
basic−100
inst−111
inst−112
inst−107
inst−109
union−108
RichBooleanAlgebra
ExtPartialOrder
basic−78
inst−91
union−90
inst−92
inst−87
union−86
TotalOrder
inst−54
union−53
union−83
inst−84
union−85
inst−118
union−117
ExtTotalOrder
basic−88
RichTotalOrder
inst−115
union−114
RichPartialOrder
union−37
inst−38
EquivalenceRelation
inst−36
union−35
PartialEquivalenceRelation
inst−33
union−32
SymmetricRelation
inst−20
union−25
inst−26
SimilarityRelation
inst−28
union−27
inst−31
ATP(Proof Planner)
Proofor
Fail
Failures of automatic proof search procedures (e.g. classical ATP, ProofPlanner, . . . ) and reasons:
Too much knowledge/Search space too large (Restrict Knowledge)
Not a theorem
Only part of knowledge has been provided:
(Adjust provided knowledge)
All knowledge has been provided: (Definitely not a theorem)CISA Seminar, 20th July 2006 – p.46
Source: Autexier
Question
How to automate restriction and adjustment of knowledge provided to theATPs? (Based on Feedback provided in case of failure)
daVinci
V2.
1
inst−45
inst−17
ReflexiveRelation
inst−47
union−48
PreOrder
union−50
inst−51
PartialOrder
union−73
inst−74
union−75
inst−77
union−76
inst−81
basic−80
SigOrder
basic−42
basic−101
inst−102
inst−99
inst−96
union−97
inst−121
ExtBooleanAlgebra
basic−103
basic−100
inst−111
inst−112
inst−107
inst−109
union−108
RichBooleanAlgebra
ExtPartialOrder
basic−78
inst−91
union−90
inst−92
inst−87
union−86
TotalOrder
inst−54
union−53
union−83
inst−84
union−85
inst−118
union−117
ExtTotalOrder
basic−88
RichTotalOrder
inst−115
union−114
RichPartialOrder
union−37
inst−38
EquivalenceRelation
inst−36
union−35
PartialEquivalenceRelation
inst−33
union−32
SymmetricRelation
inst−20
union−25
inst−26
SimilarityRelation
inst−28
union−27
inst−31
ATP(Proof Planner)
Proofor
Fail
TheoryFormation
(MathsAid)
ATLAS *
∗The titan in the Greek mythology punished by Zeus by giving him the task to hold up the skyCISA Seminar, 20th July 2006 – p.47
Source: Autexier
Main Objectives
System environment that supports the definition and evaluation ofknowledge filters and in-the-large reasoning procedures.
Criteria characterising the knowledge that can be provided byATP, ATF and systems maintaining structured theories
Basic set of filters to formulate queries for each subsystems
Criteria to rate the response given by a subsystem to a query.
Sample in-the-large reasoning heuristics:
Given the goal to prove a conjecture
Automate cooperation among the subsystems by formulatingqueries, evaluating responses and formulating new queries.
CISA Seminar, 20th July 2006 – p.48
Source: Autexier
Status
Interfacing systems:
MAYA (DG), MathServ (ATP) , MATHsAid (ATF)
Sounds easy, is simple in principle, but tedious and long inpractice
Different logics, but especially syntax restrictions
Basic set of 4 filters (Goal dependent and adjustable)Theory distance, Definitorial hierarchy, Reformulation distance,
Proving importance
Formalised Class, Set, Relations, Functions, and Groupsfollowing closely Hungerford’s “Algebra” (in CASL)
(69 axioms, 42 conjectures in 6 theories)
CISA Seminar, 20th July 2006 – p.49
Source: Autexier
Status
ATLAS state-machineCHANGE−FILTERCHANGE−GRAVITY
CHANGE−FILTERCHANGE−GRAVITY
SWITCH−MODE
SWITCH−MODE
Prove Explore
OuterLoop
InitializationResult
NextGoal?
No Next Goal or all proven
parameterised overspecific heuristics foreach state to decide
Its running, someerrors in MATHSERVon some inputs
Sofar 2 out of 42 can beproven by ATP alone
TODO:
Find a heuristic combining ATP and ATF that is better thanATF and ATP alone
CISA Seminar, 20th July 2006 – p.50
Source: Autexier
Summary Development Graphs to maintain formal specifications and proofs
Hierarchical proof datastructure that allows for alternative proofs ondifferent levels of granularity, manages alternative substitutions
Unifying tactics and methods into inferences
deep application of inferences (inspired by CORE’s assertionapplication)
automatic synthesis of inferences from mathematical knowledge automatic computation of additional information required by proof
planner and ΩANTS
PLATΩ tool to plug ΩMEGA into texteditors:
mediates between text structure and logical structure, relays servicerequests and propagates changes (ask for screenshots of a workedexample)
ATLAS Project: “Automated Reasoning in Large Structured Theories”CISA Seminar, 20th July 2006 – p.51