Skip to main content Accessibility help

Rewriting with generalized nominal unification

  • Yunus Kutz (a1) and Manfred Schmidt-Schauß (a1)


We consider matching, rewriting, critical pairs and the Knuth–Bendix confluence test on rewrite rules in a nominal setting extended by atom-variables. We utilize atom-variables instead of atoms to formulate and rewrite rules on constrained expressions, which is an improvement of expressiveness over previous approaches. Nominal unification and nominal matching are correspondingly extended. Rewriting is performed using nominal matching, and computing critical pairs is done using nominal unification. We determine the complexity of several problems in a quantified freshness logic. In particular we show that nominal matching is $$\prod _2^p$$ -complete. We prove that the adapted Knuth–Bendix confluence test is applicable to a nominal rewrite system with atom-variables, and thus that there is a decidable test whether confluence of the ground instance of the abstract rewrite system holds. We apply the nominal Knuth–Bendix confluence criterion to the theory of monads and compute a convergent nominal rewrite system modulo alpha-equivalence.


Corresponding author

*Corresponding author. Email:


Hide All

Manfred Schmidt-Schauß is supported by the Deutsche Forschungsgemeinschaft (DFG) under grant SCHM 986/11-1.



Hide All
Aoto, T. and Kikuchi, K. (2016). Nominal confluence tool. In: International Joint Conference on Automated Reasoning, Springer, 173182.
Ariola, Z. M., Felleisen, M., Maraist, J., Odersky, M. and Wadler, P. (1995). A call-by-need lambda calculus. In: POPL 1995, ACM Press, 233246.
Ayala-Rincón, M., de Carvalho-Segundo, W., Fernández, M. and Nantes-Sobrinho, D. (2019a). A formalisation of nominal c-matching through unification with protected variables. Electronic Notes in Theoretical Computer Science 344 4765.
Ayala-Rincón, M., Fernández, M., Gabbay, M. J. and Rocha-Oliveira, A. C. (2016). Checking overlaps of nominal rewriting rules. Electronic Notes in Theoretical Computer Science 323 3956.
Ayala-Rincón, M., Fernández, M., Silva, G. F. and Nantes-Sobrinho, D. (2019b). A certified functional nominal c-unification algorithm. In: Pre-Proceedings of the 29th International Symposium Logic-Based Program Synthesis and Transformation (LOPSTR).
Calvès, C. and Fernández, M. (2008). A polynomial nominal unification algorithm. Theoretical Computer Science 403 (2-3) 285306.
Cheney, J. (2004). Nominal Logic Programming. PhD thesis, Cornell University.
Cheney, J. (2010). Equivariant unification. Journal of Automated Reasoning 45 (3) 267300.
Fernández, M. and Gabbay, M. J. (2007). Nominal rewriting. Information and Computation 205 (6) 917965.
Fernández, M. and Gabbay, M. J. (2010). Closed nominal rewriting and efficiently computable nominal algebra equality. In: Crary, K. and Miculan, M. (eds.) Proceedings 5th International Workshop on Logical Frameworks and Meta-languages: Theory and Practice, LFMTP 2010, Edinburgh, UK, 14th July 2010, EPTCS, vol. 34, 3751.
Fernández, M., Gabbay, M. J. and Mackie, I. (2004). Nominal rewriting systems. In: Proceedings of the 6th ACM SIGPLAN International Conference on Principles and Practice of Declarative Programming, PPDP 2004, ACM, 108119.
Fernández, M. and Rubio, A. (2012). Nominal completion for rewrite systems with binders. In Czumaj, A., Mehlhorn, K., Pitts, A. M. and Wattenhofer, R. (eds.) Proceedings 39th ICALP Part II, LNCS, vol. 7392, Springer, 201213.
Hamana, M. (2017). How to prove your calculus is decidable: practical applications of second-order algebraic theories and computation. Proceedings of the ACM on Programming Languages 1 (ICFP) 22:122:28.
Haskell-community (2019). Haskell Main Website.
Kikuchi, K., Aoto, T., and Toyama, Y. (2017). Parallel closure theorem for left-linear nominal rewriting systems. In: International Symposium on Frontiers of Combining Systems, Springer, 115131.
Knuth, D. and Bendix, P. B. (1970). Simple word problems in universal algebra. In: Leech, J. (ed.) Computational Problems in Abstract Algebra, Pergamon Press, 263297.
Levy, J. and Villaret, M. (2010). An efficient nominal unification algorithm. In: Lynch, C. (ed.) Proceedings of 21st RTA, LIPIcs, vol. 6, Schloss Dagstuhl, 209226.
Papadimitriou, C. (1994). Computational Complexity. Addison-Wesley.
Peyton Jones, S. L. (2003). Haskell 98 Language and Libraries: The Revised Report. Cambridge University Press.
Peyton Jones, S. L., Gordon, A. and Finne, S. (1996). Concurrent Haskell. In Proceedings of 23rd ACM POPL 1996, ACM, 295308.
Pitts, A. (2016). Nominal techniques. ACM SIGLOG News 3 (1) 5772.
Pitts, A. M. (2013). Nominal Sets: Names and Symmetry in Computer Science. Cambridge University Press.
Sabel, D. and Schmidt-Schauß, M. (2011). A contextual semantics for concurrent Haskell with futures. In: Schneider-Kamp, P. and Hanus, M. (eds.) Proceedings of 13th ACM PPDP 2011, ACM, 101112.
Sabel, D. and Schmidt-Schauß, M. (2012). Conservative concurrency in Haskell. In: LICS 2012, IEEE, 561570.
Schmidt-Schauß, M. and Sabel, D. (2018). Nominal unification with atom and context variables. In: Kirchner, H. (ed.) 3rd International Conference on Formal Structures for Computation and Deduction, FSCD 2018, July 9–12, 2018, Oxford, UK, LIPIcs, vol. 108, Schloss Dagstuhl - Leibniz-Zentrum fuer Informatik, 28:1–28:20.
Schmidt-Schauß, M., Sabel, D. and Kutz, Y. D. K. (2019). Nominal unification with atom-variables. Journal of Symbolic Computation 90 4264.
Suzuki, T., Kikuchi, K., Aoto, T. and Toyama, Y. (2015). Confluence of orthogonal nominal rewriting systems revisited. In: 26th International Conference on Rewriting Techniques and Applications (RTA 2015). Schloss Dagstuhl-Leibniz-Zentrum fuer Informatik.
Suzuki, T., Kikuchi, K., Aoto, T. and Toyama, Y. (2016). Critical pair analysis in nominal rewriting. In: SCSS, 156168.
Urban, C. (2008). Nominal techniques in Isabelle/HOL. Journal of Automated Reasoning 40 (4) 327356.
Urban, C. and Kaliszyk, C. (2012). General bindings and alpha-equivalence in nominal Isabelle. Logical Methods in Computer Science 8 (2) 135.
Urban, C., Pitts, A. M. and Gabbay, M. (2003). Nominal unification. In: 17th CSL, 12th EACSL, and 8th KGC, LNCS, vol. 2803, Springer, 513527.
Urban, C., Pitts, A. M. and Gabbay, M. J. (2004). Nominal unification. Theoretical Computer Science 323 (1–3) 473497.
Wadler, P. (1995). Monads for functional programming. In: Jeuring, J. and Meijer, E. (eds.) Advanced Functional Programming, First International Spring School on Advanced Functional Programming Techniques, Båstad, Sweden, May 24-30, 1995, Tutorial Text, LNCS, vol. 925, Springer, 2452.


Rewriting with generalized nominal unification

  • Yunus Kutz (a1) and Manfred Schmidt-Schauß (a1)


Full text views

Total number of HTML views: 0
Total number of PDF views: 0 *
Loading metrics...

Abstract views

Total abstract views: 0 *
Loading metrics...

* Views captured on Cambridge Core between <date>. This data will be updated every 24 hours.

Usage data cannot currently be displayed.