reserve x,y for set;
reserve G for Graph;
reserve vs,vs9 for FinSequence of the carrier of G;
reserve IT for oriented Chain of G;
reserve N for Nat;
reserve n,m,k,i,j for Nat;
reserve r,r1,r2 for Real;
reserve X for non empty set;

theorem Th22:
  for f,g being FinSequence of TOP-REAL 2 st g is_Shortcut_of f
  holds rng g c= rng f
proof
  let f,g be FinSequence of TOP-REAL 2;
  assume
A1: g is_Shortcut_of f;
  let x be object;
  assume x in rng g;
  then consider z being object such that
A2: z in dom g and
A3: x=g.z by FUNCT_1:def 3;
  reconsider i=z as Element of NAT by A2;
A4: z in Seg len g by A2,FINSEQ_1:def 3;
  then
A5: 1<=i by FINSEQ_1:1;
A6: i<=len g by A4,FINSEQ_1:1;
  per cases;
  suppose
    i<len g;
    then i+1<=len g by NAT_1:13;
    then consider k1 being Element of NAT such that
A7: 1<=k1 and
A8: k1+1<=len f and
    f/.k1=g/.i and
    f/.(k1+1)=g/.(i+1) and
A9: f.k1=g.i and
    f.(k1+1)=g.(i+1) by A1,A5,Th21;
    k1<len f by A8,NAT_1:13;
    then k1 in dom f by A7,FINSEQ_3:25;
    hence thesis by A3,A9,FUNCT_1:def 3;
  end;
  suppose
    i>=len g;
    then
A10: i=len g by A6,XXREAL_0:1;
    now
      per cases;
      case
A11:    1<i;
        then
A12:    i-'1=i-1 by XREAL_1:233;
        1-1<i-1 by A11,XREAL_1:9;
        then 0<i-'1 by A11,XREAL_1:233;
        then 0 qua Nat+1<=i-'1 by NAT_1:13;
        then consider k1 being Element of NAT such that
A13:    1<=k1 and
A14:    k1+1<=len f and
        f/.k1=g/.(i-'1) and
        f/.(k1+1)=g/.(i-'1+1) and
        f.k1=g.(i-'1) and
A15:    f.(k1+1)=g.(i-'1+1) by A1,A6,A12,Th21;
        1<k1+1 by A13,NAT_1:13;
        then k1+1 in dom f by A14,FINSEQ_3:25;
        hence thesis by A3,A12,A15,FUNCT_1:def 3;
      end;
      case
        1>=i;
        then
A16:    i=1 by A5,XXREAL_0:1;
A17:    f.1=g.1 by A1;
        len g<=len f by A1,Th8;
        then 1 in dom f by A10,A16,FINSEQ_3:25;
        hence thesis by A3,A16,A17,FUNCT_1:def 3;
      end;
    end;
    hence thesis;
  end;
end;
