ACM Home Page
Please provide us with feedback. Feedback
'Galculator': functional prototype of a Galois-connection based proof assistant
Full text PdfPdf (685 KB)
Source
International Conference on Principles and Practice of Declarative Programming archive
Proceedings of the 10th international ACM SIGPLAN conference on Principles and practice of declarative programming table of contents
Valencia, Spain
SESSION: Theory & semantics table of contents
Pages 44-55  
Year of Publication: 2008
ISBN:978-1-60558-117-0
Authors
Paulo F. Silva  University of Minho, Braga, Portugal
José N. Oliveira  University of Minho, Braga, Portugal
Sponsors
SIGPLAN: ACM Special Interest Group on Programming Languages
ACM: Association for Computing Machinery
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 9,   Downloads (12 Months): 76,   Citation Count: 0
Additional Information:

abstract   references   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1389449.1389456
What is a DOI?

ABSTRACT

Galculator is the name of the prototype of a proof assistant of a special brand: it is solely based on the algebra of Galois connections. When combined with the pointfree transform and tactics such as the indirect equality principle, Galois connections offer a very powerful, generic device to tackle the complexity of proofs in program verification. The paper describes the architecture of the current Galculator prototype, which is implemented in Haskell in order to steer types as much as possible. The prospect of integrating the Galculator with other proof assistants such as e.g. Coq is also discussed


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
C. Aarts, R.C. Backhouse, P. Hoogendijk, E. Voermans, and J. van der Woude. A relational theory of datatypes. Available from www.cs.nott. ac. uk/~rcb/ papers, December 1992.
 
2
J.C. Almeida. Program verification in Coq, 2008. Lecture notes for MAP-I course on Program Semantics, Verification, and Construction available from http://twiki.di.uminho.pt.
3
 
4
 
5
R.C. Backhouse. Mathematics of Program Construction. Univ. of Nottingham, 2004. Draft of book in preparation. 608 pages.
6
 
7
Y. Bertot and P. Castéran. Interactive theorem proving and program development: Coq'Art: the calculus of inductive constructions. Texts in theoretical computer science. Springer, 2004.
 
8
 
9
J. Bohorquez and C. Rocha. Towards the effective use of formal logic in the teaching of discrete math. Information Technology Based Higher Education and Training, 2005. ITHET 2005., pages S3C/1¿S3C/8, 2005.
10
 
11
 
12
 
13
 
14
A. Cunha, J.N. Oliveira, and J. Visser. Type-safe two-level data transformation. In FM'06 , volume 4085 of LNCS, pages 284--289. Springer-Verlag, Aug. 2006.
 
15
D. Delahaye and M. Mayero. Dealing with algebraic expressions over a field in coq using maple. J.Symb.Comput., 39(5):569--592, 2005.
 
16
J.-C. Filliâtre and C. Marché. The Why/Krakatoa/Caduceus platform for deductive program verification. In W. Damm and H. Hermanns, editors, CAV, volume 4590 of LNCS, pages 173--177. Springer, 2007.
 
17
P.J. Freyd and A. Ščedrov. Categories, Allegories, volume 39 of Mathematical Library. North-Holland, 1990.
 
18
R. Hinze and A. Löh. Guide2lhs2tex (for version 1.13), February 2008.
 
19
R. Hinze, A. Löh, and B.C.d.S. Oliveira. "Scrap your boilerplate" reloaded. In Proc. 8th Int. Symp. on Functional and Logic Programming, volume 3945 of LNCS, pages 13--29. Springer, 2006.
 
20
 
21
 
22
 
23
D. Leijen and E. Meijer. Parsec: Direct style monadic parser combinators for the real world. Technical Report UU-CS-2001-27, Department of Computer Science, Universiteit Utrecht, 2001.
 
24
P. Lincoln M. Clavel, S. Eker and J. Meseguer. Principles of Maude. In J. Meseguer, editor, Electronic Notes in Theoretical Computer Science, volume 4. Elsevier Science Publishers, 2000.
 
25
R. Milner. A theory of type polymorphism in programming. Journal of Computer and System Sciences, 17:348--375, August 1978.
 
26
C. Necco, J.N. Oliveira, and J. Visser. Extended static checking by strategic rewriting of pointfree relational expressions. Technical Report FAST:07.01, CCTC Research Centre, University of Minho, 2007.
 
27
J.N. Oliveira. Transforming Data by Calculation. In Ralf Lämmel, João Saraiva, and Joost Visser, editors, GTTSE 2007 Proceedings, pages 139--198, July 2007.
 
28
J.N. Oliveira and C.J. Rodrigues. Transposing relations: from Maybe functions to hash tables. In MPC'04, volume 3125 of LNCS, pages 334--356. Springer, 2004.
 
29
O. Ore. Galois connexions, 1944. Trans. Amer. Math. Soc., 55:493--513.
 
30
S. Peyton Jones. Haskell 98: Language and libraries. J. Funct. Program., 13(1):1--255, 2003.
 
31
D. Pichardie. Interprétation abstraite en logique intuitionniste: extraction d'analyseurs Java certifiés. PhD thesis, Univ. de Rennes, 2005.
 
32
V. Pratt. Origins of the calculus of binary relations. In Proc. of the Seventh Annual IEEE Symposium on Logic in Computer Science, pages 248--254, Santa Cruz, CA, 1992. IEEE Computer Soc.
 
33
T. Sheard, J. Hook, and N. Linger. GADTs + Extensible Kinds = Dependent Programming. Technical report, Portland State University, 2005. URL http://www.cs.pdx.edu/ sheard.
 
34
P.F. Silva and J.N. Oliveira. Report on the design of a Galculator. Technical Report FAST:08.01, CCTC Research Centre, University ofMinho, 2008.
 
35
P.F. Silva, J.C. Almeida, and J.N. Oliveira. Galculator meets Coq. Technical report, CCTC, University of Minho, 2008. (In preparation).
 
36
 
37
A. Tarski and S. Givant. A Formalization of Set Theory without Variables. American Mathematical Society, 1987. AMS Colloquium Publications, volume 41, Providence, Rhode Island.
 
38
D. Turner. A new implementation technique for applicative languages. Software-Practice & Experience, 9:31--49, 1979.
 
39
 
40
E. Visser and Z. Benaissa. A Core Language for Rewriting. In C. Kirchner and H. Kirchner, editors, WRLA'98, volume 15 of ENTCS, Pont-à-Mousson, France, September 1998. Elsevier Science.
41
42

Collaborative Colleagues:
Paulo F. Silva: colleagues
José N. Oliveira: colleagues