(0) Obligation:

Generalized rewrite system (where rules with free variables on rhs are allowed):
The TRS R consists of the following rules:

if(false, X) → Y
f(X) → if(X, c)
if(true, X) → X