reserve p,p1,p2,q,r,F,G,G1,G2,H,H1,H2 for ZF-formula,
  x,x1,x2,y,y1,y2,z,z1,z2,s,t for Variable,
  a,X for set;

theorem
  Subformulae (F <=> G) = Subformulae F \/ Subformulae G \/ { 'not' G, F
  '&' 'not' G, F => G, 'not' F, G '&' 'not' F, G => F, F <=> G }
proof
  thus Subformulae (F <=> G) = Subformulae(F => G) \/ Subformulae(G => F) \/ {
  F <=> G} by ZF_LANG:83
    .= Subformulae F \/ Subformulae G \/ { 'not' G, F '&' 'not' G, F => G }
  \/ Subformulae(G => F) \/ {F <=> G} by Th55
    .= Subformulae F \/ Subformulae G \/ { 'not' G, F '&' 'not' G, F => G }
\/ (Subformulae F \/ Subformulae G \/ { 'not' F, G '&' 'not' F, G => F }) \/ {F
  <=> G} by Th55
    .= Subformulae F \/ Subformulae G \/ ((Subformulae F \/ Subformulae G \/
{ 'not' G, F '&' 'not' G, F => G }) \/ { 'not' F, G '&' 'not' F, G => F }) \/ {
  F <=> G} by XBOOLE_1:4
    .= Subformulae F \/ Subformulae G \/ (Subformulae F \/ Subformulae G \/
({ 'not' G, F '&' 'not' G, F => G } \/ { 'not' F, G '&' 'not' F, G => F })) \/
  {F <=> G} by XBOOLE_1:4
    .= Subformulae F \/ Subformulae G \/ (Subformulae F \/ Subformulae G) \/
({ 'not' G, F '&' 'not' G, F => G } \/ { 'not' F, G '&' 'not' F, G => F }) \/ {
  F <=> G} by XBOOLE_1:4
    .= Subformulae F \/ Subformulae G \/ { 'not' G, F '&' 'not' G, F => G,
  'not' F, G '&' 'not' F, G => F } \/ {F <=> G} by ENUMSET1:13
    .= Subformulae F \/ Subformulae G \/ ({ 'not' G, F '&' 'not' G, F => G,
  'not' F, G '&' 'not' F, G => F } \/ {F <=> G}) by XBOOLE_1:4
    .= Subformulae F \/ Subformulae G \/ { 'not' G, F '&' 'not' G, F => G,
  'not' F, G '&' 'not' F, G => F, F <=> G } by ENUMSET1:21;
end;
