:: by Adam Grabowski

::

:: Received December 13, 1994

:: Copyright (c) 1994-2012 Association of Mizar Users

begin

theorem :: MSUHOM_1:3

theorem Th4: :: MSUHOM_1:4

for I being set

for C being Subset of I

for M being ManySortedSet of I holds (M | C) # = (M #) | (C *)

for C being Subset of I

for M being ManySortedSet of I holds (M | C) # = (M #) | (C *)

proof end;

definition

let S, S9 be non empty ManySortedSign ;

for S being non empty ManySortedSign holds

( the carrier of S c= the carrier of S & the carrier' of S c= the carrier' of S & the Arity of S | the carrier' of S = the Arity of S & the ResultSort of S | the carrier' of S = the ResultSort of S )

end;
pred S <= S9 means :Def1: :: MSUHOM_1:def 1

( the carrier of S c= the carrier of S9 & the carrier' of S c= the carrier' of S9 & the Arity of S9 | the carrier' of S = the Arity of S & the ResultSort of S9 | the carrier' of S = the ResultSort of S );

reflexivity ( the carrier of S c= the carrier of S9 & the carrier' of S c= the carrier' of S9 & the Arity of S9 | the carrier' of S = the Arity of S & the ResultSort of S9 | the carrier' of S = the ResultSort of S );

for S being non empty ManySortedSign holds

( the carrier of S c= the carrier of S & the carrier' of S c= the carrier' of S & the Arity of S | the carrier' of S = the Arity of S & the ResultSort of S | the carrier' of S = the ResultSort of S )

proof end;

:: deftheorem Def1 defines <= MSUHOM_1:def 1 :

for S, S9 being non empty ManySortedSign holds

( S <= S9 iff ( the carrier of S c= the carrier of S9 & the carrier' of S c= the carrier' of S9 & the Arity of S9 | the carrier' of S = the Arity of S & the ResultSort of S9 | the carrier' of S = the ResultSort of S ) );

for S, S9 being non empty ManySortedSign holds

( S <= S9 iff ( the carrier of S c= the carrier of S9 & the carrier' of S c= the carrier' of S9 & the Arity of S9 | the carrier' of S = the Arity of S & the ResultSort of S9 | the carrier' of S = the ResultSort of S ) );

theorem :: MSUHOM_1:7

for n being Nat

for A being non empty set

for g being Function

for a being Element of A

for k being Nat st 1 <= k & k <= n holds

(a .--> g) . ((n |-> a) /. k) = g

for A being non empty set

for g being Function

for a being Element of A

for k being Nat st 1 <= k & k <= n holds

(a .--> g) . ((n |-> a) /. k) = g

proof end;

theorem Th8: :: MSUHOM_1:8

for I being set

for I0 being Subset of I

for A, B being ManySortedSet of I

for F being ManySortedFunction of A,B

for A0, B0 being ManySortedSet of I0 st A0 = A | I0 & B0 = B | I0 holds

F | I0 is ManySortedFunction of A0,B0

for I0 being Subset of I

for A, B being ManySortedSet of I

for F being ManySortedFunction of A,B

for A0, B0 being ManySortedSet of I0 st A0 = A | I0 & B0 = B | I0 holds

F | I0 is ManySortedFunction of A0,B0

proof end;

definition

let S, S9 be non empty non void strict ManySortedSign ;

let A be strict non-empty MSAlgebra over S9;

assume A1: S <= S9 ;

ex b_{1} being strict non-empty MSAlgebra over S st

