let f be constant standard special_circular_sequence; :: thesis: for p being Point of (TOP-REAL 2)
for k being Nat st p in rng f & 1 <= k & k < p .. f holds
left_cell (f,k) = left_cell ((Rotate (f,p)),((k + (len f)) -' (p .. f)))

let p be Point of (TOP-REAL 2); :: thesis: for k being Nat st p in rng f & 1 <= k & k < p .. f holds
left_cell (f,k) = left_cell ((Rotate (f,p)),((k + (len f)) -' (p .. f)))

let k be Nat; :: thesis: ( p in rng f & 1 <= k & k < p .. f implies left_cell (f,k) = left_cell ((Rotate (f,p)),((k + (len f)) -' (p .. f))) )
assume that
A1: p in rng f and
A2: 1 <= k and
A3: k < p .. f ; :: thesis: left_cell (f,k) = left_cell ((Rotate (f,p)),((k + (len f)) -' (p .. f)))
set n = (k + (len f)) -' (p .. f);
A4: p .. f <= len f by A1, FINSEQ_4:21;
then k < len f by A3, XXREAL_0:2;
then A5: k + 1 <= len f by NAT_1:13;
0 < k by A2;
then A6: 0 + 1 < k + 1 by XREAL_1:6;
len f <= k + (len f) by NAT_1:11;
then A7: ((k + (len f)) -' (p .. f)) + 1 = ((k + (len f)) + 1) -' (p .. f) by A4, NAT_D:38, XXREAL_0:2;
A8: k + 1 <= p .. f by A3, NAT_1:13;
then (k + 1) + (len f) <= (len f) + (p .. f) by XREAL_1:6;
then ((k + (len f)) -' (p .. f)) + 1 <= len f by A7, NAT_D:53;
then A9: ((k + (len f)) -' (p .. f)) + 1 <= len (Rotate (f,p)) by Th14;
A10: ((k + (len f)) -' (p .. f)) + 1 = ((k + 1) + (len f)) -' (p .. f) by A7;
A11: for i1, j1, i2, j2 being Nat st [i1,j1] in Indices (GoB (Rotate (f,p))) & [i2,j2] in Indices (GoB (Rotate (f,p))) & (Rotate (f,p)) /. ((k + (len f)) -' (p .. f)) = (GoB (Rotate (f,p))) * (i1,j1) & (Rotate (f,p)) /. (((k + (len f)) -' (p .. f)) + 1) = (GoB (Rotate (f,p))) * (i2,j2) & not ( i1 = i2 & j1 + 1 = j2 & left_cell (f,k) = cell ((GoB (Rotate (f,p))),(i1 -' 1),j1) ) & not ( i1 + 1 = i2 & j1 = j2 & left_cell (f,k) = cell ((GoB (Rotate (f,p))),i1,j1) ) & not ( i1 = i2 + 1 & j1 = j2 & left_cell (f,k) = cell ((GoB (Rotate (f,p))),i2,(j2 -' 1)) ) holds
( i1 = i2 & j1 = j2 + 1 & left_cell (f,k) = cell ((GoB (Rotate (f,p))),i1,j2) )
proof
A12: left_cell (f,k) = left_cell (f,k) ;
let i1, j1, i2, j2 be Nat; :: thesis: ( [i1,j1] in Indices (GoB (Rotate (f,p))) & [i2,j2] in Indices (GoB (Rotate (f,p))) & (Rotate (f,p)) /. ((k + (len f)) -' (p .. f)) = (GoB (Rotate (f,p))) * (i1,j1) & (Rotate (f,p)) /. (((k + (len f)) -' (p .. f)) + 1) = (GoB (Rotate (f,p))) * (i2,j2) & not ( i1 = i2 & j1 + 1 = j2 & left_cell (f,k) = cell ((GoB (Rotate (f,p))),(i1 -' 1),j1) ) & not ( i1 + 1 = i2 & j1 = j2 & left_cell (f,k) = cell ((GoB (Rotate (f,p))),i1,j1) ) & not ( i1 = i2 + 1 & j1 = j2 & left_cell (f,k) = cell ((GoB (Rotate (f,p))),i2,(j2 -' 1)) ) implies ( i1 = i2 & j1 = j2 + 1 & left_cell (f,k) = cell ((GoB (Rotate (f,p))),i1,j2) ) )
assume that
A13: ( [i1,j1] in Indices (GoB (Rotate (f,p))) & [i2,j2] in Indices (GoB (Rotate (f,p))) ) and
A14: ( (Rotate (f,p)) /. ((k + (len f)) -' (p .. f)) = (GoB (Rotate (f,p))) * (i1,j1) & (Rotate (f,p)) /. (((k + (len f)) -' (p .. f)) + 1) = (GoB (Rotate (f,p))) * (i2,j2) ) ; :: thesis: ( ( i1 = i2 & j1 + 1 = j2 & left_cell (f,k) = cell ((GoB (Rotate (f,p))),(i1 -' 1),j1) ) or ( i1 + 1 = i2 & j1 = j2 & left_cell (f,k) = cell ((GoB (Rotate (f,p))),i1,j1) ) or ( i1 = i2 + 1 & j1 = j2 & left_cell (f,k) = cell ((GoB (Rotate (f,p))),i2,(j2 -' 1)) ) or ( i1 = i2 & j1 = j2 + 1 & left_cell (f,k) = cell ((GoB (Rotate (f,p))),i1,j2) ) )
A15: GoB (Rotate (f,p)) = GoB f by Th28;
then A16: ( f /. k = (GoB f) * (i1,j1) & f /. (k + 1) = (GoB f) * (i2,j2) ) by A1, A2, A3, A6, A8, A10, A14, Th18;
then A17: ( ( i1 = i2 & j1 + 1 = j2 & left_cell (f,k) = cell ((GoB f),(i1 -' 1),j1) ) or ( i1 + 1 = i2 & j1 = j2 & left_cell (f,k) = cell ((GoB f),i1,j1) ) or ( i1 = i2 + 1 & j1 = j2 & left_cell (f,k) = cell ((GoB f),i2,(j2 -' 1)) ) or ( i1 = i2 & j1 = j2 + 1 & left_cell (f,k) = cell ((GoB f),i1,j2) ) ) by A2, A5, A13, A15, A12, GOBOARD5:def 7;
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 A2, A5, A13, A15, A16, A12, GOBOARD5:def 7;
case ( i1 = i2 & j1 + 1 = j2 ) ; :: thesis: left_cell (f,k) = cell ((GoB (Rotate (f,p))),(i1 -' 1),j1)
hence left_cell (f,k) = cell ((GoB (Rotate (f,p))),(i1 -' 1),j1) by A17, Th28; :: thesis: verum
end;
case ( i1 + 1 = i2 & j1 = j2 ) ; :: thesis: left_cell (f,k) = cell ((GoB (Rotate (f,p))),i1,j1)
hence left_cell (f,k) = cell ((GoB (Rotate (f,p))),i1,j1) by A17, Th28; :: thesis: verum
end;
case ( i1 = i2 + 1 & j1 = j2 ) ; :: thesis: left_cell (f,k) = cell ((GoB (Rotate (f,p))),i2,(j2 -' 1))
hence left_cell (f,k) = cell ((GoB (Rotate (f,p))),i2,(j2 -' 1)) by A17, Th28; :: thesis: verum
end;
case ( i1 = i2 & j1 = j2 + 1 ) ; :: thesis: left_cell (f,k) = cell ((GoB (Rotate (f,p))),i1,j2)
hence left_cell (f,k) = cell ((GoB (Rotate (f,p))),i1,j2) by A17, Th28; :: thesis: verum
end;
end;
end;
1 + (p .. f) <= k + (len f) by A2, A4, XREAL_1:7;
then 1 <= (k + (len f)) -' (p .. f) by NAT_D:55;
hence left_cell (f,k) = left_cell ((Rotate (f,p)),((k + (len f)) -' (p .. f))) by A9, A11, GOBOARD5:def 7; :: thesis: verum