problem([]==>f:(int=>int)=>l1:int list=>l2:int list=>mapcar(app(l1,l2),f)=app(mapcar(l1,f),mapcar(l2,f))in int list,
ind_strat(induction(lemma(list_primitive)-[(l1:int list)-v1::v0])then[base_case(sym_eval(normalize_term([reduction([1,1,1],[app1,equ(int list,left)]),reduction([1,2,1],[mapcar1,equ(int list,left)]),reduction([2,1],[app1,equ(int list,left)])]))then[elementary(intro(new[f])then[intro(new[l2])then[identity,wfftacs],wfftacs])]),step_case(ripple(direction_out,wave(direction_out,[1,2,1],[mapcar2,equ(int list,left)],[])then[wave(direction_out,[2,1],[app2,equ(int list,left)],[])then[wave(direction_out,[1,1,1],[app2,equ(int list,left)],[])then[wave(direction_out,[1,1],[mapcar2,equ(int list,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,[2],v2)]))then elementary(intro(new[f])then[intro(new[l2])then[identity,wfftacs],wfftacs])))])]),lambda(v0,lambda(v1,lambda(v2,lambda(v3,su(su(su(v6,[v5 of v2],[v6]),[v4 of v0],[v5]),[v3 of v1],[v4]))of lambda(l1,list_ind(l1,lambda(v0,lambda(v1,su(su(lambda(v2,su(su(v4,[v3 of v1],[v4]),[v2 of v0],[v3]))of lambda(v0,lambda(v1,su(su(lambda(v2,su(su(v4,[v3 of v1],[v4]),[v2 of v0],[v3]))of lambda(v0,lambda(v1,su(su(lambda(v2,su(su(v4,[v3 of v1],[v4]),[v2 of v0],[v3]))of lambda(f,lambda(l2,axiom)),[app1 of mapcar(v1,v0)],[v2]),[term_of(app1)],[app1]))),[mapcar1 of v0],[v2]),[term_of(mapcar1)],[mapcar1]))),[app1 of v1],[v2]),[term_of(app1)],[app1]))),[v1,v0,v2,lambda(v3,lambda(v4,su(su(su(su(lambda(v5,su(su(v7,[v6 of v4],[v7]),[v5 of v3],[v6]))of lambda(v3,lambda(v4,su(su(su(su(lambda(v5,su(su(v7,[v6 of v4],[v7]),[v5 of v3],[v6]))of lambda(v3,lambda(v4,su(su(su(su(lambda(v5,su(su(v7,[v6 of v4],[v7]),[v5 of v3],[v6]))of lambda(v3,lambda(v4,su(su(su(su(lambda(v5,su(su(v7,[v6 of v4],[v7]),[v5 of v3],[v6]))of lambda(v3,lambda(v4,su(su(lambda(v5,su(su(v7,[v6 of v4],[v7]),[v5 of v3],[v6]))of lambda(f,lambda(l2,axiom)),[v5 of v4],[v6]),[v2 of v3],[v5]))),[v6 of app(v0,v4)],[v7]),[v5 of v1],[v6]),[mapcar2 of v3],[v5]),[term_of(mapcar2)],[mapcar2]))),[v6 of v4],[v7]),[v5 of v0],[v6]),[app2 of v1],[v5]),[term_of(app2)],[app2]))),[v6 of mapcar(v4,v3)],[v7]),[v5 of mapcar(v0,v3)],[v6]),[app2 of(v3 of v1)],[v5]),[term_of(app2)],[app2]))),[v6 of v0],[v7]),[v5 of v1],[v6]),[mapcar2 of v3],[v5]),[term_of(mapcar2)],[mapcar2])))]))))),
[
]).
