Theory Type
section ‹ Jinja types ›
theory Type imports Auxiliary begin
type_synonym cname = string
type_synonym mname = string
type_synonym vname = string
definition Object :: cname
where
"Object ≡ ''Object''"
definition this :: vname
where
"this ≡ ''this''"
definition clinit :: "string" where "clinit = ''<clinit>''"
definition init :: "string" where "init = ''<init>''"
definition start_m :: "string" where "start_m = ''<start>''"
definition Start :: "string" where "Start = ''<Start>''"
lemma start_m_neq_clinit [simp]: "start_m ≠ clinit" by(simp add: start_m_def clinit_def)
lemma Object_neq_Start [simp]: "Object ≠ Start" by(simp add: Object_def Start_def)
lemma Start_neq_Object [simp]: "Start ≠ Object" by(simp add: Object_def Start_def)
datatype staticb = Static | NonStatic