20 unusual in that we do not need to provide a version of Kleene's theorem. |
20 unusual in that we do not need to provide a version of Kleene's theorem. |
21 All results are obtained without formally needing a definition for automata. |
21 All results are obtained without formally needing a definition for automata. |
22 If we would need Kleene's theorem as part of our arguments, then we would |
22 If we would need Kleene's theorem as part of our arguments, then we would |
23 need such a definition. |
23 need such a definition. |
24 |
24 |
25 To make our intention with the paper more clear, we moved the quote |
25 To make our intention with the paper clearer, we moved the quote |
26 by Gasarch from the Conclusion to the Introduction. In this quote he asks |
26 by Gasarch from the Conclusion to the Introduction. In this quote he asks |
27 whether the complementation of regular-expression languages can be proved |
27 whether the complementation of regular-expression languages can be proved |
28 without using automata. In this way we sharpen our motivation by being |
28 without using automata. In this way we sharpen our motivation by being |
29 theorem prover related, but also of general interest. See quotations and |
29 theorem prover related, but also of general interest. See quotations and |
30 changes right after Definition 2, p. 3. |
30 changes right after Definition 2, p. 3. |
42 > representation of the objects of the formalization (and hence have |
42 > representation of the objects of the formalization (and hence have |
43 > consequences on its intricacies). |
43 > consequences on its intricacies). |
44 |
44 |
45 Yes, we agree with the reviewer that *if* one is in the business of |
45 Yes, we agree with the reviewer that *if* one is in the business of |
46 proving the correctness of, for example, Hopcroft's algorithm or the |
46 proving the correctness of, for example, Hopcroft's algorithm or the |
47 NFA-to-DFA conversion, which are based on "concrete" automata, then yes |
47 NFA-to-DFA conversion, which are all based on "concrete" notions of |
48 one clearly has to use the usual notion of the automata somewhere, even |
48 automata, then yes one clearly has to use the usual notion of the |
49 might have to start from it. |
49 automata somewhere, even might have to start from it. |
50 |
50 |
51 However, we disagree with the interpretation that our comparison is |
51 However, we disagree with the interpretation that our comparison is |
52 misleading. Our claim that usual `paper' definitions do not translate |
52 misleading. Our claim that usual 'paper' definitions do not translate |
53 smoothly into formalised definitions is not a claim just by us and |
53 smoothly into formalised definitions is not a claim just by us and |
54 independent of any numbers: We referenced in the paper to a concrete |
54 independent of any numbers: We referenced in the paper a concrete |
55 problem pointed out already in Slind's email cited on the bottom of |
55 problem pointed out already in Slind's email cited on the bottom of |
56 p. 2. In the context of HOL4, he made the observation |
56 p. 2. In the context of HOL4, he made the observation |
57 |
57 |
58 | A student who is attempting to prove the pumping lemma for regular |
58 | A student who is attempting to prove the pumping lemma for regular |
59 | languages came across the following problem. Suppose a DFA is |
59 | languages came across the following problem. Suppose a DFA is |
135 We agree "that underlying our arguments are automata proofs", but |
135 We agree "that underlying our arguments are automata proofs", but |
136 we argued without constructing automata explicitly. This is the very point |
136 we argued without constructing automata explicitly. This is the very point |
137 and contribution of the paper. If we construct automata explicitly, the |
137 and contribution of the paper. If we construct automata explicitly, the |
138 formalised proof of Myhill-Nerode theorem will become much larger as |
138 formalised proof of Myhill-Nerode theorem will become much larger as |
139 can be seen in existing work. By abandoning automata and relying only on |
139 can be seen in existing work. By abandoning automata and relying only on |
140 regular expressions, we get a much simpler formalised proof of MN theorem. |
140 regular expressions, we get a much smoother formalised proof of MN theorem. |
141 |
141 |
142 > To sum up, I think there is a significant value to come up with fresh |
142 > To sum up, I think there is a significant value to come up with fresh |
143 > arguments that makes it easier to formalize existing pen-and-paper |
143 > arguments that makes it easier to formalize existing pen-and-paper |
144 > proofs and textbooks. Yet, the arguments presented in this paper are |
144 > proofs and textbooks. Yet, the arguments presented in this paper are |
145 > not really new (they look like inlinings, even if the authors chose |
145 > not really new (they look like inlinings, even if the authors chose |
148 > formalize. I would rather improve on the underlying tools, or develop |
148 > formalize. I would rather improve on the underlying tools, or develop |
149 > new ways to formalize this notion. |
149 > new ways to formalize this notion. |
150 |
150 |
151 We disagree in that we should not take the opportunity of using |
151 We disagree in that we should not take the opportunity of using |
152 regular expressions when they lead to simpler formalisations |
152 regular expressions when they lead to simpler formalisations |
153 in regular language theory. We have already found as one "application" |
153 in regular language theory. We have already found as one successful |
154 that many structural inductions over regular expressions are good learning |
154 "application" that many structural inductions over regular expressions |
155 tools for students in order to come to grips with formal reasoning. |
155 are good learning tools for students in order to come to grips with formal |
|
156 reasoning. |
156 |
157 |
157 |
158 |
158 > - Lemma 21 already appears in Brzozowski (1964) who attributes it to |
159 > - Lemma 21 already appears in Brzozowski (1964) who attributes it to |
159 > Arden. I think there is little value in distinguishing the two |
160 > Arden. I think there is little value in distinguishing the two |
160 > versions of Arden's lemma, since their proofs and statement are parallel. |
161 > versions of Arden's lemma, since their proofs and statement are parallel. |
161 |
162 |
162 We agree that Brzozowski (1964) gives the statement of Arden's lemma, but |
163 We agree that Brzozowski (1964) gives the statement of Arden's lemma, but |
163 no proof, for which he refers to Arden (1960). Unfortunately, we do not have |
164 no proof, for which he refers to Arden (1960). Unfortunately, we do not have |
164 access to this book and guess that this applies to many contemporary readers. |
165 access to this book and guess that this applies to many contemporary readers. |
165 Our reference to Sakarovitch is motivated by the fact that he gives |
166 Our reference to Sakarovitch is motivated by the fact that he gives |
166 explicitly a proof. |
167 explicitly a proof and his book is fairly recent. |
167 |
168 |
168 > - I am puzzled by the one-character transition relation between |
169 > - I am puzzled by the one-character transition relation between |
169 > equivalence classes (p. 6). The $X_i$ correspond to the states of |
170 > equivalence classes (p. 6). The $X_i$ correspond to the states of |
170 > the minimal automaton that recognizes $L$ (and you even agree with |
171 > the minimal automaton that recognizes $L$ (and you even agree with |
171 > that in the Related Work section!). Therefore, I disagree with your |
172 > that in the Related Work section!). Therefore, I disagree with your |
248 We are not 100% sure whether we are correctly interpreting your |
249 We are not 100% sure whether we are correctly interpreting your |
249 question: If you are after an informal "black board" calculation method |
250 question: If you are after an informal "black board" calculation method |
250 of this regular expression in front of students, then you can use our |
251 of this regular expression in front of students, then you can use our |
251 algorithm. We have done this already. If you are asking whether |
252 algorithm. We have done this already. If you are asking whether |
252 our formalisation is "constructive" enough in order to directly |
253 our formalisation is "constructive" enough in order to directly |
253 extract an algorithm, then no we cannot do this. We use a theorem |
254 extract an algorithm, then no, we cannot do this. We use a theorem |
254 prover based on classical logic. We, for example, did not make |
255 prover based on classical logic. We did not make, for example, |
255 explicit how a single regular expression can be constructed from |
256 explicit how a single regular expression can be constructed from |
256 a set of regular expressions, still recognising the same language. |
257 a set of regular expressions, still recognising the same language. |
257 However, we do not like to open the "can-of-worms" about constructive |
258 However, we do not like to open the "can-of-worms" about constructive |
258 and unconstructive arguments and how to extract explicit algorithms. |
259 and unconstructive arguments and how to extract explicit algorithms. |
259 In theory we can, in practice we cannot. Unfortunately, we do not have |
260 In theory we can, in practice we cannot. Unfortunately, we do not have |
260 a better answer for this at the moment and think this is besides |
261 a better answer for this at the moment and think this is besides |
261 the main point of the paper. |
262 the main point of the paper. |
262 |
263 |
263 > - It seems that the purpose of the tagging functions here is to build |
|
264 > right invariant equivalence relations that refines the Myhill-Nerode |
|
265 > relation (Lemma 43). Maybe you should start by that. Also, any such |
|
266 > right invariant relation naturally gives rise to an automaton, and |
|
267 > you build such later on. Maybe you could phrase it out at the very |
|
268 > beginning of this section. |
|
269 |
|
270 We added a long remark at the end of the section that spells |
|
271 out the automata inspiration behind the tagging functions (see p. 17). |
|
272 |
|
273 > - p. 13 In the definition of the tagging function for the plus case, |
264 > - p. 13 In the definition of the tagging function for the plus case, |
274 > isn't there a typo (replacing the \cdot by a comma) ? |
265 > isn't there a typo (replacing the \cdot by a comma) ? |
275 |
266 |
276 No. Our formalisation uses this definition. |
267 No. Our formalisation uses this definition generating a pair. |
277 |
268 |
278 > - p. 14 There is an "x" missing on the left-hand side of the definition of |
269 > - p. 14 There is an "x" missing on the left-hand side of the definition of |
279 > x tag A B. |
270 > x tag A B. |
280 |
271 |
281 Yes. Corrected. |
272 Yes. Corrected. |
342 derivatives is unfortunately not widely known, which we hope |
333 derivatives is unfortunately not widely known, which we hope |
343 we can help to change with this paper. |
334 we can help to change with this paper. |
344 |
335 |
345 > - (27) are properties, not definitions, isn't it? |
336 > - (27) are properties, not definitions, isn't it? |
346 |
337 |
347 Corrected. |
338 Yes, corrected. |
348 |
339 |
349 > - A question. On the one hand, Isabelle/HOL features a classical |
340 > - A question. On the one hand, Isabelle/HOL features a classical |
350 > logic, with the law of the excluded middle and the Hilbert's epsilon |
341 > logic, with the law of the excluded middle and the Hilbert's epsilon |
351 > operator. On the other hand, in Coq, it is often involved to prove |
342 > operator. On the other hand, in Coq, it is often involved to prove |
352 > decidability results, which may make it more difficult to formalize |
343 > decidability results, which may make it more difficult to formalize |
358 gigantic (therefore the Isabelle/HOL follows the LCF approach |
349 gigantic (therefore the Isabelle/HOL follows the LCF approach |
359 where only theorems need to be recorded for correctness). Having |
350 where only theorems need to be recorded for correctness). Having |
360 said that, there is one obvious place in our proof where we used |
351 said that, there is one obvious place in our proof where we used |
361 a "classical" shortcut by using + for generating a single regular |
352 a "classical" shortcut by using + for generating a single regular |
362 expression from a finite set of expressions. This would need better |
353 expression from a finite set of expressions. This would need better |
363 "explanation" in a constructive proof. There are no other inherent |
354 "explanation" in a constructive proof. We also leave out an explicit |
364 classical shortcuts in the proof. But as said before, we think opening |
355 choice for selecting an equation in the euqational system. But that |
|
356 can be easily patched if wanted. To sum up, there are no inherent |
|
357 classical shortcuts in the proof. But as said before, we think opening |
365 this can-of-worms is beside the focus of the paper. |
358 this can-of-worms is beside the focus of the paper. |
366 |
359 |
367 |
360 |
368 > In particular, I am worried about the last sentence on page 24: how do |
361 > In particular, I am worried about the last sentence on page 24: how do |
369 > you make these sets computational? |
362 > you make these sets computational? |
385 > you provide, for instance, an algorithm that compute the number of |
378 > you provide, for instance, an algorithm that compute the number of |
386 > equivalences classes of your Myhill-Nerode relation? |
379 > equivalences classes of your Myhill-Nerode relation? |
387 |
380 |
388 We have attempted to be very careful with our comments about the |
381 We have attempted to be very careful with our comments about the |
389 formalisation sizes from other works. Our point is to draw |
382 formalisation sizes from other works. Our point is to draw |
390 attention to the somewhat surprising fact, namely that formalisation |
383 attention to the somewhat surprising fact that formalisation |
391 using automata (either out of choice or being forced) led to |
384 using automata (either out of choice or being forced) led to |
392 formalisations where the people in question had to fight their |
385 formalisations where the people in question had to fight their |
393 theorem prover. On the other hand, our formalisation could rely |
386 theorem prover. On the other hand, our formalisation could rely |
394 on the fact that regular expressions are inductive datatypes which |
387 on the fact that regular expressions are inductive datatypes which |
395 are generally well-supported by theorem prover reasoning. We hope |
388 are generally well-supported by theorem prover reasoning. We hope |