Set Implicit Arguments.
Require fix_measure_utils.
Set Shrink Obligations.
Variables (T: Set) (cmp: T -> T -> bool). (* "le" *)
Definition counted_cmp (x y: T): SimplyProfiled bool := (1, cmp x y). (* lift *)

(* Specifications: *)
Lemma filter_cost (p: T -> SimplyProfiled bool):
(forall t, cost (p t) = 1) -> forall (l: list T), cost (filter _ p l) = length l.