problem([]==>x:int list=>length(x)=length(rev(x))in pnat,
ind_strat(induction(lemma(list_primitive)-[(x:int list)-v1::v0])then[base_case(sym_eval(normalize_term([reduction([1,1],[length1,equ(pnat,left)]),reduction([1,2,1],[rev1,equ(int list,left)]),reduction([2,1],[length1,equ(pnat,left)])]))then[elementary(identity)]),step_case(ripple(direction_out,wave(direction_out,[1,1],[length2,equ(pnat,left)],[])then[wave(direction_out,[1,2,1],[rev2,equ(int list,left)],[])])then[unblock_then_fertilize(weak,unblock_fertilize_lazy([idtac])then fertilize(weak,fertilize_then_ripple(fertilize_left_or_right(left,[weak_fertilize(left,in,[1],v2)]))))])]),lambda(x,list_ind(x,su(su(su(axiom,[term_of(length1)],[length1]),[term_of(rev1)],[rev1]),[term_of(length1)],[length1]),[v1,v0,v2,su(su(su(su(su(su(_139136,[v3 of v0],[v4]),[rev2 of v1],[v3]),[term_of(rev2)],[rev2]),[v3 of v0],[v4]),[length2 of v1],[v3]),[term_of(length2)],[length2])])),
[problem([x:int list,v1:int,v0:int list,v2:length(v0)=length(rev(v0))in pnat]==>s(length(rev(v0)))=length(app(rev(v0),v1::nil))in pnat,
 generalise(rev(v0),v3:int list),lambda(v3,su(v4,[v3 of rev(v0)],[v4]))of _139013,
 [problem([x:int list,v1:int,v0:int list,v2:length(v0)=length(rev(v0))in pnat]==>v3:int list=>s(length(v3))=length(app(v3,v1::nil))in pnat,
  ind_strat(induction(lemma(list_primitive)-[(v3:int list)-v5::v4])then[base_case(sym_eval(normalize_term([reduction([1,1,1],[length1,equ(pnat,left)]),reduction([1,2,1],[app1,equ(int list,left)]),reduction([2,1],[length2,equ(pnat,left)]),reduction([1,2,1],[length1,equ(pnat,left)])]))then[elementary(identity)]),step_case(ripple(direction_out,wave(direction_out,[1,2,1],[app2,equ(int list,left)],[])then[wave(direction_out,[2,1],[length2,equ(pnat,left)],[])then[wave(direction_out,[1,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],v6)]))then elementary(identity)))])]),lambda(v3,list_ind(v3,su(su(su(su(su(su(su(axiom,[term_of(length1)],[length1]),[v4 of nil],[v5]),[length2 of v1],[v4]),[term_of(length2)],[length2]),[app1 of(v1::nil)],[v4]),[term_of(app1)],[app1]),[term_of(length1)],[length1]),[v5,v4,v6,su(su(su(su(su(su(su(su(su(su(axiom,[v7 of v4],[v8]),[length2 of v5],[v7]),[term_of(length2)],[length2]),[v7 of app(v4,v1::nil)],[v8]),[length2 of v5],[v7]),[term_of(length2)],[length2]),[v8 of(v1::nil)],[v9]),[v7 of v4],[v8]),[app2 of v5],[v7]),[term_of(app2)],[app2])])),
  [
  ]) ext _139013
 ]) ext _139136
]).
