Changeset 804

Show
Ignore:
Timestamp:
05/13/11 18:18:41 (2 years ago)
Message:

...

Files:
1 modified

Legend:

Unmodified
Removed

r803 r804
123123 b) port D3.1 and D4.1 to Coq and re-use the CompCert proofs.
124124
125
125 We will stop and spend some time on the proposed comparison. Nevertheless,
126 we remark here a few points that are important to put the project in our
127 perspective.
128 \begin{enumerate}
129  \item CompCert proofs are not open source. All commercial uses are prohibited
130   by the licence. One of the strong points of the project proposal was to
131   obtain a fully open source verified compiler. This does not allow us to
132   re-use at all CompCert proofs (the intermediate languages are instead put
133   under GPL). Of course, we could re-discuss the open source project
134   requirement, but for reasons I am not listing here we do champion open
135   source, in particular for software developed using public money.
136  \item CompCert is surely part of the state of the art in compiler
137   certification. The proofs are very well organized and the authors are
138   trying to maximise simplicity and reusal. Nevertheless, some important design
139   decisions have been taken from the very beginning and have not been
140   questioned estensively. Among them, the use of non executable semantics
141   for intermediate languages and the use of non dependent types for the code.
142   From our point of view, the CerCo project is first of all a project in
143   compiler certification. Therefore, we are interested in exploring the
144   design space for compiler certification. For this reason, already in the
145   project proposal, we decided to start from different assumptions. In
146   particular, we will favour dependent types and executable semantics.
147   We are not claiming in advance that we will obtain better results than
148   CompCert: what we are claiming is the interest in comparing large scale
149   solutions based on different techniques. We also note that the one used
150   in CompCert are very reasonable because of the choice of Coq that,
151   traditionally, has favoured the use of non executable, inductive
152   specification over executable ones.
153  \item If we decide to depart from the choices we made in the project
154   proposal and reuse CompCert proofs, this does not imply automatically that
155   it is decisively better for us to switch from Matita to Coq. Indeed, the
156   effort of just porting verbatim the proofs from Coq to Matita is very small.
157   Indeed, as said before, our interest is in changing the proofs themselves.
158   We should therefore decide if it would be easier to port verbatim the
159   proofs to Matita or if it would be simpler to port the deliverables already
160   done in Matita to Coq. Since we have already used some features of Matita
161   not available in Coq and since we have more control over Matita, it is not
162   obvious a priori what solution would be lighter for us.
163  \item It is clear that one partner is interested in promoting the use of
164   Matita. We think that more competition in the domain of interactive theorem
165   proving will be rewarding for the community as a whole. Indeed, Coq saw
166   many interesting improvements in the period when it co-existed with Lego,
167   an alternative implementation of the same calculus. Moreover, some ideas
168   developed for Matita have already been ported to Coq itself, and the two
169   systems show alternative solutions for similar problems that are still
170   under comparison (e.g. Matita's unification hints vs Coq type classes).
171   One of the major struggles of EU funded research, and FET in particular,
172   is the balance between innovation and stability. While the promotion and
173   improvement of Matita is not a major goal for the project, we believe that
174   it will provide some good side outcomes, as it happened in the past when
175   Matita was used for some major formalizations and new techniques were
176   develop recurring problems. This would be hardly possible using Coq since
177   nobody in the CerCo team is part of the Coq developing team and has enough
178   expertise to quickly modify such a large system as Coq.
179 \end{enumerate}
126180
127181\end{enumerate}