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 Th46:
  (n1>=len p1 implies crossover(p1,p2,n1,n2,n3,n4,n5)=crossover(p1
  ,p2,n2,n3,n4,n5)) & (n2>=len p1 implies crossover(p1,p2,n1,n2,n3,n4,n5)=
crossover(p1,p2,n1,n3,n4,n5)) & (n3>=len p1 implies crossover(p1,p2,n1,n2,n3,n4
,n5)=crossover(p1,p2,n1,n2,n4,n5)) & (n4>=len p1 implies crossover(p1,p2,n1,n2,
n3,n4,n5)=crossover(p1,p2,n1,n2,n3,n5)) & (n5>=len p1 implies crossover(p1,p2,
  n1,n2,n3,n4,n5)=crossover(p1,p2,n1,n2,n3,n4))
proof
A1: n5>=len p1 implies crossover(p1,p2,n1,n2,n3,n4,n5)=crossover(p1,p2,n1,
  n2,n3,n4)
  proof
    assume n5 >= len p1;
    then n5 >= len S by Def1;
    then
A2: n5 >= len crossover(p1,p2,n1,n2,n3,n4) by Def1;
    crossover(p1,p2,n1,n2,n3,n4,n5) =crossover(crossover(p1,p2,n1,n2,n3,
    n4), crossover(p2,p1,n1,n2,n3,n4),n5);
    hence thesis by A2,Th5;
  end;
A3: n2>=len p1 implies crossover(p1,p2,n1,n2,n3,n4,n5)=crossover(p1,p2,n1,n3
  ,n4,n5)
  proof
    assume
A4: n2 >= len p1;
    then n2 >= len S by Def1;
    then
A5: n2 >= len p2 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 A4,Th33
      .=crossover(crossover(p1,p2,n1,n3,n4), crossover(p2,p1,n1,n3,n4),n5)
    by A5,Th33;
    hence thesis;
  end;
A6: n4>=len p1 implies crossover(p1,p2,n1,n2,n3,n4,n5)=crossover(p1,p2,n1,
  n2,n3,n5)
  proof
    assume
A7: n4 >= len p1;
    then n4 >= len S by Def1;
    then
A8: n4 >= len p2 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 A7,Th33
      .=crossover(crossover(p1,p2,n1,n2,n3), crossover(p2,p1,n1,n2,n3),n5)
    by A8,Th33;
    hence thesis;
  end;
A9: n3>=len p1 implies crossover(p1,p2,n1,n2,n3,n4,n5)=crossover(p1,p2,n1,
  n2,n4,n5)
  proof
    assume
A10: n3 >= len p1;
    then n3 >= len S by Def1;
    then
A11: n3 >= len p2 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 A10,Th33
      .=crossover(crossover(p1,p2,n1,n2,n4), crossover(p2,p1,n1,n2,n4),n5)
    by A11,Th33;
    hence thesis;
  end;
  n1>=len p1 implies crossover(p1,p2,n1,n2,n3,n4,n5)=crossover(p1,p2,n2,n3
  ,n4,n5)
  proof
    assume
A12: n1 >= len p1;
    then n1 >= len S by Def1;
    then
A13: n1 >= len p2 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 A12,Th33
      .=crossover(crossover(p1,p2,n2,n3,n4), crossover(p2,p1,n2,n3,n4),n5)
    by A13,Th33;
    hence thesis;
  end;
  hence thesis by A3,A9,A6,A1;
end;
