added theorem datatype