reserve x, y, z, s for ExtReal;
reserve i, j for Integer;
reserve n, m for Nat;
reserve x, y, v, u for ExtInt;
reserve
  D for non empty doubleLoopStr,
  A for Subset of D;

theorem
  A |^ 2 = A *' A
  proof
    set f = <*A,A*'A*>;
A1: len f = 2 by FINSEQ_1:44;
A2: f.1 = A;
A3: f.2 = A*'A;
    now
      let i be Nat such that
A4:   i in dom f and
A5:   i+1 in dom f;
      dom f = {1,2} by FINSEQ_1:2,89;
      then (i = 1 or i = 2) & (i+1 = 1 or i+1 = 2) by A4,A5,TARSKI:def 2;
      hence f.(i+1) = A *' (f/.i) by A2,A4,PARTFUN1:def 6;
    end;
    hence thesis by A1,A2,A3,Def4;
  end;
