(* The following two lemmas have an explicit forall to help unification *)

(* Specifications: *)
Lemma lforallR2 (P : A) (Q : T -> A) (H : P |-- lforall Q) :
forall x, P |-- Q x.
Lemma lexistsL2 (P : T -> A) (Q : A) (H : lexists P |-- Q) :
forall x, P x |-- Q.
Lemma landtrueL : forall a, ltrue //\\ a -|- a.
Lemma landtrueR : forall a, a //\\ ltrue -|- a.
Lemma curry : forall a b c, (a //\\ b) -->> c -|- a -->> (b -->> c).
End ILogicFacts.