End SEND_EFFECT.
Section SIG_RECV.
Let Recv_T := Site -> bool.
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.