End SIGMA_TABLE3.
Section SIGMA2_BUT.
Variable Site : Set.
Hypothesis eq_site_dec : eq_dec Site.
Variable LS0 : list Site.
Variable LS1 : list Site.
Variable LS2 : list Site.
Variable Data : Set.
Let Table2 := Site -> Site -> Data.
Variable t : Table2.
Variable s0 s1 : Site.
Variable d0 : Data.
Variable f : Site -> Site -> Site -> Data -> Z.

(* Specifications: *)
Lemma sigma2_sigma_but :
sigma_but Site s0 eq_site_dec LS0
(fun s : Site => sigma2_table Site LS1 LS2 Data (f s) t) =
sigma2_table Site LS1 LS2 Data
(fun (s1 s2 : Site) (d : Data) =>
sigma_but Site s0 eq_site_dec LS0 (fun s : Site => f s s1 s2 d)) t.