**Due Monday October 4**

- Define an appropriate notion of proof term and extend the implementation of unification shown in class to a certifying theorem prover for unification logic.
- Define a notion of valid substitution in the presence of parameter restrictions on existential variables.
- Define composition for substitutions.
- Prove the main properties of composition:
- If substitutions
*s1*and*s2*are valid, so is their composition*s1 o s2* -
*t[s1 o s2] = (t[s1])[s2]*

- If substitutions

Frank Pfenning fp@cs