Function definitions
- export proofs bout alpha_bn
- equations like
| "simp p (App t1 t2) = (if True then (App (simp p t1) (simp p t2)) else t1)"
do not work
Parser should check that:
- types of bindings match types of binding functions
- fsets are not bound in lst bindings
- bound arguments are not datatypes
- binder is referred to by name and not by type
Smaller things:
- maybe <type>_perm whould be called permute_<type>.simps;
that would conform with the terminology in Nominal2
Other:
- nested recursion, like types "trm list" in a constructor
- store information about defined nominal datatypes, so that
it can be used to define new types that depend on these