Section BUT_XY.
Variable Site : Set.
Hypothesis eq_site_dec : eq_dec Site.
Variable LS1 : list Site.
Variable LS2 : list Site.
Variable Data : Set.
Let Table2 := Site -> Site -> Data.
Variable f : Site -> Site -> Data -> Z.
Remark add_reduce2_1 :
forall x y z a : Z, x = a -> (x + (y + z))%Z = (a + y + z)%Z.
Remark add_reduce3 :
forall x y z a : Z, x = a -> y = z -> (x + y)%Z = (a + z)%Z.
(* Interestingly, the proof of the following Lemma is exactly the same as the proof of the previous lemma *)

Lemma sigma2_but_simpl2 :
forall (s0 s1 : Site) (t1 t2 : Table2) (f : Site -> Site -> Data -> Z),
(forall x y : Site, ~ (x = s0 /\ y = s1) -> f x y (t1 x y) = f x y (t2 x y)) ->
only_once Site eq_site_dec s0 LS1 ->
only_once Site eq_site_dec s1 LS2 ->
sigma2_but_table Site eq_site_dec LS1 LS2 Data s0 s1 f t1 =
sigma2_but_table Site eq_site_dec LS1 LS2 Data s0 s1 f t2.