problem([]==>a:int=>l:int list=>count(a,sort(l))=count(a,l)in pnat,
ind_strat(induction(lemma(list_primitive)-[(l:int list)-v1::v0])then[base_case(sym_eval(normalize_term([reduction([2,1,1],[sort1,equ(int list,left)]),reduction([1,1],[count1,equ(pnat,left)]),reduction([2,1],[count1,equ(pnat,left)])]))then[elementary(intro(new[a])then[identity,wfftacs])]),step_case(ripple(direction_out,wave(direction_out,[2,1,1],[sort2,equ(int list,left)],[])then[casesplit(disjunction([a=v1 in int=>void,a=v1 in int]))then[wave(direction_out,[2,1],[count3,equ(pnat,left)],[]),wave(direction_out,[2,1],[count2,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,[],v2)])))),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)]))))])]),lambda(v0,lambda(v1,lambda(v2,su(su(v4,[v3 of v0],[v4]),[v2 of v1],[v3]))of 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(a,axiom),[count1 of v0],[v1]),[term_of(count1)],[count1])),[count1 of v0],[v1]),[term_of(count1)],[count1])),[term_of(sort1)],[sort1])),[v1,v0,v2,lambda(v3,su(su(su(lambda(v4,su(v5,[v4 of v3],[v5]))of lambda(a,lambda(v4,decide(v4,[v5,lambda(v3,su(su(su(su(su(su(_154497,[v2 of a],[v4]),[v6 of v3],[v4]),[v5 of v0],[v6]),[v4 of v1],[v5]),[count3 of a],[v4]),[term_of(count3)],[count3]))of v5],[v6,lambda(v3,su(su(su(su(su(su(_154422,[v2 of a],[v4]),[v6 of v3],[v4]),[v5 of v0],[v6]),[v4 of v1],[v5]),[count2 of a],[v4]),[term_of(count2)],[count2]))of v6]))of su(su(su(v5,[v4 of v1],[v5]),[v3 of a],[v4]),[term_of(deceqint)],[v3])),[v4 of v0],[v5]),[sort2 of v1],[v4]),[term_of(sort2)],[sort2]))])))),
[problem([l:int list,v1:int,v0:int list,v2:a:int=>count(a,sort(v0))=count(a,v0)in pnat,a:int,v3:a=v1 in int=>void]==>count(a,insert(v1,sort(v0)))=count(a,sort(v0))in pnat,
 generalise(sort(v0),v4:int list),lambda(v4,su(v5,[v4 of sort(v0)],[v5]))of _154222,
 [problem([l:int list,v1:int,v0:int list,v2:a:int=>count(a,sort(v0))=count(a,v0)in pnat,a:int,v3:a=v1 in int=>void]==>v4:int list=>count(a,insert(v1,v4))=count(a,v4)in pnat,
  ind_strat(induction(lemma(list_primitive)-[(v4:int list)-v6::v5])then[base_case(sym_eval(normalize_term([reduction([2,1,1],[insert1,equ(int list,left)]),reduction([],[count3,imp(right)])]))then[elementary(hyp(v3))]),step_case(ripple(direction_out,casesplit(disjunction([a=v6 in int=>void,a=v6 in int]))then[wave(direction_out,[2,1],[count3,equ(pnat,left)],[])then[casesplit(disjunction([v1<v6=>void,v1<v6]))then[wave(direction_out,[2,1,1],[insert3,equ(int list,left)],[])then[wave(direction_out,[1,1],[count3,equ(pnat,left)],[])],wave(direction_out,[2,1,1],[insert2,complementary,equ(int list,left)],[])]],wave(direction_out,[2,1],[count2,equ(pnat,left)],[])then[casesplit(disjunction([v1<v6=>void,v1<v6]))then[wave(direction_out,[2,1,1],[insert3,equ(int list,left)],[])then[wave(direction_out,[1,1],[count2,equ(pnat,left)],[])then[wave(direction_out,[],[cnc_s,imp(right)],[])]],wave(direction_out,[2,1,1],[insert2,complementary,equ(int list,left)],[])]]])then[unblock_then_fertilize(strong,unblock_fertilize_lazy([idtac])then fertilize(strong,v7)),idtac,unblock_then_fertilize(strong,unblock_fertilize_lazy([idtac])then fertilize(strong,v7)),idtac])]),lambda(v4,list_ind(v4,su(su(su(su(su(su(su(v5,[v7 of v3],[v5]),[v6 of nil],[v7]),[v5 of v1],[v6]),[count3 of a],[v5]),[term_of(count3)],[count3]),[insert1 of v1],[v5]),[term_of(insert1)],[insert1]),[v6,v5,v7,lambda(v9,decide(v9,[v10,lambda(v8,su(su(su(su(su(lambda(v10,decide(v10,[v11,lambda(v9,su(su(su(su(su(su(su(su(su(su(v7,[v12 of v8],[v10]),[v11 of insert(v1,v5)],[v12]),[v10 of v6],[v11]),[count3 of a],[v10]),[term_of(count3)],[count3]),[v12 of v9],[v10]),[v11 of v5],[v12]),[v10 of v6],[v11]),[insert3 of v1],[v10]),[term_of(insert3)],[insert3]))of v11],[v12,lambda(v9,su(su(su(su(su(_153436,[v12 of v9],[v10]),[v11 of v5],[v12]),[v10 of v6],[v11]),[insert2 of v1],[v10]),[term_of(insert2)],[insert2]))of v12]))of su(su(su(v11,[v10 of v6],[v11]),[v9 of v1],[v10]),[term_of(decless2)],[v9]),[v11 of v8],[v9]),[v10 of v5],[v11]),[v9 of v6],[v10]),[count3 of a],[v9]),[term_of(count3)],[count3]))of v10],[v11,lambda(v8,su(su(su(su(su(lambda(v10,decide(v10,[v11,lambda(v9,su(su(su(su(su(su(su(su(su(su(su(su(su(su(v10,[v11 of v7],[v10]),[v10 of count(a,v5)],[v11]),[cnc_s of count(a,insert(v1,v5))],[v10]),[term_of(cnc_s)],[cnc_s]),[v12 of v8],[v10]),[v11 of insert(v1,v5)],[v12]),[v10 of v6],[v11]),[count2 of a],[v10]),[term_of(count2)],[count2]),[v12 of v9],[v10]),[v11 of v5],[v12]),[v10 of v6],[v11]),[insert3 of v1],[v10]),[term_of(insert3)],[insert3]))of v11],[v12,lambda(v9,su(su(su(su(su(_153093,[v12 of v9],[v10]),[v11 of v5],[v12]),[v10 of v6],[v11]),[insert2 of v1],[v10]),[term_of(insert2)],[insert2]))of v12]))of su(su(su(v11,[v10 of v6],[v11]),[v9 of v1],[v10]),[term_of(decless2)],[v9]),[v11 of v8],[v9]),[v10 of v5],[v11]),[v9 of v6],[v10]),[count2 of a],[v9]),[term_of(count2)],[count2]))of v11]))of su(su(su(v10,[v9 of v6],[v10]),[v8 of a],[v9]),[term_of(deceqint)],[v8])])),
  [problem([l:int list,v1:int,v0:int list,v2:a:int=>count(a,sort(v0))=count(a,v0)in pnat,a:int,v3:a=v1 in int=>void,v4:int list,v6:int,v5:int list,v7:count(a,insert(v1,v5))=count(a,v5)in pnat,v8:a=v6 in int=>void,v9:v1<v6]==>count(a,v1::v6::v5)=count(a,v5)in pnat,
   sym_eval(normalize_term([reduction([1,1],[count3,equ(pnat,left)]),reduction([],[count3,imp(right)])]))then[elementary(hyp(v8))],su(su(su(su(su(su(su(su(su(su(v10,[v12 of v8],[v10]),[v11 of v5],[v12]),[v10 of v6],[v11]),[count3 of a],[v10]),[term_of(count3)],[count3]),[v12 of v3],[v10]),[v11 of(v6::v5)],[v12]),[v10 of v1],[v11]),[count3 of a],[v10]),[term_of(count3)],[count3]),
   [
   ]) ext _153436,
   problem([l:int list,v1:int,v0:int list,v2:a:int=>count(a,sort(v0))=count(a,v0)in pnat,a:int,v3:a=v1 in int=>void,v4:int list,v6:int,v5:int list,v7:count(a,insert(v1,v5))=count(a,v5)in pnat,v8:a=v6 in int,v9:v1<v6]==>count(a,v1::v6::v5)=s(count(a,v5))in pnat,
   sym_eval(equal(v8,left)then[normalize_term([reduction([1,1],[count3,equ(pnat,left)]),reduction([],[count2,imp(right)])])])then[elementary(identity)],su(su(su(su(su(su(su(su(su(su(v8,[v11 of axiom],[v8]),[v10 of v5],[v11]),[v8 of a],[v10]),[count2 of a],[v8]),[term_of(count2)],[count2]),[v11 of v3],[v8]),[v10 of(a::v5)],[v11]),[v8 of v1],[v10]),[count3 of a],[v8]),[term_of(count3)],[count3]),
   [
   ]) ext _153093
  ]) ext _154222
 ]) ext _154497,
 problem([l:int list,v1:int,v0:int list,v2:a:int=>count(a,sort(v0))=count(a,v0)in pnat,a:int,v3:a=v1 in int]==>count(a,insert(v1,sort(v0)))=s(count(a,sort(v0)))in pnat,
 sym_eval(equal(v3,left)),_152336,
 [problem([l:int list,v1:int,v0:int list,v2:a:int=>count(a,sort(v0))=count(a,v0)in pnat,a:int]==>count(a,insert(a,sort(v0)))=s(count(a,sort(v0)))in pnat,
  generalise(sort(v0),v3:int list),lambda(v3,su(v4,[v3 of sort(v0)],[v4]))of _152150,
  [problem([l:int list,v1:int,v0:int list,v2:a:int=>count(a,sort(v0))=count(a,v0)in pnat,a:int]==>v3:int list=>count(a,insert(a,v3))=s(count(a,v3))in pnat,
   ind_strat(induction(lemma(list_primitive)-[(v3:int list)-v5::v4])then[base_case(sym_eval(normalize_term([reduction([2,1,1],[insert1,equ(int list,left)]),reduction([],[count2,imp(right)])]))then[elementary(identity)]),step_case(ripple(direction_out,casesplit(disjunction([a=v5 in int=>void,a=v5 in int]))then[wave(direction_out,[1,2,1],[count3,equ(pnat,left)],[])then[casesplit(disjunction([a<v5=>void,a<v5]))then[wave(direction_out,[2,1,1],[insert3,equ(int list,left)],[])then[wave(direction_out,[1,1],[count3,equ(pnat,left)],[])],wave(direction_out,[2,1,1],[insert2,complementary,equ(int list,left)],[])]],wave(direction_out,[1,2,1],[count2,equ(pnat,left)],[])then[casesplit(disjunction([a<v5=>void,a<v5]))then[wave(direction_out,[2,1,1],[insert3,equ(int list,left)],[])then[wave(direction_out,[1,1],[count2,equ(pnat,left)],[])then[unblock_then_wave(direction_out,unblock_lazy([unblock(meta_ripple,unused,unused),idtac])then wave(direction_out,[],[cnc_s,imp(right)],[]))]],wave(direction_out,[2,1,1],[insert2,complementary,equ(int list,left)],[])]]])then[unblock_then_fertilize(strong,unblock_fertilize_lazy([idtac])then fertilize(strong,v6)),idtac,unblock_then_fertilize(strong,unblock_fertilize_lazy([idtac])then fertilize(strong,v6)),idtac])]),lambda(v3,list_ind(v3,su(su(su(su(su(su(su(v4,[v6 of axiom],[v4]),[v5 of nil],[v6]),[v4 of a],[v5]),[count2 of a],[v4]),[term_of(count2)],[count2]),[insert1 of a],[v4]),[term_of(insert1)],[insert1]),[v5,v4,v6,lambda(v8,decide(v8,[v9,lambda(v7,su(su(su(su(su(lambda(v9,decide(v9,[v10,lambda(v8,su(su(su(su(su(su(su(su(su(su(v6,[v11 of v7],[v9]),[v10 of insert(a,v4)],[v11]),[v9 of v5],[v10]),[count3 of a],[v9]),[term_of(count3)],[count3]),[v11 of v8],[v9]),[v10 of v4],[v11]),[v9 of v5],[v10]),[insert3 of a],[v9]),[term_of(insert3)],[insert3]))of v10],[v11,lambda(v8,su(su(su(su(su(_151358,[v11 of v8],[v9]),[v10 of v4],[v11]),[v9 of v5],[v10]),[insert2 of a],[v9]),[term_of(insert2)],[insert2]))of v11]))of su(su(su(v10,[v9 of v5],[v10]),[v8 of a],[v9]),[term_of(decless2)],[v8]),[v10 of v7],[v8]),[v9 of v4],[v10]),[v8 of v5],[v9]),[count3 of a],[v8]),[term_of(count3)],[count3]))of v9],[v10,lambda(v7,su(su(su(su(su(lambda(v9,decide(v9,[v10,lambda(v8,su(su(su(su(su(su(su(su(su(su(su(su(su(su(v9,[v10 of v6],[v9]),[v9 of s(count(a,v4))],[v10]),[cnc_s of count(a,insert(a,v4))],[v9]),[term_of(cnc_s)],[cnc_s]),[v11 of v7],[v9]),[v10 of insert(a,v4)],[v11]),[v9 of v5],[v10]),[count2 of a],[v9]),[term_of(count2)],[count2]),[v11 of v8],[v9]),[v10 of v4],[v11]),[v9 of v5],[v10]),[insert3 of a],[v9]),[term_of(insert3)],[insert3]))of v10],[v11,lambda(v8,su(su(su(su(su(_151013,[v11 of v8],[v9]),[v10 of v4],[v11]),[v9 of v5],[v10]),[insert2 of a],[v9]),[term_of(insert2)],[insert2]))of v11]))of su(su(su(v10,[v9 of v5],[v10]),[v8 of a],[v9]),[term_of(decless2)],[v8]),[v10 of v7],[v8]),[v9 of v4],[v10]),[v8 of v5],[v9]),[count2 of a],[v8]),[term_of(count2)],[count2]))of v10]))of su(su(su(v9,[v8 of v5],[v9]),[v7 of a],[v8]),[term_of(deceqint)],[v7])])),
   [problem([l:int list,v1:int,v0:int list,v2:a:int=>count(a,sort(v0))=count(a,v0)in pnat,a:int,v3:int list,v5:int,v4:int list,v6:count(a,insert(a,v4))=s(count(a,v4))in pnat,v7:a=v5 in int=>void,v8:a<v5]==>count(a,a::v5::v4)=s(count(a,v4))in pnat,
    sym_eval(normalize_term([reduction([1,1],[count2,equ(pnat,left)]),reduction([1,1,1],[count3,equ(pnat,left)])]))then[elementary(identity)],su(su(su(su(su(su(su(su(su(su(axiom,[v11 of v7],[v9]),[v10 of v4],[v11]),[v9 of v5],[v10]),[count3 of a],[v9]),[term_of(count3)],[count3]),[v11 of axiom],[v9]),[v10 of(v5::v4)],[v11]),[v9 of a],[v10]),[count2 of a],[v9]),[term_of(count2)],[count2]),
    [
    ]) ext _151358,
    problem([l:int list,v1:int,v0:int list,v2:a:int=>count(a,sort(v0))=count(a,v0)in pnat,a:int,v3:int list,v5:int,v4:int list,v6:count(a,insert(a,v4))=s(count(a,v4))in pnat,v7:a=v5 in int,v8:a<v5]==>count(a,a::v5::v4)=s(s(count(a,v4)))in pnat,
    sym_eval(equal(v7,left)then[normalize_term([reduction([1,1],[count2,equ(pnat,left)]),reduction([1,1,1],[count2,equ(pnat,left)])])])then[elementary(identity)],su(su(su(su(su(su(su(su(su(su(axiom,[v10 of axiom],[v7]),[v9 of v4],[v10]),[v7 of a],[v9]),[count2 of a],[v7]),[term_of(count2)],[count2]),[v10 of axiom],[v7]),[v9 of(a::v4)],[v10]),[v7 of a],[v9]),[count2 of a],[v7]),[term_of(count2)],[count2]),
    [
    ]) ext _151013
   ]) ext _152150
  ]) ext _152336
 ]) ext _154422
]).
