Skip to main content
Log in

Pumping lemmas for classes of languages generated by folding systems

  • Published:
Natural Computing Aims and scope Submit manuscript

Abstract

Geometric folding processes are ubiquitous in natural systems ranging from protein biochemistry to patterns of insect wings and leaves. In a previous study, a folding operation between strings of formal languages was introduced as a model of such processes. The operation was then used to define a folding system (F-system) as a construct consisting of a core language, containing the strings to be folded, and a folding procedure language, which defines how the folding is done. This paper reviews main definitions associated with F-systems and next it determines necessary conditions for a language to belong to classes generated by such systems. The conditions are stated in the form of pumping lemmas and four classes are considered, in which the core and folding procedure languages are both regular, one of them is regular and the other context-free, or both are context-free. Full demonstrations of the lemmas are provided, and the analysis is illustrated with examples.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6

Similar content being viewed by others

Notes

  1. Sburlan’s (2011) original definition has been modified in order to include the case in which both w and v are empty strings.

  2. Sburlan’s (2011) original version of the lemma states that there exists a positive constant p such that any string \(w\in L\), with \(|w| \ge p\), can be written as \(w =uvxyz\) satisfying \(uv^ixy^iz\in L\) for each \(i\ge 0\), \(|vy| \ge 1\), and \(|vxy|\le p\). In his proof, he set \(p=\max (p_1, p_2)\) where \(p_1\) and \(p_2\) are the pumping lengths for the core and the folding procedure languages. However, it can be shown that such a value of p does not always work. As a simple example, set \(\varPhi =(L_1, L_2)\) with \(L_1=\texttt {aaaab}^*\) and \(L_2=(\texttt {uu})^*\texttt {ddd}\). Then, \(p=5\). However, \(L(\varPhi )= \texttt {aaaab} \cup (\texttt {bb})^*\texttt {aaaabbb}\), and note that string aaaab has length 5 but it can not be pumped as indicated by the lemma. Although the original lemma may still hold for some other value of p (\(p=9\), in case of the example, with \(u=x=y={\epsilon }\), \(v=\texttt {bb}\) and z equal to the rest of the string), a full demonstration was not provided. Other inconsistencies have been detected in the proof. For example, the proof is based on constructing a double stranded structure \(\left[ \frac{r_j}{s_j}\right]\), and the technique is also used here. However, instead of Eqs. (7) and (8), the previous proof sets \(r_j = x_ry_r^{\frac{{{\,\mathrm{lcm}\,}}(|y_r|, |y_s|)}{|y_r|}j}z_r\) and \(s_j = x_sy_s^{\frac{{{\,\mathrm{lcm}\,}}(|y_r|, |y_s|)}{|y_s|}j}z_s\), where \({{\,\mathrm{lcm}\,}}\) denotes the least common multiple. Since the stranded construction requires \(|r_j|=|s_j|\), it follows that \(|x_rz_r|=|x_sz_s|\) and hence \(|y_r|=|y_s|\). However, those conditions do not hold for arbitrary regular languages \(L_1\) and \(L_2\) (note that, in the above example, \(|y_r|=|\texttt {b}|=1\) whereas \(|y_s|=|\texttt {uu}|=2\)).

    Similar problems have been found also in the original version of the lemma for the case of \(L\in \mathcal {F}(\textsf {CF}, \textsf {REG})\).

References

  • Akitaya HA, Demaine ED, Ku JS (2017) Simple folding is really hard. J Inform Process 25:580–589

    Article  Google Scholar 

  • Alperin RC (2000) A mathematical theory of origami constructions and numbers. N Y J Math 6:119–133

    MathSciNet  MATH  Google Scholar 

  • Cipra B (2001) In the fold: origami meets mathematics. SIAM News 34:1–4

    Google Scholar 

  • Demaine ED, O’Rourke J (2007) Geometric folding algorithms: linkages, origami, polyhedra. Cambridge University Press, New York, pp 167–298

    Book  Google Scholar 

  • Dobson CM (2003) Protein folding and misfolding. Nature 426:884–890

    Article  Google Scholar 

  • Felton S, Tolley M, Demaine E, Rus D, Wood R (2014) A method for building self-folding machines. Science 345:644–646

    Article  Google Scholar 

  • Filipov ET, Tachi T, Paulino GH (2015) Origami tubes assembled into stiff, yet reconfigurable structures and metamaterials. Proc Natl Acad Sci USA 112:12321–12326

    Article  Google Scholar 

  • Head T (2011) Computing transparently: the independent sets in a graph. Nat Comput 10:129–138

    Article  MathSciNet  Google Scholar 

  • Hopcroft JE, Motwani R, Ullman JD (2001) Introduction to automata theory, languages and computation, 2nd edn. Addison-Wesley, New York, pp 126–127 and 275–276

  • Ida T, Fleuriot J, Ghourabi F (2016) A new formalization of origami in geometric algebra. In: Narboux J, Schreck P, Streinu I (eds) Proceedings of ADG 2016: 11th international workshop on automated deduction in geometry, Strasbourg, France, pp 117–136

  • Kanazawa M, Kobele GM, Michaelis J, Salvati S, Yoshinaka R (2014) The failure of the strong pumping lemma for multiple context-free languages. Theor Comput Syst 55:250–278

    Article  MathSciNet  Google Scholar 

  • Kari L, Rozenberg G (2008) The many facets of natural computing. Commun ACM 51:72–83

    Article  Google Scholar 

  • Mahadevan L, Rica S (2005) Self-organized origami. Science 307:1740–1740

    Article  Google Scholar 

  • Mateescu A, Rozenberg G, Salomaa A (1998) Shuffle on trajectories: syntactic constraints. Theor Comput Sci 197:1–56

    Article  MathSciNet  Google Scholar 

  • Rothemund PW (2006) Folding DNA to create nanoscale shapes and patterns. Nature 440:297

    Article  Google Scholar 

  • Sburlan D (2011) Computing by folding. Int J Comput Commun Controls 6:739–748

    Article  Google Scholar 

  • Seki H, Matsumura T, Fujii M, Kasami T (1991) On multiple context-free grammars. Theor Comput Sci 88:191–229

    Article  MathSciNet  Google Scholar 

Download references

Acknowledgements

This work was supported by Conselho Nacional de Desenvolvimento Científico e Tecnológico (CNPq, Brazil).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Jorge C. Lucero.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Lucero, J.C. Pumping lemmas for classes of languages generated by folding systems. Nat Comput 20, 321–327 (2021). https://doi.org/10.1007/s11047-019-09771-5

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11047-019-09771-5

Keywords

Mathematics Subject Classification

Navigation