Theory AExp
section ‹Arithmetic Expressions›
text‹
This theory defines a language of arithmetic expressions over variables and literal values. Here,
values are limited to integers and strings. Variables may be either inputs or registers. We also
limit ourselves to a simple arithmetic of addition, subtraction, and multiplication as a proof of
concept.
›
theory AExp
imports Value_Lexorder VName FinFun.FinFun "HOL-Library.Option_ord"
begin
declare One_nat_def [simp del]
unbundle finfun_syntax
type_synonym registers = "nat ⇒f value option"
type_synonym 'a datastate = "'a ⇒ value option"
text_raw‹\snip{aexptype}{1}{2}{%›