
theorem Th23:
  for S be non empty finite set,
  s be Element of S*,
  f be Function of S,BOOLEAN
  holds Coim(( 'not' f)*s,TRUE) = dom s \ Coim (f*s,TRUE)
  proof
    let S be non empty finite set,
    s be Element of S*,
    f be Function of S,BOOLEAN;
A1: now let x be object;
    A2: f.x =FALSE iff not f.x=TRUE by XBOOLEAN:def 3;
    A3:x in dom ( 'not' f)
    iff x in dom f by MARGREL1:def 17;
    A4:x in ('not' f)"{TRUE} iff x in dom ('not' f )
    & ('not' f).x in {TRUE} by FUNCT_1:def 7;
    x in dom ('not' f)
    & ('not' f).x =TRUE iff
    x in dom f & not (f.x = TRUE) by Lm4,A3,A2;
    then
    x in ('not' f)"{TRUE} iff x in dom f &
    not ( x in dom f & f.x in {TRUE}) by A4,TARSKI:def 1;
    then
    x in ( 'not' f)"{TRUE} iff x in dom f & not x in f"{TRUE}
    by FUNCT_1:def 7;
    hence x in ( 'not' f)"{TRUE} iff x in (dom f \ f"{TRUE})
    by XBOOLE_0:def 5;
  end;
  dom f = S by FUNCT_2:def 1;then
  A5: (rng s) /\ (dom f) = rng s by XBOOLE_1:28;
  s"(dom f)= s"((rng s) /\ (dom f)) by RELAT_1:133;
  then A6: s"(dom f) = dom s by A5,RELAT_1:134;
  thus Coim(('not' f)*s,TRUE)
  = s"(('not' f)"{TRUE}) by RELAT_1:146
  .= s"(dom f \ f"{TRUE} ) by A1,TARSKI:2
  .= s" (dom f ) \ s"(f"{TRUE}) by FUNCT_1:69
  .= (dom s) \ Coim(f*s,TRUE) by A6,RELAT_1:146;
end;
