Parameter protocol_piece : share -> val -> state -> (state -> state -> Prop) ->
  ((state -> Z -> mpred) * (state -> Z -> mpred)) -> mpred.Definition protocol_R := protocol_piece Share.bot.Definition protocol_W := protocol_piece gsh2.

Lemma protocol_piece_super_non_expansive : forall n sh l s ord Tread Tfull, approx n (protocol_piece sh l s ord (Tread, Tfull)) = approx n (protocol_piece sh l s ord (fun s v => approx n (Tread s v), fun s v => approx n (Tfull s v))).