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).