Formal Analysis of Symbolic Computation Systems for Algebraic Topology Julio Rubio Universidad de La...
-
date post
19-Dec-2015 -
Category
Documents
-
view
221 -
download
1
Transcript of Formal Analysis of Symbolic Computation Systems for Algebraic Topology Julio Rubio Universidad de La...
Formal Analysis of
Symbolic Computation Systems for
Algebraic Topology
Julio Rubio
Universidad de La Rioja
(Spain)
The Systems
- EATEAT
Homology groups of iterated loop spaces
- KenzoKenzoBetter performanceObject-oriented
Formal Methods in our problem
SOFTWARE PRODUCT
(MATHEMATICAL) MODEL OF THESOFTWARE PRODUCT
Formal Methods
A case-study: BPL
EAT and Kenzo implement theEAT and Kenzo implement the
Basic Perturbation Lemma (BPL)Basic Perturbation Lemma (BPL)
BPL, preliminaries:
- Chain complex- Chain complex
- Reduction- Reduction
- Perturbation- Perturbation
BPL, statement:
(C, d) (C, d)f
g
h
Big CC Small CC
(C,d+) (C, ¿d´?)¿f ´?
¿g´?
¿h´?
Big CC Small CC
Now we introduce a perturbation and we obtain: BPL algorithm
f´,g´,d´,h´
BPL implementation, questions:
- How many reductions can be represented?- How many reductions can be represented?
- Is the implementation correct?Is the implementation correct?
BPL implementation, questions:
- How many reductions can be represented?- How many reductions can be represented?
(First line: algebraic specifications)(First line: algebraic specifications)
- Is the implementation correct?Is the implementation correct?
(Second line: ATPs)(Second line: ATPs)
First line:
ALGEBRAIC SPECIFICATIONSALGEBRAIC SPECIFICATIONS
Joint work with:
L. Lambán, V. Pascual, C. Domínguez
(Universidad de La Rioja)
Inspired by EAT syntax
Simp=S U { imp }
imp = { imp_ : imp s1 ... sn s}
S
= { : s1 ... sn s}
= S, imp = Simp, imp
- Storing operations
(make-grp :prd ... )
Real Common Lisp implementation
Sergeraert’s notions 1986
- Functional coding
f #’(lambda (x)
(integerp x))
- Decoding function
f Z
- Programs realizing operations
Real Common Lisp implementation
- Representation invariant
U Bool
- Abstraction function
U M
Hoare’s notions 1972
Real Common Lisp implementation
Sergeraert’s notions 1986
- Functional coding
f #’(lambda (x)
(integerp x))
- Decoding function
f Z
- Storing operations
(make-grp :prd ... )
- Representation invariant
U Bool
- Abstraction function
U M
- Programs realizing operations
Hoare’s notions 1972
DATUMIMPLEMENTATION OF A DATA TYPE
The implementation shift
Theorem
The implementations appearing in EAT define final objects in certain categories of Abstract Data Types implementations
Theorem
Thus: EAT implementations are
“as general as possible”
The implementations appearing in EAT define final objects in certain categories of Abstract Data Types implementations
Kenzo: dealing with inheritance
- explicit coercion- explicit coercion
(at the algebraic specification level)(at the algebraic specification level)
- similar kind of resultssimilar kind of results
(finality)(finality)
Second line:
MECHANISED THEOREM PROVINGMECHANISED THEOREM PROVING
Joint work with:
C. Ballarin (Technische Universität München)
J. Aransay (Universidad de La Rioja)
A Common Lisp assistant?
ACL2 (Boyer-Moore)Poor expressiveness
(no higher order functional programming)
Give a mechanised proof of the BPL theorem
(as a previous step towards the proof of EAT implementation correctness)
To choose a (by hand) proof:
Sergeraert’s proofSergeraert’s proof
To choose a proof Assistant:
IsabelleIsabelle
In Isabelle:
- Algebraic structures:- Algebraic structures:
- dependent typesdependent types- extensible records (to reuse)extensible records (to reuse)
Further work:
- To relate more closely both lines
- To apply the acquired knowledge to other systems
Conclusions:
- Symbolic Computation enriched with Formal Methods
- Formal Methods enriched from our experiences with Symbolic Computation