(*<*) theory Syntax imports "Nominal2.Nominal2" "Nominal-Utils" begin (*>*) chapter ‹Syntax› text ‹Syntax of MiniSail programs and the contexts we use in judgements.› section ‹Program Syntax› subsection ‹AST Datatypes› type_synonym num_nat = nat atom_decl x (* Immutable variables*) atom_decl u (* Mutable variables *) atom_decl bv (* Basic-type variables *) type_synonym f = string (* Function name *) type_synonym dc = string (* Data constructor *) type_synonym tyid = string text ‹Basic types. Types without refinement constraints›