(* Title: Substitutions/utermlemmas.thy
Author: Martin Coen, Cambridge University Computer Laboratory
Copyright 1993 University of Cambridge
Additional definitions for uterms that are not part of the basic inductive definition.
*)
UTLemmas = UTerm + Setplus +
consts
vars_of :: 'a uterm=>'a set
"<:" :: ['a uterm,'a uterm]=>bool (infixl 54)
rules (*Definitions*)
vars_of_def "vars_of(t) == uterm_rec t (%x.{x}) (%x.{}) (%u v q r.q Un r)"
occs_def "s <: t == uterm_rec t (%x.False) (%x.False) (%u v q r.s=u | s=v | q | r)"
end