
theorem Th21:
  for S be non empty finite set,
  s be Element of S*,
  f,g be Function of S,BOOLEAN
  holds Coim((f 'or' g)*s,TRUE) = Coim (f*s,TRUE) \/ Coim(g*s,TRUE)
  proof
    let S be non empty finite set,
    s be Element of S*,
    f,g be Function of S,BOOLEAN;
    A1: now let x be object;
    A2: dom f = S & dom g = S by FUNCT_2:def 1;
    A3:x in dom ((f 'or' g))
    iff x in (dom f /\ dom g) by BVFUNC_1:def 2;
    A4:x in (f 'or' g)"{TRUE} iff x in dom ((f 'or' g))
    & (f 'or' g).x in {TRUE} by FUNCT_1:def 7;
    x in dom ((f 'or' g)) & (f 'or' g).x =TRUE iff
    x in (dom f /\ dom g) & (f.x = TRUE or g.x =TRUE) by Lm2,A3; then
    x in (f 'or' g)"{TRUE} iff ((x in dom f ) & (f.x in {TRUE}))
    or ((x in dom g ) & (g.x = TRUE)) by A4,A2,TARSKI:def 1; then
    x in (f 'or' g)"{TRUE} iff x in f"{TRUE}
    or ((x in dom g ) & (g.x in {TRUE})) by FUNCT_1:def 7,TARSKI:def 1; then
    x in (f 'or' g)"{TRUE} iff x in f"{TRUE}
    or x in g"{TRUE} by FUNCT_1:def 7;
    hence x in (f 'or' g)"{TRUE} iff x in f"{TRUE} \/ g"{TRUE}
    by XBOOLE_0:def 3;
  end;
  thus Coim((f 'or' g)*s,TRUE) = s"((f 'or' g)"{TRUE}) by RELAT_1:146
  .= s"(f"{TRUE} \/ g"{TRUE}) by A1,TARSKI:2
  .= s" (f"{TRUE}) \/s"(g"{TRUE}) by RELAT_1:140
  .= (f*s)"{TRUE} \/s"(g"{TRUE}) by RELAT_1:146
  .= Coim (f*s,TRUE) \/ Coim(g*s,TRUE) by RELAT_1:146;
end;
