problem([]==>l:int list=>m:int list=>app(rev(l),m)=qrev(l,m)in int list,
ind_strat(induction(lemma(list_primitive)-[(l:int list)-v1::v0])then[base_case(sym_eval(normalize_term([reduction([1,1,1],[rev1,equ(int list,left)]),reduction([1,1],[app1,equ(int list,left)]),reduction([2,1],[qrev1,equ(int list,left)])]))then[elementary(intro(new[m])then[identity,wfftacs])]),step_case(ripple(direction_out,wave(direction_out,[2,1],[qrev2,equ(int list,left)],[])then[wave(direction_out,[1,1,1],[rev2,equ(int list,left)],[])then[wave(direction_out,[1,1],[assapp,equ(int list,right)],[])]])then[unblock_then_fertilize(strong,unblock_fertilize_lazy([unblock(sink,[2,1,1],[app2,equ(int list,left)]),unblock(sink,[2,2,1,1],[app1,equ(int list,left)]),idtac])then fertilize(strong,v2))])]),lambda(l,list_ind(l,lambda(v0,su(lambda(v1,su(v2,[v1 of v0],[v2]))of lambda(v0,su(su(lambda(v1,su(v2,[v1 of v0],[v2]))of lambda(v0,su(su(lambda(v1,su(v2,[v1 of v0],[v2]))of lambda(m,axiom),[qrev1 of v0],[v1]),[term_of(qrev1)],[qrev1])),[app1 of v0],[v1]),[term_of(app1)],[app1])),[term_of(rev1)],[rev1])),[v1,v0,v2,lambda(v3,su(su(su(su(lambda(v4,su(v5,[v4 of v3],[v5]))of lambda(v3,su(su(su(lambda(v4,su(v5,[v4 of v3],[v5]))of lambda(v3,su(su(su(su(lambda(v4,su(v5,[v4 of v3],[v5]))of lambda(v3,su(su(su(su(lambda(v4,su(v5,[v4 of v3],[v5]))of lambda(v3,su(su(lambda(v4,su(v5,[v4 of v3],[v5]))of lambda(m,su(v3,[v2 of(v1::m)],[v3])),[app1 of v3],[v4]),[term_of(app1)],[app1])),[v5 of v3],[v6]),[v4 of nil],[v5]),[app2 of v1],[v4]),[term_of(app2)],[app2])),[v5 of v3],[v6]),[v4 of(v1::nil)],[v5]),[assapp of rev(v0)],[v4]),[term_of(assapp)],[assapp])),[v4 of v0],[v5]),[rev2 of v1],[v4]),[term_of(rev2)],[rev2])),[v5 of v3],[v6]),[v4 of v0],[v5]),[qrev2 of v1],[v4]),[term_of(qrev2)],[qrev2]))])),
[
]).
