Formal Analysis of Symbolic Computation Systems for Algebraic Topology
description
Transcript of Formal Analysis of Symbolic Computation Systems for Algebraic Topology
![Page 1: Formal Analysis of Symbolic Computation Systems for Algebraic Topology](https://reader035.fdocuments.us/reader035/viewer/2022062500/568159f2550346895dc73a79/html5/thumbnails/1.jpg)
Formal Analysis of
Symbolic Computation Systems for
Algebraic Topology
Julio Rubio
Universidad de La Rioja
(Spain)
![Page 2: Formal Analysis of Symbolic Computation Systems for Algebraic Topology](https://reader035.fdocuments.us/reader035/viewer/2022062500/568159f2550346895dc73a79/html5/thumbnails/2.jpg)
The Systems
- EATEAT
Homology groups of iterated loop spaces
- KenzoKenzoBetter performanceObject-oriented
![Page 3: Formal Analysis of Symbolic Computation Systems for Algebraic Topology](https://reader035.fdocuments.us/reader035/viewer/2022062500/568159f2550346895dc73a79/html5/thumbnails/3.jpg)
Formal Analysis
- Why?
- How?
First answer:
Why not?
![Page 4: Formal Analysis of Symbolic Computation Systems for Algebraic Topology](https://reader035.fdocuments.us/reader035/viewer/2022062500/568159f2550346895dc73a79/html5/thumbnails/4.jpg)
Formal Analysis
- Why?
- How?
Second answer:
Increasing reliability
![Page 5: Formal Analysis of Symbolic Computation Systems for Algebraic Topology](https://reader035.fdocuments.us/reader035/viewer/2022062500/568159f2550346895dc73a79/html5/thumbnails/5.jpg)
Formal Analysis
- Why?
- How?
Third answer:
Increasing knowledge
![Page 6: Formal Analysis of Symbolic Computation Systems for Algebraic Topology](https://reader035.fdocuments.us/reader035/viewer/2022062500/568159f2550346895dc73a79/html5/thumbnails/6.jpg)
Formal Analysis
- How?
Two lines:
1. Algebraic Specifications
2. Computer-aided Theorem Proving
![Page 7: Formal Analysis of Symbolic Computation Systems for Algebraic Topology](https://reader035.fdocuments.us/reader035/viewer/2022062500/568159f2550346895dc73a79/html5/thumbnails/7.jpg)
Formal Methods in Design
Implementation
SPECIFICATION
SOFTWARE PRODUCT
Formal Methods
![Page 8: Formal Analysis of Symbolic Computation Systems for Algebraic Topology](https://reader035.fdocuments.us/reader035/viewer/2022062500/568159f2550346895dc73a79/html5/thumbnails/8.jpg)
Formal Methods in our problem
SOFTWARE PRODUCT
(MATHEMATICAL) MODEL OF THESOFTWARE PRODUCT
Formal Methods
![Page 9: Formal Analysis of Symbolic Computation Systems for Algebraic Topology](https://reader035.fdocuments.us/reader035/viewer/2022062500/568159f2550346895dc73a79/html5/thumbnails/9.jpg)
A case-study: BPL
EAT and Kenzo implement theEAT and Kenzo implement the
Basic Perturbation Lemma (BPL)Basic Perturbation Lemma (BPL)
![Page 10: Formal Analysis of Symbolic Computation Systems for Algebraic Topology](https://reader035.fdocuments.us/reader035/viewer/2022062500/568159f2550346895dc73a79/html5/thumbnails/10.jpg)
BPL, preliminaries:
- Chain complex- Chain complex
- Reduction- Reduction
- Perturbation- Perturbation
![Page 11: Formal Analysis of Symbolic Computation Systems for Algebraic Topology](https://reader035.fdocuments.us/reader035/viewer/2022062500/568159f2550346895dc73a79/html5/thumbnails/11.jpg)
BPL, preliminaries: chain complex
![Page 12: Formal Analysis of Symbolic Computation Systems for Algebraic Topology](https://reader035.fdocuments.us/reader035/viewer/2022062500/568159f2550346895dc73a79/html5/thumbnails/12.jpg)
BPL, preliminaries: reduction
![Page 13: Formal Analysis of Symbolic Computation Systems for Algebraic Topology](https://reader035.fdocuments.us/reader035/viewer/2022062500/568159f2550346895dc73a79/html5/thumbnails/13.jpg)
BPL, preliminaries: reduction
H(C, d) H(C, d)
H(C, d)H(C, d)
(C, d) (C, d)f
g
h
Big CC Small CC
![Page 14: Formal Analysis of Symbolic Computation Systems for Algebraic Topology](https://reader035.fdocuments.us/reader035/viewer/2022062500/568159f2550346895dc73a79/html5/thumbnails/14.jpg)
BPL, preliminaries: perturbation
![Page 15: Formal Analysis of Symbolic Computation Systems for Algebraic Topology](https://reader035.fdocuments.us/reader035/viewer/2022062500/568159f2550346895dc73a79/html5/thumbnails/15.jpg)
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´
![Page 16: Formal Analysis of Symbolic Computation Systems for Algebraic Topology](https://reader035.fdocuments.us/reader035/viewer/2022062500/568159f2550346895dc73a79/html5/thumbnails/16.jpg)
BPL implementation, questions:
- How many reductions can be represented?- How many reductions can be represented?
- Is the implementation correct?Is the implementation correct?
![Page 17: Formal Analysis of Symbolic Computation Systems for Algebraic Topology](https://reader035.fdocuments.us/reader035/viewer/2022062500/568159f2550346895dc73a79/html5/thumbnails/17.jpg)
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)
![Page 18: Formal Analysis of Symbolic Computation Systems for Algebraic Topology](https://reader035.fdocuments.us/reader035/viewer/2022062500/568159f2550346895dc73a79/html5/thumbnails/18.jpg)
First line:
ALGEBRAIC SPECIFICATIONSALGEBRAIC SPECIFICATIONS
Joint work with:
L. Lambán, V. Pascual, C. Domínguez
(Universidad de La Rioja)
![Page 19: Formal Analysis of Symbolic Computation Systems for Algebraic Topology](https://reader035.fdocuments.us/reader035/viewer/2022062500/568159f2550346895dc73a79/html5/thumbnails/19.jpg)
Inspired by EAT syntax
Simp=S U { imp }
imp = { imp_ : imp s1 ... sn s}
S
= { : s1 ... sn s}
= S, imp = Simp, imp
![Page 20: Formal Analysis of Symbolic Computation Systems for Algebraic Topology](https://reader035.fdocuments.us/reader035/viewer/2022062500/568159f2550346895dc73a79/html5/thumbnails/20.jpg)
- Storing operations
(make-grp :prd ... )
Real Common Lisp implementation
Sergeraert’s notions 1986
- Functional coding
f #’(lambda (x)
(integerp x))
- Decoding function
f Z
![Page 21: Formal Analysis of Symbolic Computation Systems for Algebraic Topology](https://reader035.fdocuments.us/reader035/viewer/2022062500/568159f2550346895dc73a79/html5/thumbnails/21.jpg)
- Programs realizing operations
Real Common Lisp implementation
- Representation invariant
U Bool
- Abstraction function
U M
Hoare’s notions 1972
![Page 22: Formal Analysis of Symbolic Computation Systems for Algebraic Topology](https://reader035.fdocuments.us/reader035/viewer/2022062500/568159f2550346895dc73a79/html5/thumbnails/22.jpg)
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
![Page 23: Formal Analysis of Symbolic Computation Systems for Algebraic Topology](https://reader035.fdocuments.us/reader035/viewer/2022062500/568159f2550346895dc73a79/html5/thumbnails/23.jpg)
Theorem
The implementations appearing in EAT define final objects in certain categories of Abstract Data Types implementations
![Page 24: Formal Analysis of Symbolic Computation Systems for Algebraic Topology](https://reader035.fdocuments.us/reader035/viewer/2022062500/568159f2550346895dc73a79/html5/thumbnails/24.jpg)
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
![Page 25: Formal Analysis of Symbolic Computation Systems for Algebraic Topology](https://reader035.fdocuments.us/reader035/viewer/2022062500/568159f2550346895dc73a79/html5/thumbnails/25.jpg)
Categories
EAT
implementing
Families of objects
modelling
Mathematics
![Page 26: Formal Analysis of Symbolic Computation Systems for Algebraic Topology](https://reader035.fdocuments.us/reader035/viewer/2022062500/568159f2550346895dc73a79/html5/thumbnails/26.jpg)
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)
![Page 27: Formal Analysis of Symbolic Computation Systems for Algebraic Topology](https://reader035.fdocuments.us/reader035/viewer/2022062500/568159f2550346895dc73a79/html5/thumbnails/27.jpg)
Second line:
MECHANISED THEOREM PROVINGMECHANISED THEOREM PROVING
Joint work with:
C. Ballarin (Technische Universität München)
J. Aransay (Universidad de La Rioja)
![Page 28: Formal Analysis of Symbolic Computation Systems for Algebraic Topology](https://reader035.fdocuments.us/reader035/viewer/2022062500/568159f2550346895dc73a79/html5/thumbnails/28.jpg)
Certify the BPL EAT implementation
![Page 29: Formal Analysis of Symbolic Computation Systems for Algebraic Topology](https://reader035.fdocuments.us/reader035/viewer/2022062500/568159f2550346895dc73a79/html5/thumbnails/29.jpg)
Certify the BPL EAT implementation
Choose a proof assistant
![Page 30: Formal Analysis of Symbolic Computation Systems for Algebraic Topology](https://reader035.fdocuments.us/reader035/viewer/2022062500/568159f2550346895dc73a79/html5/thumbnails/30.jpg)
A Common Lisp assistant?
![Page 31: Formal Analysis of Symbolic Computation Systems for Algebraic Topology](https://reader035.fdocuments.us/reader035/viewer/2022062500/568159f2550346895dc73a79/html5/thumbnails/31.jpg)
A Common Lisp assistant?
ACL2 (Boyer-Moore)Poor expressiveness
(no higher order functional programming)
![Page 32: Formal Analysis of Symbolic Computation Systems for Algebraic Topology](https://reader035.fdocuments.us/reader035/viewer/2022062500/568159f2550346895dc73a79/html5/thumbnails/32.jpg)
An Assistant with other native language L?
![Page 33: Formal Analysis of Symbolic Computation Systems for Algebraic Topology](https://reader035.fdocuments.us/reader035/viewer/2022062500/568159f2550346895dc73a79/html5/thumbnails/33.jpg)
An Assistant with other native language L?
Semantic gap between
L and Common Lisp
![Page 34: Formal Analysis of Symbolic Computation Systems for Algebraic Topology](https://reader035.fdocuments.us/reader035/viewer/2022062500/568159f2550346895dc73a79/html5/thumbnails/34.jpg)
Give a mechanised proof of the BPL theorem
(as a previous step towards the proof of EAT implementation correctness)
![Page 35: Formal Analysis of Symbolic Computation Systems for Algebraic Topology](https://reader035.fdocuments.us/reader035/viewer/2022062500/568159f2550346895dc73a79/html5/thumbnails/35.jpg)
To choose a (by hand) proof:
Sergeraert’s proofSergeraert’s proof
To choose a proof Assistant:
IsabelleIsabelle
![Page 36: Formal Analysis of Symbolic Computation Systems for Algebraic Topology](https://reader035.fdocuments.us/reader035/viewer/2022062500/568159f2550346895dc73a79/html5/thumbnails/36.jpg)
In Isabelle:
- Algebraic structures:- Algebraic structures:
- dependent typesdependent types- extensible records (to reuse)extensible records (to reuse)
![Page 37: Formal Analysis of Symbolic Computation Systems for Algebraic Topology](https://reader035.fdocuments.us/reader035/viewer/2022062500/568159f2550346895dc73a79/html5/thumbnails/37.jpg)
Lemma: Let f: C D a group homomorphism.
Then Im f is a subgroup of D.
In Isabelle:
...
![Page 38: Formal Analysis of Symbolic Computation Systems for Algebraic Topology](https://reader035.fdocuments.us/reader035/viewer/2022062500/568159f2550346895dc73a79/html5/thumbnails/38.jpg)
Further work:
- Algebraic specifications:
More fragments
- Theorem proving:
The series
![Page 39: Formal Analysis of Symbolic Computation Systems for Algebraic Topology](https://reader035.fdocuments.us/reader035/viewer/2022062500/568159f2550346895dc73a79/html5/thumbnails/39.jpg)
Statement of the BPL:
![Page 40: Formal Analysis of Symbolic Computation Systems for Algebraic Topology](https://reader035.fdocuments.us/reader035/viewer/2022062500/568159f2550346895dc73a79/html5/thumbnails/40.jpg)
Further work:
- To relate more closely both lines
![Page 41: Formal Analysis of Symbolic Computation Systems for Algebraic Topology](https://reader035.fdocuments.us/reader035/viewer/2022062500/568159f2550346895dc73a79/html5/thumbnails/41.jpg)
Further work:
- To relate more closely both lines
- To apply the acquired knowledge to other systems
![Page 42: Formal Analysis of Symbolic Computation Systems for Algebraic Topology](https://reader035.fdocuments.us/reader035/viewer/2022062500/568159f2550346895dc73a79/html5/thumbnails/42.jpg)
Conclusions:
Starting from a very concrete problem ...
![Page 43: Formal Analysis of Symbolic Computation Systems for Algebraic Topology](https://reader035.fdocuments.us/reader035/viewer/2022062500/568159f2550346895dc73a79/html5/thumbnails/43.jpg)
Conclusions:
- Symbolic Computation enriched with Formal Methods
![Page 44: Formal Analysis of Symbolic Computation Systems for Algebraic Topology](https://reader035.fdocuments.us/reader035/viewer/2022062500/568159f2550346895dc73a79/html5/thumbnails/44.jpg)
Conclusions:
- Symbolic Computation enriched with Formal Methods
- Formal Methods enriched from our experiences with Symbolic Computation
![Page 45: Formal Analysis of Symbolic Computation Systems for Algebraic Topology](https://reader035.fdocuments.us/reader035/viewer/2022062500/568159f2550346895dc73a79/html5/thumbnails/45.jpg)
Increasing
knowledgeConclusions:
- Symbolic Computation enriched with Formal Methods
- Formal Methods enriched from our experiences with Symbolic Computation