GEN : (term -> thm -> thm)

SYNOPSIS
Generalizes the conclusion of a theorem.

DESCRIBE
When applied to a term x and a theorem A |- t, the inference rule GEN returns the theorem A |- !x. t, provided x is a variable not free in any of the assumptions. There is no compulsion that x should be free in t.
      A |- t
   ------------  GEN "x"                [where x is not free in A]
    A |- !x. t

FAILURE
Fails if x is not a variable, or if it is free in any of the assumptions.

EXAMPLE
The following example shows how the above side-condition prevents the derivation of the theorem x=T |- !x. x=T, which is clearly invalid.
   #top_print print_all_thm;;
   - : (thm -> void)

   #let t = ASSUME "x=T";;
   t = x = T |- x = T

   #GEN "x:bool" t;;
   evaluation failed     GEN

SEEALSO  GENL,   GEN_ALL,   GEN_TAC,   SPEC,   SPECL,   SPEC_ALL,   SPEC_TAC

HOL  Kananaskis 0