Journal/JAR-response
changeset 384 60bcf13adb77
parent 382 29915abff9c2
equal deleted inserted replaced
383:c8cb6914f4c8 384:60bcf13adb77
    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