:: FILTER_1 semantic presentation
deffunc H1( LattStr ) -> set = the carrier of a1;
deffunc H2( LattStr ) -> M5([:the carrier of a1,the carrier of a1:],the carrier of a1) = the L_join of a1;
deffunc H3( LattStr ) -> M5([:the carrier of a1,the carrier of a1:],the carrier of a1) = the L_meet of a1;
theorem Th1: :: FILTER_1:1
theorem Th2: :: FILTER_1:2
definition
let c
1 be non
empty set ;
let c
2 be
Relation;
mode UnOp of c
1,c
2 -> UnOp of a
1 means :
Def1:
:: FILTER_1:def 1
for b
1, b
2 being
Element of a
1 holds
(
[b1,b2] in a
2 implies
[(a3 . b1),(a3 . b2)] in a
2 );
existence
ex b1 being UnOp of c1 st
for b2, b3 being Element of c1 holds
( [b2,b3] in c2 implies [(b1 . b2),(b1 . b3)] in c2 )
mode BinOp of c
1,c
2 -> BinOp of a
1 means :
Def2:
:: FILTER_1:def 2
for b
1, b
2, b
3, b
4 being
Element of a
1 holds
(
[b1,b2] in a
2 &
[b3,b4] in a
2 implies
[(a3 . b1,b3),(a3 . b2,b4)] in a
2 );
existence
ex b1 being BinOp of c1 st
for b2, b3, b4, b5 being Element of c1 holds
( [b2,b3] in c2 & [b4,b5] in c2 implies [(b1 . b2,b4),(b1 . b3,b5)] in c2 )
end;
:: deftheorem Def1 defines UnOp FILTER_1:def 1 :
:: deftheorem Def2 defines BinOp FILTER_1:def 2 :
definition
let c
1 be non
empty set ;
let c
2 be
Equivalence_Relation of c
1;
let c
3 be
UnOp of c
1;
assume E4:
c
3 is
UnOp of c
1,c
2
;
func c
3 /\/ c
2 -> UnOp of
Class a
2 means :: FILTER_1:def 3
for b
1, b
2 being
set holds
( b
1 in Class a
2 & b
2 in b
1 implies a
4 . b
1 = Class a
2,
(a3 . b2) );
existence
ex b1 being UnOp of Class c2 st
for b2, b3 being set holds
( b2 in Class c2 & b3 in b2 implies b1 . b2 = Class c2,(c3 . b3) )
uniqueness
for b1, b2 being UnOp of Class c2 holds
( ( for b3, b4 being set holds
( b3 in Class c2 & b4 in b3 implies b1 . b3 = Class c2,(c3 . b4) ) ) & ( for b3, b4 being set holds
( b3 in Class c2 & b4 in b3 implies b2 . b3 = Class c2,(c3 . b4) ) ) implies b1 = b2 )
end;
:: deftheorem Def3 defines /\/ FILTER_1:def 3 :
definition
let c
1 be non
empty set ;
let c
2 be
Equivalence_Relation of c
1;
let c
3 be
BinOp of c
1;
assume E4:
c
3 is
BinOp of c
1,c
2
;
func c
3 /\/ c
2 -> BinOp of
Class a
2 means :
Def4:
:: FILTER_1:def 4
for b
1, b
2, b
3, b
4 being
set holds
( b
1 in Class a
2 & b
2 in Class a
2 & b
3 in b
1 & b
4 in b
2 implies a
4 . b
1,b
2 = Class a
2,
(a3 . b3,b4) );
existence
ex b1 being BinOp of Class c2 st
for b2, b3, b4, b5 being set holds
( b2 in Class c2 & b3 in Class c2 & b4 in b2 & b5 in b3 implies b1 . b2,b3 = Class c2,(c3 . b4,b5) )
uniqueness
for b1, b2 being BinOp of Class c2 holds
( ( for b3, b4, b5, b6 being set holds
( b3 in Class c2 & b4 in Class c2 & b5 in b3 & b6 in b4 implies b1 . b3,b4 = Class c2,(c3 . b5,b6) ) ) & ( for b3, b4, b5, b6 being set holds
( b3 in Class c2 & b4 in Class c2 & b5 in b3 & b6 in b4 implies b2 . b3,b4 = Class c2,(c3 . b5,b6) ) ) implies b1 = b2 )
end;
:: deftheorem Def4 defines /\/ FILTER_1:def 4 :
theorem Th3: :: FILTER_1:3
theorem Th4: :: FILTER_1:4
theorem Th5: :: FILTER_1:5
theorem Th6: :: FILTER_1:6
theorem Th7: :: FILTER_1:7
theorem Th8: :: FILTER_1:8
theorem Th9: :: FILTER_1:9
theorem Th10: :: FILTER_1:10
theorem Th11: :: FILTER_1:11
theorem Th12: :: FILTER_1:12
theorem Th13: :: FILTER_1:13
theorem Th14: :: FILTER_1:14
:: deftheorem Def5 defines /\/ FILTER_1:def 5 :
:: deftheorem Def6 defines /\/ FILTER_1:def 6 :
theorem Th15: :: FILTER_1:15
theorem Th16: :: FILTER_1:16
theorem Th17: :: FILTER_1:17
theorem Th18: :: FILTER_1:18
theorem Th19: :: FILTER_1:19
theorem Th20: :: FILTER_1:20
theorem Th21: :: FILTER_1:21
theorem Th22: :: FILTER_1:22
for b
1, b
2 being non
empty set for b
3, b
4 being
Element of b
1for b
5, b
6 being
Element of b
2for b
7 being
BinOp of b
1for b
8 being
BinOp of b
2 holds
|:b7,b8:| . [b3,b5],
[b4,b6] = [(b7 . b3,b4),(b8 . b5,b6)]
scheme :: FILTER_1:sch 5
s5{ F
1()
-> non
empty set , F
2()
-> non
empty set , P
1[
set ,
set ] } :
for b
1, b
2 being
Element of
[:F1(),F2():] holds P
1[b
1,b
2]
provided
E24:
for b
1, b
2 being
Element of F
1()
for b
3, b
4 being
Element of F
2() holds P
1[
[b1,b3],
[b2,b4]]
scheme :: FILTER_1:sch 6
s6{ F
1()
-> non
empty set , F
2()
-> non
empty set , P
1[
set ,
set ,
set ] } :
for b
1, b
2, b
3 being
Element of
[:F1(),F2():] holds P
1[b
1,b
2,b
3]
provided
E24:
for b
1, b
2, b
3 being
Element of F
1()
for b
4, b
5, b
6 being
Element of F
2() holds P
1[
[b1,b4],
[b2,b5],
[b3,b6]]
theorem Th23: :: FILTER_1:23
theorem Th24: :: FILTER_1:24
theorem Th25: :: FILTER_1:25
theorem Th26: :: FILTER_1:26
theorem Th27: :: FILTER_1:27
theorem Th28: :: FILTER_1:28
theorem Th29: :: FILTER_1:29
theorem Th30: :: FILTER_1:30
theorem Th31: :: FILTER_1:31
definition
let c
1, c
2 be non
empty LattStr ;
func [:c1,c2:] -> strict LattStr equals :: FILTER_1:def 7
LattStr(#
[:the carrier of a1,the carrier of a2:],
|:the L_join of a1,the L_join of a2:|,
|:the L_meet of a1,the L_meet of a2:| #);
correctness
coherence
LattStr(# [:the carrier of c1,the carrier of c2:],|:the L_join of c1,the L_join of c2:|,|:the L_meet of c1,the L_meet of c2:| #) is strict LattStr ;
;
end;
:: deftheorem Def7 defines [: FILTER_1:def 7 :
:: deftheorem Def8 defines LattRel FILTER_1:def 8 :
theorem Th32: :: FILTER_1:32
theorem Th33: :: FILTER_1:33
:: deftheorem Def9 defines are_isomorphic FILTER_1:def 9 :
theorem Th34: :: FILTER_1:34
theorem Th35: :: FILTER_1:35
theorem Th36: :: FILTER_1:36
theorem Th37: :: FILTER_1:37
theorem Th38: :: FILTER_1:38
theorem Th39: :: FILTER_1:39
theorem Th40: :: FILTER_1:40
theorem Th41: :: FILTER_1:41
theorem Th42: :: FILTER_1:42
theorem Th43: :: FILTER_1:43
theorem Th44: :: FILTER_1:44
theorem Th45: :: FILTER_1:45
theorem Th46: :: FILTER_1:46
theorem Th47: :: FILTER_1:47
theorem Th48: :: FILTER_1:48
theorem Th49: :: FILTER_1:49
theorem Th50: :: FILTER_1:50
theorem Th51: :: FILTER_1:51
theorem Th52: :: FILTER_1:52
theorem Th53: :: FILTER_1:53
theorem Th54: :: FILTER_1:54
theorem Th55: :: FILTER_1:55
theorem Th56: :: FILTER_1:56
Lemma49:
for b1 being I_Lattice
for b2 being Filter of b1
for b3, b4, b5 being Element of b1 holds
( b3 => b4 in b2 implies ( b3 => (b4 "\/" b5) in b2 & b3 => (b5 "\/" b4) in b2 & (b3 "/\" b5) => b4 in b2 & (b5 "/\" b3) => b4 in b2 ) )
theorem Th57: :: FILTER_1:57
Lemma51:
for b1 being I_Lattice
for b2 being Filter of b1
for b3, b4, b5 being Element of b1 holds
( b3 => b4 in b2 & b5 => b4 in b2 implies (b3 "\/" b5) => b4 in b2 )
theorem Th58: :: FILTER_1:58
Lemma53:
for b1 being I_Lattice
for b2 being Filter of b1
for b3, b4, b5 being Element of b1 holds
( b3 => b4 in b2 & b3 => b5 in b2 implies b3 => (b4 "/\" b5) in b2 )
theorem Th59: :: FILTER_1:59
Lemma55:
for b1 being I_Lattice
for b2 being Filter of b1
for b3, b4 being Element of b1 holds
( b3 in Class (equivalence_wrt b2),b4 iff b3 <=> b4 in b2 )
theorem Th60: :: FILTER_1:60
theorem Th61: :: FILTER_1:61
theorem Th62: :: FILTER_1:62