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 Ex ((a 'imp' b),PA,G) '<' (All (a,PA,G)) 'imp' (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 Ex ((a 'imp' b),PA,G) '<' (All (a,PA,G)) 'imp' (Ex (b,PA,G))

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

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

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

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

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

A3: (a 'imp' b) . x1 = TRUE ;

A4: ('not' (a . x1)) 'or' (b . x1) = TRUE by A3, BVFUNC_1:def 8;

A5: ( b . x1 = TRUE or b . x1 = FALSE ) by XBOOLEAN:def 3;

for a, b being Function of Y,BOOLEAN

for PA being a_partition of Y holds Ex ((a 'imp' b),PA,G) '<' (All (a,PA,G)) 'imp' (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 Ex ((a 'imp' b),PA,G) '<' (All (a,PA,G)) 'imp' (Ex (b,PA,G))

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

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

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

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

now :: thesis: ex x being Element of Y st

( x in EqClass (z,(CompF (PA,G))) & (a 'imp' b) . x = TRUE )

then consider x1 being Element of Y such that ( x in EqClass (z,(CompF (PA,G))) & (a 'imp' b) . x = TRUE )

assume
for x being Element of Y holds

( not x in EqClass (z,(CompF (PA,G))) or not (a 'imp' b) . x = TRUE ) ; :: thesis: contradiction

then (B_SUP ((a 'imp' b),(CompF (PA,G)))) . z = FALSE by BVFUNC_1:def 17;

hence contradiction by A1, BVFUNC_2:def 10; :: thesis: verum

end;( not x in EqClass (z,(CompF (PA,G))) or not (a 'imp' b) . x = TRUE ) ; :: thesis: contradiction

then (B_SUP ((a 'imp' b),(CompF (PA,G)))) . z = FALSE by BVFUNC_1:def 17;

hence contradiction by A1, BVFUNC_2:def 10; :: thesis: verum

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

A3: (a 'imp' b) . x1 = TRUE ;

A4: ('not' (a . x1)) 'or' (b . x1) = TRUE by A3, BVFUNC_1:def 8;

A5: ( b . x1 = TRUE or b . x1 = FALSE ) by XBOOLEAN:def 3;

per cases
( 'not' (a . x1) = TRUE or b . x1 = TRUE )
by A4, A5, BINARITH:3;

end;

suppose
'not' (a . x1) = TRUE
; :: thesis: ((All (a,PA,G)) 'imp' (Ex (b,PA,G))) . z = TRUE

then
a . x1 = FALSE
by MARGREL1:11;

then (B_INF (a,(CompF (PA,G)))) . z = FALSE by A2, BVFUNC_1:def 16;

then (All (a,PA,G)) . z = FALSE by BVFUNC_2:def 9;

hence ((All (a,PA,G)) 'imp' (Ex (b,PA,G))) . z = ('not' FALSE) 'or' ((Ex (b,PA,G)) . z) by BVFUNC_1:def 8

.= TRUE 'or' ((Ex (b,PA,G)) . z) by MARGREL1:11

.= TRUE by BINARITH:10 ;

:: thesis: verum

end;then (B_INF (a,(CompF (PA,G)))) . z = FALSE by A2, BVFUNC_1:def 16;

then (All (a,PA,G)) . z = FALSE by BVFUNC_2:def 9;

hence ((All (a,PA,G)) 'imp' (Ex (b,PA,G))) . z = ('not' FALSE) 'or' ((Ex (b,PA,G)) . z) by BVFUNC_1:def 8

.= TRUE 'or' ((Ex (b,PA,G)) . z) by MARGREL1:11

.= TRUE by BINARITH:10 ;

:: thesis: verum

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

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

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

hence ((All (a,PA,G)) 'imp' (Ex (b,PA,G))) . z = ('not' ((All (a,PA,G)) . z)) 'or' TRUE by BVFUNC_1:def 8

.= TRUE by BINARITH:10 ;

:: thesis: verum

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

hence ((All (a,PA,G)) 'imp' (Ex (b,PA,G))) . z = ('not' ((All (a,PA,G)) . z)) 'or' TRUE by BVFUNC_1:def 8

.= TRUE by BINARITH:10 ;

:: thesis: verum