Definition sigma_receive_table (t : Recv_T) :=
  sigma_table Site LS bool (fun s : Site => Int) t.Definition Set_rec_table (r0 : Recv_T) (s0 : Site) :=
  change_site bool r0 s0 true.Definition Reset_rec_table (r0 : Recv_T) (s0 : Site) :=
  change_site bool r0 s0 false.

(* Specifications: *)
Lemma sigma_set_receive_table : forall (t : Recv_T) (s : Site), t s = false -> sigma_receive_table (Set_rec_table t s) = (sigma_receive_table t + 1)%Z.
Lemma sigma_reset_receive_table : forall (t : Recv_T) (s : Site), t s = true -> sigma_receive_table (Reset_rec_table t s) = (sigma_receive_table t - 1)%Z.