let Y be non empty set ; :: thesis: for G being Subset of (PARTITIONS Y)
for a, u being Function of 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 a, u being Function of 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 a, u be Function of 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 A1: u is_independent_of PA,G ; :: thesis: All ((u 'imp' a),PA,G) = u 'imp' (All (a,PA,G))
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 :: thesis: (All ((u 'imp' a),PA,G)) . z = TRUE
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: (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 A10, 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 EQREL_1:def 6;
hence (u 'imp' (All (a,PA,G))) . z = TRUE by A10, BINARITH:10; :: thesis: verum
end;
suppose A11: ( 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
A12: x1 in EqClass (z,(CompF (PA,G))) and
A13: 'not' (u . x1) <> TRUE ;
consider x2 being Element of Y such that
A14: x2 in EqClass (z,(CompF (PA,G))) and
A15: a . x2 <> TRUE by A11;
u . x1 = u . x2 by A1, A12, A14, BVFUNC_1:def 15;
then A16: u . x2 = TRUE by A13, MARGREL1:11, XBOOLEAN:def 3;
a . x2 = FALSE by A15, XBOOLEAN:def 3;
then (u 'imp' a) . x2 = ('not' TRUE) 'or' FALSE by A16, 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, A14, 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