let k, n be Nat; :: thesis: for f being FinSequence of (TOP-REAL 2)
for G being Go-board st 1 <= k & k + 1 <= len f & f is_sequence_on G & k + 1 <= n holds
( left_cell (f,k,G) = left_cell ((f | n),k,G) & right_cell (f,k,G) = right_cell ((f | n),k,G) )

let f be FinSequence of (TOP-REAL 2); :: thesis: for G being Go-board st 1 <= k & k + 1 <= len f & f is_sequence_on G & k + 1 <= n holds
( left_cell (f,k,G) = left_cell ((f | n),k,G) & right_cell (f,k,G) = right_cell ((f | n),k,G) )

let G be Go-board; :: thesis: ( 1 <= k & k + 1 <= len f & f is_sequence_on G & k + 1 <= n implies ( left_cell (f,k,G) = left_cell ((f | n),k,G) & right_cell (f,k,G) = right_cell ((f | n),k,G) ) )
assume that
A1: 1 <= k and
A2: k + 1 <= len f and
A3: f is_sequence_on G and
A4: k + 1 <= n ; :: thesis: ( left_cell (f,k,G) = left_cell ((f | n),k,G) & right_cell (f,k,G) = right_cell ((f | n),k,G) )
per cases ( len f <= n or n < len f ) ;
suppose len f <= n ; :: thesis: ( left_cell (f,k,G) = left_cell ((f | n),k,G) & right_cell (f,k,G) = right_cell ((f | n),k,G) )
hence ( left_cell (f,k,G) = left_cell ((f | n),k,G) & right_cell (f,k,G) = right_cell ((f | n),k,G) ) by FINSEQ_1:58; :: thesis: verum
end;
suppose n < len f ; :: thesis: ( left_cell (f,k,G) = left_cell ((f | n),k,G) & right_cell (f,k,G) = right_cell ((f | n),k,G) )
then A5: len (f | n) = n by FINSEQ_1:59;
then k in dom (f | n) by A1, A4, SEQ_4:134;
then A6: (f | n) /. k = f /. k by FINSEQ_4:70;
k + 1 in dom (f | n) by A1, A4, A5, SEQ_4:134;
then A7: (f | n) /. (k + 1) = f /. (k + 1) by FINSEQ_4:70;
set lf = left_cell (f,k,G);
set lfn = left_cell ((f | n),k,G);
set rf = right_cell (f,k,G);
set rfn = right_cell ((f | n),k,G);
A8: f | n is_sequence_on G by A3, GOBOARD1:22;
consider i1, j1, i2, j2 being Nat such that
A9: ( [i1,j1] in Indices G & f /. k = G * (i1,j1) & [i2,j2] in Indices G & f /. (k + 1) = G * (i2,j2) ) and
A10: ( ( i1 = i2 & j1 + 1 = j2 ) or ( i1 + 1 = i2 & j1 = j2 ) or ( i1 = i2 + 1 & j1 = j2 ) or ( i1 = i2 & j1 = j2 + 1 ) ) by A1, A2, A3, JORDAN8:3;
A11: ( j1 + 1 > j1 & j2 + 1 > j2 ) by NAT_1:13;
A12: ( i1 + 1 > i1 & i2 + 1 > i2 ) by NAT_1:13;
now :: thesis: ( left_cell (f,k,G) = left_cell ((f | n),k,G) & right_cell (f,k,G) = right_cell ((f | n),k,G) )
per cases ( ( i1 = i2 & j1 + 1 = j2 ) or ( i1 + 1 = i2 & j1 = j2 ) or ( i1 = i2 + 1 & j1 = j2 ) or ( i1 = i2 & j1 = j2 + 1 ) ) by A10;
suppose A13: ( i1 = i2 & j1 + 1 = j2 ) ; :: thesis: ( left_cell (f,k,G) = left_cell ((f | n),k,G) & right_cell (f,k,G) = right_cell ((f | n),k,G) )
hence left_cell (f,k,G) = cell (G,(i1 -' 1),j1) by A1, A2, A3, A9, A11, Def2
.= left_cell ((f | n),k,G) by A1, A4, A9, A11, A8, A5, A6, A7, A13, Def2 ;
:: thesis: right_cell (f,k,G) = right_cell ((f | n),k,G)
thus right_cell (f,k,G) = cell (G,i1,j1) by A1, A2, A3, A9, A11, A13, Def1
.= right_cell ((f | n),k,G) by A1, A4, A9, A11, A8, A5, A6, A7, A13, Def1 ; :: thesis: verum
end;
suppose A14: ( i1 + 1 = i2 & j1 = j2 ) ; :: thesis: ( left_cell (f,k,G) = left_cell ((f | n),k,G) & right_cell (f,k,G) = right_cell ((f | n),k,G) )
hence left_cell (f,k,G) = cell (G,i1,j1) by A1, A2, A3, A9, A12, Def2
.= left_cell ((f | n),k,G) by A1, A4, A9, A12, A8, A5, A6, A7, A14, Def2 ;
:: thesis: right_cell (f,k,G) = right_cell ((f | n),k,G)
thus right_cell (f,k,G) = cell (G,i1,(j1 -' 1)) by A1, A2, A3, A9, A12, A14, Def1
.= right_cell ((f | n),k,G) by A1, A4, A9, A12, A8, A5, A6, A7, A14, Def1 ; :: thesis: verum
end;
suppose A15: ( i1 = i2 + 1 & j1 = j2 ) ; :: thesis: ( left_cell (f,k,G) = left_cell ((f | n),k,G) & right_cell (f,k,G) = right_cell ((f | n),k,G) )
hence left_cell (f,k,G) = cell (G,i2,(j2 -' 1)) by A1, A2, A3, A9, A12, Def2
.= left_cell ((f | n),k,G) by A1, A4, A9, A12, A8, A5, A6, A7, A15, Def2 ;
:: thesis: right_cell (f,k,G) = right_cell ((f | n),k,G)
thus right_cell (f,k,G) = cell (G,i2,j2) by A1, A2, A3, A9, A12, A15, Def1
.= right_cell ((f | n),k,G) by A1, A4, A9, A12, A8, A5, A6, A7, A15, Def1 ; :: thesis: verum
end;
suppose A16: ( i1 = i2 & j1 = j2 + 1 ) ; :: thesis: ( left_cell (f,k,G) = left_cell ((f | n),k,G) & right_cell (f,k,G) = right_cell ((f | n),k,G) )
hence left_cell (f,k,G) = cell (G,i1,j2) by A1, A2, A3, A9, A11, Def2
.= left_cell ((f | n),k,G) by A1, A4, A9, A11, A8, A5, A6, A7, A16, Def2 ;
:: thesis: right_cell (f,k,G) = right_cell ((f | n),k,G)
thus right_cell (f,k,G) = cell (G,(i1 -' 1),j2) by A1, A2, A3, A9, A11, A16, Def1
.= right_cell ((f | n),k,G) by A1, A4, A9, A11, A8, A5, A6, A7, A16, Def1 ; :: thesis: verum
end;
end;
end;
hence ( left_cell (f,k,G) = left_cell ((f | n),k,G) & right_cell (f,k,G) = right_cell ((f | n),k,G) ) ; :: thesis: verum
end;
end;