Theory SyntacticAssertions
section ‹Syntactic Assertions›
theory SyntacticAssertions
imports Logic Loops ProgramHyperproperties Compositionality
begin
subsection ‹Preliminaries: Types, expressions, 'a assertions›
type_synonym var = nat
type_synonym qstate = nat
type_synonym qvar = nat
type_synonym 'a nstate = "(var, 'a, var, 'a) state"
type_synonym 'a npstate = "(var, 'a) pstate"
type_synonym 'a binop = "'a ⇒ 'a ⇒ 'a"
type_synonym 'a comp = "'a ⇒ 'a ⇒ bool"
text ‹Quantified variables and quantified states are represented as de Bruijn indices (natural numbers).›