<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:

def bridge_create(br, may_exist=True, parent=None, vlan=None):
    '''
    Creates a new bridge.

    Args:
        br: A string - bridge name
        may_exist: Bool, if False - attempting to create a bridge that exists returns False.
        parent: String, the name of the parent bridge (if the bridge shall be
            created as a fake bridge). If specified, vlan must also be
            specified.
        vlan: Int, the VLAN ID of the bridge (if the bridge shall be created as
            a fake bridge). If specified, parent must also be specified.

    Returns:
        True on success, else False.

    .. versionadded:: 2016.3.0

    CLI Example:
    .. code-block:: bash

        salt '*' openvswitch.bridge_create br0
    '''
    param_may_exist = _param_may_exist(may_exist)
    if parent is not None and vlan is None:
        raise ArgumentValueError(
            'If parent is specified, vlan must also be specified.')
    if vlan is not None and parent is None:
        raise ArgumentValueError(
            'If vlan is specified, parent must also be specified.')
    param_parent = '' if parent is None else ' {0}'.format(parent)
    param_vlan = '' if vlan is None else ' {0}'.format(vlan)
    cmd = 'ovs-vsctl {1}add-br {0}{2}{3}'.format(br, param_may_exist, param_parent,
                                           param_vlan)
    result = __salt__['cmd.run_all'](cmd)
    return _retcode_to_bool(result['retcode'])