proof subclass subproof