Theory Refine_Dflt_No_Comp

section ‹Default Setup›
theory Refine_Dflt_No_Comp
imports
  Refine_Monadic.Refine_Monadic
  GenCF_No_Comp
  Collections.Code_Target_ICF
begin

text ‹TODO: need to keep in sync with ../../Collections/Refine_Dflt› ...›

text ‹ Configurations ›

lemmas tyrel_dflt_nat_set[autoref_tyrel] = 
  ty_REL[where 'a="nat set" and R="Iddflt_rs_rel"]

lemmas tyrel_dflt_bool_set[autoref_tyrel] = 
  ty_REL[where 'a="bool set" and R="Idlist_set_rel"]

lemmas tyrel_dflt_nat_map[autoref_tyrel] = 
  ty_REL[where R="nat_rel,Rvdflt_rm_rel"] for Rv

lemmas tyrel_dflt = tyrel_dflt_nat_set tyrel_dflt_bool_set tyrel_dflt_nat_map


local_setup let open Autoref_Fix_Rel in
    declare_prio "Gen-AHM-map-hashable" 
      @{term "Rk::(_×_::hashable) set,Rvahm_rel bhc"} PR_LAST #>
    declare_prio "Gen-RBT-map-linorder" 
      @{term "Rk::(_×_::linorder) set,Rvrbt_map_rel lt"} PR_LAST #>
    declare_prio "Gen-AHM-map" @{term "Rk,Rvahm_rel bhc"} PR_LAST #>
    declare_prio "Gen-RBT-map" @{term "Rk,Rvrbt_map_rel lt"} PR_LAST
  end


text "Fallbacks"
local_setup let open Autoref_Fix_Rel in
    declare_prio "Gen-List-Set" @{term "Rlist_set_rel"} PR_LAST #>
    declare_prio "Gen-List-Map" @{term "Rlist_map_rel"} PR_LAST
  end

end