# prove_inductive_relations_exist
     `even(0) /\ odd(1) /\
      (!n. even(n) ==> odd(n + 1)) /\
      (!n. odd(n) ==> even(n + 1))`;;
  val it : thm =
    |- ?even odd.
           (even 0 /\
            odd 1 /\
            (!n. even n ==> odd (n + 1)) /\
            (!n. odd n ==> even (n + 1))) /\
           (!odd' even'.
                even' 0 /\
                odd' 1 /\
                (!n. even' n ==> odd' (n + 1)) /\
                (!n. odd' n ==> even' (n + 1))
                ==> (!a0. odd a0 ==> odd' a0) /\ (!a1. even a1 ==> even' a1)) /\
           (!a0. odd a0 <=> a0 = 1 \/ (?n. a0 = n + 1 /\ even n)) /\
           (!a1. even a1 <=> a1 = 0 \/ (?n. a1 = n + 1 /\ odd n))
 
Here is a example where we get a nonempty list of hypotheses because
HOL cannot prove monotonicity (and indeed, it doesn't hold).