(* same as before, but we consider the functions f1 and f2 uniquely for values contained in the table t! *)

(* Specifications: *)
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.