intros a0 a1 b context der.
elim der; clear der.
intros t der.
apply
Derivable_Intro
with
(Abs a0
(Abs a1 (App (AndF a0 a1) (Shift (Shift t)) (Pair (Var 1) (Var 0))))).
apply ImpIntro.
apply ImpIntro.
apply ImpElim.
apply ShiftIntro.
apply ShiftIntro.
assumption.
apply AndFIntro.
apply ByAssumption.
apply My_NthS; apply My_NthO.
apply ByAssumption.
apply My_NthO.
Qed.

Lemma derivable_a0_or_a1_imp_b__derivable_a0_imp_b :
forall (context : flist) (a0 a1 b : form),
Derivable context (Imp (OrF a0 a1) b) -> Derivable context (Imp a0 b).