Jingnan Xie, Harry B. Hunt III, Richard E. Stearns
{"title":"Pumping Lemmas Can be “Harmful”","authors":"Jingnan Xie, Harry B. Hunt III, Richard E. Stearns","doi":"10.1007/s00224-024-10169-9","DOIUrl":null,"url":null,"abstract":"<p>A pumping lemma for a class of languages <span>\\(\\varvec{\\mathcal {C}}\\)</span> is often used to show particular languages are not in <span>\\(\\varvec{\\mathcal {C}}\\)</span>. In contrast, we show that a pumping lemma for a class of languages <span>\\(\\varvec{\\mathcal {C}}\\)</span> can be used to study the computational complexity of the predicate “<span>\\(\\in \\varvec{\\mathcal {C}}\\)</span>” via highly efficient many-one reductions. In this paper, we use extended regular expressions (EXREGs, introduced in Câmpeanu et al. (Int. J. Foundations Comput. Sci. <b>14</b>(6), 1007–1018, 2003)) as an example to illustrate the proof technique and establish the complexity of the predicate “is an EXREG language” for several classes of languages. Due to the efficiency of the reductions, both productiveness (a stronger form of non-recursive enumerability) and complexity results can be obtained simultaneously. For example, we show that the predicate “is an EXREG language” is productive (hence, not recursively enumerable) for context-free grammars, and is Co-NEXPTIME-hard for context-free grammars generating bounded languages. The proof technique is easy to use and requires only a few conditions. This suggests that for any class of languages <span>\\(\\varvec{\\mathcal {C}}\\)</span> having a pumping lemma, the language class comparison problems (e.g., does a given context-free grammar generate a language in <span>\\(\\varvec{\\mathcal {C}}\\)</span>?) are almost guaranteed to be hard. So, pumping lemmas sometimes could be “harmful” when studying computational complexity results.</p>","PeriodicalId":22832,"journal":{"name":"Theory of Computing Systems","volume":"1 1","pages":""},"PeriodicalIF":0.6000,"publicationDate":"2024-04-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Theory of Computing Systems","FirstCategoryId":"94","ListUrlMain":"https://doi.org/10.1007/s00224-024-10169-9","RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q4","JCRName":"COMPUTER SCIENCE, THEORY & METHODS","Score":null,"Total":0}
引用次数: 0
Abstract
A pumping lemma for a class of languages \(\varvec{\mathcal {C}}\) is often used to show particular languages are not in \(\varvec{\mathcal {C}}\). In contrast, we show that a pumping lemma for a class of languages \(\varvec{\mathcal {C}}\) can be used to study the computational complexity of the predicate “\(\in \varvec{\mathcal {C}}\)” via highly efficient many-one reductions. In this paper, we use extended regular expressions (EXREGs, introduced in Câmpeanu et al. (Int. J. Foundations Comput. Sci. 14(6), 1007–1018, 2003)) as an example to illustrate the proof technique and establish the complexity of the predicate “is an EXREG language” for several classes of languages. Due to the efficiency of the reductions, both productiveness (a stronger form of non-recursive enumerability) and complexity results can be obtained simultaneously. For example, we show that the predicate “is an EXREG language” is productive (hence, not recursively enumerable) for context-free grammars, and is Co-NEXPTIME-hard for context-free grammars generating bounded languages. The proof technique is easy to use and requires only a few conditions. This suggests that for any class of languages \(\varvec{\mathcal {C}}\) having a pumping lemma, the language class comparison problems (e.g., does a given context-free grammar generate a language in \(\varvec{\mathcal {C}}\)?) are almost guaranteed to be hard. So, pumping lemmas sometimes could be “harmful” when studying computational complexity results.
期刊介绍:
TOCS is devoted to publishing original research from all areas of theoretical computer science, ranging from foundational areas such as computational complexity, to fundamental areas such as algorithms and data structures, to focused areas such as parallel and distributed algorithms and architectures.