Recover deleted partition space
Though similar to the linked question your partition table has some specific differences: you have a second Recovery HD with a false partition type and your main volume is part of a CoreStorage stack.

First you have to determine the proper system versions of the Recovery HDs and then remove the older or - if identical - remove the one with the wrong partition type (disk0s4). After removing one of the Recovery HDs you have to resize the CoreStorage stack:

Preparation:


Restart to Internet Recovery Mode by pressing alt cmd R at startup. 

The prerequisites are the latest firmware update installed, either ethernet or WLAN (WPA/WPA2) and a router with DHCP activated.
On a 50 Mbps-line it takes about 4 min (presenting a small animated globe) to boot into a recovery netboot image which usually is loaded from an Apple/Akamai server.

I recommend ethernet because it's more reliable. If you are restricted to WIFI and the boot process fails, just restart your Mac until you succeed booting.

Alternatively you may start from a bootable installer thumb drive (preferably Yosemite or El Capitan) or a thumb drive containing a full system (preferably Yosemite or El Capitan). If you boot to a full system and login as admin you have to prepend sudo to execute some commands like gpt ... or newfs_hfs ...!


Check system versions of Recovery HDs


Open in the menubar Utlities->Terminal
Enter diskutil list and gpt -r show /dev/disk0 to get an overview
Get the product version of the visible Recovery HD:

grep ProductVersion -A 1 /Volumes/Recovery\ HD/com.apple.recovery.boot/SystemVersion.plist


depending on the main system version it should yield something like:

&lt;key&gt;ProductVersion&lt;/key&gt;
&lt;string&gt;10.11.5&lt;/string&gt;

Unmount disk0s4:

diskutil unmount disk0s4

Mount the hidden Recovery HD partition:

diskutil mount disk0s3

Check that only one Recovery HD (disk0s3) is mounted:

df

Get the product version of the invisible Recovery HD:

grep ProductVersion -A 1 /Volumes/Recovery\ HD/com.apple.recovery.boot/SystemVersion.plist


depending on the main system version it should yield something like:

&lt;key&gt;ProductVersion&lt;/key&gt;
&lt;string&gt;10.11.5&lt;/string&gt;

If the product version of the visible is the same or older than the one of the invisible Recovery HD delete the visible Recovery HD partition:

diskutil list
diskutil umount diskX #Unmount the logical volume residing on disk0s2 with X: 1...~16 (e.g. disk1) like shown in the previous command
diskutil umountDisk disk0
gpt remove -i 4 disk0

Get the UUID of the logical volume:

diskutil cs list

Resize the CoreStorage stack to fill the whole disk:

diskutil cs resizeStack lvUUID 0 #lvUUID: UUID of the logical volume


The 0 (zero) as magical size sometimes fails. Then use a size ~1g smaller than your disk size (i.e. 250g or 249700m).