l_assigned_nodes\<^sub>S\<^sub>h\<^sub>a\<^sub>d\<^sub>o\<^sub>w\<^sub>_\<^sub>D\<^sub>O\<^sub>M_def: fixes known_ptr :: "(_) object_ptr \<Rightarrow> bool"   and assigned_nodes :: "(_) element_ptr \<Rightarrow> ((_) heap, exception, (_) node_ptr list) prog"   and flatten_dom :: "((_) heap, exception, unit) prog"   and get_child_nodes :: "(_) object_ptr \<Rightarrow> ((_) heap, exception, (_) node_ptr list) prog"   and get_child_nodes_locs :: "(_) object_ptr \<Rightarrow> ((_) heap \<Rightarrow> (_) heap \<Rightarrow> bool) set"   and get_tag_name :: "(_) element_ptr \<Rightarrow> ((_) heap, exception, char list) prog"   and get_tag_name_locs :: "(_) element_ptr \<Rightarrow> ((_) heap \<Rightarrow> (_) heap \<Rightarrow> bool) set"   and get_root_node :: "(_) object_ptr \<Rightarrow> ((_) heap, exception, (_) object_ptr) prog"   and get_host :: "(_) shadow_root_ptr \<Rightarrow> ((_) heap, exception, (_) element_ptr) prog"   and get_host_locs :: "((_) heap \<Rightarrow> (_) heap \<Rightarrow> bool) set"   and find_slot :: "bool \<Rightarrow> (_) node_ptr \<Rightarrow> ((_) heap, exception, (_) element_ptr option) prog"   and remove :: "(_) node_ptr \<Rightarrow> ((_) heap, exception, unit) prog"   and append_child :: "(_) object_ptr \<Rightarrow> (_) node_ptr \<Rightarrow> ((_) heap, exception, unit) prog"   and remove_shadow_root :: "(_) element_ptr \<Rightarrow> ((_) heap, exception, unit) prog"   and type_wf :: "(_) heap \<Rightarrow> bool"   and get_shadow_root :: "(_) element_ptr \<Rightarrow> ((_) heap, exception, (_) shadow_root_ptr option) prog"   and get_shadow_root_locs :: "(_) element_ptr \<Rightarrow> ((_) heap \<Rightarrow> (_) heap \<Rightarrow> bool) set"   and set_shadow_root :: "(_) element_ptr \<Rightarrow> (_) shadow_root_ptr option \<Rightarrow> ((_) heap, exception, unit) prog"   and set_shadow_root_locs :: "(_) element_ptr \<Rightarrow> ((_) heap, exception, unit) prog set"   and get_parent :: "(_) node_ptr \<Rightarrow> ((_) heap, exception, (_) object_ptr option) prog"   and to_tree_order :: "(_) object_ptr \<Rightarrow> ((_) heap, exception, (_) object_ptr list) prog" shows "l_assigned_nodes\<^sub>S\<^sub>h\<^sub>a\<^sub>d\<^sub>o\<^sub>w\<^sub>_\<^sub>D\<^sub>O\<^sub>M known_ptr assigned_nodes flatten_dom get_child_nodes get_child_nodes_locs get_tag_name get_tag_name_locs get_root_node get_host get_host_locs find_slot remove append_child remove_shadow_root type_wf get_shadow_root get_shadow_root_locs set_shadow_root set_shadow_root_locs get_parent to_tree_order \<equiv> ((l_get_shadow_root type_wf get_shadow_root get_shadow_root_locs \<and> l_set_shadow_root type_wf set_shadow_root set_shadow_root_locs) \<and> l_find_slot find_slot \<and> l_get_tag_name type_wf get_tag_name get_tag_name_locs) \<and> (l_get_root_node get_root_node get_parent \<and> l_get_host get_host get_host_locs) \<and> l_get_child_nodes type_wf known_ptr get_child_nodes get_child_nodes_locs \<and> l_to_tree_order to_tree_order \<and> l_assigned_nodes\<^sub>S\<^sub>h\<^sub>a\<^sub>d\<^sub>o\<^sub>w\<^sub>_\<^sub>D\<^sub>O\<^sub>M_axioms assigned_nodes flatten_dom get_child_nodes get_tag_name get_root_node get_host find_slot remove append_child remove_shadow_root"