reserve X for set,
  Y for non empty set;
reserve n for Nat;
reserve r for Real,
  M for non empty MetrSpace;
reserve n for Nat,
  p,q,q1,q2 for Point of TOP-REAL 2,
  r,s1,s2,t1,t2 for Real,
  x,y for Point of Euclid 2;

theorem Th34:
  s1 > 0 & s2 > 0 implies AffineMap(s1,t1,s2,t2)*AffineMap(1/s1,-
  t1/s1,1/s2,-t2/s2) = id REAL 2
proof
  the carrier of TOP-REAL 2 = REAL 2 by EUCLID:22;
  then reconsider f = id REAL 2 as Function of the carrier of TOP-REAL 2, the
  carrier of TOP-REAL 2;
  assume that
A1: s1 > 0 and
A2: s2 > 0;
  now
    let p be Point of TOP-REAL 2;
    set q = |[1/s1*(p`1)-t1/s1,1/s2*(p`2)-t2/s2]|;
A3: q`2 = 1/s2*(p`2)-t2/s2 by EUCLID:52;
    p in the carrier of TOP-REAL 2;
    then
A4: p in REAL 2 by EUCLID:22;
A5: s1*(1/s1) = 1 by A1,XCMPLX_1:106;
    thus (AffineMap(s1,t1,s2,t2)*AffineMap(1/s1,-t1/s1,1/s2,-t2/s2)).p =
    AffineMap(s1,t1,s2,t2).(AffineMap(1/s1,-t1/s1,1/s2,-t2/s2).p) by FUNCT_2:15
      .= AffineMap(s1,t1,s2,t2). |[1/s1*(p`1)+-t1/s1,1/s2*(p`2)+-t2/s2]| by
JGRAPH_2:def 2
      .= |[s1*(q`1)+t1,s2*(q`2)+t2]| by JGRAPH_2:def 2
      .= |[s1*(1/s1*(p`1)-t1/s1)+t1,s2*(q`2)+t2]| by EUCLID:52
      .= |[s1*(1/s1)*(p`1)-s1*(t1/s1)+t1,s2*(q`2)+t2]|
      .= |[ 1 *(p`1)-1 *t1+t1,s2*(q`2)+t2]| by A1,A5,XCMPLX_1:87
      .= |[p`1,s2*(1/s2*(p`2))-s2*(t2/s2)+t2]| by A3
      .= |[p`1,s2*(1/s2)*(p`2)-t2+t2]| by A2,XCMPLX_1:87
      .= |[p`1,1 *(p`2)-1 *t2+t2]| by A2,XCMPLX_1:106
      .= p by EUCLID:53
      .= f.p by A4,FUNCT_1:18;
  end;
  hence thesis by FUNCT_2:63;
end;
