problem([]==>a:int list=>b:int list=>subset(a,b)=>intersect(a,b)=a in int list,
ind_strat(induction(lemma(list_primitive)-[(a:int list)-v1::v0])then[base_case(sym_eval(normalize_term([reduction([1],[subset1,equ(u(1),left)]),reduction([1,1,2],[intersect1,equ(int list,left)])]))then[elementary(intro(new[b])then[intro(new[v0])then[identity,wfftacs],wfftacs])]),step_case(ripple(direction_out,casesplit(disjunction([member(v1,b)=>void,member(v1,b)]))then[wave(direction_out,[1,1,2],[intersect4,equ(int list,left)],[])then[wave(direction_out,[1],[subset2,complementary,equ(u(1),left)],[])],wave(direction_out,[1],[subset3,equ(u(1),left)],[])then[wave(direction_out,[1,1,2],[intersect3,equ(int list,left)],[])then[wave(direction_out,[2],[cnc_cons1,imp(right)],[])]]])then[idtac,unblock_then_fertilize(strong,unblock_fertilize_lazy([idtac])then fertilize(strong,v2))])]),lambda(a,list_ind(a,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(b,lambda(v0,axiom)),[intersect1 of v0],[v1]),[term_of(intersect1)],[intersect1])),[subset1 of v0],[v1]),[term_of(subset1)],[subset1])),[v1,v0,v2,lambda(b,lambda(v4,decide(v4,[v5,lambda(v3,su(su(su(su(su(su(su(su(su(su(_146043,[v6 of v3],[v4]),[v5 of b],[v6]),[v4 of v0],[v5]),[subset2 of v1],[v4]),[term_of(subset2)],[subset2]),[v6 of v3],[v4]),[v5 of b],[v6]),[v4 of v0],[v5]),[intersect4 of v1],[v4]),[term_of(intersect4)],[intersect4]))of v5],[v6,lambda(v3,su(su(su(su(su(su(su(su(su(su(su(lambda(v4,su(su(su(lambda(v5,su(su(v8,[v7 of v6],[v8]),[v4 of v5],[v6])),[v6 of v0],[v7]),[v5 of intersect(v0,b)],[v6]),[cnc_cons1 of v1],[v5]))of su(v4,[v2 of b],[v4]),[term_of(cnc_cons1)],[cnc_cons1]),[v6 of v3],[v4]),[v5 of b],[v6]),[v4 of v0],[v5]),[intersect3 of v1],[v4]),[term_of(intersect3)],[intersect3]),[v6 of v3],[v4]),[v5 of b],[v6]),[v4 of v0],[v5]),[subset3 of v1],[v4]),[term_of(subset3)],[subset3]))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:b:int list=>subset(v0,b)=>intersect(v0,b)=v0 in int list,b:int list,v3:member(v1,b)=>void]==>void=>intersect(v0,b)=v1::v0 in int list,
 elementary(intro(new[v4])then[elim(v4),wfftacs]),lambda(v4,any(v4)),
 [
 ]) ext _146043
]).
