1 / 45

Formal Analysis of Symbolic Computation Systems for Algebraic Topology

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?.

glynis
Download Presentation

Formal Analysis of Symbolic Computation Systems for Algebraic Topology

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Formal Analysis of Symbolic Computation Systems forAlgebraic Topology Julio Rubio Universidad de La Rioja (Spain)

  2. The Systems • EAT Homology groups of iterated loop spaces • Kenzo • Better performance • Object-oriented

  3. Formal Analysis - Why? First answer: Why not? - How?

  4. Formal Analysis - Why? Second answer: Increasing reliability - How?

  5. Formal Analysis - Why? Third answer: Increasing knowledge - How?

  6. Formal Analysis - How? Two lines: 1. Algebraic Specifications 2. Computer-aided Theorem Proving

  7. Formal Methods in Design SPECIFICATION Formal Methods Implementation SOFTWARE PRODUCT

  8. Formal Methods in our problem SOFTWARE PRODUCT Formal Methods (MATHEMATICAL) MODEL OF THE SOFTWARE PRODUCT

  9. A case-study: BPL EAT and Kenzo implement the Basic Perturbation Lemma (BPL)

  10. BPL, preliminaries: - Chain complex - Reduction - Perturbation

  11. BPL, preliminaries: chain complex

  12. BPL, preliminaries: reduction

  13.  H(C, d)  H(C, d) f h (C, d) (C, d) g Big CC Small CC BPL, preliminaries: reduction  

  14. BPL, preliminaries: perturbation

  15. 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:  

  16. BPL implementation, questions: - How many reductions can be represented? • Is the implementation correct?

  17. BPL implementation, questions: - How many reductions can be represented? (First line: algebraic specifications) • Is the implementation correct? (Second line: ATPs)

  18. First line: ALGEBRAIC SPECIFICATIONS Joint work with: L. Lambán, V. Pascual, C. Domínguez (Universidad de La Rioja)

  19. 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

  20. Sergeraert’s notions 1986 - Storing operations (make-grp :prd ... ) - Functional coding f #’(lambda (x) (integerp x)) Real Common Lisp implementation - Decoding function f  Z

  21. Hoare’s notions 1972 - Programs realizing operations - Representation invariant U  Bool Real Common Lisp implementation - Abstraction function U  M

  22. 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 ... )

  23. The implementations appearing in EAT define final objects in certain categories of Abstract Data Types implementations Theorem

  24. 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”

  25. Categories Families of objects implementing modelling EAT Mathematics

  26. Kenzo: dealing with inheritance - explicit coercion (at the algebraic specification level) • similar kind of results (finality)

  27. Second line: MECHANISED THEOREM PROVING Joint work with: C. Ballarin (Technische Universität München) J. Aransay (Universidad de La Rioja)

  28. Certify the BPL EAT implementation

  29. Choose a proof assistant Certify the BPL EAT implementation

  30. A Common Lisp assistant?

  31. ACL2 (Boyer-Moore) A Common Lisp assistant? Poor expressiveness (no higher order functional programming)

  32. An Assistant with other native language L?

  33. Semantic gap between L and Common Lisp An Assistant with other native language L?

  34. Give a mechanised proof of the BPL theorem (as a previous step towards the proof of EAT implementation correctness)

  35. To choose a (by hand) proof: Sergeraert’s proof To choose a proof Assistant: Isabelle

  36. In Isabelle: - Algebraic structures: • dependent types • extensible records (to reuse)

  37. In Isabelle: ... Lemma: Let f: CD a group homomorphism. Then Imf is a subgroup of D.

  38. Further work: • Algebraic specifications: • More fragments • Theorem proving: • The series

  39. Statement of the BPL:

  40. Further work: • To relate more closely both lines

  41. Further work: • To relate more closely both lines • To apply the acquired knowledge to other systems

  42. Conclusions: Starting from a very concrete problem ...

  43. Conclusions: • Symbolic Computation enriched with Formal Methods

  44. Conclusions: • Symbolic Computation enriched with Formal Methods • Formal Methods enriched from our experiences with Symbolic Computation

  45. Increasing knowledge Conclusions: • Symbolic Computation enriched with Formal Methods • Formal Methods enriched from our experiences with Symbolic Computation

More Related