Theory BPlusTree_SplitCE
theory BPlusTree_SplitCE
imports
BPlusTree_Set
BPlusTree_Range
begin
global_interpretation bplustree_linear_search_list: split_list linear_split_list
defines bplustree_ls_isin_list = bplustree_linear_search_list.isin_list
and bplustree_ls_insert_list = bplustree_linear_search_list.insert_list
and bplustree_ls_delete_list = bplustree_linear_search_list.delete_list
and bplustree_ls_lrange_list = bplustree_linear_search_list.lrange_split
apply unfold_locales
unfolding linear_split.simps
apply (auto split: list.splits)
subgoal
by (metis (no_types, lifting) case_prodD in_set_conv_decomp takeWhile_eq_all_conv takeWhile_idem)
subgoal
by (metis case_prod_conv hd_dropWhile le_less_linear list.sel(1) list.simps(3))
done
declare bplustree_linear_search_list.isin_list.simps[code]
declare bplustree_linear_search_list.insert_list.simps[code]
declare bplustree_linear_search_list.delete_list.simps[code]