problem([]==>x:int list=>y:int list=>length(app(x,y))=plus(length(x),length(y))in pnat,
ind_strat(induction(lemma(list_primitive)-[(x:int list)-v1::v0])then[base_case(sym_eval(normalize_term([reduction([1,1,1],[app1,equ(int list,left)]),reduction([1,2,1],[length1,equ(pnat,left)]),reduction([2,1],[plus1,equ(pnat,left)])]))then[elementary(intro(new[y])then[identity,wfftacs])]),step_case(ripple(direction_out,wave(direction_out,[1,2,1],[length2,equ(pnat,left)],[])then[wave(direction_out,[2,1],[plus2,equ(pnat,left)],[])then[wave(direction_out,[1,1,1],[app2,equ(int list,left)],[])then[wave(direction_out,[1,1],[length2,equ(pnat,left)],[])]]])then[unblock_then_fertilize(weak,unblock_fertilize_lazy([idtac])then fertilize(weak,fertilize_then_ripple(fertilize_left_or_right(right,[weak_fertilize(right,in,[1],v2)]))then elementary(intro(new[y])then[identity,wfftacs])))])]),lambda(x,list_ind(x,lambda(v0,su(su(lambda(v1,su(v2,[v1 of v0],[v2]))of 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(y,axiom),[plus1 of length(v0)],[v1]),[term_of(plus1)],[plus1])),[term_of(length1)],[length1])),[app1 of v0],[v1]),[term_of(app1)],[app1])),[v1,v0,v2,lambda(v3,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(lambda(v4,su(v5,[v4 of v3],[v5]))of lambda(v3,su(lambda(v4,su(v5,[v4 of v3],[v5]))of lambda(y,axiom),[v2 of v3],[v4])),[v4 of app(v0,v3)],[v5]),[length2 of v1],[v4]),[term_of(length2)],[length2])),[v5 of v3],[v6]),[v4 of v0],[v5]),[app2 of v1],[v4]),[term_of(app2)],[app2])),[v4 of length(v3)],[v5]),[plus2 of length(v0)],[v4]),[term_of(plus2)],[plus2])),[v4 of v0],[v5]),[length2 of v1],[v4]),[term_of(length2)],[length2]))])),
[
]).
