reserve G for Go-board,
  i,j,k,m,n for Nat;

theorem Th33:
  for f,g being non trivial s.n.c. one-to-one unfolded FinSequence
  of TOP-REAL 2 st L~f /\ L~g = {f/.1,g/.1} & f/.1 = g/.len g & g/.1 = f/.len f
  holds f ^' g is s.c.c.
proof
  let f,g being non trivial s.n.c. one-to-one unfolded FinSequence of TOP-REAL
  2 such that
A1: L~f /\ L~g = {f/.1,g/.1} and
A2: f/.1 = g/.len g and
A3: g/.1 = f/.len f;
A4: for i st 1 <= i & i < len f holds f/.i <> g/.1
  proof
A5: len f in dom f by FINSEQ_5:6;
    then
A6: f/.len f = f.len f by PARTFUN1:def 6;
    let i such that
A7: 1 <= i and
A8: i < len f;
A9: i in dom f by A7,A8,FINSEQ_3:25;
    then f/.i = f.i by PARTFUN1:def 6;
    hence thesis by A3,A8,A9,A5,A6,FUNCT_1:def 4;
  end;
A10: len(f^'g)+1 = len f + len g by FINSEQ_6:139;
A11: len(g^'f)+1 = len f + len g by FINSEQ_6:139;
  let i,j such that
A12: i+1 < j and
A13: i > 1 & j < len(f^'g) or j+1 < len(f^'g);
A14: i < j by A12,NAT_1:13;
  j <= j+1 by NAT_1:11;
  then
A15: j < len(f^'g) by A13,XXREAL_0:2;
  per cases by NAT_1:14;
  suppose
    i = 0;
    then LSeg(f^'g,i) = {} by TOPREAL1:def 3;
    then LSeg(f^'g,i) /\ LSeg(f^'g,j) = {};
    hence thesis by XBOOLE_0:def 7;
  end;
  suppose
A16: j < len f;
    then i < len f by A14,XXREAL_0:2;
    then
A17: LSeg(f^'g,i) = LSeg(f,i) by Th28;
    LSeg(f^'g,j) = LSeg(f,j) by A16,Th28;
    hence thesis by A12,A17,TOPREAL1:def 7;
  end;
  suppose
A18: i >= len f;
    then consider m be Nat such that
A19: i = len f + m by NAT_1:10;
    consider n be Nat such that
A20: j = len f + n by A14,A18,NAT_1:10,XXREAL_0:2;
    reconsider m,n as Nat;
A21: 1 <= m+1 by NAT_1:11;
    j+1 < len f + len g by A15,A10,XREAL_1:6;
    then len f + (n+1) < len f + len g by A20;
    then
A22: n+1 < len g by XREAL_1:6;
A23: m < n by A14,A19,A20,XREAL_1:6;
    then m+1 <= n by NAT_1:13;
    then 1 <= n by A21,XXREAL_0:2;
    then
A24: LSeg(f^'g,j) = LSeg(g,n+1) by A20,A22,Th29;
    i + 1 + 1 < j + 1 by A12,XREAL_1:6;
    then len f + (m + (1 + 1)) < len f + (n + 1) by A19,A20;
    then
A25: m+1+1 < n+1 by XREAL_1:6;
    m+1 < n+1 by A23,XREAL_1:6;
    then m+1 < len g by A22,XXREAL_0:2;
    then LSeg(f^'g,i) = LSeg(g,m+1) by A3,A19,Th31;
    hence thesis by A24,A25,TOPREAL1:def 7;
  end;
  suppose that
A26: j >= len f and
A27: i < len f and
A28: 1 <= i;
    consider k be Nat such that
A29: j = len f + k by A26,NAT_1:10;
    reconsider k as Nat;
    j+1 < len f+ len g by A15,A10,XREAL_1:6;
    then len f + (k +1) < len f+ len g by A29;
    then k+1 < len g by XREAL_1:6;
    then LSeg(f^'g,j) = LSeg(g,k+1) by A3,A29,Th31;
    then
A30: LSeg(f^'g,j) c= L~g by TOPREAL3:19;
    assume LSeg(f^'g,i) meets LSeg(f^'g,j);
    then consider x being object such that
A31: x in LSeg(f^'g,i) /\ LSeg(f^'g,j) by XBOOLE_0:4;
    LSeg(f^'g,i) = LSeg(f,i) by A27,Th28;
    then LSeg(f^'g,i) c= L~f by TOPREAL3:19;
    then
A32: LSeg(f^'g,i) /\ LSeg(f^'g,j) c= {f/.1,g/.1} by A1,A30,XBOOLE_1:27;
    now
      per cases by A13,A26,A31,A32,TARSKI:def 2,XXREAL_0:1;
      suppose
        1 < i & x = f/.1;
        hence contradiction by A27,A31,Lm2;
      end;
      suppose that
A33:    j > len f + 0 and
A34:    x = g/.1;
        j+0 < j+1 by XREAL_1:6;
        then
A35:    len f < j+1 by A33,XXREAL_0:2;
        j+1 < len(g^'f) + 1 by A15,A10,A11,XREAL_1:6;
        then j+1 -' len f < len g by A11,A35,NAT_D:54;
        then
A36:    j -' len f+1 < len g by A33,NAT_D:38;
A37:    Rotate(f^'g,g/.1) = g^'f by A3,A4,Th18;
        0 < j -' len f by A33,NAT_D:52;
        then
A38:    0+1 < j -' len f+1 by XREAL_1:6;
A39:    len f in dom f by FINSEQ_5:6;
        then f.len f = f/.len f by PARTFUN1:def 6;
        then
A40:    g/.1 in rng f by A3,A39,FUNCT_1:3;
        then
A41:    g/.1..(f^'g) = g/.1..f by Th8
          .= len f by A3,Th6;
A42:    rng f c= rng(f^'g) by Th10;
        then
A43:    LSeg(f^'g,j) = LSeg(Rotate((f^'g),g/.1),j -' g/.1..(f^'g)+1) by A15,A33
,A40,A41,REVROT_1:25;
        f^'g is circular by A2,Th11;
        then
        LSeg(f^'g,i) = LSeg(Rotate((f^'g),g/.1),i + len (f^'g) -' g/.1..(
        f^'g)) by A27,A28,A40,A41,A42,REVROT_1:32;
        hence contradiction by A31,A34,A37,A41,A43,A36,A38,Lm2;
      end;
      suppose that
A44:    j = len f and
A45:    x = g/.1;
        i <= i+1 by NAT_1:11;
        then i < j by A12,XXREAL_0:2;
        then LSeg(f^'g,i) = LSeg(f,i) by A44,Th28;
        then
A46:    f/.len f in LSeg(f,i) by A3,A31,A45,XBOOLE_0:def 4;
        i <= i+1 by NAT_1:11;
        then i < len f by A12,A44,XXREAL_0:2;
        then
A47:    i in dom f by A28,FINSEQ_3:25;
        1 <= i+1 by NAT_1:11;
        then i+1 in dom f by A12,A44,FINSEQ_3:25;
        hence contradiction by A12,A44,A47,A46,GOBOARD2:2;
      end;
      suppose that
A48:    j > len f and
A49:    x = f/.1 and
A50:    j+1 < len(f^'g);
        thus thesis by A2,A31,A48,A49,A50,Lm3;
      end;
      suppose that
A51:    j = len f and
A52:    x = f/.1 and
A53:    j+1 < len(f^'g);
        0+1 < len g by Th2;
        then LSeg(f^'g,len f+0) = LSeg(g,0+1) by A3,Th31;
        then
A54:    g/.len g in LSeg(g,1) by A2,A31,A51,A52,XBOOLE_0:def 4;
        j+1+1 < len f+ len g by A10,A53,XREAL_1:6;
        then
A55:    j+(1+1) < len f+ len g;
        then 1+1 < len g by A51,XREAL_1:6;
        then
A56:    1+1 in dom g by FINSEQ_3:25;
        1 in dom g by FINSEQ_5:6;
        hence contradiction by A51,A55,A54,A56,GOBOARD2:2;
      end;
    end;
    hence contradiction;
  end;
end;
