problem([]==>x:int=>a:int list=>b:int list=>(member(x,a)#member(x,b))=>member(x,intersect(a,b)),
ind_strat(induction(lemma(list_primitive)-[(a:int list)-v1::v0])then[base_case(sym_eval(normalize_term([reduction([1,1],[member1,equ(u(1),left)]),reduction([2,2],[intersect1,equ(int list,left)]),reduction([2],[member1,equ(u(1),left)])]))then[elementary(intro(new[x])then[intro(new[b])then[intro(new[v0])then[elim(v0)then hyp(v1),wfftacs],wfftacs],wfftacs])]),step_case(ripple(direction_out,casesplit(disjunction([member(v1,b)=>void,member(v1,b)]))then[wave(direction_out,[2,2],[intersect4,equ(int list,left)],[])then[casesplit(disjunction([x=v1 in int=>void,x=v1 in int]))then[wave(direction_out,[1,1],[member3,equ(u(1),left)],[]),wave(direction_out,[1,1],[member2,complementary,equ(u(1),left)],[])]],wave(direction_out,[2,2],[intersect3,equ(int list,left)],[])then[casesplit(disjunction([x=v1 in int=>void,x=v1 in int]))then[wave(direction_out,[2],[member3,equ(u(1),left)],[])then[wave(direction_out,[1,1],[member3,equ(u(1),left)],[])],wave(direction_out,[2],[member2,complementary,equ(u(1),left)],[])]]])then[unblock_then_fertilize(strong,unblock_fertilize_lazy([idtac])then fertilize(strong,v2)),idtac,unblock_then_fertilize(strong,unblock_fertilize_lazy([idtac])then fertilize(strong,v2)),idtac])]),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(a,list_ind(a,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(x,lambda(b,lambda(v0,spread(v0,[v1,v2,v1])))),[member1 of v0],[v2]),[term_of(member1)],[member1]))),[intersect1 of v1],[v2]),[term_of(intersect1)],[intersect1]))),[member1 of v0],[v2]),[term_of(member1)],[member1]))),[v1,v0,v2,lambda(v3,lambda(v4,lambda(v5,su(su(v7,[v6 of v3],[v7]),[v5 of v4],[v6]))of lambda(b,lambda(v4,decide(v4,[v5,lambda(v3,lambda(v4,su(su(su(su(su(lambda(v5,su(v6,[v5 of v4],[v6]))of lambda(x,lambda(v5,decide(v5,[v6,lambda(v4,su(su(su(su(su(su(su(v6,[v5 of b],[v6]),[v2 of x],[v5]),[v7 of v4],[v5]),[v6 of v0],[v7]),[v5 of v1],[v6]),[member3 of x],[v5]),[term_of(member3)],[member3]))of v6],[v7,lambda(v4,su(su(su(su(su(_93917,[v7 of v4],[v5]),[v6 of v0],[v7]),[v5 of v1],[v6]),[member2 of x],[v5]),[term_of(member2)],[member2]))of v7]))of su(su(su(v6,[v5 of v1],[v6]),[v4 of x],[v5]),[term_of(deceqint)],[v4])),[v7 of v3],[v5]),[v6 of b],[v7]),[v5 of v0],[v6]),[intersect4 of v1],[v5]),[term_of(intersect4)],[intersect4])))of v5],[v6,lambda(v3,lambda(v4,su(su(su(su(su(lambda(v5,su(v6,[v5 of v4],[v6]))of lambda(x,lambda(v5,decide(v5,[v6,lambda(v4,su(su(su(su(su(su(su(su(su(su(su(su(v6,[v5 of b],[v6]),[v2 of x],[v5]),[v7 of v4],[v5]),[v6 of v0],[v7]),[v5 of v1],[v6]),[member3 of x],[v5]),[term_of(member3)],[member3]),[v7 of v4],[v5]),[v6 of intersect(v0,b)],[v7]),[v5 of v1],[v6]),[member3 of x],[v5]),[term_of(member3)],[member3]))of v6],[v7,lambda(v4,su(su(su(su(su(_93581,[v7 of v4],[v5]),[v6 of intersect(v0,b)],[v7]),[v5 of v1],[v6]),[member2 of x],[v5]),[term_of(member2)],[member2]))of v7]))of su(su(su(v6,[v5 of v1],[v6]),[v4 of x],[v5]),[term_of(deceqint)],[v4])),[v7 of v3],[v5]),[v6 of b],[v7]),[v5 of v0],[v6]),[intersect3 of v1],[v5]),[term_of(intersect3)],[intersect3])))of v6]))of su(su(su(v5,[v4 of b],[v5]),[v3 of v1],[v4]),[term_of(decmember)],[v3]))))]))))),
[problem([a:int list,v1:int,v0:int list,v2:x:int=>b:int list=>(member(x,v0)#member(x,b))=>member(x,intersect(v0,b)),b:int list,v3:member(v1,b)=>void,x:int,v4:x=v1 in int]==>({true}#member(x,b))=>member(x,intersect(v0,b)),
 sym_eval(equal(v4,right))then[elementary(intro(new[v4])then[elim(v4)then elim(v3)then[hyp(v6),elim(v8)],wfftacs])],lambda(v4,spread(v4,[v5,v6,su(any(v8),[v3 of v6],[v8])])),
 [
 ]) ext _93917,
 problem([a:int list,v1:int,v0:int list,v2:x:int=>b:int list=>(member(x,v0)#member(x,b))=>member(x,intersect(v0,b)),b:int list,v3:member(v1,b),x:int,v4:x=v1 in int]==>(member(x,v1::v0)#member(x,b))=>{true},
 elementary(intro(new[v5])then[istrue,wfftacs]),lambda(v5,0),
 [
 ]) ext _93581
]).
