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
  (n1>=len p1 & n2>=len p1 implies crossover(p1,p2,n1,n2,n3,n4,n5)=
crossover(p1,p2,n3,n4,n5)) & (n1>=len p1 & n3>=len p1 implies crossover(p1,p2,
  n1,n2,n3,n4,n5)=crossover(p1,p2,n2,n4,n5)) & (n1>=len p1 & n4>=len p1 implies
crossover(p1,p2,n1,n2,n3,n4,n5)=crossover(p1,p2,n2,n3,n5)) & (n1>=len p1 & n5>=
len p1 implies crossover(p1,p2,n1,n2,n3,n4,n5)=crossover(p1,p2,n2,n3,n4)) & (n2
>=len p1 & n3>=len p1 implies crossover(p1,p2,n1,n2,n3,n4,n5)=crossover(p1,p2,
n1,n4,n5)) & (n2>=len p1 & n4>=len p1 implies crossover(p1,p2,n1,n2,n3,n4,n5)=
crossover(p1,p2,n1,n3,n5)) & (n2>=len p1 & n5>=len p1 implies crossover(p1,p2,
  n1,n2,n3,n4,n5)=crossover(p1,p2,n1,n3,n4)) & (n3>=len p1 & n4>=len p1 implies
crossover(p1,p2,n1,n2,n3,n4,n5)=crossover(p1,p2,n1,n2,n5)) & (n3>=len p1 & n5>=
len p1 implies crossover(p1,p2,n1,n2,n3,n4,n5)=crossover(p1,p2,n1,n2,n4)) & (n4
>=len p1 & n5>=len p1 implies crossover(p1,p2,n1,n2,n3,n4,n5)=crossover(p1,p2,
  n1,n2,n3))
proof
A1: n2>=len p1 & n5>=len p1 implies crossover(p1,p2,n1,n2,n3,n4,n5)=
  crossover(p1,p2,n1,n3,n4)
  proof
    assume that
A2: n2 >= len p1 and
A3: n5 >= len p1;
    n5 >= len S by A3,Def1;
    then
A4: n5 >= len crossover(p1,p2,n1,n3,n4) by Def1;
    crossover(p1,p2,n1,n2,n3,n4,n5) =crossover(crossover(p1,p2,n1,n3,n4),
    crossover(p2,p1,n1,n2,n3,n4),n5) by A2,Th33;
    hence thesis by A4,Th5;
  end;
A5: n3>=len p1 & n5>=len p1 implies crossover(p1,p2,n1,n2,n3,n4,n5)=
  crossover(p1,p2,n1,n2,n4)
  proof
    assume that
A6: n3 >= len p1 and
A7: n5 >= len p1;
    n5 >= len S by A7,Def1;
    then
A8: n5 >= len crossover(p1,p2,n1,n2,n4) by Def1;
    crossover(p1,p2,n1,n2,n3,n4,n5) =crossover(crossover(p1,p2,n1,n2,n4),
    crossover(p2,p1,n1,n2,n3,n4),n5) by A6,Th33;
    hence thesis by A8,Th5;
  end;
A9: n1>=len p1 & n4>=len p1 implies crossover(p1,p2,n1,n2,n3,n4,n5)=
  crossover(p1,p2,n2,n3,n5)
  proof
    assume that
A10: n1 >= len p1 and
A11: n4 >= len p1;
    n1 >= len S by A10,Def1;
    then
A12: n1 >= len p2 by Def1;
    n4 >= len S by A11,Def1;
    then
A13: n4 >= len p2 by Def1;
    crossover(p1,p2,n1,n2,n3,n4,n5) =crossover(crossover(p1,p2,n2,n3),
    crossover(p2,p1,n1,n2,n3,n4),n5) by A10,A11,Th34
      .=crossover(crossover(p1,p2,n2,n3), crossover(p2,p1,n2,n3),n5) by A12,A13
,Th34;
    hence thesis;
  end;
A14: n1>=len p1 & n3>=len p1 implies crossover(p1,p2,n1,n2,n3,n4,n5)=
  crossover(p1,p2,n2,n4,n5)
  proof
    assume that
A15: n1 >= len p1 and
A16: n3 >= len p1;
    n1 >= len S by A15,Def1;
    then
A17: n1 >= len p2 by Def1;
    n3 >= len S by A16,Def1;
    then
A18: n3 >= len p2 by Def1;
    crossover(p1,p2,n1,n2,n3,n4,n5) =crossover(crossover(p1,p2,n2,n4),
    crossover(p2,p1,n1,n2,n3,n4),n5) by A15,A16,Th34
      .=crossover(crossover(p1,p2,n2,n4), crossover(p2,p1,n2,n4),n5) by A17,A18
,Th34;
    hence thesis;
  end;
