let Y be non empty set ; :: thesis: for G being Subset of (PARTITIONS Y)
for u, a being Element of Funcs (Y,BOOLEAN)
for PA being a_partition of Y st u is_independent_of PA,G holds
All ((u 'imp' a),PA,G) = u 'imp' (All (a,PA,G))

let G be Subset of (PARTITIONS Y); :: thesis: for u, a being Element of Funcs (Y,BOOLEAN)
for PA being a_partition of Y st u is_independent_of PA,G holds
All ((u 'imp' a),PA,G) = u 'imp' (All (a,PA,G))

let u, a be Element of Funcs (Y,BOOLEAN); :: thesis: for PA being a_partition of Y st u is_independent_of PA,G holds
All ((u 'imp' a),PA,G) = u 'imp' (All (a,PA,G))

let PA be a_partition of Y; :: thesis: ( u is_independent_of PA,G implies All ((u 'imp' a),PA,G) = u 'imp' (All (a,PA,G)) )
assume u is_independent_of PA,G ; :: thesis: All ((u 'imp' a),PA,G) = u 'imp' (All (a,PA,G))
then A1: u is_dependent_of CompF (PA,G) by Def8;
A2: u 'imp' (All (a,PA,G)) '<' All ((u 'imp' a),PA,G)
proof
let z be Element of Y; :: according to BVFUNC_1:def 12 :: thesis: ( not (u 'imp' (All (a,PA,G))) . z = TRUE or (All ((u 'imp' a),PA,G)) . z = TRUE )
assume (u 'imp' (All (a,PA,G))) . z = TRUE ; :: thesis: (All ((u 'imp' a),PA,G)) . z = TRUE
then A3: ('not' (u . z)) 'or' ((All (a,PA,G)) . z) = TRUE by BVFUNC_1:def 8;
A4: ( (All (a,PA,G)) . z = TRUE or (All (a,PA,G)) . z = FALSE ) by XBOOLEAN:def 3;
now
per cases ( (All (a,PA,G)) . z = TRUE or ( (All (a,PA,G)) . z <> TRUE & 'not' (u . z) = TRUE ) ) by A3, A4, BINARITH:3;
suppose A5: (All (a,PA,G)) . z = TRUE ; :: thesis: (All ((u 'imp' a),PA,G)) . z = TRUE
for x being Element of Y st x in EqClass (z,(CompF (PA,G))) holds
(u 'imp' a) . x = TRUE
proof
let x be Element of Y; :: thesis: ( x in EqClass (z,(CompF (PA,G))) implies (u 'imp' a) . x = TRUE )
assume A6: x in EqClass (z,(CompF (PA,G))) ; :: thesis: (u 'imp' a) . x = TRUE
(u 'imp' a) . x = ('not' (u . x)) 'or' (a . x) by BVFUNC_1:def 8
.= ('not' (u . x)) 'or' TRUE by A5, A6, BVFUNC_1:def 16
.= TRUE by BINARITH:10 ;
hence (u 'imp' a) . x = TRUE ; :: thesis: verum
end;
hence (All ((u 'imp' a),PA,G)) . z = TRUE by BVFUNC_1:def 16; :: thesis: verum
end;
suppose A7: ( (All (a,PA,G)) . z <> TRUE & 'not' (u . z) = TRUE ) ; :: thesis: (All ((u 'imp' a),PA,G)) . z = TRUE
A8: z in EqClass (z,(CompF (PA,G))) by EQREL_1:def 6;
for x being Element of Y st x in EqClass (z,(CompF (PA,G))) holds
(u 'imp' a) . x = TRUE
proof
let x be Element of Y; :: thesis: ( x in EqClass (z,(CompF (PA,G))) implies (u 'imp' a) . x = TRUE )
assume x in EqClass (z,(CompF (PA,G))) ; :: thesis: (u 'imp' a) . x = TRUE
then ( (u 'imp' a) . x = ('not' (u . x)) 'or' (a . x) & u . x = u . z ) by A1, A8, BVFUNC_1:def 8, BVFUNC_1:def 15;
hence (u 'imp' a) . x = TRUE by A7, BINARITH:10; :: thesis: verum
end;
hence (All ((u 'imp' a),PA,G)) . z = TRUE by BVFUNC_1:def 16; :: thesis: verum
end;
end;
end;
hence (All ((u 'imp' a),PA,G)) . z = TRUE ; :: thesis: verum
end;
All ((u 'imp' a),PA,G) '<' u 'imp' (All (a,PA,G))
proof
let z be Element of Y; :: according to BVFUNC_1:def 12 :: thesis: ( not (All ((u 'imp' a),PA,G)) . z = TRUE or (u 'imp' (All (a,PA,G))) . z = TRUE )
assume A9: (All ((u 'imp' a),PA,G)) . z = TRUE ; :: thesis: (u 'imp' (All (a,PA,G))) . z = TRUE
A10: z in EqClass (z,(CompF (PA,G))) by EQREL_1:def 6;
A11: (u 'imp' (All (a,PA,G))) . z = ('not' (u . z)) 'or' ((All (a,PA,G)) . z) by BVFUNC_1:def 8;
per cases ( for x being Element of Y st x in EqClass (z,(CompF (PA,G))) holds
a . x = TRUE or ( ex x being Element of Y st
( x in EqClass (z,(CompF (PA,G))) & not a . x = TRUE ) & ( for x being Element of Y st x in EqClass (z,(CompF (PA,G))) holds
'not' (u . x) = TRUE ) ) or ( ex x being Element of Y st
( x in EqClass (z,(CompF (PA,G))) & not a . x = TRUE ) & ex x being Element of Y st
( x in EqClass (z,(CompF (PA,G))) & not 'not' (u . x) = TRUE ) ) )
;
suppose for x being Element of Y st x in EqClass (z,(CompF (PA,G))) holds
a . x = TRUE ; :: thesis: (u 'imp' (All (a,PA,G))) . z = TRUE
then (All (a,PA,G)) . z = TRUE by BVFUNC_1:def 16;
hence (u 'imp' (All (a,PA,G))) . z = TRUE by A11, BINARITH:10; :: thesis: verum
end;
suppose ( ex x being Element of Y st
( x in EqClass (z,(CompF (PA,G))) & not a . x = TRUE ) & ( for x being Element of Y st x in EqClass (z,(CompF (PA,G))) holds
'not' (u . x) = TRUE ) ) ; :: thesis: (u 'imp' (All (a,PA,G))) . z = TRUE
then 'not' (u . z) = TRUE by A10;
hence (u 'imp' (All (a,PA,G))) . z = TRUE by A11, BINARITH:10; :: thesis: verum
end;
suppose A12: ( ex x being Element of Y st
( x in EqClass (z,(CompF (PA,G))) & not a . x = TRUE ) & ex x being Element of Y st
( x in EqClass (z,(CompF (PA,G))) & not 'not' (u . x) = TRUE ) ) ; :: thesis: (u 'imp' (All (a,PA,G))) . z = TRUE
then consider x1 being Element of Y such that
A13: x1 in EqClass (z,(CompF (PA,G))) and
A14: 'not' (u . x1) <> TRUE ;
consider x2 being Element of Y such that
A15: x2 in EqClass (z,(CompF (PA,G))) and
A16: a . x2 <> TRUE by A12;
u . x1 = u . x2 by A1, A13, A15, BVFUNC_1:def 15;
then 'not' (u . x2) = FALSE by A14, XBOOLEAN:def 3;
then A17: u . x2 = TRUE by MARGREL1:11;
a . x2 = FALSE by A16, XBOOLEAN:def 3;
then (u 'imp' a) . x2 = ('not' TRUE) 'or' FALSE by A17, BVFUNC_1:def 8;
then (u 'imp' a) . x2 = FALSE 'or' FALSE by MARGREL1:11
.= FALSE ;
hence (u 'imp' (All (a,PA,G))) . z = TRUE by A9, A15, BVFUNC_1:def 16; :: thesis: verum
end;
end;
end;
hence All ((u 'imp' a),PA,G) = u 'imp' (All (a,PA,G)) by A2, BVFUNC_1:15; :: thesis: verum