problem([]==>a:int list=>b:int list=>rev(app(a,b))=app(rev(b),rev(a))in int list,
ind_strat(induction(lemma(list_primitive)-[(a:int list)-v1::v0])then[base_case(sym_eval(normalize_term([reduction([1,1,1],[app1,equ(int list,left)]),reduction([2,2,1],[rev1,equ(int list,left)])]))),step_case(ripple(direction_out,wave(direction_out,[2,2,1],[rev2,equ(int list,left)],[])then[wave(direction_out,[1,1,1],[app2,equ(int list,left)],[])then[wave(direction_out,[1,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(a,list_ind(a,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 _59203,[term_of(rev1)],[rev1])),[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(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 _59052,[v2 of v3],[v4])),[v4 of app(v0,v3)],[v5]),[rev2 of v1],[v4]),[term_of(rev2)],[rev2])),[v5 of v3],[v6]),[v4 of v0],[v5]),[app2 of v1],[v4]),[term_of(app2)],[app2])),[v4 of v0],[v5]),[rev2 of v1],[v4]),[term_of(rev2)],[rev2]))])),
[problem([a:int list]==>b:int list=>rev(b)=app(rev(b),nil)in int list,
 ind_strat(induction(lemma(list_primitive)-[(b:int list)-v1::v0])then[base_case(sym_eval(normalize_term([reduction([1,1],[rev1,equ(int list,left)]),reduction([1,2,1],[rev1,equ(int list,left)]),reduction([2,1],[app1,equ(int list,left)])]))then[elementary(identity)]),step_case(ripple(direction_out,wave(direction_out,[1,1],[rev2,equ(int list,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(b,list_ind(b,su(su(su(su(axiom,[app1 of nil],[v0]),[term_of(app1)],[app1]),[term_of(rev1)],[rev1]),[term_of(rev1)],[rev1]),[v1,v0,v2,su(su(su(su(su(su(_58659,[v3 of v0],[v4]),[rev2 of v1],[v3]),[term_of(rev2)],[rev2]),[v3 of v0],[v4]),[rev2 of v1],[v3]),[term_of(rev2)],[rev2])])),
 [problem([a:int list,b:int list,v1:int,v0:int list,v2:rev(v0)=app(rev(v0),nil)in int list]==>app(app(rev(v0),nil),v1::nil)=app(app(rev(v0),v1::nil),nil)in int list,
  generalise(rev(v0),v3:int list),lambda(v3,su(v4,[v3 of rev(v0)],[v4]))of _58518,
  [problem([a:int list,b:int list,v1:int,v0:int list,v2:rev(v0)=app(rev(v0),nil)in int list]==>v3:int list=>app(app(v3,nil),v1::nil)=app(app(v3,v1::nil),nil)in int list,
   ind_strat(induction(lemma(list_primitive)-[(v3:int list)-v5::v4])then[base_case(sym_eval(normalize_term([reduction([1,1,1],[app1,equ(int list,left)]),reduction([1,1],[app1,equ(int list,left)]),reduction([1,2,1],[app1,equ(int list,left)]),reduction([2,1],[app2,equ(int list,left)]),reduction([2,2,1],[app1,equ(int list,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],[app2,equ(int list,left)],[])then[wave(direction_out,[1,1,1],[app2,equ(int list,left)],[])then[wave(direction_out,[1,1],[app2,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],v6)]))then elementary(identity)))])]),lambda(v3,list_ind(v3,su(su(su(su(su(su(su(su(su(su(su(su(axiom,[app1 of nil],[v4]),[term_of(app1)],[app1]),[v5 of nil],[v6]),[v4 of nil],[v5]),[app2 of v1],[v4]),[term_of(app2)],[app2]),[app1 of(v1::nil)],[v4]),[term_of(app1)],[app1]),[app1 of(v1::nil)],[v4]),[term_of(app1)],[app1]),[app1 of nil],[v4]),[term_of(app1)],[app1]),[v5,v4,v6,su(su(su(su(su(su(su(su(su(su(su(su(su(su(su(su(axiom,[v8 of(v1::nil)],[v9]),[v7 of app(v4,nil)],[v8]),[app2 of v5],[v7]),[term_of(app2)],[app2]),[v8 of nil],[v9]),[v7 of v4],[v8]),[app2 of v5],[v7]),[term_of(app2)],[app2]),[v8 of nil],[v9]),[v7 of app(v4,v1::nil)],[v8]),[app2 of v5],[v7]),[term_of(app2)],[app2]),[v8 of(v1::nil)],[v9]),[v7 of v4],[v8]),[app2 of v5],[v7]),[term_of(app2)],[app2])])),
   [
   ]) ext _58518
  ]) ext _58659
 ]) ext _59203,
 problem([a:int list,v1:int,v0:int list,v2:b:int list=>rev(app(v0,b))=app(rev(b),rev(v0))in int list]==>b:int list=>app(app(rev(b),rev(v0)),v1::nil)=app(rev(b),app(rev(v0),v1::nil))in int list,
 generalise(rev(v0),v3:int list),lambda(v3,lambda(v4,su(su(v6,[v5 of v4],[v6]),[v3 of rev(v0)],[v5])))of _57683,
 [problem([a:int list,v1:int,v0:int list,v2:b:int list=>rev(app(v0,b))=app(rev(b),rev(v0))in int list]==>v3:int list=>b:int list=>app(app(rev(b),v3),v1::nil)=app(rev(b),app(v3,v1::nil))in int list,
  ind_strat(induction(lemma(list_primitive)-[(b:int list)-v5::v4])then[base_case(sym_eval(normalize_term([reduction([1,1,1,1],[rev1,equ(int list,left)]),reduction([1,1,1],[app1,equ(int list,left)]),reduction([1,2,1],[rev1,equ(int list,left)]),reduction([2,1],[app1,equ(int list,left)])]))then[elementary(intro(new[v3])then[identity,wfftacs])]),step_case(ripple(direction_out,wave(direction_out,[1,2,1],[rev2,equ(int list,left)],[])then[wave(direction_out,[1,1,1,1],[rev2,equ(int list,left)],[])])then[idtac])]),lambda(v4,lambda(v3,lambda(v5,su(su(v7,[v6 of v4],[v7]),[v5 of v3],[v6]))of lambda(b,list_ind(b,lambda(v4,su(lambda(v3,su(v5,[v3 of v4],[v5]))of lambda(v4,su(su(lambda(v3,su(v5,[v3 of v4],[v5]))of lambda(v4,su(lambda(v3,su(v5,[v3 of v4],[v5]))of lambda(v4,su(su(lambda(v3,su(v5,[v3 of v4],[v5]))of lambda(v3,axiom),[app1 of app(v4,v1::nil)],[v3]),[term_of(app1)],[app1])),[term_of(rev1)],[rev1])),[app1 of v4],[v3]),[term_of(app1)],[app1])),[term_of(rev1)],[rev1])),[v5,v4,v6,lambda(v7,su(su(su(lambda(v3,su(v8,[v3 of v7],[v8]))of lambda(v7,su(su(su(lambda(v3,su(v8,[v3 of v7],[v8]))of _57100,[v3 of v4],[v8]),[rev2 of v5],[v3]),[term_of(rev2)],[rev2])),[v3 of v4],[v8]),[rev2 of v5],[v3]),[term_of(rev2)],[rev2]))])))),
  [problem([a:int list,v1:int,v0:int list,v2:b:int list=>rev(app(v0,b))=app(rev(b),rev(v0))in int list,b:int list,v5:int,v4:int list,v6:v3:int list=>app(app(rev(v4),v3),v1::nil)=app(rev(v4),app(v3,v1::nil))in int list]==>v3:int list=>app(app(app(rev(v4),v5::nil),v3),v1::nil)=app(app(rev(v4),v5::nil),app(v3,v1::nil))in int list,
   generalise(app(rev(v4),v5::nil),v7:int list),lambda(v3,lambda(v8,su(su(v9,[v7 of v8],[v9]),[v3 of app(rev(v4),v5::nil)],[v7])))of _56850,
   [problem([a:int list,v1:int,v0:int list,v2:b:int list=>rev(app(v0,b))=app(rev(b),rev(v0))in int list,b:int list,v5:int,v4:int list,v6:v3:int list=>app(app(rev(v4),v3),v1::nil)=app(rev(v4),app(v3,v1::nil))in int list]==>v7:int list=>v3:int list=>app(app(v7,v3),v1::nil)=app(v7,app(v3,v1::nil))in int list,
    ind_strat(induction(lemma(list_primitive)-[(v7:int list)-v9::v8])then[base_case(sym_eval(normalize_term([reduction([1,1,1],[app1,equ(int list,left)]),reduction([2,1],[app1,equ(int list,left)])]))then[elementary(intro(new[v3])then[identity,wfftacs])]),step_case(ripple(direction_out,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],[app2,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],v10)]))then elementary(intro(new[v3])then[identity,wfftacs])))])]),lambda(v7,list_ind(v7,lambda(v8,su(su(lambda(v3,su(v9,[v3 of v8],[v9]))of lambda(v8,su(su(lambda(v3,su(v9,[v3 of v8],[v9]))of lambda(v3,axiom),[app1 of app(v8,v1::nil)],[v3]),[term_of(app1)],[app1])),[app1 of v8],[v3]),[term_of(app1)],[app1])),[v9,v8,v10,lambda(v11,su(su(su(su(lambda(v3,su(v12,[v3 of v11],[v12]))of lambda(v11,su(su(su(su(lambda(v3,su(v12,[v3 of v11],[v12]))of lambda(v11,su(su(su(su(lambda(v3,su(v12,[v3 of v11],[v12]))of lambda(v11,su(lambda(v3,su(v12,[v3 of v11],[v12]))of lambda(v3,axiom),[v10 of v11],[v3])),[v12 of(v1::nil)],[v13]),[v3 of app(v8,v11)],[v12]),[app2 of v9],[v3]),[term_of(app2)],[app2])),[v12 of v11],[v13]),[v3 of v8],[v12]),[app2 of v9],[v3]),[term_of(app2)],[app2])),[v12 of app(v11,v1::nil)],[v13]),[v3 of v8],[v12]),[app2 of v9],[v3]),[term_of(app2)],[app2]))])),
    [
    ]) ext _56850
   ]) ext _57100
  ]) ext _57683
 ]) ext _59052
]).
