reserve A for non empty set,
  a for Element of A;
reserve A for set;
reserve B,C for Element of Fin DISJOINT_PAIRS A,
  x for Element of [:Fin A, Fin A:],
  a,b,c,d,s,t,s9,t9,t1,t2,s1,s2 for Element of DISJOINT_PAIRS A,
  u,v,w for Element of NormForm A;
reserve K,L for Element of Normal_forms_on A;
reserve f,f9 for (Element of Funcs(DISJOINT_PAIRS A, [:Fin A,Fin A:])),
  g,h for Element of Funcs(DISJOINT_PAIRS A, [A]);

theorem Th19:
  K ^ { a } = {} implies ex b st b in -K & b c= a
proof
  assume
A1: K ^ { a } = {};
  now
    per cases;
    suppose
A2:   A is non empty;
      defpred P[set,set] means $2 in $1`1 /\ a`2 \/ $1`2 /\ a`1;
A3:   A = [A] by A2,Def2;
A4:   now
A5:     a in { a } by TARSKI:def 1;
        let s;
        assume s in K;
        then not s \/ a in DISJOINT_PAIRS A by A1,A5,NORMFORM:35;
        then consider x being Element of [A] such that
A6:     x in s`1 & x in a`2 or x in a`1 & x in s`2 by A3,NORMFORM:28;
        take x;
        x in s`1 /\ a`2 or x in s`2 /\ a`1 by A6,XBOOLE_0:def 4;
        hence P[s,x] by XBOOLE_0:def 3;
      end;
      consider g such that
A7:   s in K implies P[s,g.s] from FRAENKEL:sch 27(A4);
      set c1 = { g.t1 : g.t1 in t1`2 & t1 in K }, c2 = { g.t2 : g.t2 in t2`1 &
      t2 in K };
A8:   c2 c= a`2
      proof
        let x be object;
        assume x in c2;
        then consider t such that
A9:     x = g.t & g.t in t`1 and
A10:    t in K;
        g.t in t`1 /\ a`2 \/ t`2 /\ a`1 by A7,A10;
        then g.t in t`1 /\ a`2 or g.t in t`2 /\ a`1 by XBOOLE_0:def 3;
        then g.t in t`1 & g.t in a`2 or g.t in t`2 & g.t in a`1 by
XBOOLE_0:def 4;
        hence thesis by A9,NORMFORM:27;
      end;
A11:  c1 c= a`1
      proof
        let x be object;
        assume x in c1;
        then consider t such that
A12:    x = g.t & g.t in t`2 and
A13:    t in K;
        g.t in t`1 /\ a`2 \/ t`2 /\ a`1 by A7,A13;
        then g.t in t`1 /\ a`2 or g.t in t`2 /\ a`1 by XBOOLE_0:def 3;
        then g.t in t`1 & g.t in a`2 or g.t in t`2 & g.t in a`1 by
XBOOLE_0:def 4;
        hence thesis by A12,NORMFORM:27;
      end;
      then reconsider c = [c1,c2] as Element of DISJOINT_PAIRS A by A8,
NORMFORM:30;
      take c;
      now
        let s;
        assume s in K;
        then g.s in s`1 /\ a`2 \/ s`2 /\ a`1 by A7;
        then g.s in s`1 /\ a`2 or g.s in s`2 /\ a`1 by XBOOLE_0:def 3;
        then g.s in s`1 & g.s in a`2 or g.s in s`2 & g.s in a`1 by
XBOOLE_0:def 4;
        hence g.s in s`1 \/ s`2 by XBOOLE_0:def 3;
      end;
      then c in { [{ h.t1 : h.t1 in t1`2 & t1 in K }, { h.t2 : h.t2 in t2`1 &
      t2 in K }] : s in K implies h.s in s`1 \/ s`2 };
      hence c in -K by XBOOLE_0:def 4;
      thus c c= a by A11,A8;
    end;
    suppose
A14:  not A is non empty;
      reconsider Z = {[{},{}]} as Element of Normal_forms_on {} by Th17;
      take b=a;
A15:  a = [{},{}] by A14,Th15;
      mi (Z^Z) <> {} by Th3;
      then K <> {[{},{}]} by A1,A14,A15,NORMFORM:40,XBOOLE_1:3;
      then K = {} by A14,Lm4,TARSKI:def 2;
      then -K = {[{},{}]} by Th13;
      hence b in -K by A15,TARSKI:def 1;
      thus b c= a;
    end;
  end;
  hence thesis;
end;
