Fixpoint replicate {X} (n : nat) (m : X) : list X :=
match n with
| O => []
| S n' => cons m (replicate n' m)
end.

Theorem arg_list_len_rel :
forall {C : Config} (arg_list : list (block_id * operation))(s : state),
well_formed s ->
plift (fun l => List.length l = List.length arg_list * LOP)%nat
(get_dist_list_bool arg_list s).