Theory Functional_Substitution_Lifting_Example
theory Functional_Substitution_Lifting_Example
imports
Functional_Substitution_Lifting
Functional_Substitution_Example
begin
text ‹Lifting of properties from term to equations (modelled as pairs)›
type_synonym ('f,'v) equation = "('f, 'v) term × ('f, 'v) term"
text ‹All property locales have corresponding lifting locales›
locale lifting_term_subst_properties =
based_functional_substitution_lifting where
id_subst = Var and comp_subst = subst_compose and base_subst = subst_apply_term and
base_vars = "vars_term :: ('f, 'v) term ⇒ 'v set" +
finite_variables_lifting where id_subst = Var and comp_subst = subst_compose