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 'eqv' a),PA,G) '<' u 'eqv' (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 'eqv' a),PA,G) '<' u 'eqv' (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 'eqv' a),PA,G) '<' u 'eqv' (All (a,PA,G))

let PA be a_partition of Y; :: thesis: ( u is_independent_of PA,G implies All ((u 'eqv' a),PA,G) '<' u 'eqv' (All (a,PA,G)) )

A1: 'not' FALSE = TRUE by MARGREL1:11;

assume A2: u is_independent_of PA,G ; :: thesis: All ((u 'eqv' a),PA,G) '<' u 'eqv' (All (a,PA,G))

let z be Element of Y; :: according to BVFUNC_1:def 12 :: thesis: ( not (All ((u 'eqv' a),PA,G)) . z = TRUE or (u 'eqv' (All (a,PA,G))) . z = TRUE )

assume A3: (All ((u 'eqv' a),PA,G)) . z = TRUE ; :: thesis: (u 'eqv' (All (a,PA,G))) . z = TRUE

A4: z in EqClass (z,(CompF (PA,G))) by EQREL_1:def 6;

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 'eqv' a),PA,G) '<' u 'eqv' (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 'eqv' a),PA,G) '<' u 'eqv' (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 'eqv' a),PA,G) '<' u 'eqv' (All (a,PA,G))

let PA be a_partition of Y; :: thesis: ( u is_independent_of PA,G implies All ((u 'eqv' a),PA,G) '<' u 'eqv' (All (a,PA,G)) )

A1: 'not' FALSE = TRUE by MARGREL1:11;

assume A2: u is_independent_of PA,G ; :: thesis: All ((u 'eqv' a),PA,G) '<' u 'eqv' (All (a,PA,G))

let z be Element of Y; :: according to BVFUNC_1:def 12 :: thesis: ( not (All ((u 'eqv' a),PA,G)) . z = TRUE or (u 'eqv' (All (a,PA,G))) . z = TRUE )

assume A3: (All ((u 'eqv' a),PA,G)) . z = TRUE ; :: thesis: (u 'eqv' (All (a,PA,G))) . z = TRUE

A4: z in EqClass (z,(CompF (PA,G))) by EQREL_1:def 6;

per cases
( ( ( for x being Element of Y st x in EqClass (z,(CompF (PA,G))) holds

u . x = TRUE ) & ( for x being Element of Y st x in EqClass (z,(CompF (PA,G))) holds

a . x = TRUE ) ) or ( ( for x being Element of Y st x in EqClass (z,(CompF (PA,G))) holds

u . x = TRUE ) & ex x being Element of Y st

( x in EqClass (z,(CompF (PA,G))) & not a . x = TRUE ) ) or ( ex x being Element of Y st

( x in EqClass (z,(CompF (PA,G))) & not u . x = TRUE ) & ( 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 u . x = TRUE ) & ex x being Element of Y st

( x in EqClass (z,(CompF (PA,G))) & not a . x = TRUE ) ) ) ;

end;

u . x = TRUE ) & ( for x being Element of Y st x in EqClass (z,(CompF (PA,G))) holds

a . x = TRUE ) ) or ( ( for x being Element of Y st x in EqClass (z,(CompF (PA,G))) holds

u . x = TRUE ) & ex x being Element of Y st

( x in EqClass (z,(CompF (PA,G))) & not a . x = TRUE ) ) or ( ex x being Element of Y st

( x in EqClass (z,(CompF (PA,G))) & not u . x = TRUE ) & ( 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 u . x = TRUE ) & ex x being Element of Y st

( x in EqClass (z,(CompF (PA,G))) & not a . x = TRUE ) ) ) ;

suppose
( ( for x being Element of Y st x in EqClass (z,(CompF (PA,G))) holds

u . x = TRUE ) & ( for x being Element of Y st x in EqClass (z,(CompF (PA,G))) holds

a . x = TRUE ) ) ; :: thesis: (u 'eqv' (All (a,PA,G))) . z = TRUE

u . x = TRUE ) & ( for x being Element of Y st x in EqClass (z,(CompF (PA,G))) holds

a . x = TRUE ) ) ; :: thesis: (u 'eqv' (All (a,PA,G))) . z = TRUE

then A5:
( (All (a,PA,G)) . z = TRUE & u . z = TRUE )
by BVFUNC_1:def 16, EQREL_1:def 6;

(u 'eqv' (All (a,PA,G))) . z = 'not' ((u . z) 'xor' ((All (a,PA,G)) . z)) by BVFUNC_1:def 9

.= TRUE by A1, A5, MARGREL1:13 ;

hence (u 'eqv' (All (a,PA,G))) . z = TRUE ; :: thesis: verum

end;(u 'eqv' (All (a,PA,G))) . z = 'not' ((u . z) 'xor' ((All (a,PA,G)) . z)) by BVFUNC_1:def 9

.= TRUE by A1, A5, MARGREL1:13 ;

hence (u 'eqv' (All (a,PA,G))) . z = TRUE ; :: thesis: verum

suppose A6:
( ( for x being Element of Y st x in EqClass (z,(CompF (PA,G))) holds

u . x = TRUE ) & ex x being Element of Y st

( x in EqClass (z,(CompF (PA,G))) & not a . x = TRUE ) ) ; :: thesis: (u 'eqv' (All (a,PA,G))) . z = TRUE

u . x = TRUE ) & ex x being Element of Y st

