Section AddSequentCalculus.
Context {L: Language}
{minL: MinimunLanguage L}
{pL: PropositionalLanguage L}
{Gamma: ProofTheory L}
{minAX: MinimunAxiomatization L Gamma}
{ipGamma: IntuitionisticPropositionalLogic L Gamma}
{cpGamma: ClassicalPropositionalLogic L Gamma}
{minAX': MinimunAxiomatization L (Build_AxiomaticProofTheory (@provable L Gamma))}
{ipGamma': IntuitionisticPropositionalLogic L (Build_AxiomaticProofTheory (@provable L Gamma))}
{SC: NormalSequentCalculus L (Build_AxiomaticProofTheory (@provable L Gamma))}
{bSC: BasicSequentCalculus L (Build_AxiomaticProofTheory (@provable L Gamma))}
{minSC: MinimunSequentCalculus L (Build_AxiomaticProofTheory (@provable L Gamma))}
{ipSC: IntuitionisticPropositionalSequentCalculus L (Build_AxiomaticProofTheory (@provable L Gamma))}.

(* Specifications: *)
Lemma MakeSequentCalculus_ClassicalPropositionalLogic:
Typeclass_Rewrite (exist (fun X: Prop => X) (IntuitionisticPropositionalLogic L (Build_AxiomaticProofTheory (@provable L Gamma))) ipGamma' :: exist (fun X: Prop => X) (IntuitionisticPropositionalSequentCalculus L (Build_AxiomaticProofTheory (@provable L Gamma))) ipSC :: exist (fun X: Prop => X) (BasicSequentCalculus L (Build_AxiomaticProofTheory (@provable L Gamma))) bSC :: exist (fun X: Prop => X) (MinimunSequentCalculus L (Build_AxiomaticProofTheory (@provable L Gamma))) minSC :: nil) ->
forall (G: Prop) (l: list (sig (fun X: Prop => X))),
(forall
(cpSC: ClassicalPropositionalSequentCalculus L (Build_AxiomaticProofTheory (@provable L Gamma)))
(cpGamma: ClassicalPropositionalLogic L (Build_AxiomaticProofTheory (@provable L Gamma))),
OpaqueProp (Typeclass_Rewrite l -> G)) <->
OpaqueProp (Typeclass_Rewrite ((exist (fun X: Prop => X) (ClassicalPropositionalLogic L Gamma) cpGamma) :: l) -> G).