450 likes | 651 Views
Formal Analysis of Symbolic Computation Systems for Algebraic Topology. Julio Rubio Universidad de La Rioja (Spain). The Systems EAT Homology groups of iterated loop spaces Kenzo Better performance Object-oriented. Formal Analysis. - Why?. First answer: Why not?. - How?.
E N D
Formal Analysis of Symbolic Computation Systems forAlgebraic Topology Julio Rubio Universidad de La Rioja (Spain)
The Systems • EAT Homology groups of iterated loop spaces • Kenzo • Better performance • Object-oriented
Formal Analysis - Why? First answer: Why not? - How?
Formal Analysis - Why? Second answer: Increasing reliability - How?
Formal Analysis - Why? Third answer: Increasing knowledge - How?
Formal Analysis - How? Two lines: 1. Algebraic Specifications 2. Computer-aided Theorem Proving
Formal Methods in Design SPECIFICATION Formal Methods Implementation SOFTWARE PRODUCT
Formal Methods in our problem SOFTWARE PRODUCT Formal Methods (MATHEMATICAL) MODEL OF THE SOFTWARE PRODUCT
A case-study: BPL EAT and Kenzo implement the Basic Perturbation Lemma (BPL)
BPL, preliminaries: - Chain complex - Reduction - Perturbation
H(C, d) H(C, d) f h (C, d) (C, d) g Big CC Small CC BPL, preliminaries: reduction
h f (C, d) (C, d) g Big CC Small CC BPL algorithm Now we introduce a perturbation and we obtain: ¿h´? ¿f ´? (C,d+) (C, ¿d´?) ¿g´? f´,g´,d´,h´ Small CC Big CC BPL, statement:
BPL implementation, questions: - How many reductions can be represented? • Is the implementation correct?
BPL implementation, questions: - How many reductions can be represented? (First line: algebraic specifications) • Is the implementation correct? (Second line: ATPs)
First line: ALGEBRAIC SPECIFICATIONS Joint work with: L. Lambán, V. Pascual, C. Domínguez (Universidad de La Rioja)
S=S, W Simp=Simp, Wimp Simp=S U{impS} Wimp={imp_w : impS s1 ... sn s} S W={w : s1 ... sn s} Inspired by EAT syntax
Sergeraert’s notions 1986 - Storing operations (make-grp :prd ... ) - Functional coding f #’(lambda (x) (integerp x)) Real Common Lisp implementation - Decoding function f Z
Hoare’s notions 1972 - Programs realizing operations - Representation invariant U Bool Real Common Lisp implementation - Abstraction function U M
Hoare’s notions 1972 Sergeraert’s notions 1986 The implementation shift IMPLEMENTATION OF A DATA TYPE DATUM - Representation invariant U Bool - Functional coding f #’(lambda (x) (integerp x)) Real Common Lisp implementation - Abstraction function U M - Decoding function f Z - Programs realizing operations - Storing operations (make-grp :prd ... )
The implementations appearing in EAT define final objects in certain categories of Abstract Data Types implementations 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”
Categories Families of objects implementing modelling EAT Mathematics
Kenzo: dealing with inheritance - explicit coercion (at the algebraic specification level) • similar kind of results (finality)
Second line: MECHANISED THEOREM PROVING Joint work with: C. Ballarin (Technische Universität München) J. Aransay (Universidad de La Rioja)
Choose a proof assistant Certify the BPL EAT implementation
ACL2 (Boyer-Moore) A Common Lisp assistant? Poor expressiveness (no higher order functional programming)
Semantic gap between L and Common Lisp An Assistant with other native language L?
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 proof To choose a proof Assistant: Isabelle
In Isabelle: - Algebraic structures: • dependent types • extensible records (to reuse)
In Isabelle: ... Lemma: Let f: CD a group homomorphism. Then Imf is a subgroup of D.
Further work: • Algebraic specifications: • More fragments • Theorem proving: • The series
Further work: • To relate more closely both lines
Further work: • To relate more closely both lines • To apply the acquired knowledge to other systems
Conclusions: Starting from a very concrete problem ...
Conclusions: • Symbolic Computation enriched with Formal Methods
Conclusions: • Symbolic Computation enriched with Formal Methods • Formal Methods enriched from our experiences with Symbolic Computation
Increasing knowledge Conclusions: • Symbolic Computation enriched with Formal Methods • Formal Methods enriched from our experiences with Symbolic Computation