( x in EqClass (z,(CompF (PA,G))) & not a . x = TRUE ) ) ; :: thesis: (u 'eqv' (All (a,PA,G))) . z = TRUE

then consider x1 being Element of Y such that

A7: x1 in EqClass (z,(CompF (PA,G))) and

A8: a . x1 <> TRUE ;

A9: u . x1 = TRUE by A6, A7;

A10: a . x1 = FALSE by A8, XBOOLEAN:def 3;

(u 'eqv' a) . x1 = 'not' ((u . x1) 'xor' (a . x1)) by BVFUNC_1:def 9

.= 'not' (FALSE 'or' TRUE) by A1, A9, A10

.= FALSE by BINARITH:3, MARGREL1:11 ;

hence (u 'eqv' (All (a,PA,G))) . z = TRUE by A3, A7, BVFUNC_1:def 16; :: thesis: verum

end;A7: x1 in EqClass (z,(CompF (PA,G))) and

A8: a . x1 <> TRUE ;

A9: u . x1 = TRUE by A6, A7;

A10: a . x1 = FALSE by A8, XBOOLEAN:def 3;

(u 'eqv' a) . x1 = 'not' ((u . x1) 'xor' (a . x1)) by BVFUNC_1:def 9

.= 'not' (FALSE 'or' TRUE) by A1, A9, A10

.= FALSE by BINARITH:3, MARGREL1:11 ;

hence (u 'eqv' (All (a,PA,G))) . z = TRUE by A3, A7, BVFUNC_1:def 16; :: thesis: verum

suppose A11:
( ex x being Element of Y st

( x in EqClass (z,(CompF (PA,G))) & not u . x = TRUE ) & ( for x being Element of Y st x in EqClass (z,(CompF (PA,G))) holds

a . x = TRUE ) ) ; :: thesis: (u 'eqv' (All (a,PA,G))) . z = TRUE

( x in EqClass (z,(CompF (PA,G))) & not u . x = TRUE ) & ( for x being Element of Y st x in EqClass (z,(CompF (PA,G))) holds

a . x = TRUE ) ) ; :: thesis: (u 'eqv' (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: u . x1 <> TRUE ;

A14: a . x1 = TRUE by A11, A12;

A15: u . x1 = FALSE by A13, XBOOLEAN:def 3;

(u 'eqv' a) . x1 = 'not' ((u . x1) 'xor' (a . x1)) by BVFUNC_1:def 9

.= 'not' (TRUE 'or' FALSE) by A1, A15, A14

.= FALSE by BINARITH:3, MARGREL1:11 ;

hence (u 'eqv' (All (a,PA,G))) . z = TRUE by A3, A12, BVFUNC_1:def 16; :: thesis: verum

end;A12: x1 in EqClass (z,(CompF (PA,G))) and

A13: u . x1 <> TRUE ;

A14: a . x1 = TRUE by A11, A12;

A15: u . x1 = FALSE by A13, XBOOLEAN:def 3;

(u 'eqv' a) . x1 = 'not' ((u . x1) 'xor' (a . x1)) by BVFUNC_1:def 9

.= 'not' (TRUE 'or' FALSE) by A1, A15, A14

.= FALSE by BINARITH:3, MARGREL1:11 ;

hence (u 'eqv' (All (a,PA,G))) . z = TRUE by A3, A12, BVFUNC_1:def 16; :: thesis: verum

suppose A16:
( ex x being Element of Y st

( x in EqClass (z,(CompF (PA,G))) & not u . x = TRUE ) & ex x being Element of Y st

( x in EqClass (z,(CompF (PA,G))) & not a . x = TRUE ) ) ; :: thesis: (u 'eqv' (All (a,PA,G))) . z = TRUE

( x in EqClass (z,(CompF (PA,G))) & not u . x = TRUE ) & ex x being Element of Y st

( x in EqClass (z,(CompF (PA,G))) & not a . x = TRUE ) ) ; :: thesis: (u 'eqv' (All (a,PA,G))) . z = TRUE

then consider x1 being Element of Y such that

A17: x1 in EqClass (z,(CompF (PA,G))) and

A18: u . x1 <> TRUE ;

u . x1 = u . z by A2, A4, A17, BVFUNC_1:def 15;

then A19: u . z = FALSE by A18, XBOOLEAN:def 3;

A20: (All (a,PA,G)) . z = FALSE by A16, BVFUNC_1:def 16;

(u 'eqv' (All (a,PA,G))) . z = 'not' ((u . z) 'xor' ((All (a,PA,G)) . z)) by BVFUNC_1:def 9

.= TRUE by A20, A19, MARGREL1:11, MARGREL1:13 ;

hence (u 'eqv' (All (a,PA,G))) . z = TRUE ; :: thesis: verum

end;A17: x1 in EqClass (z,(CompF (PA,G))) and

A18: u . x1 <> TRUE ;

u . x1 = u . z by A2, A4, A17, BVFUNC_1:def 15;

then A19: u . z = FALSE by A18, XBOOLEAN:def 3;

A20: (All (a,PA,G)) . z = FALSE by A16, BVFUNC_1:def 16;

(u 'eqv' (All (a,PA,G))) . z = 'not' ((u . z) 'xor' ((All (a,PA,G)) . z)) by BVFUNC_1:def 9

.= TRUE by A20, A19, MARGREL1:11, MARGREL1:13 ;

hence (u 'eqv' (All (a,PA,G))) . z = TRUE ; :: thesis: verum