(* 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