Description: Restricted class abstraction with a common superset. (Contributed by Stefan O'Rear, 12-Sep-2015) (Proof shortened by Mario Carneiro, 8-Nov-2015)