let Y be non empty set ; :: thesis: for G being Subset of (PARTITIONS Y)

for a, b being Function of Y,BOOLEAN

for PA being a_partition of Y holds All ((a 'or' b),PA,G) '<' (Ex (a,PA,G)) 'or' (Ex (b,PA,G))

let G be Subset of (PARTITIONS Y); :: thesis: for a, b being Function of Y,BOOLEAN

for PA being a_partition of Y holds All ((a 'or' b),PA,G) '<' (Ex (a,PA,G)) 'or' (Ex (b,PA,G))

let a, b be Function of Y,BOOLEAN; :: thesis: for PA being a_partition of Y holds All ((a 'or' b),PA,G) '<' (Ex (a,PA,G)) 'or' (Ex (b,PA,G))

let PA be a_partition of Y; :: thesis: All ((a 'or' b),PA,G) '<' (Ex (a,PA,G)) 'or' (Ex (b,PA,G))

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

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

assume (All ((a 'or' b),PA,G)) . z = TRUE ; :: thesis: ((Ex (a,PA,G)) 'or' (Ex (b,PA,G))) . z = TRUE

then (a 'or' b) . z = TRUE by A1, Lm1;

then A2: (a . z) 'or' (b . z) = TRUE by BVFUNC_1:def 4;

A3: ( a . z = TRUE or a . z = FALSE ) by XBOOLEAN:def 3;

for a, b being Function of Y,BOOLEAN

for PA being a_partition of Y holds All ((a 'or' b),PA,G) '<' (Ex (a,PA,G)) 'or' (Ex (b,PA,G))

let G be Subset of (PARTITIONS Y); :: thesis: for a, b being Function of Y,BOOLEAN

for PA being a_partition of Y holds All ((a 'or' b),PA,G) '<' (Ex (a,PA,G)) 'or' (Ex (b,PA,G))

let a, b be Function of Y,BOOLEAN; :: thesis: for PA being a_partition of Y holds All ((a 'or' b),PA,G) '<' (Ex (a,PA,G)) 'or' (Ex (b,PA,G))

let PA be a_partition of Y; :: thesis: All ((a 'or' b),PA,G) '<' (Ex (a,PA,G)) 'or' (Ex (b,PA,G))

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

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

assume (All ((a 'or' b),PA,G)) . z = TRUE ; :: thesis: ((Ex (a,PA,G)) 'or' (Ex (b,PA,G))) . z = TRUE

then (a 'or' b) . z = TRUE by A1, Lm1;

then A2: (a . z) 'or' (b . z) = TRUE by BVFUNC_1:def 4;

A3: ( a . z = TRUE or a . z = FALSE ) by XBOOLEAN:def 3;

per cases
( a . z = TRUE or b . z = TRUE )
by A2, A3, BINARITH:3;

end;

suppose
a . z = TRUE
; :: thesis: ((Ex (a,PA,G)) 'or' (Ex (b,PA,G))) . z = TRUE

then
(B_SUP (a,(CompF (PA,G)))) . z = TRUE
by A1, BVFUNC_1:def 17;

then (Ex (a,PA,G)) . z = TRUE by BVFUNC_2:def 10;

hence ((Ex (a,PA,G)) 'or' (Ex (b,PA,G))) . z = TRUE 'or' ((Ex (b,PA,G)) . z) by BVFUNC_1:def 4

.= TRUE by BINARITH:10 ;

:: thesis: verum

end;then (Ex (a,PA,G)) . z = TRUE by BVFUNC_2:def 10;

hence ((Ex (a,PA,G)) 'or' (Ex (b,PA,G))) . z = TRUE 'or' ((Ex (b,PA,G)) . z) by BVFUNC_1:def 4

.= TRUE by BINARITH:10 ;

:: thesis: verum

suppose
b . z = TRUE
; :: thesis: ((Ex (a,PA,G)) 'or' (Ex (b,PA,G))) . z = TRUE

then
(B_SUP (b,(CompF (PA,G)))) . z = TRUE
by A1, BVFUNC_1:def 17;

then (Ex (b,PA,G)) . z = TRUE by BVFUNC_2:def 10;

hence ((Ex (a,PA,G)) 'or' (Ex (b,PA,G))) . z = ((Ex (a,PA,G)) . z) 'or' TRUE by BVFUNC_1:def 4

.= TRUE by BINARITH:10 ;

:: thesis: verum

end;then (Ex (b,PA,G)) . z = TRUE by BVFUNC_2:def 10;

hence ((Ex (a,PA,G)) 'or' (Ex (b,PA,G))) . z = ((Ex (a,PA,G)) . z) 'or' TRUE by BVFUNC_1:def 4

.= TRUE by BINARITH:10 ;

:: thesis: verum