 reserve L for Lattice;
 reserve I,P for non empty ClosedSubset of L;
reserve L for lower-bounded pseudocomplemented Lattice;
reserve L for Stone Lattice;
 reserve L1, L2 for Lattice;
 reserve p1, q1 for Element of L1;
 reserve p2, q2 for Element of L2;

theorem PsComplProduct:
  L1 is 01_Lattice & L2 is 01_Lattice implies (L1 is pseudocomplemented &
  L2 is pseudocomplemented iff [:L1,L2:] is pseudocomplemented)
  proof
    assume
A0: L1 is 01_Lattice & L2 is 01_Lattice;
    thus L1 is pseudocomplemented & L2 is pseudocomplemented implies
    [:L1,L2:] is pseudocomplemented
    proof
      assume
A1:   L1 is pseudocomplemented & L2 is pseudocomplemented;
      for x being Element of [:L1,L2:] holds ex y being Element of [:L1,L2:]
      st y is_a_pseudocomplement_of x
      proof
        let x be Element of [:L1,L2:];
        consider x1, x2 being object such that
B1:     x1 in the carrier of L1 & x2 in the carrier of L2 & x = [x1,x2]
         by ZFMISC_1:def 2;
        reconsider x1 as Element of L1 by B1;
        reconsider x2 as Element of L2 by B1;
        consider xx1 being Element of L1 such that
A2:     xx1 is_a_pseudocomplement_of x1 by A1;
        consider xx2 being Element of L2 such that
A3:     xx2 is_a_pseudocomplement_of x2 by A1;
        take y = [xx1,xx2];
        thus thesis by B1,A2,A3,ProductPsCompl,A0;
      end;
      hence thesis;
    end;
    assume
aa: [:L1,L2:] is pseudocomplemented;
    for x being Element of L1 holds ex y being Element of L1 st
    y is_a_pseudocomplement_of x
    proof
      let x be Element of L1;
      set x2 = the Element of L2;
      consider y being Element of [:L1,L2:] such that
B0:   y is_a_pseudocomplement_of [x,x2] by aa;
      consider y1, y2 being object such that
B1:   y1 in the carrier of L1 & y2 in the carrier of L2 & y = [y1,y2]
        by ZFMISC_1:def 2;
      reconsider y1 as Element of L1 by B1;
      reconsider y2 as Element of L2 by B1;
      take y1;
      thus thesis by B1,B0,ProductPsCompl,A0;
    end;
    hence L1 is pseudocomplemented;
    for x being Element of L2 holds ex y being Element of L2 st
    y is_a_pseudocomplement_of x
    proof
      let x be Element of L2;
      set x2 = the Element of L1;
      consider y being Element of [:L1,L2:] such that
B0:   y is_a_pseudocomplement_of [x2,x] by aa;
      consider y1, y2 being object such that
B1:   y1 in the carrier of L1 & y2 in the carrier of L2 & y = [y1,y2]
        by ZFMISC_1:def 2;
      reconsider y1 as Element of L1 by B1;
      reconsider y2 as Element of L2 by B1;
      take y2;
      thus thesis by B1,B0,ProductPsCompl,A0;
    end;
    hence thesis;
  end;
