Fix: Partial specialization not done correctly in some boundary cases

If we have the proved assertion

    all(a) false => a

and have `false` in the context the forward prover should trigger
a partial specialization of the above assertion which looks like

    false => all(a) a

i.e. it is an implication and can used as the implication term of the
modus pones rule resulting in `all(a) a` with `false` in the context.

Since the partial specialization has not been done correctly, the prover
inserted

    all(a) false => a

into the context which is not an implication and results in an error
in applying the modus ponens rule.

	modified:   ocaml/proof_context.ml