let n1, n2, n3, n4, n5 be Element of NAT ; :: thesis: for S being Gene-Set
for p1, p2 being Individual of S holds
( ( 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) ) )

let S be Gene-Set; :: thesis: for p1, p2 being Individual of S holds
( ( 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) ) )

let p1, p2 be Individual of S; :: thesis: ( ( 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) ) )
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 ; :: thesis: crossover (p1,p2,n1,n2,n3,n4,n5) = crossover (p1,p2,n1,n3,n4)
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 crossover (p1,p2,n1,n2,n3,n4,n5) = crossover (p1,p2,n1,n3,n4) by A4, Th5; :: thesis: verum
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 ; :: thesis: crossover (p1,p2,n1,n2,n3,n4,n5) = crossover (p1,p2,n1,n2,n4)
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 crossover (p1,p2,n1,n2,n3,n4,n5) = crossover (p1,p2,n1,n2,n4) by A8, Th5; :: thesis: verum
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 ; :: thesis: crossover (p1,p2,n1,n2,n3,n4,n5) = crossover (p1,p2,n2,n3,n5)
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 crossover (p1,p2,n1,n2,n3,n4,n5) = crossover (p1,p2,n2,n3,n5) ; :: thesis: verum
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 ; :: thesis: crossover (p1,p2,n1,n2,n3,n4,n5) = crossover (p1,p2,n2,n4,n5)
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 crossover (p1,p2,n1,n2,n3,n4,n5) = crossover (p1,p2,n2,n4,n5) ; :: thesis: verum
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 ; :: thesis: crossover (p1,p2,n1,n2,n3,n4,n5) = crossover (p1,p2,n1,n3,n5)
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 crossover (p1,p2,n1,n2,n3,n4,n5) = crossover (p1,p2,n1,n3,n5) ; :: thesis: verum
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 ; :: thesis: crossover (p1,p2,n1,n2,n3,n4,n5) = crossover (p1,p2,n1,n4,n5)
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 crossover (p1,p2,n1,n2,n3,n4,n5) = crossover (p1,p2,n1,n4,n5) ; :: thesis: verum
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 ; :: thesis: crossover (p1,p2,n1,n2,n3,n4,n5) = crossover (p1,p2,n1,n2,n5)
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 crossover (p1,p2,n1,n2,n3,n4,n5) = crossover (p1,p2,n1,n2,n5) ; :: thesis: verum
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 ; :: thesis: crossover (p1,p2,n1,n2,n3,n4,n5) = crossover (p1,p2,n3,n4,n5)
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 crossover (p1,p2,n1,n2,n3,n4,n5) = crossover (p1,p2,n3,n4,n5) ; :: thesis: verum
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 ; :: thesis: crossover (p1,p2,n1,n2,n3,n4,n5) = crossover (p1,p2,n1,n2,n3)
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 crossover (p1,p2,n1,n2,n3,n4,n5) = crossover (p1,p2,n1,n2,n3) by A42, Th5; :: thesis: verum
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 ; :: thesis: crossover (p1,p2,n1,n2,n3,n4,n5) = crossover (p1,p2,n2,n3,n4)
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 crossover (p1,p2,n1,n2,n3,n4,n5) = crossover (p1,p2,n2,n3,n4) by A45, Th5; :: thesis: verum
end;
hence ( ( 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) ) ) by A34, A14, A9, A24, A19, A1, A29, A5, A39; :: thesis: verum