Theory Nested_Environment
section ‹Nested environments›
theory Nested_Environment
imports Main
begin
text ‹
  Consider a partial function @{term [source] "e :: 'a ⇒ 'b option"}; this may
  be understood as an ∗‹environment› mapping indexes \<^typ>‹'a› to optional
  entry values \<^typ>‹'b› (cf.\ the basic theory ‹Map› of Isabelle/HOL). This
  basic idea is easily generalized to that of a ∗‹nested environment›, where
  entries may be either basic values or again proper environments. Then each
  entry is accessed by a ∗‹path›, i.e.\ a list of indexes leading to its
  position within the structure.
›