Local Open Scope logic_base.
Section PropertiesOfSequentCalculus.
Context (L: Language)
(Gamma: ProofTheory L).
Definition DerivableRefl: Prop :=
forall x: expr, empty_context;; x |-- x.
Definition DeductionWeaken: Prop :=
forall (Phi Psi: context) (x: expr), Included _ Phi Psi -> Phi |-- x -> Psi |-- x.
Definition DerivableAssu: Prop :=
forall (Phi: context) (x: expr), Ensembles.In _ Phi x -> Phi |-- x.
Definition DeductionSubst1: Prop :=
forall (Phi: context) (x y: expr), Phi |-- x -> Phi;; x |-- y -> Phi |-- y.
Definition DeductionSubst: Prop :=
forall (Phi Psi: context) (y: expr), (forall x, Psi x -> Phi |-- x) -> Union _ Phi Psi |-- y -> Phi |-- y.
Definition DerivableFiniteWitnessed: Prop :=
forall (Phi: context) (y: expr), Phi |-- y -> exists xs, Forall Phi xs /\ (fun x => In x xs) |-- y.
Definition ContextualDerivableFiniteWitnessed: Prop :=
forall (Phi Psi: context) (y: expr), Union _ Phi Psi |-- y -> exists xs, Forall Psi xs /\ Union _ Phi (fun x => In x xs) |-- y.
End PropertiesOfSequentCalculus.
Section TheoryOfSequentCalculus.
Context {L: Language}
{Gamma: ProofTheory L}.

Lemma DeductionWeaken_ContextualDerivableFiniteWitnessed_DeductionSubst1_2_DeductionSubst:
DeductionWeaken L Gamma ->
ContextualDerivableFiniteWitnessed L Gamma ->
DeductionSubst1 L Gamma ->
DeductionSubst L Gamma.