apply ImpI;eapply OrI2;is_ass.
prov_impl_in IHll;apply ImpI; apply OrE with (ClausetoPropF l) (ClausetoPropF a).
eapply prov_impl.
apply CNF_or_clause_prov.
eapply AndE1;is_ass.
apply OrI1;is_ass.
apply OrE with (ClausetoPropF l) (CNFtoPropF ll).
apply K;eapply AndE2;is_ass.
apply OrI1;is_ass.
apply OrI2;apply AndI;is_ass.
Qed.

(* Specifications: *)
Lemma CNF_or_prov : forall ll1 ll2, Provable (CNFtoPropF (Disjunct ll1 ll2) → CNFtoPropF ll1 ∨ CNFtoPropF ll2).
intros;induction ll1;simpl;unfold CNFtoPropF;simpl.