reserve x for object;
reserve D for set;
reserve p for PartialPredicate of D;
reserve D for non empty set;
reserve p,q,r for PartialPredicate of D;

theorem Th55:
  PP_or(PP_False(D)|dom p,PP_True(D)|dom q) = PP_True(D) | dom q
  proof
    set F = PP_False(D);
    set T = PP_True(D);
    set f = F|dom p;
    set g = T|dom q;
    set o = PP_or(f,g);
A1: dom o = {d where d is Element of D:
     d in dom f & f.d = TRUE or d in dom g & g.d = TRUE
     or d in dom f & f.d = FALSE & d in dom g & g.d = FALSE} by Def4;
    dom T = D;
    then
A2: dom g = dom q by RELAT_1:62;
    thus dom o = dom g
    proof
      thus dom o c= dom g
      proof
        let x;
        assume
A3:     x in dom o;
        then per cases by Th8;
        suppose that
A4:       x in dom f and
A5:       f.x = TRUE;
          f.x = F.x by A4,FUNCT_1:47;
          hence thesis by A3,A5,FUNCOP_1:7;
        end;
        suppose x in dom g & g.x = TRUE or
          x in dom f & f.x = FALSE & x in dom g & g.x = FALSE;
          hence thesis;
        end;
      end;
      let x;
      assume
A6:   x in dom g;
      then g.x = T.x by A2,FUNCT_1:49
      .= TRUE by A6,FUNCOP_1:7;
      hence thesis by A1,A6;
    end;
    let x;
    assume
A7: x in dom o;
    then per cases by Th8;
    suppose that
A8:   x in dom f and
A9:   f.x = TRUE;
      f.x = F.x by A8,FUNCT_1:47;
      hence thesis by A7,A9,FUNCOP_1:7;
    end;
    suppose x in dom g & g.x = TRUE or
      x in dom f & f.x = FALSE & x in dom g & g.x = FALSE;
      hence thesis by Def4;
    end;
  end;
