reserve D for non empty set;
reserve f1,f2 for FinSequence of D;
reserve i,n,n1,n2,n3,n4,n5,n6 for Element of NAT;
reserve S for Gene-Set;
reserve p1,p2 for Individual of S;

theorem
  crossover(p1,p2,0,n2,n3,n4,n5,n6)=crossover(p2,p1,n2,n3,n4,n5,n6) &
crossover(p1,p2,n1,0,n3,n4,n5,n6)=crossover(p2,p1,n1,n3,n4,n5,n6) & crossover(
p1,p2,n1,n2,0,n4,n5,n6)=crossover(p2,p1,n1,n2,n4,n5,n6) & crossover(p1,p2,n1,n2
,n3,0,n5,n6)=crossover(p2,p1,n1,n2,n3,n5,n6) & crossover(p1,p2,n1,n2,n3,n4,0,n6
)=crossover(p2,p1,n1,n2,n3,n4,n6) & crossover(p1,p2,n1,n2,n3,n4,n5,0)=crossover
  (p2,p1,n1,n2,n3,n4,n5)
proof
  crossover(p1,p2,0,n2,n3,n4,n5,n6) =crossover(crossover(p2,p1,n2,n3,n4,n5
  ), crossover(p2,p1,0,n2,n3,n4,n5),n6) by Th41
    .=crossover(crossover(p2,p1,n2,n3,n4,n5), crossover(p1,p2,n2,n3,n4,n5),
  n6) by Th41;
  hence crossover(p1,p2,0,n2,n3,n4,n5,n6)=crossover(p2,p1,n2,n3,n4,n5,n6);
  crossover(p1,p2,n1,0,n3,n4,n5,n6) =crossover(crossover(p2,p1,n1,n3,n4,n5
  ), crossover(p2,p1,n1,0,n3,n4,n5),n6) by Th41
    .=crossover(crossover(p2,p1,n1,n3,n4,n5), crossover(p1,p2,n1,n3,n4,n5),
  n6) by Th41;
  hence crossover(p1,p2,n1,0,n3,n4,n5,n6)=crossover(p2,p1,n1,n3,n4,n5,n6);
  crossover(p1,p2,n1,n2,0,n4,n5,n6) =crossover(crossover(p2,p1,n1,n2,n4,n5
  ), crossover(p2,p1,n1,n2,0,n4,n5),n6) by Th41
    .=crossover(crossover(p2,p1,n1,n2,n4,n5), crossover(p1,p2,n1,n2,n4,n5),
  n6) by Th41;
  hence crossover(p1,p2,n1,n2,0,n4,n5,n6)=crossover(p2,p1,n1,n2,n4,n5,n6);
  crossover(p1,p2,n1,n2,n3,0,n5,n6) =crossover(crossover(p2,p1,n1,n2,n3,n5
  ), crossover(p2,p1,n1,n2,n3,0,n5),n6) by Th41
    .=crossover(crossover(p2,p1,n1,n2,n3,n5), crossover(p1,p2,n1,n2,n3,n5),
  n6) by Th41;
  hence crossover(p1,p2,n1,n2,n3,0,n5,n6)=crossover(p2,p1,n1,n2,n3,n5,n6);
  crossover(p1,p2,n1,n2,n3,n4,0,n6) =crossover(crossover(p2,p1,n1,n2,n3,n4
  ), crossover(p2,p1,n1,n2,n3,n4,0),n6) by Th41
    .=crossover(crossover(p2,p1,n1,n2,n3,n4), crossover(p1,p2,n1,n2,n3,n4),
  n6) by Th41;
  hence crossover(p1,p2,n1,n2,n3,n4,0,n6)=crossover(p2,p1,n1,n2,n3,n4,n6);
  thus crossover(p1,p2,n1,n2,n3,n4,n5,0) =crossover(crossover(p1,p2,n1,n2,n3,
  n4,n5), crossover(p2,p1,n1,n2,n3,n4,n5),0)
    .=crossover(p2,p1,n1,n2,n3,n4,n5) by Th4;
end;
