Higher-order unification

Calculate a unifier (replacement for schematic variables) for two higher-order terms, e.g.

Rule: ?P => ?Q => ?P /\ ?Q

Goal: (a > b) /\ (b > c)

Unifier: ?P = a > b, ?Q = b > c

New goal: a > b and b > c

Backward Proof

Intuition for backward proof:

Full rule:

Forward Proof

Isabelle itself does not support forward proof by solely using higher-order unification.

The of / OF methods can instantiate schematic variables in a term / a proven theorem.

With Hoare Logic?

Enhanced sequence rule: