reserve X for BCI-algebra;
reserve n for Nat;
reserve x,y for Element of X;
reserve a,b for Element of AtomSet(X);
reserve m,n for Nat;
reserve i,j for Integer;
reserve X,X9,Y for BCI-algebra,
  H9 for SubAlgebra of X9,
  G for SubAlgebra of X,

  A9 for non empty Subset of X9,
  I for Ideal of X,
  CI,K for closed Ideal of X,
  x,y,a,b for Element of X,
  RI for I-congruence of X,I,
  RK for I-congruence of X,K;
reserve f for BCI-homomorphism of X,X9;
reserve g for BCI-homomorphism of X9,X;
reserve h for BCI-homomorphism of X9,Y;

theorem Th55:
  HK(G,RK) is SubAlgebra of X
proof
  set IT = HK(G,RK);
  set V1=the carrier of IT;
  reconsider D = V1 as non empty set;
  set A = (the InternalDiff of X)||V1;
  set VV = the carrier of X;
  dom(the InternalDiff of X) = [:VV,VV:] by FUNCT_2:def 1;
  then dom A = [:VV,VV:] /\ [:V1,V1:] by RELAT_1:61;
  then
A1: dom A = [:D,D:] by XBOOLE_1:28,ZFMISC_1:96;
  for y being object holds y in D iff
ex z being object st z in dom A & y = A.z
  proof
    let y be object;
A2: now
      given z being set such that
A3:   z in dom A and
A4:   y = A.z;
      consider x1,x2 being object such that
A5:   x1 in D & x2 in D and
A6:   z = [x1,x2] by A1,A3,ZFMISC_1:def 2;
      reconsider x1,x2 as Element of Union(G,RK) by A5;
      reconsider v1 = x1, v2 = x2 as Element of VV;
      y = v1\v2 by A3,A4,A6,FUNCT_1:47;
      then y = x1\x2 by Def12;
      hence y in D;
    end;
    y in D implies ex z being set st z in dom A & y = A.z
    proof
      assume
A7:   y in D;
      then reconsider y1=y,y2=0.IT as Element of X;
A8:   [y,0.IT] in [:D,D:] by A7,ZFMISC_1:87;
      then A.[y,0.IT] = y1\y2 by FUNCT_1:49
        .= y by BCIALG_1:2;
      hence thesis by A1,A8;
    end;
    hence thesis by A2;
  end;
  then rng A = D by FUNCT_1:def 3;
  then reconsider A as BinOp of V1 by A1,FUNCT_2:def 1,RELSET_1:4;
  set B = the InternalDiff of IT;
  now
    let x,y be Element of V1;
    x in V1 & y in V1;
    then reconsider vx=x,vy=y as Element of VV;
    [x,y] in [:V1,V1:] by ZFMISC_1:def 2;
    then A.(x,y)=vx\vy by FUNCT_1:49;
    hence A.(x,y)=B.(x,y) by Def12;
  end;
  then 0.IT = 0.X & A=B;
  hence thesis by BCIALG_1:def 10;
end;
