Theory Basics
section ‹Preliminaries›
text ‹\label{sec:preliminaries}›
text ‹Before we define the \td in Isabelle/HOL and start with its partial correctness proof, we define
all required data structures, formalize definitions and prove auxiliary lemmas.›
theory Basics
imports Main "HOL-Library.Finite_Map"
begin
unbundle lattice_syntax
subsection ‹Strategy Trees›
text ‹The constraint system is a function mapping each unknown to a right-hand side to compute its
value. We require the right-hand sides to be pure functionals
\<^cite>‹hofmannWhatPureFunctional2010›. This means that they may query the values of other unknowns
and perform additional computations based on those, but they may, e.g., not spy on the solver's
data structures. Such pure functions can be expressed as strategy trees.›