begin
reconsider z = 0 , j = 1 as Element of {0,1} by TARSKI:def 2;
Lm1:
now
let R1,
S1 be
set ;
for R being Relation of R1
for S being Relation of S1 st R1 misses S1 holds
for q1, q2 being set st [q1,q2] in R \/ S & q2 in S1 holds
( [q1,q2] in S & q1 in S1 )let R be
Relation of
R1;
for S being Relation of S1 st R1 misses S1 holds
for q1, q2 being set st [q1,q2] in R \/ S & q2 in S1 holds
( [q1,q2] in S & q1 in S1 )let S be
Relation of
S1;
( R1 misses S1 implies for q1, q2 being set st [q1,q2] in R \/ S & q2 in S1 holds
( [q1,q2] in S & q1 in S1 ) )assume A1:
R1 misses S1
;
for q1, q2 being set st [q1,q2] in R \/ S & q2 in S1 holds
( [q1,q2] in S & q1 in S1 )let q1,
q2 be
set ;
( [q1,q2] in R \/ S & q2 in S1 implies ( [q1,q2] in S & q1 in S1 ) )assume that A2:
[q1,q2] in R \/ S
and A3:
q2 in S1
;
( [q1,q2] in S & q1 in S1 )A4:
(
[q1,q2] in R or
[q1,q2] in S )
by A2, XBOOLE_0:def 3;
hence
(
[q1,q2] in S &
q1 in S1 )
by A4, ZFMISC_1:106;
verum
end;
theorem Th1:
:: deftheorem Def1 defines Carrier PCS_0:def 1 :
for I being non empty set
for C being 1-sorted-yielding ManySortedSet of I
for b3 being set holds
( b3 = Carrier C iff for i being Element of I holds b3 . i = the carrier of (C . i) );
definition
let R1,
R2,
S1,
S2 be
set ;
let R be
Relation of
R1,
R2;
let S be
Relation of
S1,
S2;
defpred S1[
set ,
set ]
means ex
r1,
s1,
r2,
s2 being
set st
( $1
= [r1,s1] & $2
= [r2,s2] &
r1 in R1 &
s1 in S1 &
r2 in R2 &
s2 in S2 & (
[r1,r2] in R or
[s1,s2] in S ) );
func [^R,S^] -> Relation of
[:R1,S1:],
[:R2,S2:] means :
Def2:
for
x,
y being
set holds
(
[x,y] in it iff ex
r1,
s1,
r2,
s2 being
set st
(
x = [r1,s1] &
y = [r2,s2] &
r1 in R1 &
s1 in S1 &
r2 in R2 &
s2 in S2 & (
[r1,r2] in R or
[s1,s2] in S ) ) );
existence
ex b1 being Relation of [:R1,S1:],[:R2,S2:] st
for x, y being set holds
( [x,y] in b1 iff ex r1, s1, r2, s2 being set st
( x = [r1,s1] & y = [r2,s2] & r1 in R1 & s1 in S1 & r2 in R2 & s2 in S2 & ( [r1,r2] in R or [s1,s2] in S ) ) )
uniqueness
for b1, b2 being Relation of [:R1,S1:],[:R2,S2:] st ( for x, y being set holds
( [x,y] in b1 iff ex r1, s1, r2, s2 being set st
( x = [r1,s1] & y = [r2,s2] & r1 in R1 & s1 in S1 & r2 in R2 & s2 in S2 & ( [r1,r2] in R or [s1,s2] in S ) ) ) ) & ( for x, y being set holds
( [x,y] in b2 iff ex r1, s1, r2, s2 being set st
( x = [r1,s1] & y = [r2,s2] & r1 in R1 & s1 in S1 & r2 in R2 & s2 in S2 & ( [r1,r2] in R or [s1,s2] in S ) ) ) ) holds
b1 = b2
end;
:: deftheorem Def2 defines [^ PCS_0:def 2 :
for R1, R2, S1, S2 being set
for R being Relation of R1,R2
for S being Relation of S1,S2
for b7 being Relation of [:R1,S1:],[:R2,S2:] holds
( b7 = [^R,S^] iff for x, y being set holds
( [x,y] in b7 iff ex r1, s1, r2, s2 being set st
( x = [r1,s1] & y = [r2,s2] & r1 in R1 & s1 in S1 & r2 in R2 & s2 in S2 & ( [r1,r2] in R or [s1,s2] in S ) ) ) );
definition
let R1,
R2,
S1,
S2 be non
empty set ;
let R be
Relation of
R1,
R2;
let S be
Relation of
S1,
S2;
redefine func [^R,S^] means :
Def3:
for
r1 being
Element of
R1 for
r2 being
Element of
R2 for
s1 being
Element of
S1 for
s2 being
Element of
S2 holds
(
[[r1,s1],[r2,s2]] in it iff (
[r1,r2] in R or
[s1,s2] in S ) );
compatibility
for b1 being Relation of [:R1,S1:],[:R2,S2:] holds
( b1 = [^R,S^] iff for r1 being Element of R1
for r2 being Element of R2
for s1 being Element of S1
for s2 being Element of S2 holds
( [[r1,s1],[r2,s2]] in b1 iff ( [r1,r2] in R or [s1,s2] in S ) ) )
end;
:: deftheorem Def3 defines [^ PCS_0:def 3 :
for R1, R2, S1, S2 being non empty set
for R being Relation of R1,R2
for S being Relation of S1,S2
for b7 being Relation of [:R1,S1:],[:R2,S2:] holds
( b7 = [^R,S^] iff for r1 being Element of R1
for r2 being Element of R2
for s1 being Element of S1
for s2 being Element of S2 holds
( [[r1,s1],[r2,s2]] in b7 iff ( [r1,r2] in R or [s1,s2] in S ) ) );
begin
:: deftheorem Def4 defines transitive-yielding PCS_0:def 4 :
for R being Relation holds
( R is transitive-yielding iff for S being RelStr st S in rng R holds
S is transitive );
:: deftheorem Def5 defines pcs-InternalRels PCS_0:def 5 :
for I being set
for C being RelStr-yielding ManySortedSet of I
for b3 being ManySortedSet of I holds
( b3 = pcs-InternalRels C iff for i being set st i in I holds
ex P being RelStr st
( P = C . i & b3 . i = the InternalRel of P ) );
:: deftheorem Def6 defines pcs-InternalRels PCS_0:def 6 :
for I being non empty set
for C being RelStr-yielding ManySortedSet of I
for b3 being ManySortedSet of I holds
( b3 = pcs-InternalRels C iff for i being Element of I holds b3 . i = the InternalRel of (C . i) );
begin
:: deftheorem Def7 defines (--) PCS_0:def 7 :
for P being TolStr
for p, q being Element of P holds
( p (--) q iff [p,q] in the ToleranceRel of P );
:: deftheorem Def8 defines pcs-tol-total PCS_0:def 8 :
for P being TolStr holds
( P is pcs-tol-total iff the ToleranceRel of P is total );
:: deftheorem Def9 defines pcs-tol-reflexive PCS_0:def 9 :
for P being TolStr holds
( P is pcs-tol-reflexive iff the ToleranceRel of P is_reflexive_in the carrier of P );
:: deftheorem Def10 defines pcs-tol-irreflexive PCS_0:def 10 :
for P being TolStr holds
( P is pcs-tol-irreflexive iff the ToleranceRel of P is_irreflexive_in the carrier of P );
:: deftheorem Def11 defines pcs-tol-symmetric PCS_0:def 11 :
for P being TolStr holds
( P is pcs-tol-symmetric iff the ToleranceRel of P is_symmetric_in the carrier of P );
:: deftheorem defines emptyTolStr PCS_0:def 12 :
emptyTolStr = TolStr(# {},({} ({},{})) #);
theorem Th2:
:: deftheorem Def13 defines TolStr-yielding PCS_0:def 13 :
for R being Relation holds
( R is TolStr-yielding iff for P being set st P in rng R holds
P is TolStr );
:: deftheorem Def14 defines TolStr-yielding PCS_0:def 14 :
for f being Function holds
( f is TolStr-yielding iff for x being set st x in dom f holds
f . x is TolStr );
:: deftheorem defines TolStr-yielding PCS_0:def 15 :
for I being set
for f being ManySortedSet of I holds
( f is TolStr-yielding iff for x being set st x in I holds
f . x is TolStr );
:: deftheorem Def16 defines pcs-tol-reflexive-yielding PCS_0:def 16 :
for R being Relation holds
( R is pcs-tol-reflexive-yielding iff for S being TolStr st S in rng R holds
S is pcs-tol-reflexive );
:: deftheorem Def17 defines pcs-tol-irreflexive-yielding PCS_0:def 17 :
for R being Relation holds
( R is pcs-tol-irreflexive-yielding iff for S being TolStr st S in rng R holds
S is pcs-tol-irreflexive );
:: deftheorem Def18 defines pcs-tol-symmetric-yielding PCS_0:def 18 :
for R being Relation holds
( R is pcs-tol-symmetric-yielding iff for S being TolStr st S in rng R holds
S is pcs-tol-symmetric );
:: deftheorem Def19 defines pcs-ToleranceRels PCS_0:def 19 :
for I being set
for C being () ManySortedSet of I
for b3 being ManySortedSet of I holds
( b3 = pcs-ToleranceRels C iff for i being set st i in I holds
ex P being TolStr st
( P = C . i & b3 . i = the ToleranceRel of P ) );
:: deftheorem Def20 defines pcs-ToleranceRels PCS_0:def 20 :
for I being non empty set
for C being () ManySortedSet of I
for b3 being ManySortedSet of I holds
( b3 = pcs-ToleranceRels C iff for i being Element of I holds b3 . i = the ToleranceRel of (C . i) );
theorem Th3:
theorem Th4:
theorem Th5:
:: deftheorem defines [^ PCS_0:def 21 :
for P, Q being TolStr holds [^P,Q^] = TolStr(# [: the carrier of P, the carrier of Q:],[^ the ToleranceRel of P, the ToleranceRel of Q^] #);
Lm2:
for x, a1, a2, b1, b2 being set st x = [[a1,a2],[b1,b2]] holds
( (x `1) `1 = a1 & (x `1) `2 = a2 & (x `2) `1 = b1 & (x `2) `2 = b2 )
theorem Th6:
theorem
begin
:: deftheorem Def22 defines pcs-compatible PCS_0:def 22 :
for P being pcs-Str holds
( P is pcs-compatible iff for p, p9, q, q9 being Element of P st p (--) q & p9 <= p & q9 <= q holds
p9 (--) q9 );
:: deftheorem Def23 defines pcs-like PCS_0:def 23 :
for P being pcs-Str holds
( P is pcs-like iff ( P is reflexive & P is transitive & P is pcs-tol-reflexive & P is pcs-tol-symmetric & P is pcs-compatible ) );
:: deftheorem Def24 defines anti-pcs-like PCS_0:def 24 :
for P being pcs-Str holds
( P is anti-pcs-like iff ( P is reflexive & P is transitive & P is pcs-tol-irreflexive & P is pcs-tol-symmetric & P is pcs-compatible ) );
:: deftheorem defines pcs-total PCS_0:def 25 :
for D being set holds pcs-total D = pcs-Str(# D,(nabla D),(nabla D) #);
:: deftheorem defines pcs-empty PCS_0:def 26 :
pcs-empty = pcs-total 0;
:: deftheorem defines pcs-singleton PCS_0:def 27 :
for p being set holds pcs-singleton p = pcs-total {p};
:: deftheorem Def28 defines pcs-Str-yielding PCS_0:def 28 :
for R being Relation holds
( R is pcs-Str-yielding iff for P being set st P in rng R holds
P is pcs-Str );
:: deftheorem Def29 defines pcs-yielding PCS_0:def 29 :
for R being Relation holds
( R is pcs-yielding iff for P being set st P in rng R holds
P is pcs );
:: deftheorem Def30 defines pcs-Str-yielding PCS_0:def 30 :
for f being Function holds
( f is pcs-Str-yielding iff for x being set st x in dom f holds
f . x is pcs-Str );
:: deftheorem Def31 defines pcs-yielding PCS_0:def 31 :
for f being Function holds
( f is pcs-yielding iff for x being set st x in dom f holds
f . x is pcs );
:: deftheorem Def32 defines pcs-Str-yielding PCS_0:def 32 :
for I being set
for f being ManySortedSet of I holds
( f is pcs-Str-yielding iff for x being set st x in I holds
f . x is pcs-Str );
:: deftheorem Def33 defines pcs-yielding PCS_0:def 33 :
for I being set
for f being ManySortedSet of I holds
( f is pcs-yielding iff for x being set st x in I holds
f . x is pcs );
:: deftheorem Def34 defines c= PCS_0:def 34 :
for P, Q being pcs-Str holds
( P c= Q iff ( the carrier of P c= the carrier of Q & the InternalRel of P c= the InternalRel of Q & the ToleranceRel of P c= the ToleranceRel of Q ) );
theorem Th8:
theorem Th9:
Lm3:
for P, Q being pcs-Str
for p being set st p in the carrier of P & P c= Q holds
p is Element of Q
:: deftheorem Def35 defines pcs-chain-like PCS_0:def 35 :
for C being Relation holds
( C is pcs-chain-like iff for P, Q being pcs-Str st P in rng C & Q in rng C & not P c= Q holds
Q c= P );
:: deftheorem Def36 defines pcs-union PCS_0:def 36 :
for I being set
for C being () ManySortedSet of I
for b3 being strict pcs-Str holds
( b3 = pcs-union C iff ( the carrier of b3 = Union (Carrier C) & the InternalRel of b3 = Union (pcs-InternalRels C) & the ToleranceRel of b3 = Union (pcs-ToleranceRels C) ) );
theorem Th10:
theorem
theorem Th12:
theorem
:: deftheorem defines MSSet PCS_0:def 37 :
for p, q being set holds MSSet (p,q) = (0,1) --> (p,q);
:: deftheorem defines pcs-sum PCS_0:def 38 :
for P, Q being pcs-Str holds pcs-sum (P,Q) = pcs-union (MSSet (P,Q));
deffunc H1( pcs-Str , pcs-Str ) -> pcs-Str = pcs-Str(# ( the carrier of $1 \/ the carrier of $2),( the InternalRel of $1 \/ the InternalRel of $2),( the ToleranceRel of $1 \/ the ToleranceRel of $2) #);
theorem Th14:
theorem Th15:
theorem
theorem
theorem Th18:
theorem Th19:
theorem
definition
let P be
pcs-Str ;
let a be
set ;
func pcs-extension (
P,
a)
-> strict pcs-Str means :
Def39:
( the
carrier of
it = {a} \/ the
carrier of
P & the
InternalRel of
it = [:{a}, the carrier of it:] \/ the
InternalRel of
P & the
ToleranceRel of
it = ([:{a}, the carrier of it:] \/ [: the carrier of it,{a}:]) \/ the
ToleranceRel of
P );
existence
ex b1 being strict pcs-Str st
( the carrier of b1 = {a} \/ the carrier of P & the InternalRel of b1 = [:{a}, the carrier of b1:] \/ the InternalRel of P & the ToleranceRel of b1 = ([:{a}, the carrier of b1:] \/ [: the carrier of b1,{a}:]) \/ the ToleranceRel of P )
uniqueness
for b1, b2 being strict pcs-Str st the carrier of b1 = {a} \/ the carrier of P & the InternalRel of b1 = [:{a}, the carrier of b1:] \/ the InternalRel of P & the ToleranceRel of b1 = ([:{a}, the carrier of b1:] \/ [: the carrier of b1,{a}:]) \/ the ToleranceRel of P & the carrier of b2 = {a} \/ the carrier of P & the InternalRel of b2 = [:{a}, the carrier of b2:] \/ the InternalRel of P & the ToleranceRel of b2 = ([:{a}, the carrier of b2:] \/ [: the carrier of b2,{a}:]) \/ the ToleranceRel of P holds
b1 = b2
;
end;
:: deftheorem Def39 defines pcs-extension PCS_0:def 39 :
for P being pcs-Str
for a being set
for b3 being strict pcs-Str holds
( b3 = pcs-extension (P,a) iff ( the carrier of b3 = {a} \/ the carrier of P & the InternalRel of b3 = [:{a}, the carrier of b3:] \/ the InternalRel of P & the ToleranceRel of b3 = ([:{a}, the carrier of b3:] \/ [: the carrier of b3,{a}:]) \/ the ToleranceRel of P ) );
theorem Th21:
theorem
theorem Th23:
theorem Th24:
theorem Th25:
theorem Th26:
theorem Th27:
theorem Th28:
theorem Th29:
theorem Th30:
theorem Th31:
theorem
:: deftheorem Def40 defines pcs-reverse PCS_0:def 40 :
for P being pcs-Str
for b2 being strict pcs-Str holds
( b2 = pcs-reverse P iff ( the carrier of b2 = the carrier of P & the InternalRel of b2 = the InternalRel of P ~ & the ToleranceRel of b2 = the ToleranceRel of P ` ) );
theorem Th33:
theorem Th34:
theorem Th35:
definition
let P,
Q be
pcs-Str ;
func P pcs-times Q -> pcs-Str equals
pcs-Str(#
[: the carrier of P, the carrier of Q:],
[" the InternalRel of P, the InternalRel of Q"],
[^ the ToleranceRel of P, the ToleranceRel of Q^] #);
coherence
pcs-Str(# [: the carrier of P, the carrier of Q:],[" the InternalRel of P, the InternalRel of Q"],[^ the ToleranceRel of P, the ToleranceRel of Q^] #) is pcs-Str
;
end;
:: deftheorem defines pcs-times PCS_0:def 41 :
for P, Q being pcs-Str holds P pcs-times Q = pcs-Str(# [: the carrier of P, the carrier of Q:],[" the InternalRel of P, the InternalRel of Q"],[^ the ToleranceRel of P, the ToleranceRel of Q^] #);
theorem
theorem
theorem Th38:
:: deftheorem defines --> PCS_0:def 42 :
for P, Q being pcs-Str holds P --> Q = (pcs-reverse P) pcs-times Q;
theorem
theorem
theorem
:: deftheorem Def43 defines pcs-self-coherent PCS_0:def 43 :
for P being TolStr
for S being Subset of P holds
( S is pcs-self-coherent iff for x, y being Element of P st x in S & y in S holds
x (--) y );
:: deftheorem Def44 defines pcs-self-coherent-membered PCS_0:def 44 :
for P being TolStr
for F being Subset-Family of P holds
( F is pcs-self-coherent-membered iff for S being Subset of P st S in F holds
S is pcs-self-coherent );
definition
let P be
RelStr ;
let D be
set ;
defpred S1[
set ,
set ]
means ( $1
in D & $2
in D & ( for
a being
set st
a in $1 holds
ex
b being
set st
(
b in $2 &
[a,b] in the
InternalRel of
P ) ) );
func pcs-general-power-IR (
P,
D)
-> Relation of
D means :
Def45:
for
A,
B being
set holds
(
[A,B] in it iff (
A in D &
B in D & ( for
a being
set st
a in A holds
ex
b being
set st
(
b in B &
[a,b] in the
InternalRel of
P ) ) ) );
existence
ex b1 being Relation of D st
for A, B being set holds
( [A,B] in b1 iff ( A in D & B in D & ( for a being set st a in A holds
ex b being set st
( b in B & [a,b] in the InternalRel of P ) ) ) )
uniqueness
for b1, b2 being Relation of D st ( for A, B being set holds
( [A,B] in b1 iff ( A in D & B in D & ( for a being set st a in A holds
ex b being set st
( b in B & [a,b] in the InternalRel of P ) ) ) ) ) & ( for A, B being set holds
( [A,B] in b2 iff ( A in D & B in D & ( for a being set st a in A holds
ex b being set st
( b in B & [a,b] in the InternalRel of P ) ) ) ) ) holds
b1 = b2
end;
:: deftheorem Def45 defines pcs-general-power-IR PCS_0:def 45 :
for P being RelStr
for D being set
for b3 being Relation of D holds
( b3 = pcs-general-power-IR (P,D) iff for A, B being set holds
( [A,B] in b3 iff ( A in D & B in D & ( for a being set st a in A holds
ex b being set st
( b in B & [a,b] in the InternalRel of P ) ) ) ) );
definition
let P be
TolStr ;
let D be
set ;
defpred S1[
set ,
set ]
means ( $1
in D & $2
in D & ( for
a,
b being
set st
a in $1 &
b in $2 holds
[a,b] in the
ToleranceRel of
P ) );
func pcs-general-power-TR (
P,
D)
-> Relation of
D means :
Def46:
for
A,
B being
set holds
(
[A,B] in it iff (
A in D &
B in D & ( for
a,
b being
set st
a in A &
b in B holds
[a,b] in the
ToleranceRel of
P ) ) );
existence
ex b1 being Relation of D st
for A, B being set holds
( [A,B] in b1 iff ( A in D & B in D & ( for a, b being set st a in A & b in B holds
[a,b] in the ToleranceRel of P ) ) )
uniqueness
for b1, b2 being Relation of D st ( for A, B being set holds
( [A,B] in b1 iff ( A in D & B in D & ( for a, b being set st a in A & b in B holds
[a,b] in the ToleranceRel of P ) ) ) ) & ( for A, B being set holds
( [A,B] in b2 iff ( A in D & B in D & ( for a, b being set st a in A & b in B holds
[a,b] in the ToleranceRel of P ) ) ) ) holds
b1 = b2
end;
:: deftheorem Def46 defines pcs-general-power-TR PCS_0:def 46 :
for P being TolStr
for D being set
for b3 being Relation of D holds
( b3 = pcs-general-power-TR (P,D) iff for A, B being set holds
( [A,B] in b3 iff ( A in D & B in D & ( for a, b being set st a in A & b in B holds
[a,b] in the ToleranceRel of P ) ) ) );
theorem
theorem
:: deftheorem defines pcs-general-power PCS_0:def 47 :
for P being pcs-Str
for D being set holds pcs-general-power (P,D) = pcs-Str(# D,(pcs-general-power-IR (P,D)),(pcs-general-power-TR (P,D)) #);
theorem Th44:
theorem
theorem Th46:
theorem
:: deftheorem defines pcs-coherent-power PCS_0:def 48 :
for P being pcs-Str holds pcs-coherent-power P = { X where X is Subset of P : X is pcs-self-coherent } ;
theorem Th48:
:: deftheorem defines pcs-power PCS_0:def 49 :
for P being pcs-Str holds pcs-power P = pcs-general-power (pcs-coherent-power P);