( the Sorts of b_{1} = the Sorts of A | the carrier of S & the Charact of b_{1} = the Charact of A | the carrier' of S )

for b_{1}, b_{2} being strict non-empty MSAlgebra over S st the Sorts of b_{1} = the Sorts of A | the carrier of S & the Charact of b_{1} = the Charact of A | the carrier' of S & the Sorts of b_{2} = the Sorts of A | the carrier of S & the Charact of b_{2} = the Charact of A | the carrier' of S holds

b_{1} = b_{2}
;

end;
let A be strict non-empty MSAlgebra over S9;

assume A1: S <= S9 ;

func A Over S -> strict non-empty MSAlgebra over S means :Def2: :: MSUHOM_1:def 2

( the Sorts of it = the Sorts of A | the carrier of S & the Charact of it = the Charact of A | the carrier' of S );

existence ( the Sorts of it = the Sorts of A | the carrier of S & the Charact of it = the Charact of A | the carrier' of S );

ex b

( the Sorts of b

proof end;

uniqueness for b

b

:: deftheorem Def2 defines Over MSUHOM_1:def 2 :

for S, S9 being non empty non void strict ManySortedSign

for A being strict non-empty MSAlgebra over S9 st S <= S9 holds

for b_{4} being strict non-empty MSAlgebra over S holds

( b_{4} = A Over S iff ( the Sorts of b_{4} = the Sorts of A | the carrier of S & the Charact of b_{4} = the Charact of A | the carrier' of S ) );

for S, S9 being non empty non void strict ManySortedSign

for A being strict non-empty MSAlgebra over S9 st S <= S9 holds

for b

( b

theorem Th9: :: MSUHOM_1:9

for S being non empty non void strict ManySortedSign

for A being strict non-empty MSAlgebra over S holds A = A Over S

for A being strict non-empty MSAlgebra over S holds A = A Over S

proof end;

definition

let U1, U2 be Universal_Algebra;

let h be Function of U1,U2;

assume A1: MSSign U1 = MSSign U2 ;

0 .--> h is ManySortedFunction of (MSAlg U1),((MSAlg U2) Over (MSSign U1))

end;
let h be Function of U1,U2;

assume A1: MSSign U1 = MSSign U2 ;

func MSAlg h -> ManySortedFunction of (MSAlg U1),((MSAlg U2) Over (MSSign U1)) equals :Def3: :: MSUHOM_1:def 3

0 .--> h;

coherence 0 .--> h;

0 .--> h is ManySortedFunction of (MSAlg U1),((MSAlg U2) Over (MSSign U1))

proof end;

:: deftheorem Def3 defines MSAlg MSUHOM_1:def 3 :

for U1, U2 being Universal_Algebra

for h being Function of U1,U2 st MSSign U1 = MSSign U2 holds

MSAlg h = 0 .--> h;

for U1, U2 being Universal_Algebra

for h being Function of U1,U2 st MSSign U1 = MSSign U2 holds

MSAlg h = 0 .--> h;

theorem Th11: :: MSUHOM_1:11

for U1, U2 being Universal_Algebra

for h being Function of U1,U2 st U1,U2 are_similar holds

for o being OperSymbol of (MSSign U1) holds (MSAlg h) . (the_result_sort_of o) = h

for h being Function of U1,U2 st U1,U2 are_similar holds

for o being OperSymbol of (MSSign U1) holds (MSAlg h) . (the_result_sort_of o) = h

proof end;

theorem Th12: :: MSUHOM_1:12

for U1 being Universal_Algebra

for o being OperSymbol of (MSSign U1) holds Den (o,(MSAlg U1)) = the charact of U1 . o

for o being OperSymbol of (MSSign U1) holds Den (o,(MSAlg U1)) = the charact of U1 . o

proof end;

Lm1: for U1 being Universal_Algebra holds dom (signature U1) = dom the charact of U1

proof end;

theorem Th13: :: MSUHOM_1:13

for U1 being Universal_Algebra

for o being OperSymbol of (MSSign U1) holds Den (o,(MSAlg U1)) is operation of U1

for o being OperSymbol of (MSSign U1) holds Den (o,(MSAlg U1)) is operation of U1

proof end;

Lm2: for U1, U2 being Universal_Algebra st U1,U2 are_similar holds

for o being OperSymbol of (MSSign U1) holds Den (o,((MSAlg U2) Over (MSSign U1))) is operation of U2

proof end;

theorem Th14: :: MSUHOM_1:14

for U1 being Universal_Algebra

for o being OperSymbol of (MSSign U1)

for y being Element of Args (o,(MSAlg U1)) holds y is FinSequence of the carrier of U1

for o being OperSymbol of (MSSign U1)

for y being Element of Args (o,(MSAlg U1)) holds y is FinSequence of the carrier of U1

proof end;

theorem Th15: :: MSUHOM_1:15

for U1, U2 being Universal_Algebra

for h being Function of U1,U2 st U1,U2 are_similar holds

for o being OperSymbol of (MSSign U1)

for y being Element of Args (o,(MSAlg U1)) holds (MSAlg h) # y = h * y

for h being Function of U1,U2 st U1,U2 are_similar holds

for o being OperSymbol of (MSSign U1)

for y being Element of Args (o,(MSAlg U1)) holds (MSAlg h) # y = h * y

proof end;

theorem Th16: :: MSUHOM_1:16

for U1, U2 being Universal_Algebra

for h being Function of U1,U2 st h is_homomorphism U1,U2 holds

MSAlg h is_homomorphism MSAlg U1,(MSAlg U2) Over (MSSign U1)

for h being Function of U1,U2 st h is_homomorphism U1,U2 holds

MSAlg h is_homomorphism MSAlg U1,(MSAlg U2) Over (MSSign U1)

proof end;

Lm3: for U1 being Universal_Algebra

for n being Nat st n in dom the charact of U1 holds

n is OperSymbol of (MSSign U1)

proof end;

theorem Th17: :: MSUHOM_1:17

for U1, U2 being Universal_Algebra

for h being Function of U1,U2 st U1,U2 are_similar holds

MSAlg h is ManySortedSet of {0}

for h being Function of U1,U2 st U1,U2 are_similar holds

MSAlg h is ManySortedSet of {0}

proof end;

theorem Th18: :: MSUHOM_1:18

for U1, U2 being Universal_Algebra

for h being Function of U1,U2 st h is_epimorphism U1,U2 holds

MSAlg h is_epimorphism MSAlg U1,(MSAlg U2) Over (MSSign U1)

for h being Function of U1,U2 st h is_epimorphism U1,U2 holds

MSAlg h is_epimorphism MSAlg U1,(MSAlg U2) Over (MSSign U1)

proof end;

theorem Th19: :: MSUHOM_1:19

for U1, U2 being Universal_Algebra

for h being Function of U1,U2 st h is_monomorphism U1,U2 holds

MSAlg h is_monomorphism MSAlg U1,(MSAlg U2) Over (MSSign U1)

for h being Function of U1,U2 st h is_monomorphism U1,U2 holds

MSAlg h is_monomorphism MSAlg U1,(MSAlg U2) Over (MSSign U1)

proof end;

theorem :: MSUHOM_1:20

for U1, U2 being Universal_Algebra

for h being Function of U1,U2 st h is_isomorphism U1,U2 holds

MSAlg h is_isomorphism MSAlg U1,(MSAlg U2) Over (MSSign U1)

for h being Function of U1,U2 st h is_isomorphism U1,U2 holds

MSAlg h is_isomorphism MSAlg U1,(MSAlg U2) Over (MSSign U1)

proof end;

theorem Th21: :: MSUHOM_1:21

for U1, U2 being Universal_Algebra

for h being Function of U1,U2 st U1,U2 are_similar & MSAlg h is_homomorphism MSAlg U1,(MSAlg U2) Over (MSSign U1) holds

h is_homomorphism U1,U2

for h being Function of U1,U2 st U1,U2 are_similar & MSAlg h is_homomorphism MSAlg U1,(MSAlg U2) Over (MSSign U1) holds

h is_homomorphism U1,U2

proof end;

theorem Th22: :: MSUHOM_1:22

for U1, U2 being Universal_Algebra

for h being Function of U1,U2 st U1,U2 are_similar & MSAlg h is_epimorphism MSAlg U1,(MSAlg U2) Over (MSSign U1) holds

h is_epimorphism U1,U2

for h being Function of U1,U2 st U1,U2 are_similar & MSAlg h is_epimorphism MSAlg U1,(MSAlg U2) Over (MSSign U1) holds

h is_epimorphism U1,U2

proof end;

theorem Th23: :: MSUHOM_1:23

for U1, U2 being Universal_Algebra

for h being Function of U1,U2 st U1,U2 are_similar & MSAlg h is_monomorphism MSAlg U1,(MSAlg U2) Over (MSSign U1) holds

h is_monomorphism U1,U2

for h being Function of U1,U2 st U1,U2 are_similar & MSAlg h is_monomorphism MSAlg U1,(MSAlg U2) Over (MSSign U1) holds

h is_monomorphism U1,U2

proof end;

theorem :: MSUHOM_1:24

for U1, U2 being Universal_Algebra

for h being Function of U1,U2 st U1,U2 are_similar & MSAlg h is_isomorphism MSAlg U1,(MSAlg U2) Over (MSSign U1) holds

h is_isomorphism U1,U2

for h being Function of U1,U2 st U1,U2 are_similar & MSAlg h is_isomorphism MSAlg U1,(MSAlg U2) Over (MSSign U1) holds

h is_isomorphism U1,U2

proof end;

theorem :: MSUHOM_1:26

for U1, U2, U3 being Universal_Algebra st U1,U2 are_similar & U2,U3 are_similar holds

for h1 being Function of U1,U2

for h2 being Function of U2,U3 holds (MSAlg h2) ** (MSAlg h1) = MSAlg (h2 * h1)

for h1 being Function of U1,U2

for h2 being Function of U2,U3 holds (MSAlg h2) ** (MSAlg h1) = MSAlg (h2 * h1)

proof end;