section ‹Data› text ‹This theory defines the data types and notations, and some preliminary results about them.› theory Data imports Main begin subsection ‹Function notations› abbreviation ε :: "'a ⇀ 'b" where "ε ≡ λx. None" fun combine :: "('a ⇀ 'b) ⇒ ('a ⇀ 'b) ⇒ ('a ⇀ 'b)" ("_;;_" 20) where "(f ;; g) x = (if g x = None then f x else g x)" lemma dom_combination_dom_union: "dom (τ;;τ') = dom τ ∪ dom τ'" by auto subsection ‹Values, expressions and execution contexts›