:: BIRKHOFF semantic presentation
definition
let
c
1
be non
empty
non
void
ManySortedSign
;
let
c
2
be
V5
ManySortedSet
of the
carrier
of c
1
;
let
c
3
be
non-empty
MSAlgebra
of c
1
;
let
c
4
be
ManySortedFunction
of c
2
,the
Sorts
of c
3
;
func
c
4
-hash
->
ManySortedFunction
of
(
FreeMSA
a
2
)
,a
3
means
:
Def1
:
:: BIRKHOFF:def 1
( a
5
is_homomorphism
FreeMSA
a
2
,a
3
& a
5
||
(
FreeGen
a
2
)
=
a
4
**
(
Reverse
a
2
)
);
existence
ex b
1
being
ManySortedFunction
of
(
FreeMSA
c
2
)
,c
3
st
( b
1
is_homomorphism
FreeMSA
c
2
,c
3
& b
1
||
(
FreeGen
c
2
)
=
c
4
**
(
Reverse
c
2
)
)
by
MSAFREE:def 5
;
uniqueness
for b
1
, b
2
being
ManySortedFunction
of
(
FreeMSA
c
2
)
,c
3
holds
( b
1
is_homomorphism
FreeMSA
c
2
,c
3
& b
1
||
(
FreeGen
c
2
)
=
c
4
**
(
Reverse
c
2
)
& b
2
is_homomorphism
FreeMSA
c
2
,c
3
& b
2
||
(
FreeGen
c
2
)
=
c
4
**
(
Reverse
c
2
)
implies b
1
=
b
2
)
by
EXTENS_1:18
;
end;
::
deftheorem
Def1
defines
-hash
BIRKHOFF:def 1 :
for b
1
being non
empty
non
void
ManySortedSign
for b
2
being
V5
ManySortedSet
of the
carrier
of b
1
for b
3
being
non-empty
MSAlgebra
of b
1
for b
4
being
ManySortedFunction
of b
2
,the
Sorts
of b
3
for b
5
being
ManySortedFunction
of
(
FreeMSA
b
2
)
,b
3
holds
( b
5
=
b
4
-hash
iff ( b
5
is_homomorphism
FreeMSA
b
2
,b
3
& b
5
||
(
FreeGen
b
2
)
=
b
4
**
(
Reverse
b
2
)
) );
theorem
Th1
:
:: BIRKHOFF:1
for b
1
being non
empty
non
void
ManySortedSign
for b
2
being
non-empty
MSAlgebra
of b
1
for b
3
being
V5
ManySortedSet
of the
carrier
of b
1
for b
4
being
ManySortedFunction
of b
3
,the
Sorts
of b
2
holds
rngs
b
4
c=
rngs
(
b
4
-hash
)
proof
end;
scheme
:: BIRKHOFF:sch 1
s1{ F
1
()
->
non
empty
non
void
ManySortedSign
, F
2
()
->
non-empty
MSAlgebra
of F
1
(), P
1
[
set
] } :
ex b
1
being
strict
non-empty
MSAlgebra
of F
1
()ex b
2
being
ManySortedFunction
of F
2
(),b
1
st
( P
1
[b
1
] & b
2
is_epimorphism
F
2
(),b
1
& ( for b
3
being
non-empty
MSAlgebra
of F
1
()
for b
4
being
ManySortedFunction
of F
2
(),b
3
holds
not ( b
4
is_homomorphism
F
2
(),b
3
& P
1
[b
3
] & ( for b
5
being
ManySortedFunction
of b
1
,b
3
holds
not ( b
5
is_homomorphism
b
1
,b
3
& b
5
**
b
2
=
b
4
& ( for b
6
being
ManySortedFunction
of b
1
,b
3
holds
( b
6
**
b
2
=
b
4
implies b
5
=
b
6
) ) ) ) ) ) )
provided
E3
: for b
1
, b
2
being
non-empty
MSAlgebra
of F
1
() holds
( b
1
,b
2
are_isomorphic
& P
1
[b
1
] implies P
1
[b
2
] ) and
E4
: for b
1
being
non-empty
MSAlgebra
of F
1
()
for b
2
being
strict
non-empty
MSSubAlgebra
of b
1
holds
( P
1
[b
1
] implies P
1
[b
2
] ) and
E5
: for b
1
being
set
for b
2
being
MSAlgebra-Family
of b
1
,F
1
() holds
( ( for b
3
being
set
holds
not ( b
3
in
b
1
& ( for b
4
being
MSAlgebra
of F
1
() holds
not ( b
4
=
b
2
.
b
3
& P
1
[b
4
] ) ) ) ) implies P
1
[
product
b
2
] )
proof
end;
scheme
:: BIRKHOFF:sch 2
s2{ F
1
()
->
non
empty
non
void
ManySortedSign
, F
2
()
->
V5
ManySortedSet
of the
carrier
of F
1
(), P
1
[
set
] } :
ex b
1
being
strict
non-empty
MSAlgebra
of F
1
()ex b
2
being
ManySortedFunction
of F
2
(),the
Sorts
of b
1
st
( P
1
[b
1
] & ( for b
3
being
non-empty
MSAlgebra
of F
1
()
for b
4
being
ManySortedFunction
of F
2
(),the
Sorts
of b
3
holds
not ( P
1
[b
3
] & ( for b
5
being
ManySortedFunction
of b
1
,b
3
holds
not ( b
5
is_homomorphism
b
1
,b
3
& b
5
**
b
2
=
b
4
& ( for b
6
being
ManySortedFunction
of b
1
,b
3
holds
( b
6
is_homomorphism
b
1
,b
3
& b
6
**
b
2
=
b
4
implies b
5
=
b
6
) ) ) ) ) ) )
provided
E3
: for b
1
, b
2
being
non-empty
MSAlgebra
of F
1
() holds
( b
1
,b
2
are_isomorphic
& P
1
[b
1
] implies P
1
[b
2
] ) and
E4
: for b
1
being
non-empty
MSAlgebra
of F
1
()
for b
2
being
strict
non-empty
MSSubAlgebra
of b
1
holds
( P
1
[b
1
] implies P
1
[b
2
] ) and
E5
: for b
1
being
set
for b
2
being
MSAlgebra-Family
of b
1
,F
1
() holds
( ( for b
3
being
set
holds
not ( b
3
in
b
1
& ( for b
4
being
MSAlgebra
of F
1
() holds
not ( b
4
=
b
2
.
b
3
& P
1
[b
4
] ) ) ) ) implies P
1
[
product
b
2
] )
proof
end;
scheme
:: BIRKHOFF:sch 3
s3{ F
1
()
->
non
empty
non
void
ManySortedSign
, F
2
()
->
non-empty
MSAlgebra
of F
1
(), F
3
()
->
non-empty
MSAlgebra
of F
1
(), F
4
()
->
ManySortedFunction
of the
carrier
of F
1
()
-->
NAT
,the
Sorts
of F
2
(), F
5
()
->
ManySortedFunction
of the
carrier
of F
1
()
-->
NAT
,the
Sorts
of F
3
(), P
1
[
set
] } :
ex b
1
being
ManySortedFunction
of F
2
(),F
3
() st
( b
1
is_homomorphism
F
2
(),F
3
() & F
5
()
-hash
=
b
1
**
(
F
4
()
-hash
)
)
provided
E3
: P
1
[F
3
()] and
E4
: for b
1
being
non-empty
MSAlgebra
of F
1
()
for b
2
being
ManySortedFunction
of the
carrier
of F
1
()
-->
NAT
,the
Sorts
of b
1
holds
not ( P
1
[b
1
] & ( for b
3
being
ManySortedFunction
of F
2
(),b
1
holds
not ( b
3
is_homomorphism
F
2
(),b
1
& b
2
=
b
3
**
F
4
() ) ) )
proof
end;
scheme
:: BIRKHOFF:sch 4
s4{ F
1
()
->
non
empty
non
void
ManySortedSign
, F
2
()
->
non-empty
MSAlgebra
of F
1
(), F
3
()
->
ManySortedFunction
of the
carrier
of F
1
()
-->
NAT
,the
Sorts
of F
2
(), F
4
()
->
SortSymbol
of F
1
(), F
5
()
->
Element
of the
Sorts
of
(
TermAlg
F
1
()
)
.
F
4
(), F
6
()
->
Element
of the
Sorts
of
(
TermAlg
F
1
()
)
.
F
4
(), P
1
[
set
] } :
for b
1
being
non-empty
MSAlgebra
of F
1
() holds
( P
1
[b
1
] implies b
1
|=
F
5
()
'='
F
6
() )
provided
E3
:
(
(
F
3
()
-hash
)
.
F
4
()
)
.
F
5
()
=
(
(
F
3
()
-hash
)
.
F
4
()
)
.
F
6
() and
E4
: for b
1
being
non-empty
MSAlgebra
of F
1
()
for b
2
being
ManySortedFunction
of the
carrier
of F
1
()
-->
NAT
,the
Sorts
of b
1
holds
not ( P
1
[b
1
] & ( for b
3
being
ManySortedFunction
of F
2
(),b
1
holds
not ( b
3
is_homomorphism
F
2
(),b
1
& b
2
=
b
3
**
F
3
() ) ) )
proof
end;
scheme
:: BIRKHOFF:sch 5
s5{ F
1
()
->
non
empty
non
void
ManySortedSign
, F
2
()
->
V5
ManySortedSet
of the
carrier
of F
1
(), F
3
()
->
strict
non-empty
MSAlgebra
of F
1
(), F
4
()
->
ManySortedFunction
of F
2
(),the
Sorts
of F
3
(), P
1
[
set
] } :
F
4
()
.:.:
F
2
() is
V5
GeneratorSet
of F
3
()
provided
E3
: for b
1
being
non-empty
MSAlgebra
of F
1
()
for b
2
being
ManySortedFunction
of F
2
(),the
Sorts
of b
1
holds
not ( P
1
[b
1
] & ( for b
3
being
ManySortedFunction
of F
3
(),b
1
holds
not ( b
3
is_homomorphism
F
3
(),b
1
& b
3
**
F
4
()
=
b
2
& ( for b
4
being
ManySortedFunction
of F
3
(),b
1
holds
( b
4
is_homomorphism
F
3
(),b
1
& b
4
**
F
4
()
=
b
2
implies b
3
=
b
4
) ) ) ) ) and
E4
: P
1
[F
3
()] and
E5
: for b
1
being
non-empty
MSAlgebra
of F
1
()
for b
2
being
strict
non-empty
MSSubAlgebra
of b
1
holds
( P
1
[b
1
] implies P
1
[b
2
] )
proof
end;
scheme
:: BIRKHOFF:sch 6
s6{ F
1
()
->
non
empty
non
void
ManySortedSign
, F
2
()
->
strict
non-empty
MSAlgebra
of F
1
(), F
3
()
->
ManySortedFunction
of the
carrier
of F
1
()
-->
NAT
,the
Sorts
of F
2
(), P
1
[
set
] } :
F
3
()
-hash
is_epimorphism
FreeMSA
(
the
carrier
of F
1
()
-->
NAT
)
,F
2
()
provided
E3
: for b
1
being
non-empty
MSAlgebra
of F
1
()
for b
2
being
ManySortedFunction
of the
carrier
of F
1
()
-->
NAT
,the
Sorts
of b
1
holds
not ( P
1
[b
1
] & ( for b
3
being
ManySortedFunction
of F
2
(),b
1
holds
not ( b
3
is_homomorphism
F
2
(),b
1
& b
3
**
F
3
()
=
b
2
& ( for b
4
being
ManySortedFunction
of F
2
(),b
1
holds
( b
4
is_homomorphism
F
2
(),b
1
& b
4
**
F
3
()
=
b
2
implies b
3
=
b
4
) ) ) ) ) and
E4
: P
1
[F
2
()] and
E5
: for b
1
being
non-empty
MSAlgebra
of F
1
()
for b
2
being
strict
non-empty
MSSubAlgebra
of b
1
holds
( P
1
[b
1
] implies P
1
[b
2
] )
proof
end;
scheme
:: BIRKHOFF:sch 7
s7{ F
1
()
->
non
empty
non
void
ManySortedSign
, F
2
()
->
strict
non-empty
finitely-generated
MSAlgebra
of F
1
(), F
3
()
->
non-empty
MSAlgebra
of F
1
(), F
4
()
->
ManySortedFunction
of the
carrier
of F
1
()
-->
NAT
,the
Sorts
of F
3
(), P
1
[
set
], P
2
[
set
] } :
P
1
[F
2
()]
provided
E3
: P
2
[F
2
()] and
E4
: P
1
[F
3
()] and
E5
: for b
1
being
non-empty
MSAlgebra
of F
1
()
for b
2
being
ManySortedFunction
of the
carrier
of F
1
()
-->
NAT
,the
Sorts
of b
1
holds
not ( P
2
[b
1
] & ( for b
3
being
ManySortedFunction
of F
3
(),b
1
holds
not ( b
3
is_homomorphism
F
3
(),b
1
& b
2
=
b
3
**
F
4
() ) ) ) and
E6
: for b
1
, b
2
being
non-empty
MSAlgebra
of F
1
() holds
( b
1
,b
2
are_isomorphic
& P
1
[b
1
] implies P
1
[b
2
] ) and
E7
: for b
1
being
non-empty
MSAlgebra
of F
1
()
for b
2
being
MSCongruence
of b
1
holds
( P
1
[b
1
] implies P
1
[
QuotMSAlg
b
1
,b
2
] )
proof
end;
scheme
:: BIRKHOFF:sch 8
s8{ F
1
()
->
non
empty
non
void
ManySortedSign
, F
2
()
->
non-empty
MSAlgebra
of F
1
(), F
3
()
->
non-empty
MSAlgebra
of F
1
(), P
1
[
set
] } :
P
1
[F
3
()]
provided
E3
: ex b
1
being
ManySortedFunction
of F
2
(),F
3
() st b
1
is_epimorphism
F
2
(),F
3
() and
E4
: P
1
[F
2
()] and
E5
: for b
1
, b
2
being
non-empty
MSAlgebra
of F
1
() holds
( b
1
,b
2
are_isomorphic
& P
1
[b
1
] implies P
1
[b
2
] ) and
E6
: for b
1
being
non-empty
MSAlgebra
of F
1
()
for b
2
being
MSCongruence
of b
1
holds
( P
1
[b
1
] implies P
1
[
QuotMSAlg
b
1
,b
2
] )
proof
end;
scheme
:: BIRKHOFF:sch 9
s9{ F
1
()
->
non
empty
non
void
ManySortedSign
, F
2
()
->
non-empty
MSAlgebra
of F
1
(), P
1
[
set
] } :
P
1
[F
2
()]
provided
E3
: for b
1
being
strict
non-empty
finitely-generated
MSSubAlgebra
of F
2
() holds P
1
[b
1
] and
E4
: for b
1
, b
2
being
non-empty
MSAlgebra
of F
1
() holds
( b
1
,b
2
are_isomorphic
& P
1
[b
1
] implies P
1
[b
2
] ) and
E5
: for b
1
being
non-empty
MSAlgebra
of F
1
()
for b
2
being
strict
non-empty
MSSubAlgebra
of b
1
holds
( P
1
[b
1
] implies P
1
[b
2
] ) and
E6
: for b
1
being
non-empty
MSAlgebra
of F
1
()
for b
2
being
MSCongruence
of b
1
holds
( P
1
[b
1
] implies P
1
[
QuotMSAlg
b
1
,b
2
] ) and
E7
: for b
1
being
set
for b
2
being
MSAlgebra-Family
of b
1
,F
1
() holds
( ( for b
3
being
set
holds
not ( b
3
in
b
1
& ( for b
4
being
MSAlgebra
of F
1
() holds
not ( b
4
=
b
2
.
b
3
& P
1
[b
4
] ) ) ) ) implies P
1
[
product
b
2
] )
proof
end;
scheme
:: BIRKHOFF:sch 10
s10{ F
1
()
->
non
empty
non
void
ManySortedSign
, F
2
()
->
non-empty
MSAlgebra
of F
1
(), P
1
[
set
], P
2
[
set
] } :
P
2
[F
2
()]
provided
E3
: for b
1
being
non-empty
MSAlgebra
of F
1
() holds
( P
2
[b
1
] iff for b
2
being
SortSymbol
of F
1
()
for b
3
being
Element
of
(
Equations
F
1
()
)
.
b
2
holds
( ( for b
4
being
non-empty
MSAlgebra
of F
1
() holds
( P
1
[b
4
] implies b
4
|=
b
3
) ) implies b
1
|=
b
3
) ) and
E4
: P
1
[F
2
()]
proof
end;
scheme
:: BIRKHOFF:sch 11
s11{ F
1
()
->
non
empty
non
void
ManySortedSign
, F
2
()
->
strict
non-empty
MSAlgebra
of F
1
(), F
3
()
->
ManySortedFunction
of the
carrier
of F
1
()
-->
NAT
,the
Sorts
of F
2
(), P
1
[
set
], P
2
[
set
] } :
P
1
[F
2
()]
provided
E3
: for b
1
being
non-empty
MSAlgebra
of F
1
() holds
( P
2
[b
1
] iff for b
2
being
SortSymbol
of F
1
()
for b
3
being
Element
of
(
Equations
F
1
()
)
.
b
2
holds
( ( for b
4
being
non-empty
MSAlgebra
of F
1
() holds
( P
1
[b
4
] implies b
4
|=
b
3
) ) implies b
1
|=
b
3
) ) and
E4
: for b
1
being
non-empty
MSAlgebra
of F
1
()
for b
2
being
ManySortedFunction
of the
carrier
of F
1
()
-->
NAT
,the
Sorts
of b
1
holds
not ( P
2
[b
1
] & ( for b
3
being
ManySortedFunction
of F
2
(),b
1
holds
not ( b
3
is_homomorphism
F
2
(),b
1
& b
3
**
F
3
()
=
b
2
& ( for b
4
being
ManySortedFunction
of F
2
(),b
1
holds
( b
4
is_homomorphism
F
2
(),b
1
& b
4
**
F
3
()
=
b
2
implies b
3
=
b
4
) ) ) ) ) and
E5
: P
2
[F
2
()] and
E6
: for b
1
, b
2
being
non-empty
MSAlgebra
of F
1
() holds
( b
1
,b
2
are_isomorphic
& P
1
[b
1
] implies P
1
[b
2
] ) and
E7
: for b
1
being
non-empty
MSAlgebra
of F
1
()
for b
2
being
strict
non-empty
MSSubAlgebra
of b
1
holds
( P
1
[b
1
] implies P
1
[b
2
] ) and
E8
: for b
1
being
set
for b
2
being
MSAlgebra-Family
of b
1
,F
1
() holds
( ( for b
3
being
set
holds
not ( b
3
in
b
1
& ( for b
4
being
MSAlgebra
of F
1
() holds
not ( b
4
=
b
2
.
b
3
& P
1
[b
4
] ) ) ) ) implies P
1
[
product
b
2
] )
proof
end;
scheme
:: BIRKHOFF:sch 12
s12{ F
1
()
->
non
empty
non
void
ManySortedSign
, P
1
[
set
] } :
ex b
1
being
EqualSet
of F
1
() st
for b
2
being
non-empty
MSAlgebra
of F
1
() holds
( P
1
[b
2
] iff b
2
|=
b
1
)
provided
E3
: for b
1
, b
2
being
non-empty
MSAlgebra
of F
1
() holds
( b
1
,b
2
are_isomorphic
& P
1
[b
1
] implies P
1
[b
2
] ) and
E4
: for b
1
being
non-empty
MSAlgebra
of F
1
()
for b
2
being
strict
non-empty
MSSubAlgebra
of b
1
holds
( P
1
[b
1
] implies P
1
[b
2
] ) and
E5
: for b
1
being
non-empty
MSAlgebra
of F
1
()
for b
2
being
MSCongruence
of b
1
holds
( P
1
[b
1
] implies P
1
[
QuotMSAlg
b
1
,b
2
] ) and
E6
: for b
1
being
set
for b
2
being
MSAlgebra-Family
of b
1
,F
1
() holds
( ( for b
3
being
set
holds
not ( b
3
in
b
1
& ( for b
4
being
MSAlgebra
of F
1
() holds
not ( b
4
=
b
2
.
b
3
& P
1
[b
4
] ) ) ) ) implies P
1
[
product
b
2
] )
proof
end;