unialg_3.miz
begin
reserve U0 for
Universal_Algebra,
U1 for
SubAlgebra of U0,
o for
operation of U0;
definition
let U0;
::
UNIALG_3:def1
mode
SubAlgebra-Family of U0 ->
set means
:
Def1: for U1 be
set st U1
in it holds U1 is
SubAlgebra of U0;
existence
proof
take
{} ;
thus thesis;
end;
end
registration
let U0;
cluster non
empty for
SubAlgebra-Family of U0;
existence
proof
set U1 = the
SubAlgebra of U0;
for U2 be
set st U2
in
{U1} holds U2 is
SubAlgebra of U0 by
TARSKI:def 1;
then
reconsider U00 =
{U1} as
SubAlgebra-Family of U0 by
Def1;
take U00;
thus thesis;
end;
end
definition
let U0;
:: original:
Sub
redefine
func
Sub (U0) -> non
empty
SubAlgebra-Family of U0 ;
coherence
proof
(
Sub U0) is
SubAlgebra-Family of U0
proof
let U1 be
set;
assume U1
in (
Sub U0);
hence thesis by
UNIALG_2:def 14;
end;
hence thesis;
end;
let U00 be non
empty
SubAlgebra-Family of U0;
:: original:
Element
redefine
mode
Element of U00 ->
SubAlgebra of U0 ;
coherence by
Def1;
end
definition
let U0;
let u be
Element of (
Sub U0);
::
UNIALG_3:def2
func
carr u ->
Subset of U0 means
:
Def2: ex U1 be
SubAlgebra of U0 st u
= U1 & it
= the
carrier of U1;
existence
proof
consider U1 be
SubAlgebra of U0 such that
A1: U1
= u;
reconsider A = the
carrier of U1 as
Subset of U0 by
UNIALG_2:def 7;
take A, U1;
thus thesis by
A1;
end;
uniqueness ;
end
definition
let U0;
::
UNIALG_3:def3
func
Carr U0 ->
Function of (
Sub U0), (
bool the
carrier of U0) means
:
Def3: for u be
Element of (
Sub U0) holds (it
. u)
= (
carr u);
existence
proof
deffunc
F(
Element of (
Sub U0)) = (
carr $1);
ex f be
Function of (
Sub U0), (
bool the
carrier of U0) st for x be
Element of (
Sub U0) holds (f
. x)
=
F(x) from
FUNCT_2:sch 4;
hence thesis;
end;
uniqueness
proof
let F1,F2 be
Function of (
Sub U0), (
bool the
carrier of U0) such that
A1: for u1 be
Element of (
Sub U0) holds (F1
. u1)
= (
carr u1) and
A2: for u2 be
Element of (
Sub U0) holds (F2
. u2)
= (
carr u2);
for u be
object st u
in (
Sub U0) holds (F1
. u)
= (F2
. u)
proof
let u be
object;
assume u
in (
Sub U0);
then
reconsider u1 = u as
Element of (
Sub U0);
consider U1 be
SubAlgebra of U0 such that u1
= U1 and
A3: (
carr u1)
= the
carrier of U1 by
Def2;
(F1
. u1)
= the
carrier of U1 by
A1,
A3;
hence thesis by
A2,
A3;
end;
hence thesis by
FUNCT_2: 12;
end;
end
theorem ::
UNIALG_3:1
Th1: for u be
object holds u
in (
Sub U0) iff ex U1 be
strict
SubAlgebra of U0 st u
= U1
proof
let u be
object;
thus u
in (
Sub U0) implies ex U1 be
strict
SubAlgebra of U0 st u
= U1
proof
assume u
in (
Sub U0);
then u is
strict
SubAlgebra of U0 by
UNIALG_2:def 14;
hence thesis;
end;
thus thesis by
UNIALG_2:def 14;
end;
theorem ::
UNIALG_3:2
for H be non
empty
Subset of U0 holds for o holds (
arity o)
=
0 implies (H
is_closed_on o iff (o
.
{} )
in H)
proof
let H be non
empty
Subset of U0;
let o;
assume
A1: (
arity o)
=
0 ;
thus H
is_closed_on o implies (o
.
{} )
in H
proof
assume
A2: H
is_closed_on o;
consider s be
FinSequence of H such that
A3: (
len s)
= (
arity o) by
FINSEQ_1: 19;
s
=
{} by
A1,
A3;
hence thesis by
A2,
A3;
end;
thus (o
.
{} )
in H implies H
is_closed_on o
proof
assume
A4: (o
.
{} )
in H;
let s be
FinSequence of H;
assume (
len s)
= (
arity o);
then s
=
{} by
A1;
hence thesis by
A4;
end;
end;
theorem ::
UNIALG_3:3
Th3: for U1 be
SubAlgebra of U0 holds the
carrier of U1
c= the
carrier of U0
proof
let U1 be
SubAlgebra of U0;
the
carrier of U1 is
Subset of U0 by
UNIALG_2:def 7;
hence thesis;
end;
theorem ::
UNIALG_3:4
for H be non
empty
Subset of U0 holds for o holds H
is_closed_on o & (
arity o)
=
0 implies (o
/. H)
= o
proof
let H be non
empty
Subset of U0;
let o;
assume that
A1: H
is_closed_on o and
A2: (
arity o)
=
0 ;
A3: (
dom o)
= (
0
-tuples_on the
carrier of U0) by
A2,
MARGREL1: 22
.=
{(
<*> the
carrier of U0)} by
FINSEQ_2: 94
.=
{(
<*> H)}
.= (
0
-tuples_on H) by
FINSEQ_2: 94;
(o
/. H)
= (o
| (
0
-tuples_on H)) by
A1,
A2,
UNIALG_2:def 5;
hence thesis by
A3,
RELAT_1: 69;
end;
theorem ::
UNIALG_3:5
(
Constants U0)
= { (o
.
{} ) where o be
operation of U0 : (
arity o)
=
0 }
proof
set S = { (o
.
{} ) where o be
operation of U0 : (
arity o)
=
0 };
thus (
Constants U0)
c= S
proof
let a be
object;
assume a
in (
Constants U0);
then
consider u be
Element of U0 such that
A1: u
= a and
A2: ex o be
operation of U0 st (
arity o)
=
0 & u
in (
rng o);
consider o be
operation of U0 such that
A3: (
arity o)
=
0 and
A4: u
in (
rng o) by
A2;
consider a2 be
object such that
A5: a2
in (
dom o) and
A6: u
= (o
. a2) by
A4,
FUNCT_1:def 3;
(
dom o)
= (
0
-tuples_on the
carrier of U0) by
A3,
MARGREL1: 22;
then a2 is
Tuple of
0 , the
carrier of U0 by
A5,
FINSEQ_2: 131;
then
reconsider a1 = a2 as
FinSequence of the
carrier of U0;
(
len a1)
=
0 by
A3,
A5,
MARGREL1:def 25;
then a1
=
{} ;
hence thesis by
A1,
A3,
A6;
end;
thus S
c= (
Constants U0)
proof
let a be
object;
assume a
in S;
then
consider o be
operation of U0 such that
A7: a
= (o
.
{} ) and
A8: (
arity o)
=
0 ;
(
dom o)
= (
0
-tuples_on the
carrier of U0) by
A8,
MARGREL1: 22
.=
{(
<*> the
carrier of U0)} by
FINSEQ_2: 94;
then (
{} the
carrier of U0)
in (
dom o) by
TARSKI:def 1;
then (o
. (
{} the
carrier of U0))
in (
rng o) by
FUNCT_1:def 3;
hence thesis by
A7,
A8;
end;
end;
theorem ::
UNIALG_3:6
Th6: for U0 be
with_const_op
Universal_Algebra holds for U1 be
SubAlgebra of U0 holds (
Constants U0)
= (
Constants U1)
proof
let U0 be
with_const_op
Universal_Algebra;
let U1 be
SubAlgebra of U0;
thus (
Constants U0)
c= (
Constants U1)
proof
reconsider A = the
carrier of U1 as non
empty
Subset of U0 by
UNIALG_2:def 7;
let a be
object;
A1: (
Constants U0) is
Subset of U1 by
UNIALG_2: 15;
assume
A2: a
in (
Constants U0);
then
consider u be
Element of U0 such that
A3: u
= a and
A4: ex o be
operation of U0 st (
arity o)
=
0 & u
in (
rng o);
consider o1 be
operation of U0 such that
A5: (
arity o1)
=
0 and
A6: u
in (
rng o1) by
A4;
A7: (
dom o1)
= (
0
-tuples_on the
carrier of U0) by
A5,
MARGREL1: 22
.=
{(
<*> the
carrier of U0)} by
FINSEQ_2: 94
.=
{(
<*> A)}
.= (
0
-tuples_on A) by
FINSEQ_2: 94;
consider x be
object such that
A8: x
in (
dom the
charact of U0) and
A9: o1
= (the
charact of U0
. x) by
FUNCT_1:def 3;
reconsider x as
Element of
NAT by
A8;
x
in (
dom the
charact of U1) by
A8,
UNIALG_2: 7;
then
reconsider o = (the
charact of U1
. x) as
operation of U1 by
FUNCT_1:def 3;
A is
opers_closed by
UNIALG_2:def 7;
then
A10: A
is_closed_on o1;
x
in (
dom (
Opers (U0,A))) by
A8,
UNIALG_2:def 6;
then ((
Opers (U0,A))
. x)
= (o1
/. A) by
A9,
UNIALG_2:def 6;
then o
= (o1
/. A) by
UNIALG_2:def 7
.= (o1
| (
0
-tuples_on A)) by
A5,
A10,
UNIALG_2:def 5
.= o1 by
A7,
RELAT_1: 69;
hence thesis by
A2,
A3,
A5,
A6,
A1;
end;
thus (
Constants U1)
c= (
Constants U0)
proof
reconsider A = the
carrier of U1 as non
empty
Subset of U0 by
UNIALG_2:def 7;
let a be
object;
assume a
in (
Constants U1);
then
consider u be
Element of U1 such that
A11: u
= a and
A12: ex o be
operation of U1 st (
arity o)
=
0 & u
in (
rng o);
consider o be
operation of U1 such that
A13: (
arity o)
=
0 and
A14: u
in (
rng o) by
A12;
consider x be
object such that
A15: x
in (
dom the
charact of U1) and
A16: o
= (the
charact of U1
. x) by
FUNCT_1:def 3;
reconsider x as
Element of
NAT by
A15;
A17: x
in (
dom the
charact of U0) by
A15,
UNIALG_2: 7;
then
reconsider o1 = (the
charact of U0
. x) as
operation of U0 by
FUNCT_1:def 3;
(
len (
signature U1))
= (
len the
charact of U1) by
UNIALG_1:def 4;
then
A18: x
in (
dom (
signature U1)) by
A15,
FINSEQ_3: 29;
(U1,U0)
are_similar by
UNIALG_2: 13;
then (
signature U0)
= (
signature U1);
then
A19: (
arity o1)
= ((
signature U1)
. x) by
A18,
UNIALG_1:def 4
.=
0 by
A13,
A16,
A18,
UNIALG_1:def 4;
then
A20: (
dom o1)
= (
0
-tuples_on the
carrier of U0) by
MARGREL1: 22
.=
{(
<*> the
carrier of U0)} by
FINSEQ_2: 94
.=
{(
<*> A)}
.= (
0
-tuples_on A) by
FINSEQ_2: 94;
A is
opers_closed by
UNIALG_2:def 7;
then
A21: A
is_closed_on o1;
the
carrier of U1 is
Subset of U0 by
UNIALG_2:def 7;
then
A22: u
in the
carrier of U0 by
TARSKI:def 3;
x
in (
dom (
Opers (U0,A))) by
A17,
UNIALG_2:def 6;
then ((
Opers (U0,A))
. x)
= (o1
/. A) by
UNIALG_2:def 6;
then o
= (o1
/. A) by
A16,
UNIALG_2:def 7
.= (o1
| (
0
-tuples_on A)) by
A21,
A19,
UNIALG_2:def 5
.= o1 by
A20,
RELAT_1: 69;
hence thesis by
A11,
A13,
A14,
A22;
end;
end;
registration
let U0 be
with_const_op
Universal_Algebra;
cluster ->
with_const_op for
SubAlgebra of U0;
coherence
proof
let U1 be
SubAlgebra of U0;
reconsider U2 = U1 as
Universal_Algebra;
set u = the
Element of (
Constants U2);
(
Constants U2)
= (
Constants U0) by
Th6;
then u
in (
Constants U2);
then ex u1 be
Element of U2 st u
= u1 & ex o be
operation of U2 st (
arity o)
=
0 & u1
in (
rng o);
hence thesis;
end;
end
theorem ::
UNIALG_3:7
for U0 be
with_const_op
Universal_Algebra holds for U1,U2 be
SubAlgebra of U0 holds (
Constants U1)
= (
Constants U2)
proof
let U0 be
with_const_op
Universal_Algebra, U1,U2 be
SubAlgebra of U0;
(
Constants U0)
= (
Constants U1) by
Th6;
hence thesis by
Th6;
end;
definition
let U0;
:: original:
Carr
redefine
::
UNIALG_3:def4
func
Carr U0 means
:
Def4: for u be
Element of (
Sub U0), U1 be
SubAlgebra of U0 st u
= U1 holds (it
. u)
= the
carrier of U1;
compatibility
proof
let f be
Function of (
Sub U0), (
bool the
carrier of U0);
hereby
assume
A1: f
= (
Carr U0);
let u be
Element of (
Sub U0), U1 be
SubAlgebra of U0;
assume
A2: u
= U1;
ex U2 be
SubAlgebra of U0 st u
= U2 & (
carr u)
= the
carrier of U2 by
Def2;
hence (f
. u)
= the
carrier of U1 by
A1,
A2,
Def3;
end;
assume
A3: for u be
Element of (
Sub U0), U1 be
SubAlgebra of U0 st u
= U1 holds (f
. u)
= the
carrier of U1;
for u1 be
Element of (
Sub U0) holds (f
. u1)
= (
carr u1)
proof
let u be
Element of (
Sub U0);
reconsider U1 = u as
Element of (
Sub U0);
(f
. u)
= the
carrier of U1 by
A3;
hence thesis by
Def2;
end;
hence f
= (
Carr U0) by
Def3;
end;
end
theorem ::
UNIALG_3:8
for H be
strict
SubAlgebra of U0 holds for u be
Element of U0 holds u
in ((
Carr U0)
. H) iff u
in H
proof
let H be
strict
SubAlgebra of U0;
let u be
Element of U0;
thus u
in ((
Carr U0)
. H) implies u
in H
proof
A1: H
in (
Sub U0) by
UNIALG_2:def 14;
assume u
in ((
Carr U0)
. H);
then u
in the
carrier of H by
A1,
Def4;
hence thesis by
STRUCT_0:def 5;
end;
thus u
in H implies u
in ((
Carr U0)
. H)
proof
H
in (
Sub U0) by
UNIALG_2:def 14;
then
A2: ((
Carr U0)
. H)
= the
carrier of H by
Def4;
assume u
in H;
hence thesis by
A2,
STRUCT_0:def 5;
end;
end;
theorem ::
UNIALG_3:9
Th9: for H be non
empty
Subset of (
Sub U0) holds ((
Carr U0)
.: H) is non
empty
proof
let H be non
empty
Subset of (
Sub U0);
consider u be
Element of (
Sub U0) such that
A1: u
in H by
SUBSET_1: 4;
((
Carr U0)
. u)
in ((
Carr U0)
.: H) by
A1,
FUNCT_2: 35;
hence thesis;
end;
theorem ::
UNIALG_3:10
for U0 be
with_const_op
Universal_Algebra holds for U1 be
strict
SubAlgebra of U0 holds (
Constants U0)
c= ((
Carr U0)
. U1)
proof
let U0 be
with_const_op
Universal_Algebra;
let U1 be
strict
SubAlgebra of U0;
U1
in (
Sub U0) by
Th1;
then
A1: ((
Carr U0)
. U1)
= the
carrier of U1 by
Def4;
(
Constants U1)
= (
Constants U0) by
Th6;
hence thesis by
A1;
end;
theorem ::
UNIALG_3:11
Th11: for U0 be
with_const_op
Universal_Algebra holds for U1 be
SubAlgebra of U0 holds for a be
set holds a is
Element of (
Constants U0) implies a
in the
carrier of U1
proof
let U0 be
with_const_op
Universal_Algebra;
let U1 be
SubAlgebra of U0;
let a be
set;
A1: (
Constants U0) is
Subset of U1 by
UNIALG_2: 15;
assume a is
Element of (
Constants U0);
hence thesis by
A1,
TARSKI:def 3;
end;
theorem ::
UNIALG_3:12
Th12: for U0 be
with_const_op
Universal_Algebra holds for H be non
empty
Subset of (
Sub U0) holds (
meet ((
Carr U0)
.: H)) is non
empty
Subset of U0
proof
let U0 be
with_const_op
Universal_Algebra;
let H be non
empty
Subset of (
Sub U0);
set u = the
Element of (
Constants U0);
reconsider CH = ((
Carr U0)
.: H) as
Subset-Family of U0;
A1: for S be
set st S
in ((
Carr U0)
.: H) holds u
in S
proof
let S be
set;
assume
A2: S
in ((
Carr U0)
.: H);
then
reconsider S as
Subset of U0;
consider X1 be
Element of (
Sub U0) such that X1
in H and
A3: S
= ((
Carr U0)
. X1) by
A2,
FUNCT_2: 65;
reconsider X1 as
strict
SubAlgebra of U0 by
UNIALG_2:def 14;
S
= the
carrier of X1 by
A3,
Def4;
hence thesis by
Th11;
end;
CH
<>
{} by
Th9;
hence thesis by
A1,
SETFAM_1:def 1;
end;
theorem ::
UNIALG_3:13
for U0 be
with_const_op
Universal_Algebra holds the
carrier of (
UnSubAlLattice U0)
= (
Sub U0);
theorem ::
UNIALG_3:14
Th14: for U0 be
with_const_op
Universal_Algebra holds for H be non
empty
Subset of (
Sub U0) holds for S be non
empty
Subset of U0 st S
= (
meet ((
Carr U0)
.: H)) holds S is
opers_closed
proof
let U0 be
with_const_op
Universal_Algebra;
let H be non
empty
Subset of (
Sub U0);
let S be non
empty
Subset of U0 such that
A1: S
= (
meet ((
Carr U0)
.: H));
A2: ((
Carr U0)
.: H)
<>
{} by
Th9;
for o be
operation of U0 holds S
is_closed_on o
proof
let o be
operation of U0;
let s be
FinSequence of S;
assume
A3: (
len s)
= (
arity o);
now
let a be
set;
assume
A4: a
in ((
Carr U0)
.: H);
then
reconsider H1 = a as
Subset of U0;
consider H2 be
Element of (
Sub U0) such that H2
in H and
A5: H1
= ((
Carr U0)
. H2) by
A4,
FUNCT_2: 65;
A6: H1
= the
carrier of H2 by
A5,
Def4;
then
reconsider H3 = H1 as non
empty
Subset of U0;
S
c= H1 by
A1,
A4,
SETFAM_1: 3;
then
reconsider s1 = s as
FinSequence of H3 by
FINSEQ_2: 24;
H3 is
opers_closed by
A6,
UNIALG_2:def 7;
then H3
is_closed_on o;
then (o
. s1)
in H3 by
A3;
hence (o
. s)
in a;
end;
hence thesis by
A1,
A2,
SETFAM_1:def 1;
end;
hence thesis;
end;
definition
let U0 be
with_const_op
strict
Universal_Algebra;
let H be non
empty
Subset of (
Sub U0);
::
UNIALG_3:def5
func
meet H ->
strict
SubAlgebra of U0 means
:
Def5: the
carrier of it
= (
meet ((
Carr U0)
.: H));
existence
proof
reconsider H1 = (
meet ((
Carr U0)
.: H)) as non
empty
Subset of U0 by
Th12;
(
UniAlgSetClosed H1)
=
UAStr (# H1, (
Opers (U0,H1)) #) by
Th14,
UNIALG_2:def 8;
hence thesis;
end;
uniqueness by
UNIALG_2: 12;
end
theorem ::
UNIALG_3:15
Th15: for U0 be
with_const_op
Universal_Algebra holds for l1,l2 be
Element of (
UnSubAlLattice U0), U1,U2 be
strict
SubAlgebra of U0 st l1
= U1 & l2
= U2 holds l1
[= l2 iff the
carrier of U1
c= the
carrier of U2
proof
let U0 be
with_const_op
Universal_Algebra;
let l1,l2 be
Element of (
UnSubAlLattice U0);
let U1,U2 be
strict
SubAlgebra of U0;
reconsider l1 = U1 as
Element of (
UnSubAlLattice U0) by
UNIALG_2:def 14;
reconsider l2 = U2 as
Element of (
UnSubAlLattice U0) by
UNIALG_2:def 14;
A1: l1
[= l2 implies the
carrier of U1
c= the
carrier of U2
proof
reconsider U21 = the
carrier of U2 as
Subset of U0 by
UNIALG_2:def 7;
reconsider U11 = the
carrier of U1 as
Subset of U0 by
UNIALG_2:def 7;
reconsider U3 = (U11
\/ U21) as non
empty
Subset of U0;
assume l1
[= l2;
then (l1
"\/" l2)
= l2;
then (U1
"\/" U2)
= U2 by
UNIALG_2:def 15;
then (
GenUnivAlg U3)
= U2 by
UNIALG_2:def 13;
then
A2: (the
carrier of U1
\/ the
carrier of U2)
c= the
carrier of U2 by
UNIALG_2:def 12;
the
carrier of U2
c= (the
carrier of U1
\/ the
carrier of U2) by
XBOOLE_1: 7;
then (the
carrier of U1
\/ the
carrier of U2)
= the
carrier of U2 by
A2;
hence thesis by
XBOOLE_1: 7;
end;
the
carrier of U1
c= the
carrier of U2 implies l1
[= l2
proof
reconsider U21 = the
carrier of U2 as
Subset of U0 by
UNIALG_2:def 7;
reconsider U11 = the
carrier of U1 as
Subset of U0 by
UNIALG_2:def 7;
reconsider U3 = (U11
\/ U21) as non
empty
Subset of U0;
assume the
carrier of U1
c= the
carrier of U2;
then (
GenUnivAlg U3)
= U2 by
UNIALG_2: 19,
XBOOLE_1: 12;
then (U1
"\/" U2)
= U2 by
UNIALG_2:def 13;
then (l1
"\/" l2)
= l2 by
UNIALG_2:def 15;
hence thesis;
end;
hence thesis by
A1;
end;
theorem ::
UNIALG_3:16
for U0 be
with_const_op
Universal_Algebra holds for l1,l2 be
Element of (
UnSubAlLattice U0), U1,U2 be
strict
SubAlgebra of U0 st l1
= U1 & l2
= U2 holds l1
[= l2 iff U1 is
SubAlgebra of U2
proof
let U0 be
with_const_op
Universal_Algebra;
let l1,l2 be
Element of (
UnSubAlLattice U0);
let U1,U2 be
strict
SubAlgebra of U0 such that
A1: l1
= U1 & l2
= U2;
thus l1
[= l2 implies U1 is
SubAlgebra of U2
proof
assume l1
[= l2;
then the
carrier of U1
c= the
carrier of U2 by
A1,
Th15;
hence thesis by
UNIALG_2: 11;
end;
thus U1 is
SubAlgebra of U2 implies l1
[= l2
proof
assume U1 is
SubAlgebra of U2;
then the
carrier of U1 is
Subset of U2 by
UNIALG_2:def 7;
hence thesis by
A1,
Th15;
end;
end;
theorem ::
UNIALG_3:17
Th17: for U0 be
with_const_op
strict
Universal_Algebra holds (
UnSubAlLattice U0) is
bounded
proof
let U0 be
with_const_op
strict
Universal_Algebra;
A1: (
UnSubAlLattice U0) is
lower-bounded
proof
reconsider U11 = (
Constants U0) as
Subset of U0;
reconsider U2 = (
GenUnivAlg (
Constants U0)) as
strict
SubAlgebra of U0;
reconsider l1 = (
GenUnivAlg (
Constants U0)) as
Element of (
UnSubAlLattice U0) by
UNIALG_2:def 14;
take l1;
let l2 be
Element of (
UnSubAlLattice U0);
reconsider U1 = l2 as
strict
SubAlgebra of U0 by
UNIALG_2:def 14;
reconsider U21 = the
carrier of U1 as
Subset of U0 by
UNIALG_2:def 7;
reconsider U3 = (U11
\/ U21) as non
empty
Subset of U0;
(
Constants U0) is
Subset of U1 by
UNIALG_2: 16;
then (
GenUnivAlg U3)
= U1 by
UNIALG_2: 19,
XBOOLE_1: 12;
then (U2
"\/" U1)
= U1 by
UNIALG_2: 20;
then (l1
"\/" l2)
= l2 by
UNIALG_2:def 15;
then
A2: l1
[= l2;
hence (l1
"/\" l2)
= l1 by
LATTICES: 4;
thus (l2
"/\" l1)
= l1 by
A2,
LATTICES: 4;
end;
(
UnSubAlLattice U0) is
upper-bounded
proof
U0 is
strict
SubAlgebra of U0 by
UNIALG_2: 8;
then
reconsider l1 = U0 as
Element of (
UnSubAlLattice U0) by
UNIALG_2:def 14;
reconsider U1 = l1 as
strict
SubAlgebra of U0 by
UNIALG_2: 8;
take l1;
let l2 be
Element of (
UnSubAlLattice U0);
reconsider U2 = l2 as
strict
SubAlgebra of U0 by
UNIALG_2:def 14;
reconsider U11 = the
carrier of U1 as
Subset of U0 by
UNIALG_2:def 7;
reconsider U21 = the
carrier of U2 as
Subset of U0 by
UNIALG_2:def 7;
reconsider H = (U11
\/ U21) as non
empty
Subset of U0;
A3: H
= the
carrier of U1 by
XBOOLE_1: 12;
thus (l1
"\/" l2)
= (U1
"\/" U2) by
UNIALG_2:def 15
.= (
GenUnivAlg (
[#] the
carrier of U1)) by
A3,
UNIALG_2:def 13
.= l1 by
UNIALG_2: 18;
hence (l2
"\/" l1)
= l1;
end;
hence thesis by
A1;
end;
registration
let U0 be
with_const_op
strict
Universal_Algebra;
cluster (
UnSubAlLattice U0) ->
bounded;
coherence by
Th17;
end
theorem ::
UNIALG_3:18
Th18: for U0 be
with_const_op
strict
Universal_Algebra holds for U1 be
strict
SubAlgebra of U0 holds ((
GenUnivAlg (
Constants U0))
/\ U1)
= (
GenUnivAlg (
Constants U0))
proof
let U0 be
with_const_op
strict
Universal_Algebra;
let U1 be
strict
SubAlgebra of U0;
set C = (
Constants U0), G = (
GenUnivAlg C);
C is
Subset of U1 by
UNIALG_2: 15;
then G is
strict
SubAlgebra of U1 by
UNIALG_2:def 12;
then
A1: the
carrier of G is
Subset of U1 by
UNIALG_2:def 7;
the
carrier of G
meets the
carrier of U1 by
UNIALG_2: 17;
then the
carrier of (G
/\ U1)
= (the
carrier of G
/\ the
carrier of U1) by
UNIALG_2:def 9;
hence thesis by
A1,
UNIALG_2: 12,
XBOOLE_1: 28;
end;
theorem ::
UNIALG_3:19
for U0 be
with_const_op
strict
Universal_Algebra holds (
Bottom (
UnSubAlLattice U0))
= (
GenUnivAlg (
Constants U0))
proof
let U0 be
with_const_op
strict
Universal_Algebra;
set L = (
UnSubAlLattice U0);
set C = (
Constants U0);
reconsider G = (
GenUnivAlg C) as
Element of (
Sub U0) by
UNIALG_2:def 14;
reconsider l1 = G as
Element of L;
now
let l be
Element of L;
reconsider u1 = l as
Element of (
Sub U0);
reconsider U2 = u1 as
strict
SubAlgebra of U0 by
UNIALG_2:def 14;
thus (l1
"/\" l)
= ((
GenUnivAlg C)
/\ U2) by
UNIALG_2:def 16
.= l1 by
Th18;
hence (l
"/\" l1)
= l1;
end;
hence thesis by
LATTICES:def 16;
end;
theorem ::
UNIALG_3:20
Th20: for U0 be
with_const_op
strict
Universal_Algebra holds for U1 be
SubAlgebra of U0 holds for H be
Subset of U0 st H
= the
carrier of U0 holds ((
GenUnivAlg H)
"\/" U1)
= (
GenUnivAlg H)
proof
let U0 be
with_const_op
strict
Universal_Algebra;
let U1 be
SubAlgebra of U0, H be
Subset of U0;
assume H
= the
carrier of U0;
then (H
\/ the
carrier of U1)
= H by
Th3,
XBOOLE_1: 12;
hence thesis by
UNIALG_2: 20;
end;
theorem ::
UNIALG_3:21
Th21: for U0 be
with_const_op
strict
Universal_Algebra holds for H be
Subset of U0 st H
= the
carrier of U0 holds (
Top (
UnSubAlLattice U0))
= (
GenUnivAlg H)
proof
let U0 be
with_const_op
strict
Universal_Algebra;
let H be
Subset of U0;
set L = (
UnSubAlLattice U0);
reconsider u1 = (
GenUnivAlg H) as
Element of (
Sub U0) by
UNIALG_2:def 14;
reconsider l1 = u1 as
Element of L;
assume
A1: H
= the
carrier of U0;
now
let l be
Element of L;
reconsider u2 = l as
Element of (
Sub U0);
reconsider U2 = u2 as
strict
SubAlgebra of U0 by
UNIALG_2:def 14;
thus (l1
"\/" l)
= ((
GenUnivAlg H)
"\/" U2) by
UNIALG_2:def 15
.= l1 by
A1,
Th20;
hence (l
"\/" l1)
= l1;
end;
hence thesis by
LATTICES:def 17;
end;
theorem ::
UNIALG_3:22
for U0 be
with_const_op
strict
Universal_Algebra holds (
Top (
UnSubAlLattice U0))
= U0
proof
let U0 be
with_const_op
strict
Universal_Algebra;
A1: U0 is
strict
SubAlgebra of U0 by
UNIALG_2: 8;
the
carrier of U0
c= the
carrier of U0;
then
reconsider H = the
carrier of U0 as
Subset of U0;
thus (
Top (
UnSubAlLattice U0))
= (
GenUnivAlg H) by
Th21
.= U0 by
A1,
UNIALG_2: 19;
end;
theorem ::
UNIALG_3:23
for U0 be
with_const_op
strict
Universal_Algebra holds (
UnSubAlLattice U0) is
complete
proof
let U0 be
with_const_op
strict
Universal_Algebra;
let L be
Subset of (
UnSubAlLattice U0);
per cases ;
suppose
A1: L
=
{} ;
thus thesis
proof
take (
Top (
UnSubAlLattice U0));
thus (
Top (
UnSubAlLattice U0))
is_less_than L by
A1;
let l2 be
Element of (
UnSubAlLattice U0);
assume l2
is_less_than L;
thus thesis by
LATTICES: 19;
end;
end;
suppose L
<>
{} ;
then
reconsider H = L as non
empty
Subset of (
Sub U0);
reconsider l1 = (
meet H) as
Element of (
UnSubAlLattice U0) by
UNIALG_2:def 14;
take l1;
set x = the
Element of H;
thus l1
is_less_than L
proof
let l2 be
Element of (
UnSubAlLattice U0);
reconsider U1 = l2 as
strict
SubAlgebra of U0 by
UNIALG_2:def 14;
reconsider u = l2 as
Element of (
Sub U0);
assume
A2: l2
in L;
((
Carr U0)
. u)
= the
carrier of U1 by
Def4;
then (
meet ((
Carr U0)
.: H))
c= the
carrier of U1 by
A2,
FUNCT_2: 35,
SETFAM_1: 3;
then the
carrier of (
meet H)
c= the
carrier of U1 by
Def5;
hence l1
[= l2 by
Th15;
end;
let l3 be
Element of (
UnSubAlLattice U0);
reconsider U1 = l3 as
strict
SubAlgebra of U0 by
UNIALG_2:def 14;
assume
A3: l3
is_less_than L;
A4: for A be
set st A
in ((
Carr U0)
.: H) holds the
carrier of U1
c= A
proof
let A be
set;
assume
A5: A
in ((
Carr U0)
.: H);
then
reconsider H1 = A as
Subset of U0;
consider l4 be
Element of (
Sub U0) such that
A6: l4
in H & H1
= ((
Carr U0)
. l4) by
A5,
FUNCT_2: 65;
reconsider l4 as
Element of (
UnSubAlLattice U0);
reconsider U2 = l4 as
strict
SubAlgebra of U0 by
UNIALG_2:def 14;
A
= the
carrier of U2 & l3
[= l4 by
A3,
A6,
Def4;
hence thesis by
Th15;
end;
((
Carr U0)
. x)
in ((
Carr U0)
.: L) by
FUNCT_2: 35;
then the
carrier of U1
c= (
meet ((
Carr U0)
.: H)) by
A4,
SETFAM_1: 5;
then the
carrier of U1
c= the
carrier of (
meet H) by
Def5;
hence l3
[= l1 by
Th15;
end;
end;
definition
let U01,U02 be
with_const_op
Universal_Algebra;
let F be
Function of the
carrier of U01, the
carrier of U02;
::
UNIALG_3:def6
func
FuncLatt F ->
Function of the
carrier of (
UnSubAlLattice U01), the
carrier of (
UnSubAlLattice U02) means
:
Def6: for U1 be
strict
SubAlgebra of U01, H be
Subset of U02 st H
= (F
.: the
carrier of U1) holds (it
. U1)
= (
GenUnivAlg H);
existence
proof
defpred
P[
object,
object] means for U1 be
strict
SubAlgebra of U01 st U1
= $1 holds for S be
Subset of U02 st S
= (F
.: the
carrier of U1) holds $2
= (
GenUnivAlg (F
.: the
carrier of U1));
A1: for u1 be
object st u1
in the
carrier of (
UnSubAlLattice U01) holds ex u2 be
object st u2
in the
carrier of (
UnSubAlLattice U02) &
P[u1, u2]
proof
let u1 be
object;
assume u1
in the
carrier of (
UnSubAlLattice U01);
then
consider U2 be
strict
SubAlgebra of U01 such that
A2: U2
= u1 by
Th1;
reconsider u2 = (
GenUnivAlg (F
.: the
carrier of U2)) as
strict
SubAlgebra of U02;
reconsider u2 as
Element of (
UnSubAlLattice U02) by
UNIALG_2:def 14;
take u2;
thus thesis by
A2;
end;
consider f1 be
Function of the
carrier of (
UnSubAlLattice U01), the
carrier of (
UnSubAlLattice U02) such that
A3: for u1 be
object st u1
in the
carrier of (
UnSubAlLattice U01) holds
P[u1, (f1
. u1)] from
FUNCT_2:sch 1(
A1);
take f1;
thus thesis
proof
let U1 be
strict
SubAlgebra of U01;
let S be
Subset of U02;
A4: U1 is
Element of (
Sub U01) by
UNIALG_2:def 14;
assume S
= (F
.: the
carrier of U1);
hence thesis by
A3,
A4;
end;
end;
uniqueness
proof
let F1,F2 be
Function of the
carrier of (
UnSubAlLattice U01), the
carrier of (
UnSubAlLattice U02) such that
A5: for U1 be
strict
SubAlgebra of U01, H be
Subset of U02 st H
= (F
.: the
carrier of U1) holds (F1
. U1)
= (
GenUnivAlg H) and
A6: for U1 be
strict
SubAlgebra of U01, H be
Subset of U02 st H
= (F
.: the
carrier of U1) holds (F2
. U1)
= (
GenUnivAlg H);
for l be
object st l
in the
carrier of (
UnSubAlLattice U01) holds (F1
. l)
= (F2
. l)
proof
let l be
object;
assume l
in the
carrier of (
UnSubAlLattice U01);
then
consider U1 be
strict
SubAlgebra of U01 such that
A7: U1
= l by
Th1;
consider H be
Subset of U02 such that
A8: H
= (F
.: the
carrier of U1);
(F1
. l)
= (
GenUnivAlg H) by
A5,
A7,
A8;
hence thesis by
A6,
A7,
A8;
end;
hence F1
= F2 by
FUNCT_2: 12;
end;
end
theorem ::
UNIALG_3:24
for U0 be
with_const_op
strict
Universal_Algebra holds for F be
Function of the
carrier of U0, the
carrier of U0 st F
= (
id the
carrier of U0) holds (
FuncLatt F)
= (
id the
carrier of (
UnSubAlLattice U0))
proof
let U0 be
with_const_op
strict
Universal_Algebra;
let F be
Function of the
carrier of U0, the
carrier of U0 such that
A1: F
= (
id the
carrier of U0);
A2: for a be
object st a
in the
carrier of (
UnSubAlLattice U0) holds ((
FuncLatt F)
. a)
= a
proof
let a be
object;
assume a
in the
carrier of (
UnSubAlLattice U0);
then
reconsider a as
strict
SubAlgebra of U0 by
UNIALG_2:def 14;
for a1 be
object holds a1
in the
carrier of a implies a1
in (F
.: the
carrier of a)
proof
let a1 be
object;
assume
A3: a1
in the
carrier of a;
the
carrier of a
c= the
carrier of U0 by
Th3;
then
reconsider a1 as
Element of U0 by
A3;
(F
. a1)
= a1 by
A1,
FUNCT_1: 17;
hence thesis by
A3,
FUNCT_2: 35;
end;
then
A4: the
carrier of a
c= (F
.: the
carrier of a);
for a1 be
object holds a1
in (F
.: the
carrier of a) implies a1
in the
carrier of a
proof
let a1 be
object;
assume
A5: a1
in (F
.: the
carrier of a);
then
reconsider a1 as
Element of U0;
ex H be
Element of U0 st H
in the
carrier of a & a1
= (F
. H) by
A5,
FUNCT_2: 65;
hence thesis by
A1,
FUNCT_1: 17;
end;
then
A6: (F
.: the
carrier of a)
c= the
carrier of a;
then
reconsider H1 = the
carrier of a as
Subset of U0 by
A4,
XBOOLE_0:def 10;
(F
.: the
carrier of a)
= the
carrier of a by
A6,
A4;
then ((
FuncLatt F)
. a)
= (
GenUnivAlg H1) by
Def6;
hence thesis by
UNIALG_2: 19;
end;
(
dom (
FuncLatt F))
= the
carrier of (
UnSubAlLattice U0) by
FUNCT_2:def 1;
hence thesis by
A2,
FUNCT_1: 17;
end;