(* Copyright 2012-2015 by Adam Petcher.				* * Use of this source code is governed by the license described	* * in the LICENSE file at the root of the source tree.		*)
Set Implicit Arguments.
Local Open Scope nat_scope.

(* Specifications: *)
Theorem qam_count_gen :
forall (A B C : Set)(c : OracleComp A B C)(q : nat),
queries_at_most c q ->
forall (S : Set)(count : S -> nat)(eqds : EqDec S)(o : S -> A -> Comp (B * S))(s : S)(n : nat),
(forall a b x y,
In (a, b) (getSupport (o x y)) ->
count b <= n + (count x)) ->
forall a b,
In (a, b) (getSupport (c _ _ o s)) ->
count b <= q * n + (count s).