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
andb > 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: