A very simple proof:
Noticing that the problem can be seen as this: There is an isosceles triangle BFC, and we extend BF to point E and CF to point D, we want to prove that AD=AE is always equivalent to AB=AC. And what controls the lengths of all of them is FD and FE.
If DF=EF, it's easy to prove that AB=AC, and vice versa. So AB=AC is equivalent to DF=EF. Now we want to prove that DF=EF is equivalent to AD=AE.
Without loss of generality, let's assume DF>EF. Connect DE, we must have $\angle DEF>\angle EDF$.
Next, let's consider $\angle AEB$ and $\angle ADC$. $\angle AEB=\angle ACB+\angle EBC$, $\angle ADC=\angle ABC+\angle BCD$. Because $\angle EBC=\angle BCD$, their difference $\angle ADC-\angle AEB= \angle ABC-\angle ACB$, which must be positive, because we can choose a point $G$ on $DF$ such that $GF=EF$ and $\angle GBC=\angle ECB$. This shows that $\angle ABC>\angle ACB$. So we have $\angle ADC>\angle AEB$.
Combined with $\angle DEF>\angle EDF$, we get $\angle ADE>\angle AED$, $AE>AD$. Similarly, $AE<AD$ if $DF<EF$. So $AE=AD$ only if $DF=EF$. The proof that $DF=EF$ is equivalent to $AD=AE$ is complete.