<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def table(schema, arg):
 """A table argument. Parameters schema : Union[sch.Schema, List[Tuple[str, dt.DataType]] A validator for the table's columns. Only column subset validators are currently supported. Accepts any arguments that `sch.schema` accepts. See the example for usage. arg : The validatable argument. Examples -------- The following op will accept an argument named ``'table'``. Note that the ``schema`` argument specifies rules for columns that are required to be in the table: ``time``, ``group`` and ``value1``. These must match the types specified in the column rules. Column ``value2`` is optional, but if present it must be of the specified type. The table may have extra columns not specified in the schema. """

    assert isinstance(arg, ir.TableExpr)

    if arg.schema() >= sch.schema(schema):
        return arg

    raise com.IbisTypeError(
        'Argument is not a table with column subset of {}'.format(schema)
    )