IMP_TRANS : thm -> thm -> thm

SYNOPSIS
Implements the transitivity of implication.

DESCRIPTION
When applied to theorems A1 |- t1 ==> t2 and A2 |- t2 ==> t3, the inference rule IMP_TRANS returns the theorem A1 u A2 |- t1 ==> t3.
    A1 |- t1 ==> t2   A2 |- t2 ==> t3
   -----------------------------------  IMP_TRANS
         A1 u A2 |- t1 ==> t3

FAILURE CONDITIONS
Fails unless the theorems are both implicative, with the consequent of the first being the same as the antecedent of the second (up to alpha-conversion).

EXAMPLE
  # let th1 = TAUT `p /\ q /\ r ==> p /\ q`
    and th2 = TAUT `p /\ q ==> p`;;
  val th1 : thm = |- p /\ q /\ r ==> p /\ q
  val th2 : thm = |- p /\ q ==> p

  # IMP_TRANS th1 th2;;
  val it : thm = |- p /\ q /\ r ==> p

SEE ALSO
IMP_ANTISYM_RULE, SYM, TRANS.