:: 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 c1 be non
empty set ;
let c2 be
Relation;
mode UnOp of
c1,
c2 -> UnOp of
a1 means :
Def1:
:: FILTER_1:def 1
for
b1,
b2 being
Element of
a1 st
[b1,b2] in a2 holds
[(a3 . b1),(a3 . b2)] in a2;
existence
ex b1 being UnOp of c1 st
for b2, b3 being Element of c1 st [b2,b3] in c2 holds
[(b1 . b2),(b1 . b3)] in c2
mode BinOp of
c1,
c2 -> BinOp of
a1 means :
Def2:
:: FILTER_1:def 2
for
b1,
b2,
b3,
b4 being
Element of
a1 st
[b1,b2] in a2 &
[b3,b4] in a2 holds
[(a3 . b1,b3),(a3 . b2,b4)] in a2;
existence
ex b1 being BinOp of c1 st
for b2, b3, b4, b5 being Element of c1 st [b2,b3] in c2 & [b4,b5] in c2 holds
[(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 c1 be non
empty set ;
let c2 be
Equivalence_Relation of
c1;
let c3 be
UnOp of
c1;
assume E4:
c3 is
UnOp of
c1,
c2
;
func c3 /\/ c2 -> UnOp of
Class a2 means :: FILTER_1:def 3
for
b1,
b2 being
set st
b1 in Class a2 &
b2 in b1 holds
a4 . b1 = Class a2,
(a3 . b2);
existence
ex b1 being UnOp of Class c2 st
for b2, b3 being set st b2 in Class c2 & b3 in b2 holds
b1 . b2 = Class c2,(c3 . b3)
uniqueness
for b1, b2 being UnOp of Class c2 st ( for b3, b4 being set st b3 in Class c2 & b4 in b3 holds
b1 . b3 = Class c2,(c3 . b4) ) & ( for b3, b4 being set st b3 in Class c2 & b4 in b3 holds
b2 . b3 = Class c2,(c3 . b4) ) holds
b1 = b2
end;
:: deftheorem Def3 defines /\/ FILTER_1:def 3 :
definition
let c1 be non
empty set ;
let c2 be
Equivalence_Relation of
c1;
let c3 be
BinOp of
c1;
assume E4:
c3 is
BinOp of
c1,
c2
;
func c3 /\/ c2 -> BinOp of
Class a2 means :
Def4:
:: FILTER_1:def 4
for
b1,
b2,
b3,
b4 being
set st
b1 in Class a2 &
b2 in Class a2 &
b3 in b1 &
b4 in b2 holds
a4 . b1,
b2 = Class a2,
(a3 . b3,b4);
existence
ex b1 being BinOp of Class c2 st
for b2, b3, b4, b5 being set st b2 in Class c2 & b3 in Class c2 & b4 in b2 & b5 in b3 holds
b1 . b2,b3 = Class c2,(c3 . b4,b5)
uniqueness
for b1, b2 being BinOp of Class c2 st ( for b3, b4, b5, b6 being set st b3 in Class c2 & b4 in Class c2 & b5 in b3 & b6 in b4 holds
b1 . b3,b4 = Class c2,(c3 . b5,b6) ) & ( for b3, b4, b5, b6 being set st b3 in Class c2 & b4 in Class c2 & b5 in b3 & b6 in b4 holds
b2 . b3,b4 = Class c2,(c3 . b5,b6) ) holds
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
b1,
b2 being non
empty set for
b3,
b4 being
Element of
b1 for
b5,
b6 being
Element of
b2 for
b7 being
BinOp of
b1 for
b8 being
BinOp of
b2 holds
|:b7,b8:| . [b3,b5],
[b4,b6] = [(b7 . b3,b4),(b8 . b5,b6)]
scheme :: FILTER_1:sch 5
s5{
F1()
-> non
empty set ,
F2()
-> non
empty set ,
P1[
set ,
set ] } :
for
b1,
b2 being
Element of
[:F1(),F2():] holds
P1[
b1,
b2]
provided
E24:
for
b1,
b2 being
Element of
F1()
for
b3,
b4 being
Element of
F2() holds
P1[
[b1,b3],
[b2,b4]]
scheme :: FILTER_1:sch 6
s6{
F1()
-> non
empty set ,
F2()
-> non
empty set ,
P1[
set ,
set ,
set ] } :
for
b1,
b2,
b3 being
Element of
[:F1(),F2():] holds
P1[
b1,
b2,
b3]
provided
E24:
for
b1,
b2,
b3 being
Element of
F1()
for
b4,
b5,
b6 being
Element of
F2() holds
P1[
[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 c1,
c2 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 st b3 => b4 in b2 holds
( 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 st b3 => b4 in b2 & b5 => b4 in b2 holds
(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 st b3 => b4 in b2 & b3 => b5 in b2 holds
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