A19: n2>=len p1 & n4>=len p1 implies crossover(p1,p2,n1,n2,n3,n4,n5)=
  crossover(p1,p2,n1,n3,n5)
  proof
    assume that
A20: n2 >= len p1 and
A21: n4 >= len p1;
    n2 >= len S by A20,Def1;
    then
A22: n2 >= len p2 by Def1;
    n4 >= len S by A21,Def1;
    then
A23: n4 >= len p2 by Def1;
    crossover(p1,p2,n1,n2,n3,n4,n5) =crossover(crossover(p1,p2,n1,n3),
    crossover(p2,p1,n1,n2,n3,n4),n5) by A20,A21,Th34
      .=crossover(crossover(p1,p2,n1,n3), crossover(p2,p1,n1,n3),n5) by A22,A23
,Th34;
    hence thesis;
  end;
A24: n2>=len p1 & n3>=len p1 implies crossover(p1,p2,n1,n2,n3,n4,n5)=
  crossover(p1,p2,n1,n4,n5)
  proof
    assume that
A25: n2 >= len p1 and
A26: n3 >= len p1;
    n2 >= len S by A25,Def1;
    then
A27: n2 >= len p2 by Def1;
    n3 >= len S by A26,Def1;
    then
A28: n3 >= len p2 by Def1;
    crossover(p1,p2,n1,n2,n3,n4,n5) =crossover(crossover(p1,p2,n1,n4),
    crossover(p2,p1,n1,n2,n3,n4),n5) by A25,A26,Th34
      .=crossover(crossover(p1,p2,n1,n4), crossover(p2,p1,n1,n4),n5) by A27,A28
,Th34;
    hence thesis;
  end;
A29: n3>=len p1 & n4>=len p1 implies crossover(p1,p2,n1,n2,n3,n4,n5)=
  crossover(p1,p2,n1,n2,n5)
  proof
    assume that
A30: n3 >= len p1 and
A31: n4 >= len p1;
    n3 >= len S by A30,Def1;
    then
A32: n3 >= len p2 by Def1;
    n4 >= len S by A31,Def1;
    then
A33: n4 >= len p2 by Def1;
    crossover(p1,p2,n1,n2,n3,n4,n5) =crossover(crossover(p1,p2,n1,n2),
    crossover(p2,p1,n1,n2,n3,n4),n5) by A30,A31,Th34
      .=crossover(crossover(p1,p2,n1,n2), crossover(p2,p1,n1,n2),n5) by A32,A33
,Th34;
    hence thesis;
  end;
A34: n1>=len p1 & n2>=len p1 implies crossover(p1,p2,n1,n2,n3,n4,n5)=
  crossover(p1,p2,n3,n4,n5)
  proof
    assume that
A35: n1 >= len p1 and
A36: n2 >= len p1;
    n1 >= len S by A35,Def1;
    then
A37: n1 >= len p2 by Def1;
    n2 >= len S by A36,Def1;
    then
A38: n2 >= len p2 by Def1;
    crossover(p1,p2,n1,n2,n3,n4,n5) =crossover(crossover(p1,p2,n3,n4),
    crossover(p2,p1,n1,n2,n3,n4),n5) by A35,A36,Th34
      .=crossover(crossover(p1,p2,n3,n4), crossover(p2,p1,n3,n4),n5) by A37,A38
,Th34;
    hence thesis;
  end;
A39: n4>=len p1 & n5>=len p1 implies crossover(p1,p2,n1,n2,n3,n4,n5)=
  crossover(p1,p2,n1,n2,n3)
  proof
    assume that
A40: n4 >= len p1 and
A41: n5 >= len p1;
    n5 >= len S by A41,Def1;
    then
A42: n5 >= len crossover(p1,p2,n1,n2,n3) by Def1;
    crossover(p1,p2,n1,n2,n3,n4,n5) =crossover(crossover(p1,p2,n1,n2,n3),
    crossover(p2,p1,n1,n2,n3,n4),n5) by A40,Th33;
    hence thesis by A42,Th5;
  end;
  n1>=len p1 & n5>=len p1 implies crossover(p1,p2,n1,n2,n3,n4,n5)=
  crossover(p1,p2,n2,n3,n4)
  proof
    assume that
A43: n1 >= len p1 and
A44: n5 >= len p1;
    n5 >= len S by A44,Def1;
    then
A45: n5 >= len crossover(p1,p2,n2,n3,n4) by Def1;
    crossover(p1,p2,n1,n2,n3,n4,n5) =crossover(crossover(p1,p2,n2,n3,n4),
    crossover(p2,p1,n1,n2,n3,n4),n5) by A43,Th33;
    hence thesis by A45,Th5;
  end;
  hence thesis by A34,A14,A9,A24,A19,A1,A29,A5,A39;
end;
