(*** ***)
Definition a_fun (s : Site) := f s1 s (t s1 s).
Remark sigma2_change_1 :
forall (l : list Site) (n0 : Z),
only_once Site eq_site_dec s0 l ->
(sigma Site l (change_x0 Site Z eq_site_dec a_fun s0 n0) + a_fun s0 - n0)%Z =
sigma Site l a_fun.
Remark add_reduce1 :
forall x y z a b c : Z, (x + y - z - a + z)%Z = (x + y - a)%Z.
Remark add_reduce2 :
forall x y z a b c : Z,
(x + y)%Z = (z + a - b + c)%Z -> (x + y)%Z = (a + z - b + c)%Z.

Lemma sigma_table2_change :
only_once Site eq_site_dec s0 LS1 ->
only_once Site eq_site_dec s1 LS2 ->
sigma2_table Site LS1 LS2 Data f
(update2_table Site eq_site_dec Data t s0 s1 d0) =
(sigma2_table Site LS1 LS2 Data f t - f s0 s1 (t s0 s1) + f s0 s1 d0)%Z.