Definition derivable_closed : context -> Prop :=
  fun Phi => forall x, derivable Phi x -> Phi x.Definition derivable_superset_preserved (P: context -> Prop): Prop :=
  forall Phi Psi, Included _ (derivable Phi) (derivable Psi) -> P Phi -> P Psi.Definition derivable_subset_preserved (P: context -> Prop): Prop :=
  forall Phi Psi, Included _ (derivable Phi) (derivable Psi) -> P Psi -> P Phi.

(* Specifications: *)
Lemma not_derivable_superset_preserved_derivable_subset_preserved: forall P, derivable_superset_preserved P -> derivable_subset_preserved (fun X => ~ P X).
Lemma derivable_subset_preserved_subset_preserved: forall P, derivable_subset_preserved P -> subset_preserved P.
Lemma derivable_superset_preserved_superset_preserved: forall P, derivable_superset_preserved P -> superset_preserved P.
Lemma can_derive_derivable_superset_preserved: forall x, derivable_superset_preserved (can_derive x).
Lemma cannot_derive_derivable_subset_preserved: forall x, derivable_subset_preserved (cannot_derive x).
Lemma can_derive_superset_preserved: forall x, superset_preserved (can_derive x).
Lemma cannot_derive_subset_preserved: forall x, subset_preserved (cannot_derive x).