intros A World le forces0 kripke k world a0 a1 b forces_a0_a1_b.
simpl in |- *.
intros k' u0 u1 forces_a0_and_a1.
elim forces_a0_and_a1; clear forces_a0_and_a1.
intros forces_a0 forces_a1.
apply (forces_a0_a1_b k' u0 u1).
apply forces_a0.
apply u0.
elim kripke.
intros refl trans mon.
apply refl.
apply u0.
apply forces_a1.
Qed.

(* Specifications: *)
Lemma forces_a0_imp_c_and_a1_imp_c_and_c_imp_b__forces_a0_or_a1_imp_b :
forall (A : Set) (World : A -> Type) (le : A -> A -> Type)
(forces0 : A -> Int -> Prop) (k : A) (a0 a1 c b : form),
forces A World le forces0 k (Imp a0 c) ->
forces A World le forces0 k (Imp a1 c) ->
forces A World le forces0 k (Imp c b) ->
forces A World le forces0 k (Imp (OrF a0 a1) b).