Definition forces_t (k : kripke_tree) := forces_t2 k k.

(* Specifications: *)
Lemma forces_t_imp : forall k : kripke_tree, Is_Monotone_kripke_tree k -> forall a b : form, (forces_t k a -> forces_t k b) -> (forall k' : kripke_tree, In_Forest atoms k' (Succs k) -> forces_t k' (Imp a b)) -> forces_t k (Imp a b).
Lemma forces_t_mon : forall k : kripke_tree, Is_Monotone_kripke_tree k -> forall a : form, forces_t k a -> forall k' : kripke_tree, Suc k' k -> forces_t k' a.
Lemma soundness_t : forall (t : proof_term) (context : flist) (a : form), derives context t a -> forall k : kripke_tree, Is_Monotone_kripke_tree k -> (forall c : form, In c context -> forces_t k c) -> forces_t k a.
Lemma forces_b__forces_a_imp_b_t : forall k : kripke_tree, Is_Monotone_kripke_tree k -> forall b : form, forces_t k b -> forall a : form, forces_t k (Imp a b).
Lemma forces_a0_imp_a1_imp_b__forces_a0_and_a1_imp_b_t : forall k : kripke_tree, Is_Monotone_kripke_tree k -> forall a0 a1 b : form, forces_t k (Imp a0 (Imp a1 b)) -> forces_t k (Imp (AndF a0 a1) b).
Lemma forces_a0_imp_c_and_a1_imp_c_and_c_imp_b__forces_a0_or_a1_imp_b_t : forall (k : kripke_tree) (a0 a1 c b : form), forces_t k (Imp a0 c) -> forces_t k (Imp a1 c) -> forces_t k (Imp c b) -> forces_t k (Imp (OrF a0 a1) b).
Lemma forces_a1_imp_b__forces_a0_imp_a1_imp_b_t : forall k : kripke_tree, Is_Monotone_kripke_tree k -> forall a0 : form, forces_t k a0 -> forall a1 b : form, forces_t k (Imp a1 b) -> forces_t k (Imp (Imp a0 a1) b).
Lemma forces_a0_imp_a1_imp_b__forces_a1_imp_b_t : forall k : kripke_tree, Is_Monotone_kripke_tree k -> forall a0 : form, forces_t k a0 -> forall a1 b : form, forces_t k (Imp (Imp a0 a1) b) -> forces_t k (Imp a1 b).
Lemma forces_a0_imp_b__forces_a0_and_a1_imp_b_t : forall (k : kripke_tree) (a0 b : form), forces_t k (Imp a0 b) -> forall a1 : form, forces_t k (Imp (AndF a0 a1) b).
Lemma forces_a1_imp_b__forces_a0_and_a1_imp_b_t : forall (k : kripke_tree) (a1 b : form), forces_t k (Imp a1 b) -> forall a0 : form, forces_t k (Imp (AndF a0 a1) b).
Lemma forces_a_a_imp_b__forces_b_t : forall (k : kripke_tree) (a b : form), forces_t k a -> forces_t k (Imp a b) -> forces_t k b.
Lemma forces_a_imp_b0_a_imp_b1__forces_a_imp_a0_and_a1 : forall (a b0 b1 : form) (k : kripke_tree), forces_t k (Imp a b0) -> forces_t k (Imp a b1) -> forces_t k (Imp a (AndF b0 b1)).
Lemma forces_a_imp_b__forces_a_imp_falsum_or_b : forall (k : kripke_tree) (a b : form), forces_t k (Imp a b) -> forces_t k (Imp a (OrF Falsum b)).
Lemma forces_a_imp_b__forces_a_imp_b_or_falsum : forall (k : kripke_tree) (a b : form), forces_t k (Imp a b) -> forces_t k (Imp a (OrF b Falsum)).
Lemma forces_a_imp_falsum_imp_b1_t : forall (k : kripke_tree) (a b1 : form), forces_t k (Imp a (Imp Falsum b1)).
Lemma forces_a_imp_b_imp_c__forces_a_imp_falsum_imp_c : forall (k : kripke_tree) (a b c : form), forces_t k (Imp (Imp a b) c) -> forces_t k (Imp (Imp a Falsum) c).
Lemma forces_vimp : forall (k : kripke_tree) (l : list Int) (a b : form), (forall k' : kripke_tree, Suc k' k -> forces_t2 k k' a -> forces_t2 k k' b) -> forces_t k (vimp l a) -> forces_t k (vimp l b).
Lemma forces_vimp2 : forall (k : kripke_tree) (l : list Int) (a b c : form), (forall k' : kripke_tree, Suc k' k -> forces_t2 k k' a -> forces_t2 k k' b -> forces_t2 k k' c) -> forces_t k (vimp l a) -> forces_t k (vimp l b) -> forces_t k (vimp l c).
Lemma forces_vimp0 : forall (k : kripke_tree) (l : list Int) (b : form), (forall k' : kripke_tree, Suc k' k -> forces_t2 k k' b) -> forces_t k (vimp l b).
Lemma forces_a_imp_b_imp_c__forces_a_imp_falsum_imp_c_t2 : forall (k k' : kripke_tree) (a b c : form), Suc k' k -> forces_t2 k k' (Imp (Imp a b) c) -> forces_t2 k k' (Imp (Imp a Falsum) c).