Theory Greedy_Step_Spec

theory Greedy_Step_Spec
  imports
    "../Algorithms/Greedy_Submodular_Construct"
begin

text ‹
  Step-specification interface for greedy-style algorithms.

  The main construction locale is Greedy_Setup›. The following locale is an
  intentionally thin named view of this setup, using the name select› for an
  oracle that chooses a maximum-marginal-gain element from every finite
  non-empty candidate set. This keeps later corollaries independent of the
  concrete choice-based oracle used for the basic greedy construction.
›

locale Greedy_Step_Oracle =
  Greedy_Setup V f k select
  for V :: "'a set"
    and f :: "'a set  real"
    and k :: nat
    and select :: "'a set  'a set  'a"
begin

end

end