reserve A,B,C for Ordinal,
  K,L,M,N for Cardinal,
  x,y,y1,y2,z,u for object,X,Y,Z,Z1,Z2 for set,
  n for Nat,
  f,f1,g,h for Function,
  Q,R for Relation;
reserve ff for Cardinal-Function;
reserve F,G for Cardinal-Function;
reserve A,B for set;

theorem
  sproduct f = {{}} iff for x st x in dom f holds f.x = {}
proof
  thus sproduct f = {{}} implies for x st x in dom f holds f.x = {}
  proof
    assume
A1: sproduct f = {{}};
    let x;
    assume
A2: x in dom f;
    assume
A3: f.x <> {};
    set y = the Element of f.x;
    x .--> y in sproduct f by A2,A3,Th60;
    hence contradiction by A1,TARSKI:def 1;
  end;
  assume
A4: for x st x in dom f holds f.x = {};
  now
    let x be object;
    thus x in sproduct f implies x = {}
    proof
      assume x in sproduct f;
      then consider g such that
A5:   x = g and
A6:   dom g c= dom f and
A7:   for y being object st y in dom g holds g.y in f.y by Def9;
      assume
A8:   x <> {};
      set y = the Element of dom g;
A9:   f.y <> {} by A5,A7,A8;
      y in dom f by A5,A6,A8;
      hence contradiction by A4,A9;
    end;
    thus x = {} implies x in sproduct f by Th50;
  end;
  hence thesis by TARSKI:def 1;
end;
