End SIGMA2_BUT.
Section SIGMA_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 Table := Site -> Data.
Variable t : Table.
Variable s s0 s1 owner : Site.
Variable s2 : Site.
Variable d0 : Data.
Variable f : Site -> Site -> Site -> Data -> Z.
Variable pred : Data -> bool.
Variable
decidable_predicate : forall a : Data, {pred a = true} + {pred a = false}.

Lemma decidable_pred_pred :
forall a : Data,
{fun_or Data pred pred a = true} + {fun_or Data pred pred a = false}.