“…It also includes a variety of tools for testing them: unit testing, random generators of terms for random testing of properties, stepper for step-by-step reduction sequences. It has been successfully used for the mechanization of large semantics models of real programming languages (e.g., JavaScript Guha et al (2010); Politz et al (2012); Python Politz et al (2013); Scheme Matthews and Findler (2007); and Lua 5.2 Soldevila et al (2017Soldevila et al ( , 2020Soldevila et al ( , 2022); the development of tools for program analysis (like, again, Soldevila et al (2020), to check for a particular kind of well-behavedness of Lua 5.2 programs; Lorenzen and Erdweg (2013), for checking type-soundness of syntactic language extensions that introduces high-level programming concepts). Other, particular uses cases, involve the mechanization of operational semantics for virtual machines specialised for running reactive programs Oeyen et al (2022), or even mechanizing a model of Redex itself, as is done in Felleisen et al (2009).…”