Definition Z_id (s : Site) (x : Z) := x.

(* Specifications: *)
Lemma Z_id_reduce : forall (s : Site) (x : Z), Z_id s x = x.
Lemma sigma_same_table : forall t1 t2 : Site -> Z, sigma_table Site LS Z Z_id (fun_sum Site t1 t2) = (sigma_table Site LS Z Z_id t1 + sigma_table Site LS Z Z_id t2)%Z.
Lemma sigma_same_table2 : forall t1 t2 : Site -> Z, sigma_table Site LS Z Z_id (fun_minus Site t1 t2) = (sigma_table Site LS Z Z_id t1 - sigma_table Site LS Z Z_id t2)%Z.
Lemma sigma_table_simpl : forall t1 t2 : Site -> Data, t1 = t2 -> sigma_table Site LS Data f t1 = sigma_table Site LS Data f t2.
Lemma sigma_table_simpl_property : forall (t1 t2 : Site -> Data) (P : (Site -> Data) -> Site -> Set), ((forall d : Site, P t2 d) -> t1 = t2) -> (forall d : Site, P t2 d) -> sigma_table Site LS Data f t1 = sigma_table Site LS Data f t2.
Lemma sigma_table_simpl2 : forall (Data : Set) (t : Site -> Data) (f1 f2 : Site -> Data -> Z), (forall (s : Site) (d : Data), f1 s d = f2 s d) -> sigma_table Site LS Data f1 t = sigma_table Site LS Data f2 t.
Lemma sigma_table_simpl2_partial : forall (Data : Set) (t : Site -> Data) (f1 f2 : Site -> Data -> Z), (forall (s : Site) (d : Data), t s = d -> f1 s d = f2 s d) -> sigma_table Site LS Data f1 t = sigma_table Site LS Data f2 t.
Lemma sigma_table_simpl2_property : forall (Data : Set) (t : Site -> Data) (P : (Site -> Data) -> Site -> Set) (f1 f2 : Site -> Data -> Z), (forall (s : Site) (d : Data), P t s -> f1 s d = f2 s d) -> (forall s : Site, P t s) -> sigma_table Site LS Data f1 t = sigma_table Site LS Data f2 t.