Theory JavaType
section ‹Java-Type›
theory JavaType imports "../Isa_Counter/TypeIds"
begin
text ‹This theory formalizes the types that appear in a Java program. Note that
the types defined by the classes and interfaces are formalized via their identifiers.
This way, this theory is program-independent.
›
text ‹We only want to formalize one-dimensional arrays. Therefore, we
describe the types that can be used as element types of arrays. This excludes
the \texttt{null} type and array types themselves. This way, we get a finite
number
of types in our type hierarchy, and the subtype relations can be given
explicitly (see Sec. \ref{direct_subtype_relations}).
If desired, this can be extended in the future by using Javatype as argument
type of the ‹ArrT› type constructor. This will yield infinitely many
types.
›