:: ROUGHS_1 semantic presentation

registration
let c1 be set ;
cluster RelStr(# a1,(id a1) #) -> discrete ;
coherence
RelStr(# c1,(id c1) #) is discrete
by ORDERS_3:def 1;
end;

theorem Th1: :: ROUGHS_1:1
for b1 being set st Total b1 c= id b1 holds
b1 is trivial
proof end;

definition
let c1 be RelStr ;
attr a1 is diagonal means :Def1: :: ROUGHS_1:def 1
the InternalRel of a1 c= id the carrier of a1;
end;

:: deftheorem Def1 defines diagonal ROUGHS_1:def 1 :
for b1 being RelStr holds
( b1 is diagonal iff the InternalRel of b1 c= id the carrier of b1 );

registration
let c1 be non trivial set ;
cluster RelStr(# a1,(Total a1) #) -> non diagonal ;
coherence
not RelStr(# c1,(Total c1) #) is diagonal
proof end;
end;

theorem Th2: :: ROUGHS_1:2
for b1 being reflexive RelStr holds id the carrier of b1 c= the InternalRel of b1
proof end;

Lemma3: for b1 being RelStr st b1 is reflexive & b1 is trivial holds
b1 is discrete
proof end;

registration
cluster reflexive non discrete -> non trivial reflexive RelStr ;
coherence
for b1 being reflexive RelStr st not b1 is discrete holds
not b1 is trivial
by Lemma3;
cluster trivial reflexive -> discrete RelStr ;
coherence
for b1 being RelStr st b1 is reflexive & b1 is trivial holds
b1 is discrete
by Lemma3;
end;

theorem Th3: :: ROUGHS_1:3
for b1 being set
for b2 being reflexive total Relation of b1 holds id b1 c= b2
proof end;

Lemma4: for b1 being RelStr st b1 is discrete holds
b1 is diagonal
proof end;

registration
cluster discrete -> diagonal RelStr ;
coherence
for b1 being RelStr st b1 is discrete holds
b1 is diagonal
by Lemma4;
cluster non diagonal -> non discrete RelStr ;
coherence
for b1 being RelStr st not b1 is diagonal holds
not b1 is discrete
by Lemma4;
end;

registration
cluster non empty non discrete non diagonal RelStr ;
existence
ex b1 being RelStr st
( not b1 is diagonal & not b1 is empty )
proof end;
end;

theorem Th4: :: ROUGHS_1:4
for b1 being non empty non diagonal RelStr ex b2, b3 being Element of b1 st
( b2 <> b3 & [b2,b3] in the InternalRel of b1 )
proof end;

theorem Th5: :: ROUGHS_1:5
for b1 being set
for b2, b3 being FinSequence of b1 holds Union (b2 ^ b3) = (Union b2) \/ (Union b3)
proof end;

theorem Th6: :: ROUGHS_1:6
for b1, b2 being Function st b2 is disjoint_valued & b1 c= b2 holds
b1 is disjoint_valued
proof end;

registration
cluster empty -> disjoint_valued set ;
coherence
for b1 being Function st b1 is empty holds
b1 is disjoint_valued
proof end;
end;

registration
let c1 be set ;
cluster disjoint_valued FinSequence of a1;
existence
ex b1 being FinSequence of c1 st b1 is disjoint_valued
proof end;
end;

Lemma8: for b1 being set
for b2 being Nat holds dom (b2 |-> b1) = Seg b2
proof end;

registration
let c1 be non empty set ;
cluster non empty disjoint_valued FinSequence of a1;
existence
ex b1 being FinSequence of c1 st
( not b1 is empty & b1 is disjoint_valued )
proof end;
end;

definition
let c1 be set ;
let c2 be FinSequence of bool c1;
let c3 be Nat;
redefine func . as c2 . c3 -> Subset of a1;
coherence
c2 . c3 is Subset of c1
proof end;
end;

definition
let c1 be set ;
let c2 be FinSequence of bool c1;
redefine func Union as Union c2 -> Subset of a1;
coherence
Union c2 is Subset of c1
proof end;
end;

registration
let c1 be finite set ;
let c2 be Relation of c1;
cluster RelStr(# a1,a2 #) -> finite ;
coherence
RelStr(# c1,c2 #) is finite
by GROUP_1:def 14;
end;

theorem Th7: :: ROUGHS_1:7
for b1, b2, b3 being set
for b4 being Tolerance of b1 st b2 in Class b4,b3 holds
b3 in Class b4,b2
proof end;

definition
let c1 be RelStr ;
attr a1 is with_equivalence means :Def2: :: ROUGHS_1:def 2
the InternalRel of a1 is Equivalence_Relation of the carrier of a1;
attr a1 is with_tolerance means :Def3: :: ROUGHS_1:def 3
the InternalRel of a1 is Tolerance of the carrier of a1;
end;

:: deftheorem Def2 defines with_equivalence ROUGHS_1:def 2 :
for b1 being RelStr holds
( b1 is with_equivalence iff the InternalRel of b1 is Equivalence_Relation of the carrier of b1 );

:: deftheorem Def3 defines with_tolerance ROUGHS_1:def 3 :
for b1 being RelStr holds
( b1 is with_tolerance iff the InternalRel of b1 is Tolerance of the carrier of b1 );

registration
cluster with_equivalence -> with_tolerance RelStr ;
coherence
for b1 being RelStr st b1 is with_equivalence holds
b1 is with_tolerance
proof end;
end;

registration
let c1 be set ;
cluster RelStr(# a1,(id a1) #) -> discrete diagonal with_equivalence with_tolerance ;
coherence
RelStr(# c1,(id c1) #) is with_equivalence
by Def2;
end;

registration
cluster non empty finite discrete diagonal with_equivalence with_tolerance RelStr ;
existence
ex b1 being RelStr st
( b1 is discrete & b1 is finite & b1 is with_equivalence & not b1 is empty )
proof end;
cluster non empty finite non discrete non diagonal with_equivalence with_tolerance RelStr ;
existence
ex b1 being RelStr st
( not b1 is diagonal & b1 is finite & b1 is with_equivalence & not b1 is empty )
proof end;
end;

definition
mode Approximation_Space is non empty with_equivalence RelStr ;
mode Tolerance_Space is non empty with_tolerance RelStr ;
end;

registration
let c1 be Tolerance_Space;
cluster the InternalRel of a1 -> reflexive symmetric total ;
coherence
( the InternalRel of c1 is total & the InternalRel of c1 is reflexive & the InternalRel of c1 is symmetric )
by Def3;
end;

registration
let c1 be Approximation_Space;
cluster the InternalRel of a1 -> reflexive symmetric transitive total ;
coherence
the InternalRel of c1 is transitive
by Def2;
end;

definition
let c1 be Tolerance_Space;
let c2 be Subset of c1;
func LAp c2 -> Subset of a1 equals :: ROUGHS_1:def 4
{ b1 where B is Element of a1 : Class the InternalRel of a1,b1 c= a2 } ;
coherence
{ b1 where B is Element of c1 : Class the InternalRel of c1,b1 c= c2 } is Subset of c1
proof end;
func UAp c2 -> Subset of a1 equals :: ROUGHS_1:def 5
{ b1 where B is Element of a1 : Class the InternalRel of a1,b1 meets a2 } ;
coherence
{ b1 where B is Element of c1 : Class the InternalRel of c1,b1 meets c2 } is Subset of c1
proof end;
end;

:: deftheorem Def4 defines LAp ROUGHS_1:def 4 :
for b1 being Tolerance_Space
for b2 being Subset of b1 holds LAp b2 = { b3 where B is Element of b1 : Class the InternalRel of b1,b3 c= b2 } ;

:: deftheorem Def5 defines UAp ROUGHS_1:def 5 :
for b1 being Tolerance_Space
for b2 being Subset of b1 holds UAp b2 = { b3 where B is Element of b1 : Class the InternalRel of b1,b3 meets b2 } ;

definition
let c1 be Tolerance_Space;
let c2 be Subset of c1;
func BndAp c2 -> Subset of a1 equals :: ROUGHS_1:def 6
(UAp a2) \ (LAp a2);
coherence
(UAp c2) \ (LAp c2) is Subset of c1
;
end;

:: deftheorem Def6 defines BndAp ROUGHS_1:def 6 :
for b1 being Tolerance_Space
for b2 being Subset of b1 holds BndAp b2 = (UAp b2) \ (LAp b2);

definition
let c1 be Tolerance_Space;
let c2 be Subset of c1;
attr a2 is rough means :Def7: :: ROUGHS_1:def 7
BndAp a2 <> {} ;
end;

:: deftheorem Def7 defines rough ROUGHS_1:def 7 :
for b1 being Tolerance_Space
for b2 being Subset of b1 holds
( b2 is rough iff BndAp b2 <> {} );

notation
let c1 be Tolerance_Space;
let c2 be Subset of c1;
antonym exact c2 for rough c2;
end;

theorem Th8: :: ROUGHS_1:8
for b1 being Tolerance_Space
for b2 being Subset of b1
for b3 being set st b3 in LAp b2 holds
Class the InternalRel of b1,b3 c= b2
proof end;

theorem Th9: :: ROUGHS_1:9
for b1 being Tolerance_Space
for b2 being Subset of b1
for b3 being Element of b1 st Class the InternalRel of b1,b3 c= b2 holds
b3 in LAp b2 ;

theorem Th10: :: ROUGHS_1:10
for b1 being Tolerance_Space
for b2 being Subset of b1
for b3 being set st b3 in UAp b2 holds
Class the InternalRel of b1,b3 meets b2
proof end;

theorem Th11: :: ROUGHS_1:11
for b1 being Tolerance_Space
for b2 being Subset of b1
for b3 being Element of b1 st Class the InternalRel of b1,b3 meets b2 holds
b3 in UAp b2 ;

theorem Th12: :: ROUGHS_1:12
for b1 being Tolerance_Space
for b2 being Subset of b1 holds LAp b2 c= b2
proof end;

theorem Th13: :: ROUGHS_1:13
for b1 being Tolerance_Space
for b2 being Subset of b1 holds b2 c= UAp b2
proof end;

theorem Th14: :: ROUGHS_1:14
for b1 being Tolerance_Space
for b2 being Subset of b1 holds LAp b2 c= UAp b2
proof end;

theorem Th15: :: ROUGHS_1:15
for b1 being Tolerance_Space
for b2 being Subset of b1 holds
( not b2 is rough iff LAp b2 = b2 )
proof end;

theorem Th16: :: ROUGHS_1:16
for b1 being Tolerance_Space
for b2 being Subset of b1 holds
( not b2 is rough iff UAp b2 = b2 )
proof end;

theorem Th17: :: ROUGHS_1:17
for b1 being Tolerance_Space
for b2 being Subset of b1 holds
( b2 = LAp b2 iff b2 = UAp b2 )
proof end;

theorem Th18: :: ROUGHS_1:18
for b1 being Tolerance_Space holds LAp ({} b1) = {}
proof end;

theorem Th19: :: ROUGHS_1:19
for b1 being Tolerance_Space holds UAp ({} b1) = {}
proof end;

theorem Th20: :: ROUGHS_1:20
for b1 being Tolerance_Space holds LAp ([#] b1) = [#] b1
proof end;

theorem Th21: :: ROUGHS_1:21
for b1 being Tolerance_Space holds UAp ([#] b1) = [#] b1
proof end;

theorem Th22: :: ROUGHS_1:22
for b1 being Tolerance_Space
for b2, b3 being Subset of b1 holds LAp (b2 /\ b3) = (LAp b2) /\ (LAp b3)
proof end;

theorem Th23: :: ROUGHS_1:23
for b1 being Tolerance_Space
for b2, b3 being Subset of b1 holds UAp (b2 \/ b3) = (UAp b2) \/ (UAp b3)
proof end;

theorem Th24: :: ROUGHS_1:24
for b1 being Tolerance_Space
for b2, b3 being Subset of b1 st b2 c= b3 holds
LAp b2 c= LAp b3
proof end;

theorem Th25: :: ROUGHS_1:25
for b1 being Tolerance_Space
for b2, b3 being Subset of b1 st b2 c= b3 holds
UAp b2 c= UAp b3
proof end;

theorem Th26: :: ROUGHS_1:26
for b1 being Tolerance_Space
for b2, b3 being Subset of b1 holds (LAp b2) \/ (LAp b3) c= LAp (b2 \/ b3)
proof end;

theorem Th27: :: ROUGHS_1:27
for b1 being Tolerance_Space
for b2, b3 being Subset of b1 holds UAp (b2 /\ b3) c= (UAp b2) /\ (UAp b3)
proof end;

theorem Th28: :: ROUGHS_1:28
for b1 being Tolerance_Space
for b2 being Subset of b1 holds LAp (b2 ` ) = (UAp b2) `
proof end;

theorem Th29: :: ROUGHS_1:29
for b1 being Tolerance_Space
for b2 being Subset of b1 holds UAp (b2 ` ) = (LAp b2) `
proof end;

theorem Th30: :: ROUGHS_1:30
for b1 being Tolerance_Space
for b2 being Subset of b1 holds UAp (LAp (UAp b2)) = UAp b2
proof end;

theorem Th31: :: ROUGHS_1:31
for b1 being Tolerance_Space
for b2 being Subset of b1 holds LAp (UAp (LAp b2)) = LAp b2
proof end;

theorem Th32: :: ROUGHS_1:32
for b1 being Tolerance_Space
for b2 being Subset of b1 holds BndAp b2 = BndAp (b2 ` )
proof end;

theorem Th33: :: ROUGHS_1:33
for b1 being Approximation_Space
for b2 being Subset of b1 holds LAp (LAp b2) = LAp b2
proof end;

theorem Th34: :: ROUGHS_1:34
for b1 being Approximation_Space
for b2 being Subset of b1 holds LAp (LAp b2) = UAp (LAp b2)
proof end;

theorem Th35: :: ROUGHS_1:35
for b1 being Approximation_Space
for b2 being Subset of b1 holds UAp (UAp b2) = UAp b2
proof end;

theorem Th36: :: ROUGHS_1:36
for b1 being Approximation_Space
for b2 being Subset of b1 holds UAp (UAp b2) = LAp (UAp b2)
proof end;

registration
let c1 be Tolerance_Space;
cluster exact Element of bool the carrier of a1;
existence
not for b1 being Subset of c1 holds b1 is rough
proof end;
end;

registration
let c1 be Approximation_Space;
let c2 be Subset of c1;
cluster LAp a2 -> exact ;
coherence
not LAp c2 is rough
proof end;
cluster UAp a2 -> exact ;
coherence
not UAp c2 is rough
proof end;
end;

theorem Th37: :: ROUGHS_1:37
for b1 being Approximation_Space
for b2 being Subset of b1
for b3, b4 being set st b3 in UAp b2 & [b3,b4] in the InternalRel of b1 holds
b4 in UAp b2
proof end;

registration
let c1 be non diagonal Approximation_Space;
cluster rough Element of bool the carrier of a1;
existence
ex b1 being Subset of c1 st b1 is rough
proof end;
end;

definition
let c1 be Approximation_Space;
let c2 be Subset of c1;
mode RoughSet of c2 -> set means :: ROUGHS_1:def 8
a3 = [(LAp a2),(UAp a2)];
existence
ex b1 being set st b1 = [(LAp c2),(UAp c2)]
;
end;

:: deftheorem Def8 defines RoughSet ROUGHS_1:def 8 :
for b1 being Approximation_Space
for b2 being Subset of b1
for b3 being set holds
( b3 is RoughSet of b2 iff b3 = [(LAp b2),(UAp b2)] );

registration
let c1 be finite Tolerance_Space;
let c2 be Element of c1;
cluster Card (Class the InternalRel of a1,a2) -> non empty ;
coherence
not card (Class the InternalRel of c1,c2) is empty
proof end;
end;

definition
let c1 be finite Tolerance_Space;
let c2 be Subset of c1;
func MemberFunc c2,c1 -> Function of the carrier of a1, REAL means :Def9: :: ROUGHS_1:def 9
for b1 being Element of a1 holds a3 . b1 = (card (a2 /\ (Class the InternalRel of a1,b1))) / (card (Class the InternalRel of a1,b1));
existence
ex b1 being Function of the carrier of c1, REAL st
for b2 being Element of c1 holds b1 . b2 = (card (c2 /\ (Class the InternalRel of c1,b2))) / (card (Class the InternalRel of c1,b2))
proof end;
uniqueness
for b1, b2 being Function of the carrier of c1, REAL st ( for b3 being Element of c1 holds b1 . b3 = (card (c2 /\ (Class the InternalRel of c1,b3))) / (card (Class the InternalRel of c1,b3)) ) & ( for b3 being Element of c1 holds b2 . b3 = (card (c2 /\ (Class the InternalRel of c1,b3))) / (card (Class the InternalRel of c1,b3)) ) holds
b1 = b2
proof end;
end;

:: deftheorem Def9 defines MemberFunc ROUGHS_1:def 9 :
for b1 being finite Tolerance_Space
for b2 being Subset of b1
for b3 being Function of the carrier of b1, REAL holds
( b3 = MemberFunc b2,b1 iff for b4 being Element of b1 holds b3 . b4 = (card (b2 /\ (Class the InternalRel of b1,b4))) / (card (Class the InternalRel of b1,b4)) );

theorem Th38: :: ROUGHS_1:38
for b1 being finite Tolerance_Space
for b2 being Subset of b1
for b3 being Element of b1 holds
( 0 <= (MemberFunc b2,b1) . b3 & (MemberFunc b2,b1) . b3 <= 1 )
proof end;

theorem Th39: :: ROUGHS_1:39
for b1 being finite Tolerance_Space
for b2 being Subset of b1
for b3 being Element of b1 holds (MemberFunc b2,b1) . b3 in [.0,1.]
proof end;

theorem Th40: :: ROUGHS_1:40
for b1 being finite Approximation_Space
for b2 being Subset of b1
for b3 being Element of b1 holds
( (MemberFunc b2,b1) . b3 = 1 iff b3 in LAp b2 )
proof end;

theorem Th41: :: ROUGHS_1:41
for b1 being finite Approximation_Space
for b2 being Subset of b1
for b3 being Element of b1 holds
( (MemberFunc b2,b1) . b3 = 0 iff b3 in (UAp b2) ` )
proof end;

theorem Th42: :: ROUGHS_1:42
for b1 being finite Approximation_Space
for b2 being Subset of b1
for b3 being Element of b1 holds
( ( 0 < (MemberFunc b2,b1) . b3 & (MemberFunc b2,b1) . b3 < 1 ) iff b3 in BndAp b2 )
proof end;

theorem Th43: :: ROUGHS_1:43
for b1 being discrete Approximation_Space
for b2 being Subset of b1 holds not b2 is rough
proof end;

registration
let c1 be discrete Approximation_Space;
cluster -> exact Element of bool the carrier of a1;
coherence
for b1 being Subset of c1 holds not b1 is rough
by Th43;
end;

theorem Th44: :: ROUGHS_1:44
for b1 being finite discrete Approximation_Space
for b2 being Subset of b1 holds MemberFunc b2,b1 = chi b2,the carrier of b1
proof end;

theorem Th45: :: ROUGHS_1:45
for b1 being finite Approximation_Space
for b2 being Subset of b1
for b3, b4 being set st [b3,b4] in the InternalRel of b1 holds
(MemberFunc b2,b1) . b3 = (MemberFunc b2,b1) . b4
proof end;

theorem Th46: :: ROUGHS_1:46
for b1 being finite Approximation_Space
for b2 being Subset of b1
for b3 being Element of b1 holds (MemberFunc (b2 ` ),b1) . b3 = 1 - ((MemberFunc b2,b1) . b3)
proof end;

theorem Th47: :: ROUGHS_1:47
for b1 being finite Approximation_Space
for b2, b3 being Subset of b1
for b4 being Element of b1 st b2 c= b3 holds
(MemberFunc b2,b1) . b4 <= (MemberFunc b3,b1) . b4
proof end;

theorem Th48: :: ROUGHS_1:48
for b1 being finite Approximation_Space
for b2, b3 being Subset of b1
for b4 being Element of b1 holds (MemberFunc (b2 \/ b3),b1) . b4 >= (MemberFunc b2,b1) . b4
proof end;

theorem Th49: :: ROUGHS_1:49
for b1 being finite Approximation_Space
for b2, b3 being Subset of b1
for b4 being Element of b1 holds (MemberFunc (b2 /\ b3),b1) . b4 <= (MemberFunc b2,b1) . b4
proof end;

theorem Th50: :: ROUGHS_1:50
for b1 being finite Approximation_Space
for b2, b3 being Subset of b1
for b4 being Element of b1 holds (MemberFunc (b2 \/ b3),b1) . b4 >= max ((MemberFunc b2,b1) . b4),((MemberFunc b3,b1) . b4)
proof end;

theorem Th51: :: ROUGHS_1:51
for b1 being finite Approximation_Space
for b2, b3 being Subset of b1
for b4 being Element of b1 st b2 misses b3 holds
(MemberFunc (b2 \/ b3),b1) . b4 = ((MemberFunc b2,b1) . b4) + ((MemberFunc b3,b1) . b4)
proof end;

theorem Th52: :: ROUGHS_1:52
for b1 being finite Approximation_Space
for b2, b3 being Subset of b1
for b4 being Element of b1 holds (MemberFunc (b2 /\ b3),b1) . b4 <= min ((MemberFunc b2,b1) . b4),((MemberFunc b3,b1) . b4)
proof end;

definition
let c1 be finite Tolerance_Space;
let c2 be FinSequence of bool the carrier of c1;
let c3 be Element of c1;
func FinSeqM c3,c2 -> FinSequence of REAL means :Def10: :: ROUGHS_1:def 10
( dom a4 = dom a2 & ( for b1 being Nat st b1 in dom a2 holds
a4 . b1 = (MemberFunc (a2 . b1),a1) . a3 ) );
existence
ex b1 being FinSequence of REAL st
( dom b1 = dom c2 & ( for b2 being Nat st b2 in dom c2 holds
b1 . b2 = (MemberFunc (c2 . b2),c1) . c3 ) )
proof end;
uniqueness
for b1, b2 being FinSequence of REAL st dom b1 = dom c2 & ( for b3 being Nat st b3 in dom c2 holds
b1 . b3 = (MemberFunc (c2 . b3),c1) . c3 ) & dom b2 = dom c2 & ( for b3 being Nat st b3 in dom c2 holds
b2 . b3 = (MemberFunc (c2 . b3),c1) . c3 ) holds
b1 = b2
proof end;
end;

:: deftheorem Def10 defines FinSeqM ROUGHS_1:def 10 :
for b1 being finite Tolerance_Space
for b2 being FinSequence of bool the carrier of b1
for b3 being Element of b1
for b4 being FinSequence of REAL holds
( b4 = FinSeqM b3,b2 iff ( dom b4 = dom b2 & ( for b5 being Nat st b5 in dom b2 holds
b4 . b5 = (MemberFunc (b2 . b5),b1) . b3 ) ) );

theorem Th53: :: ROUGHS_1:53
for b1 being finite Approximation_Space
for b2 being FinSequence of bool the carrier of b1
for b3 being Element of b1
for b4 being Subset of b1 holds FinSeqM b3,(b2 ^ <*b4*>) = (FinSeqM b3,b2) ^ <*((MemberFunc b4,b1) . b3)*>
proof end;

theorem Th54: :: ROUGHS_1:54
for b1 being finite Approximation_Space
for b2 being Element of b1 holds (MemberFunc ({} b1),b1) . b2 = 0
proof end;

theorem Th55: :: ROUGHS_1:55
for b1 being finite Approximation_Space
for b2 being Element of b1
for b3 being disjoint_valued FinSequence of bool the carrier of b1 holds (MemberFunc (Union b3),b1) . b2 = Sum (FinSeqM b2,b3)
proof end;

theorem Th56: :: ROUGHS_1:56
for b1 being finite Approximation_Space
for b2 being Subset of b1 holds LAp b2 = { b3 where B is Element of b1 : (MemberFunc b2,b1) . b3 = 1 }
proof end;

theorem Th57: :: ROUGHS_1:57
for b1 being finite Approximation_Space
for b2 being Subset of b1 holds UAp b2 = { b3 where B is Element of b1 : (MemberFunc b2,b1) . b3 > 0 }
proof end;

theorem Th58: :: ROUGHS_1:58
for b1 being finite Approximation_Space
for b2 being Subset of b1 holds BndAp b2 = { b3 where B is Element of b1 : ( 0 < (MemberFunc b2,b1) . b3 & (MemberFunc b2,b1) . b3 < 1 ) }
proof end;

definition
let c1 be Tolerance_Space;
let c2, c3 be Subset of c1;
pred c2 _c= c3 means :Def11: :: ROUGHS_1:def 11
LAp a2 c= LAp a3;
pred c2 c=^ c3 means :Def12: :: ROUGHS_1:def 12
UAp a2 c= UAp a3;
end;

:: deftheorem Def11 defines _c= ROUGHS_1:def 11 :
for b1 being Tolerance_Space
for b2, b3 being Subset of b1 holds
( b2 _c= b3 iff LAp b2 c= LAp b3 );

:: deftheorem Def12 defines c=^ ROUGHS_1:def 12 :
for b1 being Tolerance_Space
for b2, b3 being Subset of b1 holds
( b2 c=^ b3 iff UAp b2 c= UAp b3 );

definition
let c1 be Tolerance_Space;
let c2, c3 be Subset of c1;
pred c2 _c=^ c3 means :Def13: :: ROUGHS_1:def 13
( a2 _c= a3 & a2 c=^ a3 );
end;

:: deftheorem Def13 defines _c=^ ROUGHS_1:def 13 :
for b1 being Tolerance_Space
for b2, b3 being Subset of b1 holds
( b2 _c=^ b3 iff ( b2 _c= b3 & b2 c=^ b3 ) );

theorem Th59: :: ROUGHS_1:59
for b1 being Tolerance_Space
for b2, b3, b4 being Subset of b1 st b2 _c= b3 & b3 _c= b4 holds
b2 _c= b4
proof end;

theorem Th60: :: ROUGHS_1:60
for b1 being Tolerance_Space
for b2, b3, b4 being Subset of b1 st b2 c=^ b3 & b3 c=^ b4 holds
b2 c=^ b4
proof end;

theorem Th61: :: ROUGHS_1:61
for b1 being Tolerance_Space
for b2, b3, b4 being Subset of b1 st b2 _c=^ b3 & b3 _c=^ b4 holds
b2 _c=^ b4
proof end;

definition
let c1 be Tolerance_Space;
let c2, c3 be Subset of c1;
pred c2 _= c3 means :Def14: :: ROUGHS_1:def 14
LAp a2 = LAp a3;
reflexivity
for b1 being Subset of c1 holds LAp b1 = LAp b1
;
symmetry
for b1, b2 being Subset of c1 st LAp b1 = LAp b2 holds
LAp b2 = LAp b1
;
pred c2 =^ c3 means :Def15: :: ROUGHS_1:def 15
UAp a2 = UAp a3;
reflexivity
for b1 being Subset of c1 holds UAp b1 = UAp b1
;
symmetry
for b1, b2 being Subset of c1 st UAp b1 = UAp b2 holds
UAp b2 = UAp b1
;
pred c2 _=^ c3 means :Def16: :: ROUGHS_1:def 16
( LAp a2 = LAp a3 & UAp a2 = UAp a3 );
reflexivity
for b1 being Subset of c1 holds
( LAp b1 = LAp b1 & UAp b1 = UAp b1 )
;
symmetry
for b1, b2 being Subset of c1 st LAp b1 = LAp b2 & UAp b1 = UAp b2 holds
( LAp b2 = LAp b1 & UAp b2 = UAp b1 )
;
end;

:: deftheorem Def14 defines _= ROUGHS_1:def 14 :
for b1 being Tolerance_Space
for b2, b3 being Subset of b1 holds
( b2 _= b3 iff LAp b2 = LAp b3 );

:: deftheorem Def15 defines =^ ROUGHS_1:def 15 :
for b1 being Tolerance_Space
for b2, b3 being Subset of b1 holds
( b2 =^ b3 iff UAp b2 = UAp b3 );

:: deftheorem Def16 defines _=^ ROUGHS_1:def 16 :
for b1 being Tolerance_Space
for b2, b3 being Subset of b1 holds
( b2 _=^ b3 iff ( LAp b2 = LAp b3 & UAp b2 = UAp b3 ) );

definition
let c1 be Tolerance_Space;
let c2, c3 be Subset of c1;
redefine pred c2 _= c3 means :: ROUGHS_1:def 17
( a2 _c= a3 & a3 _c= a2 );
compatibility
( c2 _= c3 iff ( c2 _c= c3 & c3 _c= c2 ) )
proof end;
redefine pred c2 =^ c3 means :: ROUGHS_1:def 18
( a2 c=^ a3 & a3 c=^ a2 );
compatibility
( c2 =^ c3 iff ( c2 c=^ c3 & c3 c=^ c2 ) )
proof end;
redefine pred c2 _=^ c3 means :: ROUGHS_1:def 19
( a2 _= a3 & a2 =^ a3 );
compatibility
( c2 _=^ c3 iff ( c2 _= c3 & c2 =^ c3 ) )
proof end;
end;

:: deftheorem Def17 defines _= ROUGHS_1:def 17 :
for b1 being Tolerance_Space
for b2, b3 being Subset of b1 holds
( b2 _= b3 iff ( b2 _c= b3 & b3 _c= b2 ) );

:: deftheorem Def18 defines =^ ROUGHS_1:def 18 :
for b1 being Tolerance_Space
for b2, b3 being Subset of b1 holds
( b2 =^ b3 iff ( b2 c=^ b3 & b3 c=^ b2 ) );

:: deftheorem Def19 defines _=^ ROUGHS_1:def 19 :
for b1 being Tolerance_Space
for b2, b3 being Subset of b1 holds
( b2 _=^ b3 iff ( b2 _= b3 & b2 =^ b3 ) );