Theory Noop_Substitution
theory Noop_Substitution
imports Based_Substitution
begin
definition noop_comp_subst where
"noop_comp_subst σ _ = σ"
definition noop_id_subst where
"noop_id_subst = ()"
global_interpretation unit: abstract_substitution_monoid where
comp_subst = noop_comp_subst and id_subst = noop_id_subst
by unfold_locales auto
locale properties =
base_substitution +
all_subst_ident_iff_ground +
exists_non_ident_subst +
subst_update +
grounding +
finite_variables +
renaming_variables +
base_exists_ground_subst +
range_vars_subset_if_is_imgu +
exists_imgu
definition noop_apply_subst where
"noop_apply_subst _ _ ≡ SOME expr. True"
definition noop_subst where
"noop_subst expr _ ≡ expr"
definition noop_vars where
"noop_vars _ ≡ {}"
definition noop_is_ground where
"noop_is_ground _ ⟷ True"
definition noop_subst_update where
"noop_subst_update σ _ _ ≡ σ"
definition noop_subst_updates where
"noop_subst_updates σ _ ≡ σ"
context abstract_substitution_monoid
begin