Theory Clause_Typing
theory Clause_Typing
imports Clause_Typing_Generic
begin
locale clause_typing = "term": base_typing term_welltyped
for term_welltyped
begin
sublocale clause_typing_generic where atom_welltyped = term_welltyped
by unfold_locales
lemma literal_is_welltyped_iff [simp]:
"literal.is_welltyped (Pos t) ⟷ term.is_welltyped t"
"literal.is_welltyped (Neg t) ⟷ term.is_welltyped t"
unfolding literal.is_welltyped_def
by simp_all
lemma literal_is_welltyped_iff_atm_of:
"literal.is_welltyped l ⟷ term.is_welltyped (atm_of l)"
unfolding literal.is_welltyped_def
by (simp add: set_literal_atm_of)
end
end