Problem:
 app(app(app(if(),true()),x),y) -> x
 app(app(app(if(),false()),x),y) -> y
 app(app(app(until(),p),f),x) -> app(app(app(if(),app(p,x)),x),app(app(app(until(),p),f),app(f,x)))

Proof:
 Containment Processor:
  loop length: 1
  terms:
   app(app(app(until(),p),f),x)
  context: app(app(app(if(),app(p,x)),x),[])
  substitution:
   x -> app(f,x)
   p -> p
   f -> f
  Qed