Theory Weak_Typing_Magma
theory Weak_Typing_Magma
imports
Weak_Typing
Abstract_Substitution.Natural_Magma
begin
locale weakly_welltyped_magma_lifting = weakly_welltyped_lifting + natural_magma
begin
lemma weakly_welltyped_add [simp]:
"weakly_welltyped (add l C) ⟷ sub_weakly_welltyped l ∧ weakly_welltyped C"
unfolding weakly_welltyped_def
by auto
lemma weakly_welltyped_plus [simp]:
"weakly_welltyped (plus expr expr') ⟷
weakly_welltyped expr ∧ weakly_welltyped expr'"
unfolding weakly_welltyped_def
by auto
end
locale weakly_welltyped_magma_with_empty_lifting =
weakly_welltyped_magma_lifting + natural_magma_with_empty
begin
lemma weakly_welltyped_empty [intro]: "weakly_welltyped empty"
unfolding weakly_welltyped_def
by simp
end
end