Definition ack_in_flight_to_primary (l : list packet) : nat :=
length (filterMap
(fun p => if msg_eq_dec (pBody p) ack
then if name_eq_dec (pDst p) primary
then Some tt else None
else None)
l).

Lemma inputs_eq_outputs_plus_inc_plus_ack :
forall net tr,
step_async_star (params := Counter_MultiParams) step_async_init net tr ->
trace_inputs tr = trace_outputs tr +
inc_in_flight_to_backup (nwPackets net) +
ack_in_flight_to_primary (nwPackets net).