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