problem([]==>w:pnat=>v:pnat=>wl:pnat list=>vl:pnat list=>(prodl(wl)=w in pnat#prodl(vl)=v in pnat)=>prodl(pnatapp(wl,vl))=times(w,v)in pnat,
normalize([normal(univ_intro),normal(univ_intro),normal(univ_intro),normal(univ_intro),normal(imply_intro),normal(conjunct_elim(v0,[v1,v2]))]),lambda(w,lambda(v,lambda(wl,lambda(vl,lambda(v0,spread(v0,[v1,v2,_157212])))))),
[problem([w:pnat,v:pnat,wl:pnat list,vl:pnat list,v1:prodl(wl)=w in pnat,v2:prodl(vl)=v in pnat]==>prodl(pnatapp(wl,vl))=times(w,v)in pnat,
 sym_eval(equal(v1,left)then[equal(v2,left)]),_157205,
 [problem([w:pnat,v:pnat,wl:pnat list,vl:pnat list]==>prodl(pnatapp(wl,vl))=times(prodl(wl),prodl(vl))in pnat,
  ind_strat(induction(lemma(list_primitive)-[(wl:pnat list)-v1::v0])then[base_case(sym_eval(normalize_term([reduction([1,1,1],[pnatapp1,equ(pnat list,left)]),reduction([1,2,1],[prodl1,equ(pnat,left)]),reduction([2,1],[times2,equ(pnat,left)]),reduction([1,2,1],[times1,equ(pnat,left)]),reduction([2,1],[plus1,equ(pnat,left)])]))then[elementary(identity)]),step_case(ripple(direction_out,wave(direction_out,[1,2,1],[prodl2,equ(pnat,left)],[])then[wave(direction_out,[1,1,1],[pnatapp2,equ(pnat list,left)],[])then[wave(direction_out,[1,1],[prodl2,equ(pnat,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,[2],v2)]))))])]),list_ind(wl,su(su(su(su(su(su(su(su(su(su(axiom,[plus1 of prodl(vl)],[v0]),[term_of(plus1)],[plus1]),[times1 of prodl(vl)],[v0]),[term_of(times1)],[times1]),[v0 of prodl(vl)],[v1]),[times2 of 0],[v0]),[term_of(times2)],[times2]),[term_of(prodl1)],[prodl1]),[pnatapp1 of vl],[v0]),[term_of(pnatapp1)],[pnatapp1]),[v1,v0,v2,su(su(su(su(su(su(su(su(su(su(_156674,[v3 of pnatapp(v0,vl)],[v4]),[prodl2 of v1],[v3]),[term_of(prodl2)],[prodl2]),[v4 of vl],[v5]),[v3 of v0],[v4]),[pnatapp2 of v1],[v3]),[term_of(pnatapp2)],[pnatapp2]),[v3 of v0],[v4]),[prodl2 of v1],[v3]),[term_of(prodl2)],[prodl2])]),
  [problem([w:pnat,v:pnat,wl:pnat list,vl:pnat list,v1:pnat,v0:pnat list,v2:prodl(pnatapp(v0,vl))=times(prodl(v0),prodl(vl))in pnat]==>times(v1,times(prodl(v0),prodl(vl)))=times(times(v1,prodl(v0)),prodl(vl))in pnat,
   generalise(prodl(vl),v3:pnat),lambda(v3,su(v4,[v3 of prodl(vl)],[v4]))of _156496,
   [problem([w:pnat,v:pnat,wl:pnat list,vl:pnat list,v1:pnat,v0:pnat list,v2:prodl(pnatapp(v0,vl))=times(prodl(v0),prodl(vl))in pnat]==>v3:pnat=>times(v1,times(prodl(v0),v3))=times(times(v1,prodl(v0)),v3)in pnat,
    generalise(prodl(v0),v4:pnat),lambda(v3,lambda(v5,su(su(v6,[v4 of v5],[v6]),[v3 of prodl(v0)],[v4])))of _156369,
    [problem([w:pnat,v:pnat,wl:pnat list,vl:pnat list,v1:pnat,v0:pnat list,v2:prodl(pnatapp(v0,vl))=times(prodl(v0),prodl(vl))in pnat]==>v4:pnat=>v3:pnat=>times(v1,times(v4,v3))=times(times(v1,v4),v3)in pnat,
     ind_strat(induction(lemma(pnat_primitive)-[(v1:pnat)-s(v5)])then[base_case(sym_eval(normalize_term([reduction([1,1],[times1,equ(pnat,left)]),reduction([1,2,1],[times1,equ(pnat,left)]),reduction([2,1],[times1,equ(pnat,left)])]))then[elementary(intro(new[v4])then[intro(new[v3])then[identity,wfftacs],wfftacs])]),step_case(ripple(direction_out,wave(direction_out,[1,1],[times2,equ(pnat,left)],[])then[wave(direction_out,[1,2,1],[times2,equ(pnat,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],v6)]))))])]),p_ind(v1,lambda(v5,lambda(v4,su(su(lambda(v3,su(su(v7,[v6 of v4],[v7]),[v3 of v5],[v6]))of lambda(v5,lambda(v4,su(su(lambda(v3,su(su(v7,[v6 of v4],[v7]),[v3 of v5],[v6]))of lambda(v5,lambda(v4,su(su(lambda(v3,su(su(v7,[v6 of v4],[v7]),[v3 of v5],[v6]))of lambda(v4,lambda(v3,axiom)),[times1 of v4],[v3]),[term_of(times1)],[times1]))),[times1 of v5],[v3]),[term_of(times1)],[times1]))),[times1 of times(v5,v4)],[v3]),[term_of(times1)],[times1]))),[v5,v6,lambda(v7,lambda(v8,su(su(su(lambda(v3,su(su(v9,[v4 of v8],[v9]),[v3 of v7],[v4]))of lambda(v7,lambda(v8,su(su(su(lambda(v3,su(su(v9,[v4 of v8],[v9]),[v3 of v7],[v4]))of lambda(v7,lambda(v8,su(su(lambda(v3,su(su(v9,[v4 of v8],[v9]),[v3 of v7],[v4]))of _155753,[v3 of v8],[v4]),[v6 of v7],[v3]))),[v3 of v7],[v4]),[times2 of v5],[v3]),[term_of(times2)],[times2]))),[v3 of times(v7,v8)],[v4]),[times2 of v5],[v3]),[term_of(times2)],[times2])))]),
     [problem([w:pnat,v:pnat,wl:pnat list,vl:pnat list,v1:pnat,v0:pnat list,v2:prodl(pnatapp(v0,vl))=times(prodl(v0),prodl(vl))in pnat,v5:pnat,v6:v4:pnat=>v3:pnat=>times(v5,times(v4,v3))=times(times(v5,v4),v3)in pnat]==>v4:pnat=>v3:pnat=>plus(times(times(v5,v4),v3),times(v4,v3))=times(plus(times(v5,v4),v4),v3)in pnat,
      generalise(times(v5,v4),v7:pnat),lambda(v3,lambda(v8,lambda(v9,su(su(su(v10,[v7 of v9],[v10]),[v4 of v8],[v7]),[v3 of times(v5,v8)],[v4]))))of _155508,
      [problem([w:pnat,v:pnat,wl:pnat list,vl:pnat list,v1:pnat,v0:pnat list,v2:prodl(pnatapp(v0,vl))=times(prodl(v0),prodl(vl))in pnat,v5:pnat,v6:v4:pnat=>v3:pnat=>times(v5,times(v4,v3))=times(times(v5,v4),v3)in pnat]==>v7:pnat=>v4:pnat=>v3:pnat=>plus(times(v7,v3),times(v4,v3))=times(plus(v7,v4),v3)in pnat,
       ind_strat(induction(lemma(pnat_primitive)-[(v7:pnat)-s(v8)])then[base_case(sym_eval(normalize_term([reduction([1,1,1],[times1,equ(pnat,left)]),reduction([1,1],[plus1,equ(pnat,left)]),reduction([1,2,1],[plus1,equ(pnat,left)])]))then[elementary(intro(new[v4])then[intro(new[v3])then[identity,wfftacs],wfftacs])]),step_case(ripple(direction_out,wave(direction_out,[1,2,1],[plus2,equ(pnat,left)],[])then[wave(direction_out,[2,1],[times2,equ(pnat,left)],[])then[wave(direction_out,[1,1,1],[times2,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],v9)]))))])]),lambda(v7,p_ind(v7,lambda(v8,lambda(v9,su(su(lambda(v3,su(su(v10,[v4 of v9],[v10]),[v3 of v8],[v4]))of lambda(v8,lambda(v9,su(su(lambda(v3,su(su(v10,[v4 of v9],[v10]),[v3 of v8],[v4]))of lambda(v8,lambda(v9,su(su(lambda(v3,su(su(v10,[v4 of v9],[v10]),[v3 of v8],[v4]))of lambda(v4,lambda(v3,axiom)),[plus1 of v8],[v3]),[term_of(plus1)],[plus1]))),[plus1 of times(v8,v9)],[v3]),[term_of(plus1)],[plus1]))),[times1 of v9],[v3]),[term_of(times1)],[times1]))),[v8,v9,lambda(v10,lambda(v11,su(su(su(lambda(v3,su(su(v12,[v4 of v11],[v12]),[v3 of v10],[v4]))of lambda(v10,lambda(v11,su(su(su(lambda(v3,su(su(v12,[v4 of v11],[v12]),[v3 of v10],[v4]))of lambda(v10,lambda(v11,su(su(su(lambda(v3,su(su(v12,[v4 of v11],[v12]),[v3 of v10],[v4]))of lambda(v10,lambda(v11,su(su(lambda(v3,su(su(v12,[v4 of v11],[v12]),[v3 of v10],[v4]))of _154754,[v3 of v11],[v4]),[v9 of v10],[v3]))),[v3 of v11],[v4]),[times2 of v8],[v3]),[term_of(times2)],[times2]))),[v3 of v11],[v4]),[times2 of plus(v8,v10)],[v3]),[term_of(times2)],[times2]))),[v3 of v10],[v4]),[plus2 of v8],[v3]),[term_of(plus2)],[plus2])))])),
       [problem([w:pnat,v:pnat,wl:pnat list,vl:pnat list,v1:pnat,v0:pnat list,v2:prodl(pnatapp(v0,vl))=times(prodl(v0),prodl(vl))in pnat,v5:pnat,v6:v4:pnat=>v3:pnat=>times(v5,times(v4,v3))=times(times(v5,v4),v3)in pnat,v7:pnat,v8:pnat,v9:v4:pnat=>v3:pnat=>plus(times(v8,v3),times(v4,v3))=times(plus(v8,v4),v3)in pnat]==>v4:pnat=>v3:pnat=>plus(plus(times(v8,v3),v3),times(v4,v3))=plus(plus(times(v8,v3),times(v4,v3)),v3)in pnat,
        generalise(times(v4,v3),v10:pnat),lambda(v3,lambda(v11,lambda(v12,su(su(su(v13,[v10 of v12],[v13]),[v4 of v11],[v10]),[v3 of times(v11,v12)],[v4]))))of _154438,
        [problem([w:pnat,v:pnat,wl:pnat list,vl:pnat list,v1:pnat,v0:pnat list,v2:prodl(pnatapp(v0,vl))=times(prodl(v0),prodl(vl))in pnat,v5:pnat,v6:v4:pnat=>v3:pnat=>times(v5,times(v4,v3))=times(times(v5,v4),v3)in pnat,v7:pnat,v8:pnat,v9:v4:pnat=>v3:pnat=>plus(times(v8,v3),times(v4,v3))=times(plus(v8,v4),v3)in pnat]==>v10:pnat=>v4:pnat=>v3:pnat=>plus(plus(times(v8,v3),v3),v10)=plus(plus(times(v8,v3),v10),v3)in pnat,
         generalise(times(v8,v3),v11:pnat),lambda(v3,lambda(v12,lambda(v13,lambda(v14,su(su(su(su(v15,[v11 of v14],[v15]),[v10 of v13],[v11]),[v4 of v12],[v10]),[v3 of times(v8,v14)],[v4])))))of _154179,
         [problem([w:pnat,v:pnat,wl:pnat list,vl:pnat list,v1:pnat,v0:pnat list,v2:prodl(pnatapp(v0,vl))=times(prodl(v0),prodl(vl))in pnat,v5:pnat,v6:v4:pnat=>v3:pnat=>times(v5,times(v4,v3))=times(times(v5,v4),v3)in pnat,v7:pnat,v8:pnat,v9:v4:pnat=>v3:pnat=>plus(times(v8,v3),times(v4,v3))=times(plus(v8,v4),v3)in pnat]==>v11:pnat=>v10:pnat=>v4:pnat=>v3:pnat=>plus(plus(v11,v3),v10)=plus(plus(v11,v10),v3)in pnat,
          ind_strat(induction(lemma(pnat_primitive)-[(v11:pnat)-s(v12)])then[base_case(sym_eval(normalize_term([reduction([1,1,1],[plus1,equ(pnat,left)]),reduction([1,2,1],[plus1,equ(pnat,left)])]))),step_case(ripple(direction_out,wave(direction_out,[1,2,1],[plus2,equ(pnat,left)],[])then[wave(direction_out,[2,1],[plus2,equ(pnat,left)],[])then[wave(direction_out,[1,1,1],[plus2,equ(pnat,left)],[])then[wave(direction_out,[1,1],[plus2,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],v13)]))then elementary(intro(new[v10])then[intro(new[v4])then[intro(new[v3])then[identity,wfftacs],wfftacs],wfftacs])))])]),lambda(v11,p_ind(v11,lambda(v12,lambda(v10,lambda(v13,su(su(lambda(v3,su(su(su(v15,[v14 of v13],[v15]),[v4 of v10],[v14]),[v3 of v12],[v4]))of lambda(v12,lambda(v10,lambda(v13,su(su(lambda(v3,su(su(su(v15,[v14 of v13],[v15]),[v4 of v10],[v14]),[v3 of v12],[v4]))of _153603,[plus1 of v12],[v3]),[term_of(plus1)],[plus1])))),[plus1 of v13],[v3]),[term_of(plus1)],[plus1])))),[v12,v13,lambda(v14,lambda(v15,lambda(v16,su(su(su(lambda(v3,su(su(su(v17,[v10 of v16],[v17]),[v4 of v15],[v10]),[v3 of v14],[v4]))of lambda(v14,lambda(v15,lambda(v16,su(su(su(lambda(v3,su(su(su(v17,[v10 of v16],[v17]),[v4 of v15],[v10]),[v3 of v14],[v4]))of lambda(v14,lambda(v15,lambda(v16,su(su(su(lambda(v3,su(su(su(v17,[v10 of v16],[v17]),[v4 of v15],[v10]),[v3 of v14],[v4]))of lambda(v14,lambda(v15,lambda(v16,su(su(su(lambda(v3,su(su(su(v17,[v10 of v16],[v17]),[v4 of v15],[v10]),[v3 of v14],[v4]))of lambda(v14,lambda(v15,lambda(v16,su(su(su(lambda(v3,su(su(su(v17,[v10 of v16],[v17]),[v4 of v15],[v10]),[v3 of v14],[v4]))of lambda(v10,lambda(v4,lambda(v3,axiom))),[v4 of v16],[v10]),[v3 of v15],[v4]),[v13 of v14],[v3])))),[v3 of v14],[v4]),[plus2 of plus(v12,v16)],[v3]),[term_of(plus2)],[plus2])))),[v3 of v16],[v4]),[plus2 of v12],[v3]),[term_of(plus2)],[plus2])))),[v3 of v16],[v4]),[plus2 of plus(v12,v14)],[v3]),[term_of(plus2)],[plus2])))),[v3 of v14],[v4]),[plus2 of v12],[v3]),[term_of(plus2)],[plus2]))))])),
          [problem([w:pnat,v:pnat,wl:pnat list,vl:pnat list,v1:pnat,v0:pnat list,v2:prodl(pnatapp(v0,vl))=times(prodl(v0),prodl(vl))in pnat,v5:pnat,v6:v4:pnat=>v3:pnat=>times(v5,times(v4,v3))=times(times(v5,v4),v3)in pnat,v7:pnat,v8:pnat,v9:v4:pnat=>v3:pnat=>plus(times(v8,v3),times(v4,v3))=times(plus(v8,v4),v3)in pnat,v11:pnat]==>v10:pnat=>v4:pnat=>v3:pnat=>plus(v3,v10)=plus(v10,v3)in pnat,
           ind_strat(induction(lemma(pnat_primitive)-[(v10:pnat)-s(v12)])then[base_case(sym_eval(normalize_term([reduction([2,1],[plus1,equ(pnat,left)])]))),step_case(ripple(direction_out,wave(direction_out,[2,1],[plus2,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],v13)]))))])]),lambda(v10,p_ind(v10,lambda(v12,lambda(v13,su(su(lambda(v3,su(su(v14,[v4 of v13],[v14]),[v3 of v12],[v4]))of _152799,[plus1 of v13],[v3]),[term_of(plus1)],[plus1]))),[v12,v13,lambda(v14,lambda(v15,su(su(su(lambda(v3,su(su(v16,[v4 of v15],[v16]),[v3 of v14],[v4]))of lambda(v14,lambda(v15,su(su(lambda(v3,su(su(v16,[v4 of v15],[v16]),[v3 of v14],[v4]))of _152692,[v3 of v15],[v4]),[v13 of v14],[v3]))),[v3 of v15],[v4]),[plus2 of v12],[v3]),[term_of(plus2)],[plus2])))])),
           [problem([w:pnat,v:pnat,wl:pnat list,vl:pnat list,v1:pnat,v0:pnat list,v2:prodl(pnatapp(v0,vl))=times(prodl(v0),prodl(vl))in pnat,v5:pnat,v6:v4:pnat=>v3:pnat=>times(v5,times(v4,v3))=times(times(v5,v4),v3)in pnat,v7:pnat,v8:pnat,v9:v4:pnat=>v3:pnat=>plus(times(v8,v3),times(v4,v3))=times(plus(v8,v4),v3)in pnat,v11:pnat,v10:pnat]==>v4:pnat=>v3:pnat=>plus(v3,0)=v3 in pnat,
            ind_strat(induction(lemma(pnat_primitive)-[(v3:pnat)-s(v12)])then[base_case(sym_eval(normalize_term([reduction([1,1],[plus1,equ(pnat,left)])]))then[elementary(intro(new[v4])then[identity,wfftacs])]),step_case(ripple(direction_out,wave(direction_out,[1,1],[plus2,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],v13)]))then elementary(intro(new[v4])then[identity,wfftacs])))])]),lambda(v12,lambda(v13,lambda(v3,su(su(v14,[v4 of v12],[v14]),[v3 of v13],[v4]))of lambda(v3,p_ind(v3,lambda(v12,su(su(lambda(v4,su(v13,[v4 of v12],[v13]))of lambda(v4,axiom),[plus1 of 0],[v4]),[term_of(plus1)],[plus1])),[v12,v13,lambda(v14,su(su(su(lambda(v4,su(v15,[v4 of v14],[v15]))of lambda(v14,su(lambda(v4,su(v15,[v4 of v14],[v15]))of lambda(v4,axiom),[v13 of v14],[v4])),[v4 of 0],[v15]),[plus2 of v12],[v4]),[term_of(plus2)],[plus2]))])))),
            [
            ]) ext _152799,
            problem([w:pnat,v:pnat,wl:pnat list,vl:pnat list,v1:pnat,v0:pnat list,v2:prodl(pnatapp(v0,vl))=times(prodl(v0),prodl(vl))in pnat,v5:pnat,v6:v4:pnat=>v3:pnat=>times(v5,times(v4,v3))=times(times(v5,v4),v3)in pnat,v7:pnat,v8:pnat,v9:v4:pnat=>v3:pnat=>plus(times(v8,v3),times(v4,v3))=times(plus(v8,v4),v3)in pnat,v11:pnat,v10:pnat,v12:pnat,v13:v4:pnat=>v3:pnat=>plus(v3,v12)=plus(v12,v3)in pnat]==>v4:pnat=>v3:pnat=>plus(v3,s(v12))=s(plus(v3,v12))in pnat,
            ind_strat(induction(lemma(pnat_primitive)-[(v3:pnat)-s(v14)])then[base_case(sym_eval(normalize_term([reduction([1,1],[plus1,equ(pnat,left)]),reduction([1,2,1],[plus1,equ(pnat,left)])]))then[elementary(intro(new[v4])then[identity,wfftacs])]),step_case(ripple(direction_out,wave(direction_out,[1,1],[plus2,equ(pnat,left)],[])then[wave(direction_out,[1,2,1],[plus2,equ(pnat,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],v15)]))then elementary(intro(new[v4])then[identity,wfftacs])))])]),lambda(v14,lambda(v15,lambda(v3,su(su(v16,[v4 of v14],[v16]),[v3 of v15],[v4]))of lambda(v3,p_ind(v3,lambda(v14,su(su(lambda(v4,su(v15,[v4 of v14],[v15]))of lambda(v14,su(su(lambda(v4,su(v15,[v4 of v14],[v15]))of lambda(v4,axiom),[plus1 of v12],[v4]),[term_of(plus1)],[plus1])),[plus1 of s(v12)],[v4]),[term_of(plus1)],[plus1])),[v14,v15,lambda(v16,su(su(su(lambda(v4,su(v17,[v4 of v16],[v17]))of lambda(v16,su(su(su(lambda(v4,su(v17,[v4 of v16],[v17]))of lambda(v16,su(lambda(v4,su(v17,[v4 of v16],[v17]))of lambda(v4,axiom),[v15 of v16],[v4])),[v4 of v12],[v17]),[plus2 of v14],[v4]),[term_of(plus2)],[plus2])),[v4 of s(v12)],[v17]),[plus2 of v14],[v4]),[term_of(plus2)],[plus2]))])))),
            [
            ]) ext _152692
           ]) ext _153603
          ]) ext _154179
         ]) ext _154438
        ]) ext _154754
       ]) ext _155508
      ]) ext _155753
     ]) ext _156369
    ]) ext _156496
   ]) ext _156674
  ]) ext _157205
 ]) ext _157212
]).
