begin
:: deftheorem Def1 defines os-compatible OSALG_4:def 1 :
for R being non empty Poset
for A, B being ManySortedSet of the carrier of R
for IT being ManySortedRelation of A,B holds
( IT is os-compatible iff for s1, s2 being Element of R st s1 <= s2 holds
for x, y being set st x in A . s1 & y in B . s1 holds
( [x,y] in IT . s1 iff [x,y] in IT . s2 ) );
theorem Th1:
:: deftheorem OSALG_4:def 2 :
canceled;
:: deftheorem Def3 defines OrderSortedRelation OSALG_4:def 3 :
for S being OrderSortedSign
for U1 being OSAlgebra of S
for b3 being ManySortedRelation of U1 holds
( b3 is OrderSortedRelation of U1 iff b3 is os-compatible );
definition
let R be non
empty Poset;
func Path_Rel R -> Equivalence_Relation of the
carrier of
R means :
Def4:
for
x,
y being
set holds
(
[x,y] in it iff (
x in the
carrier of
R &
y in the
carrier of
R & ex
p being
FinSequence of the
carrier of
R st
( 1
< len p &
p . 1
= x &
p . (len p) = y & ( for
n being
Nat st 2
<= n &
n <= len p & not
[(p . n),(p . (n - 1))] in the
InternalRel of
R holds
[(p . (n - 1)),(p . n)] in the
InternalRel of
R ) ) ) );
existence
ex b1 being Equivalence_Relation of the carrier of R st
for x, y being set holds
( [x,y] in b1 iff ( x in the carrier of R & y in the carrier of R & ex p being FinSequence of the carrier of R st
( 1 < len p & p . 1 = x & p . (len p) = y & ( for n being Nat st 2 <= n & n <= len p & not [(p . n),(p . (n - 1))] in the InternalRel of R holds
[(p . (n - 1)),(p . n)] in the InternalRel of R ) ) ) )
uniqueness
for b1, b2 being Equivalence_Relation of the carrier of R st ( for x, y being set holds
( [x,y] in b1 iff ( x in the carrier of R & y in the carrier of R & ex p being FinSequence of the carrier of R st
( 1 < len p & p . 1 = x & p . (len p) = y & ( for n being Nat st 2 <= n & n <= len p & not [(p . n),(p . (n - 1))] in the InternalRel of R holds
[(p . (n - 1)),(p . n)] in the InternalRel of R ) ) ) ) ) & ( for x, y being set holds
( [x,y] in b2 iff ( x in the carrier of R & y in the carrier of R & ex p being FinSequence of the carrier of R st
( 1 < len p & p . 1 = x & p . (len p) = y & ( for n being Nat st 2 <= n & n <= len p & not [(p . n),(p . (n - 1))] in the InternalRel of R holds
[(p . (n - 1)),(p . n)] in the InternalRel of R ) ) ) ) ) holds
b1 = b2
end;
:: deftheorem Def4 defines Path_Rel OSALG_4:def 4 :
for R being non empty Poset
for b2 being Equivalence_Relation of the carrier of R holds
( b2 = Path_Rel R iff for x, y being set holds
( [x,y] in b2 iff ( x in the carrier of R & y in the carrier of R & ex p being FinSequence of the carrier of R st
( 1 < len p & p . 1 = x & p . (len p) = y & ( for n being Nat st 2 <= n & n <= len p & not [(p . n),(p . (n - 1))] in the InternalRel of R holds
[(p . (n - 1)),(p . n)] in the InternalRel of R ) ) ) ) );
theorem Th2:
:: deftheorem Def5 defines ~= OSALG_4:def 5 :
for R being non empty Poset
for s1, s2 being Element of R holds
( s1 ~= s2 iff [s1,s2] in Path_Rel R );
theorem
:: deftheorem defines Components OSALG_4:def 6 :
for R being non empty Poset holds Components R = Class (Path_Rel R);
:: deftheorem OSALG_4:def 7 :
canceled;
:: deftheorem defines CComp OSALG_4:def 8 :
for R being non empty Poset
for s1 being Element of R holds CComp s1 = Class ((Path_Rel R),s1);
theorem
canceled;
theorem Th5:
:: deftheorem defines -carrier_of OSALG_4:def 9 :
for R being non empty Poset
for A being ManySortedSet of the carrier of R
for C being Component of R holds A -carrier_of C = union { (A . s) where s is Element of R : s in C } ;
theorem Th6:
:: deftheorem Def10 defines locally_directed OSALG_4:def 10 :
for R being non empty Poset holds
( R is locally_directed iff for C being Component of R holds C is directed );
theorem Th7:
theorem Th8:
theorem Th9:
theorem Th10:
definition
let S be
locally_directed OrderSortedSign;
let A be
OSAlgebra of
S;
let E be
MSEquivalence-like OrderSortedRelation of
A;
let C be
Component of
S;
func CompClass (
E,
C)
-> Equivalence_Relation of
( the Sorts of A -carrier_of C) means :
Def11:
for
x,
y being
set holds
(
[x,y] in it iff ex
s1 being
Element of
S st
(
s1 in C &
[x,y] in E . s1 ) );
existence
ex b1 being Equivalence_Relation of ( the Sorts of A -carrier_of C) st
for x, y being set holds
( [x,y] in b1 iff ex s1 being Element of S st
( s1 in C & [x,y] in E . s1 ) )
uniqueness
for b1, b2 being Equivalence_Relation of ( the Sorts of A -carrier_of C) st ( for x, y being set holds
( [x,y] in b1 iff ex s1 being Element of S st
( s1 in C & [x,y] in E . s1 ) ) ) & ( for x, y being set holds
( [x,y] in b2 iff ex s1 being Element of S st
( s1 in C & [x,y] in E . s1 ) ) ) holds
b1 = b2
end;
:: deftheorem Def11 defines CompClass OSALG_4:def 11 :
for S being locally_directed OrderSortedSign
for A being OSAlgebra of S
for E being MSEquivalence-like OrderSortedRelation of A
for C being Component of S
for b5 being Equivalence_Relation of ( the Sorts of A -carrier_of C) holds
( b5 = CompClass (E,C) iff for x, y being set holds
( [x,y] in b5 iff ex s1 being Element of S st
( s1 in C & [x,y] in E . s1 ) ) );
definition
let S be
locally_directed OrderSortedSign;
let A be
OSAlgebra of
S;
let E be
MSEquivalence-like OrderSortedRelation of
A;
let s1 be
Element of
S;
func OSClass (
E,
s1)
-> Subset of
(Class (CompClass (E,(CComp s1)))) means :
Def12:
for
z being
set holds
(
z in it iff ex
x being
set st
(
x in the
Sorts of
A . s1 &
z = Class (
(CompClass (E,(CComp s1))),
x) ) );
existence
ex b1 being Subset of (Class (CompClass (E,(CComp s1)))) st
for z being set holds
( z in b1 iff ex x being set st
( x in the Sorts of A . s1 & z = Class ((CompClass (E,(CComp s1))),x) ) )
uniqueness
for b1, b2 being Subset of (Class (CompClass (E,(CComp s1)))) st ( for z being set holds
( z in b1 iff ex x being set st
( x in the Sorts of A . s1 & z = Class ((CompClass (E,(CComp s1))),x) ) ) ) & ( for z being set holds
( z in b2 iff ex x being set st
( x in the Sorts of A . s1 & z = Class ((CompClass (E,(CComp s1))),x) ) ) ) holds
b1 = b2
end;
:: deftheorem Def12 defines OSClass OSALG_4:def 12 :
for S being locally_directed OrderSortedSign
for A being OSAlgebra of S
for E being MSEquivalence-like OrderSortedRelation of A
for s1 being Element of S
for b5 being Subset of (Class (CompClass (E,(CComp s1)))) holds
( b5 = OSClass (E,s1) iff for z being set holds
( z in b5 iff ex x being set st
( x in the Sorts of A . s1 & z = Class ((CompClass (E,(CComp s1))),x) ) ) );
theorem Th11:
:: deftheorem Def13 defines OSClass OSALG_4:def 13 :
for S being locally_directed OrderSortedSign
for A being OSAlgebra of S
for E being MSEquivalence-like OrderSortedRelation of A
for b4 being OrderSortedSet of S holds
( b4 = OSClass E iff for s1 being Element of S holds b4 . s1 = OSClass (E,s1) );
:: deftheorem defines OSClass OSALG_4:def 14 :
for S being locally_directed OrderSortedSign
for U1 being non-empty OSAlgebra of S
for E being MSEquivalence-like OrderSortedRelation of U1
for s being Element of S
for x being Element of the Sorts of U1 . s holds OSClass (E,x) = Class ((CompClass (E,(CComp s))),x);
theorem
theorem Th13:
theorem
begin
:: deftheorem Def15 defines #_os OSALG_4:def 15 :
for S being locally_directed OrderSortedSign
for o being Element of the carrier' of S
for A being non-empty OSAlgebra of S
for R being OSCongruence of A
for x being Element of Args (o,A)
for b6 being Element of product ((OSClass R) * (the_arity_of o)) holds
( b6 = R #_os x iff for n being Nat st n in dom (the_arity_of o) holds
ex y being Element of the Sorts of A . ((the_arity_of o) /. n) st
( y = x . n & b6 . n = OSClass (R,y) ) );
definition
let S be
locally_directed OrderSortedSign;
let o be
Element of the
carrier' of
S;
let A be
non-empty OSAlgebra of
S;
let R be
OSCongruence of
A;
func OSQuotRes (
R,
o)
-> Function of
(( the Sorts of A * the ResultSort of S) . o),
(((OSClass R) * the ResultSort of S) . o) means :
Def16:
for
x being
Element of the
Sorts of
A . (the_result_sort_of o) holds
it . x = OSClass (
R,
x);
existence
ex b1 being Function of (( the Sorts of A * the ResultSort of S) . o),(((OSClass R) * the ResultSort of S) . o) st
for x being Element of the Sorts of A . (the_result_sort_of o) holds b1 . x = OSClass (R,x)
uniqueness
for b1, b2 being Function of (( the Sorts of A * the ResultSort of S) . o),(((OSClass R) * the ResultSort of S) . o) st ( for x being Element of the Sorts of A . (the_result_sort_of o) holds b1 . x = OSClass (R,x) ) & ( for x being Element of the Sorts of A . (the_result_sort_of o) holds b2 . x = OSClass (R,x) ) holds
b1 = b2
func OSQuotArgs (
R,
o)
-> Function of
((( the Sorts of A #) * the Arity of S) . o),
((((OSClass R) #) * the Arity of S) . o) means
for
x being
Element of
Args (
o,
A) holds
it . x = R #_os x;
existence
ex b1 being Function of ((( the Sorts of A #) * the Arity of S) . o),((((OSClass R) #) * the Arity of S) . o) st
for x being Element of Args (o,A) holds b1 . x = R #_os x
uniqueness
for b1, b2 being Function of ((( the Sorts of A #) * the Arity of S) . o),((((OSClass R) #) * the Arity of S) . o) st ( for x being Element of Args (o,A) holds b1 . x = R #_os x ) & ( for x being Element of Args (o,A) holds b2 . x = R #_os x ) holds
b1 = b2
end;
:: deftheorem Def16 defines OSQuotRes OSALG_4:def 16 :
for S being locally_directed OrderSortedSign
for o being Element of the carrier' of S
for A being non-empty OSAlgebra of S
for R being OSCongruence of A
for b5 being Function of (( the Sorts of A * the ResultSort of S) . o),(((OSClass R) * the ResultSort of S) . o) holds
( b5 = OSQuotRes (R,o) iff for x being Element of the Sorts of A . (the_result_sort_of o) holds b5 . x = OSClass (R,x) );
:: deftheorem defines OSQuotArgs OSALG_4:def 17 :
for S being locally_directed OrderSortedSign
for o being Element of the carrier' of S
for A being non-empty OSAlgebra of S
for R being OSCongruence of A
for b5 being Function of ((( the Sorts of A #) * the Arity of S) . o),((((OSClass R) #) * the Arity of S) . o) holds
( b5 = OSQuotArgs (R,o) iff for x being Element of Args (o,A) holds b5 . x = R #_os x );
definition
let S be
locally_directed OrderSortedSign;
let A be
non-empty OSAlgebra of
S;
let R be
OSCongruence of
A;
func OSQuotRes R -> ManySortedFunction of the
Sorts of
A * the
ResultSort of
S,
(OSClass R) * the
ResultSort of
S means
for
o being
OperSymbol of
S holds
it . o = OSQuotRes (
R,
o);
existence
ex b1 being ManySortedFunction of the Sorts of A * the ResultSort of S,(OSClass R) * the ResultSort of S st
for o being OperSymbol of S holds b1 . o = OSQuotRes (R,o)
uniqueness
for b1, b2 being ManySortedFunction of the Sorts of A * the ResultSort of S,(OSClass R) * the ResultSort of S st ( for o being OperSymbol of S holds b1 . o = OSQuotRes (R,o) ) & ( for o being OperSymbol of S holds b2 . o = OSQuotRes (R,o) ) holds
b1 = b2
func OSQuotArgs R -> ManySortedFunction of
( the Sorts of A #) * the
Arity of
S,
((OSClass R) #) * the
Arity of
S means
for
o being
OperSymbol of
S holds
it . o = OSQuotArgs (
R,
o);
existence
ex b1 being ManySortedFunction of ( the Sorts of A #) * the Arity of S,((OSClass R) #) * the Arity of S st
for o being OperSymbol of S holds b1 . o = OSQuotArgs (R,o)
uniqueness
for b1, b2 being ManySortedFunction of ( the Sorts of A #) * the Arity of S,((OSClass R) #) * the Arity of S st ( for o being OperSymbol of S holds b1 . o = OSQuotArgs (R,o) ) & ( for o being OperSymbol of S holds b2 . o = OSQuotArgs (R,o) ) holds
b1 = b2
end;
:: deftheorem defines OSQuotRes OSALG_4:def 18 :
for S being locally_directed OrderSortedSign
for A being non-empty OSAlgebra of S
for R being OSCongruence of A
for b4 being ManySortedFunction of the Sorts of A * the ResultSort of S,(OSClass R) * the ResultSort of S holds
( b4 = OSQuotRes R iff for o being OperSymbol of S holds b4 . o = OSQuotRes (R,o) );
:: deftheorem defines OSQuotArgs OSALG_4:def 19 :
for S being locally_directed OrderSortedSign
for A being non-empty OSAlgebra of S
for R being OSCongruence of A
for b4 being ManySortedFunction of ( the Sorts of A #) * the Arity of S,((OSClass R) #) * the Arity of S holds
( b4 = OSQuotArgs R iff for o being OperSymbol of S holds b4 . o = OSQuotArgs (R,o) );
theorem Th15:
definition
let S be
locally_directed OrderSortedSign;
let o be
Element of the
carrier' of
S;
let A be
non-empty OSAlgebra of
S;
let R be
OSCongruence of
A;
func OSQuotCharact (
R,
o)
-> Function of
((((OSClass R) #) * the Arity of S) . o),
(((OSClass R) * the ResultSort of S) . o) means :
Def20:
for
a being
Element of
Args (
o,
A) st
R #_os a in (((OSClass R) #) * the Arity of S) . o holds
it . (R #_os a) = ((OSQuotRes (R,o)) * (Den (o,A))) . a;
existence
ex b1 being Function of ((((OSClass R) #) * the Arity of S) . o),(((OSClass R) * the ResultSort of S) . o) st
for a being Element of Args (o,A) st R #_os a in (((OSClass R) #) * the Arity of S) . o holds
b1 . (R #_os a) = ((OSQuotRes (R,o)) * (Den (o,A))) . a
uniqueness
for b1, b2 being Function of ((((OSClass R) #) * the Arity of S) . o),(((OSClass R) * the ResultSort of S) . o) st ( for a being Element of Args (o,A) st R #_os a in (((OSClass R) #) * the Arity of S) . o holds
b1 . (R #_os a) = ((OSQuotRes (R,o)) * (Den (o,A))) . a ) & ( for a being Element of Args (o,A) st R #_os a in (((OSClass R) #) * the Arity of S) . o holds
b2 . (R #_os a) = ((OSQuotRes (R,o)) * (Den (o,A))) . a ) holds
b1 = b2
end;
:: deftheorem Def20 defines OSQuotCharact OSALG_4:def 20 :
for S being locally_directed OrderSortedSign
for o being Element of the carrier' of S
for A being non-empty OSAlgebra of S
for R being OSCongruence of A
for b5 being Function of ((((OSClass R) #) * the Arity of S) . o),(((OSClass R) * the ResultSort of S) . o) holds
( b5 = OSQuotCharact (R,o) iff for a being Element of Args (o,A) st R #_os a in (((OSClass R) #) * the Arity of S) . o holds
b5 . (R #_os a) = ((OSQuotRes (R,o)) * (Den (o,A))) . a );
:: deftheorem Def21 defines OSQuotCharact OSALG_4:def 21 :
for S being locally_directed OrderSortedSign
for A being non-empty OSAlgebra of S
for R being OSCongruence of A
for b4 being ManySortedFunction of ((OSClass R) #) * the Arity of S,(OSClass R) * the ResultSort of S holds
( b4 = OSQuotCharact R iff for o being OperSymbol of S holds b4 . o = OSQuotCharact (R,o) );
:: deftheorem defines QuotOSAlg OSALG_4:def 22 :
for S being locally_directed OrderSortedSign
for U1 being non-empty OSAlgebra of S
for R being OSCongruence of U1 holds QuotOSAlg (U1,R) = MSAlgebra(# (OSClass R),(OSQuotCharact R) #);
definition
let S be
locally_directed OrderSortedSign;
let U1 be
non-empty OSAlgebra of
S;
let R be
OSCongruence of
U1;
let s be
Element of
S;
func OSNat_Hom (
U1,
R,
s)
-> Function of
( the Sorts of U1 . s),
(OSClass (R,s)) means :
Def23:
for
x being
Element of the
Sorts of
U1 . s holds
it . x = OSClass (
R,
x);
existence
ex b1 being Function of ( the Sorts of U1 . s),(OSClass (R,s)) st
for x being Element of the Sorts of U1 . s holds b1 . x = OSClass (R,x)
uniqueness
for b1, b2 being Function of ( the Sorts of U1 . s),(OSClass (R,s)) st ( for x being Element of the Sorts of U1 . s holds b1 . x = OSClass (R,x) ) & ( for x being Element of the Sorts of U1 . s holds b2 . x = OSClass (R,x) ) holds
b1 = b2
end;
:: deftheorem Def23 defines OSNat_Hom OSALG_4:def 23 :
for S being locally_directed OrderSortedSign
for U1 being non-empty OSAlgebra of S
for R being OSCongruence of U1
for s being Element of S
for b5 being Function of ( the Sorts of U1 . s),(OSClass (R,s)) holds
( b5 = OSNat_Hom (U1,R,s) iff for x being Element of the Sorts of U1 . s holds b5 . x = OSClass (R,x) );
definition
let S be
locally_directed OrderSortedSign;
let U1 be
non-empty OSAlgebra of
S;
let R be
OSCongruence of
U1;
func OSNat_Hom (
U1,
R)
-> ManySortedFunction of
U1,
(QuotOSAlg (U1,R)) means :
Def24:
for
s being
Element of
S holds
it . s = OSNat_Hom (
U1,
R,
s);
existence
ex b1 being ManySortedFunction of U1,(QuotOSAlg (U1,R)) st
for s being Element of S holds b1 . s = OSNat_Hom (U1,R,s)
uniqueness
for b1, b2 being ManySortedFunction of U1,(QuotOSAlg (U1,R)) st ( for s being Element of S holds b1 . s = OSNat_Hom (U1,R,s) ) & ( for s being Element of S holds b2 . s = OSNat_Hom (U1,R,s) ) holds
b1 = b2
end;
:: deftheorem Def24 defines OSNat_Hom OSALG_4:def 24 :
for S being locally_directed OrderSortedSign
for U1 being non-empty OSAlgebra of S
for R being OSCongruence of U1
for b4 being ManySortedFunction of U1,(QuotOSAlg (U1,R)) holds
( b4 = OSNat_Hom (U1,R) iff for s being Element of S holds b4 . s = OSNat_Hom (U1,R,s) );
theorem
theorem Th17:
:: deftheorem Def25 defines OSCng OSALG_4:def 25 :
for S being locally_directed OrderSortedSign
for U1, U2 being non-empty OSAlgebra of S
for F being ManySortedFunction of U1,U2 st F is_homomorphism U1,U2 & F is order-sorted holds
OSCng F = MSCng F;
definition
let S be
locally_directed OrderSortedSign;
let U1,
U2 be
non-empty OSAlgebra of
S;
let F be
ManySortedFunction of
U1,
U2;
let s be
Element of
S;
assume that A1:
F is_homomorphism U1,
U2
and A2:
F is
order-sorted
;
func OSHomQuot (
F,
s)
-> Function of
( the Sorts of (QuotOSAlg (U1,(OSCng F))) . s),
( the Sorts of U2 . s) means :
Def26:
for
x being
Element of the
Sorts of
U1 . s holds
it . (OSClass ((OSCng F),x)) = (F . s) . x;
existence
ex b1 being Function of ( the Sorts of (QuotOSAlg (U1,(OSCng F))) . s),( the Sorts of U2 . s) st
for x being Element of the Sorts of U1 . s holds b1 . (OSClass ((OSCng F),x)) = (F . s) . x
uniqueness
for b1, b2 being Function of ( the Sorts of (QuotOSAlg (U1,(OSCng F))) . s),( the Sorts of U2 . s) st ( for x being Element of the Sorts of U1 . s holds b1 . (OSClass ((OSCng F),x)) = (F . s) . x ) & ( for x being Element of the Sorts of U1 . s holds b2 . (OSClass ((OSCng F),x)) = (F . s) . x ) holds
b1 = b2
end;
:: deftheorem Def26 defines OSHomQuot OSALG_4:def 26 :
for S being locally_directed OrderSortedSign
for U1, U2 being non-empty OSAlgebra of S
for F being ManySortedFunction of U1,U2
for s being Element of S st F is_homomorphism U1,U2 & F is order-sorted holds
for b6 being Function of ( the Sorts of (QuotOSAlg (U1,(OSCng F))) . s),( the Sorts of U2 . s) holds
( b6 = OSHomQuot (F,s) iff for x being Element of the Sorts of U1 . s holds b6 . (OSClass ((OSCng F),x)) = (F . s) . x );
definition
let S be
locally_directed OrderSortedSign;
let U1,
U2 be
non-empty OSAlgebra of
S;
let F be
ManySortedFunction of
U1,
U2;
func OSHomQuot F -> ManySortedFunction of
(QuotOSAlg (U1,(OSCng F))),
U2 means :
Def27:
for
s being
Element of
S holds
it . s = OSHomQuot (
F,
s);
existence
ex b1 being ManySortedFunction of (QuotOSAlg (U1,(OSCng F))),U2 st
for s being Element of S holds b1 . s = OSHomQuot (F,s)
uniqueness
for b1, b2 being ManySortedFunction of (QuotOSAlg (U1,(OSCng F))),U2 st ( for s being Element of S holds b1 . s = OSHomQuot (F,s) ) & ( for s being Element of S holds b2 . s = OSHomQuot (F,s) ) holds
b1 = b2
end;
:: deftheorem Def27 defines OSHomQuot OSALG_4:def 27 :
for S being locally_directed OrderSortedSign
for U1, U2 being non-empty OSAlgebra of S
for F being ManySortedFunction of U1,U2
for b5 being ManySortedFunction of (QuotOSAlg (U1,(OSCng F))),U2 holds
( b5 = OSHomQuot F iff for s being Element of S holds b5 . s = OSHomQuot (F,s) );
theorem Th18:
theorem Th19:
theorem
:: deftheorem Def28 defines monotone OSALG_4:def 28 :
for S being OrderSortedSign
for U1 being non-empty OSAlgebra of S
for R being MSEquivalence-like OrderSortedRelation of U1 holds
( R is monotone iff for o1, o2 being OperSymbol of S st o1 <= o2 holds
for x1 being Element of Args (o1,U1)
for x2 being Element of Args (o2,U1) st ( for y being Nat st y in dom x1 holds
[(x1 . y),(x2 . y)] in R . ((the_arity_of o2) /. y) ) holds
[((Den (o1,U1)) . x1),((Den (o2,U1)) . x2)] in R . (the_result_sort_of o2) );
theorem Th21:
theorem Th22:
theorem Th23:
theorem Th24:
theorem
canceled;
theorem
definition
let S be
locally_directed OrderSortedSign;
let U1,
U2 be
non-empty OSAlgebra of
S;
let F be
ManySortedFunction of
U1,
U2;
let R be
OSCongruence of
U1;
let s be
Element of
S;
assume that A1:
F is_homomorphism U1,
U2
and A2:
F is
order-sorted
and A3:
R c= OSCng F
;
func OSHomQuot (
F,
R,
s)
-> Function of
( the Sorts of (QuotOSAlg (U1,R)) . s),
( the Sorts of U2 . s) means :
Def29:
for
x being
Element of the
Sorts of
U1 . s holds
it . (OSClass (R,x)) = (F . s) . x;
existence
ex b1 being Function of ( the Sorts of (QuotOSAlg (U1,R)) . s),( the Sorts of U2 . s) st
for x being Element of the Sorts of U1 . s holds b1 . (OSClass (R,x)) = (F . s) . x
uniqueness
for b1, b2 being Function of ( the Sorts of (QuotOSAlg (U1,R)) . s),( the Sorts of U2 . s) st ( for x being Element of the Sorts of U1 . s holds b1 . (OSClass (R,x)) = (F . s) . x ) & ( for x being Element of the Sorts of U1 . s holds b2 . (OSClass (R,x)) = (F . s) . x ) holds
b1 = b2
end;
:: deftheorem Def29 defines OSHomQuot OSALG_4:def 29 :
for S being locally_directed OrderSortedSign
for U1, U2 being non-empty OSAlgebra of S
for F being ManySortedFunction of U1,U2
for R being OSCongruence of U1
for s being Element of S st F is_homomorphism U1,U2 & F is order-sorted & R c= OSCng F holds
for b7 being Function of ( the Sorts of (QuotOSAlg (U1,R)) . s),( the Sorts of U2 . s) holds
( b7 = OSHomQuot (F,R,s) iff for x being Element of the Sorts of U1 . s holds b7 . (OSClass (R,x)) = (F . s) . x );
definition
let S be
locally_directed OrderSortedSign;
let U1,
U2 be
non-empty OSAlgebra of
S;
let F be
ManySortedFunction of
U1,
U2;
let R be
OSCongruence of
U1;
func OSHomQuot (
F,
R)
-> ManySortedFunction of
(QuotOSAlg (U1,R)),
U2 means :
Def30:
for
s being
Element of
S holds
it . s = OSHomQuot (
F,
R,
s);
existence
ex b1 being ManySortedFunction of (QuotOSAlg (U1,R)),U2 st
for s being Element of S holds b1 . s = OSHomQuot (F,R,s)
uniqueness
for b1, b2 being ManySortedFunction of (QuotOSAlg (U1,R)),U2 st ( for s being Element of S holds b1 . s = OSHomQuot (F,R,s) ) & ( for s being Element of S holds b2 . s = OSHomQuot (F,R,s) ) holds
b1 = b2
end;
:: deftheorem Def30 defines OSHomQuot OSALG_4:def 30 :
for S being locally_directed OrderSortedSign
for U1, U2 being non-empty OSAlgebra of S
for F being ManySortedFunction of U1,U2
for R being OSCongruence of U1
for b6 being ManySortedFunction of (QuotOSAlg (U1,R)),U2 holds
( b6 = OSHomQuot (F,R) iff for s being Element of S holds b6 . s = OSHomQuot (F,R,s) );
theorem