:: PRALG_2 semantic presentation
:: deftheorem Def1 defines with_common_domain PRALG_2:def 1 :
theorem Th1: :: PRALG_2:1
:: deftheorem Def2 defines DOM PRALG_2:def 2 :
theorem Th2: :: PRALG_2:2
:: deftheorem Def3 PRALG_2:def 3 :
canceled;
:: deftheorem Def4 PRALG_2:def 4 :
canceled;
:: deftheorem Def5 PRALG_2:def 5 :
canceled;
:: deftheorem Def6 defines Commute PRALG_2:def 6 :
theorem Th3: :: PRALG_2:3
canceled;
theorem Th4: :: PRALG_2:4
canceled;
theorem Th5: :: PRALG_2:5
canceled;
theorem Th6: :: PRALG_2:6
canceled;
theorem Th7: :: PRALG_2:7
canceled;
theorem Th8: :: PRALG_2:8
:: deftheorem Def7 PRALG_2:def 7 :
canceled;
:: deftheorem Def8 defines Frege PRALG_2:def 8 :
theorem Th9: :: PRALG_2:9
definition
let c1 be non
empty set ;
let c2 be
set ;
let c3,
c4 be
V3 ManySortedSet of
c1;
let c5 be
Function of
c2,
c1 * ;
let c6 be
Function of
c2,
c1;
let c7 be
set ;
let c8 be
Function of
((c3 # ) * c5) . c7,
(c3 * c6) . c7;
let c9 be
Function of
((c4 # ) * c5) . c7,
(c4 * c6) . c7;
assume E6:
c7 in c2
;
canceled;func [[:c8,c9:]] -> Function of
(([|a3,a4|] # ) * a5) . a7,
([|a3,a4|] * a6) . a7 means :: PRALG_2:def 10
for
b1 being
Function st
b1 in (([|a3,a4|] # ) * a5) . a7 holds
a10 . b1 = [(a8 . (pr1 b1)),(a9 . (pr2 b1))];
existence
ex b1 being Function of (([|c3,c4|] # ) * c5) . c7,([|c3,c4|] * c6) . c7 st
for b2 being Function st b2 in (([|c3,c4|] # ) * c5) . c7 holds
b1 . b2 = [(c8 . (pr1 b2)),(c9 . (pr2 b2))]
uniqueness
for b1, b2 being Function of (([|c3,c4|] # ) * c5) . c7,([|c3,c4|] * c6) . c7 st ( for b3 being Function st b3 in (([|c3,c4|] # ) * c5) . c7 holds
b1 . b3 = [(c8 . (pr1 b3)),(c9 . (pr2 b3))] ) & ( for b3 being Function st b3 in (([|c3,c4|] # ) * c5) . c7 holds
b2 . b3 = [(c8 . (pr1 b3)),(c9 . (pr2 b3))] ) holds
b1 = b2
end;
:: deftheorem Def9 PRALG_2:def 9 :
canceled;
:: deftheorem Def10 defines [[: PRALG_2:def 10 :
for
b1 being non
empty set for
b2 being
set for
b3,
b4 being
V3 ManySortedSet of
b1 for
b5 being
Function of
b2,
b1 * for
b6 being
Function of
b2,
b1 for
b7 being
set for
b8 being
Function of
((b3 # ) * b5) . b7,
(b3 * b6) . b7 for
b9 being
Function of
((b4 # ) * b5) . b7,
(b4 * b6) . b7 st
b7 in b2 holds
for
b10 being
Function of
(([|b3,b4|] # ) * b5) . b7,
([|b3,b4|] * b6) . b7 holds
(
b10 = [[:b8,b9:]] iff for
b11 being
Function st
b11 in (([|b3,b4|] # ) * b5) . b7 holds
b10 . b11 = [(b8 . (pr1 b11)),(b9 . (pr2 b11))] );
definition
let c1 be non
empty set ;
let c2 be
set ;
let c3,
c4 be
V3 ManySortedSet of
c1;
let c5 be
Function of
c2,
c1 * ;
let c6 be
Function of
c2,
c1;
let c7 be
ManySortedFunction of
(c3 # ) * c5,
c3 * c6;
let c8 be
ManySortedFunction of
(c4 # ) * c5,
c4 * c6;
func [[:c7,c8:]] -> ManySortedFunction of
([|a3,a4|] # ) * a5,
[|a3,a4|] * a6 means :: PRALG_2:def 11
for
b1 being
set st
b1 in a2 holds
for
b2 being
Function of
((a3 # ) * a5) . b1,
(a3 * a6) . b1 for
b3 being
Function of
((a4 # ) * a5) . b1,
(a4 * a6) . b1 st
b2 = a7 . b1 &
b3 = a8 . b1 holds
a9 . b1 = [[:b2,b3:]];
existence
ex b1 being ManySortedFunction of ([|c3,c4|] # ) * c5,[|c3,c4|] * c6 st
for b2 being set st b2 in c2 holds
for b3 being Function of ((c3 # ) * c5) . b2,(c3 * c6) . b2
for b4 being Function of ((c4 # ) * c5) . b2,(c4 * c6) . b2 st b3 = c7 . b2 & b4 = c8 . b2 holds
b1 . b2 = [[:b3,b4:]]
uniqueness
for b1, b2 being ManySortedFunction of ([|c3,c4|] # ) * c5,[|c3,c4|] * c6 st ( for b3 being set st b3 in c2 holds
for b4 being Function of ((c3 # ) * c5) . b3,(c3 * c6) . b3
for b5 being Function of ((c4 # ) * c5) . b3,(c4 * c6) . b3 st b4 = c7 . b3 & b5 = c8 . b3 holds
b1 . b3 = [[:b4,b5:]] ) & ( for b3 being set st b3 in c2 holds
for b4 being Function of ((c3 # ) * c5) . b3,(c3 * c6) . b3
for b5 being Function of ((c4 # ) * c5) . b3,(c4 * c6) . b3 st b4 = c7 . b3 & b5 = c8 . b3 holds
b2 . b3 = [[:b4,b5:]] ) holds
b1 = b2
end;
:: deftheorem Def11 defines [[: PRALG_2:def 11 :
for
b1 being non
empty set for
b2 being
set for
b3,
b4 being
V3 ManySortedSet of
b1 for
b5 being
Function of
b2,
b1 * for
b6 being
Function of
b2,
b1 for
b7 being
ManySortedFunction of
(b3 # ) * b5,
b3 * b6 for
b8 being
ManySortedFunction of
(b4 # ) * b5,
b4 * b6 for
b9 being
ManySortedFunction of
([|b3,b4|] # ) * b5,
[|b3,b4|] * b6 holds
(
b9 = [[:b7,b8:]] iff for
b10 being
set st
b10 in b2 holds
for
b11 being
Function of
((b3 # ) * b5) . b10,
(b3 * b6) . b10 for
b12 being
Function of
((b4 # ) * b5) . b10,
(b4 * b6) . b10 st
b11 = b7 . b10 &
b12 = b8 . b10 holds
b9 . b10 = [[:b11,b12:]] );
:: deftheorem Def12 defines MSAlgebra-Family PRALG_2:def 12 :
:: deftheorem Def13 defines |. PRALG_2:def 13 :
:: deftheorem Def14 defines |. PRALG_2:def 14 :
theorem Th10: :: PRALG_2:10
theorem Th11: :: PRALG_2:11
:: deftheorem Def15 defines [: PRALG_2:def 15 :
:: deftheorem Def16 defines Carrier PRALG_2:def 16 :
:: deftheorem Def17 defines SORTS PRALG_2:def 17 :
:: deftheorem Def18 defines OPER PRALG_2:def 18 :
theorem Th12: :: PRALG_2:12
theorem Th13: :: PRALG_2:13
:: deftheorem Def19 defines ?. PRALG_2:def 19 :
theorem Th14: :: PRALG_2:14
theorem Th15: :: PRALG_2:15
theorem Th16: :: PRALG_2:16
theorem Th17: :: PRALG_2:17
theorem Th18: :: PRALG_2:18
definition
let c1 be
set ;
let c2 be non
empty non
void ManySortedSign ;
let c3 be
MSAlgebra-Family of
c1,
c2;
func OPS c3 -> ManySortedFunction of
((SORTS a3) # ) * the
Arity of
a2,
(SORTS a3) * the
ResultSort of
a2 means :: PRALG_2:def 20
for
b1 being
OperSymbol of
a2 holds
a4 . b1 = IFEQ (the_arity_of b1),
{} ,
(commute (a3 ?. b1)),
(Commute (Frege (a3 ?. b1))) if a1 <> {} otherwise verum;
existence
( ( c1 <> {} implies ex b1 being ManySortedFunction of ((SORTS c3) # ) * the Arity of c2,(SORTS c3) * the ResultSort of c2 st
for b2 being OperSymbol of c2 holds b1 . b2 = IFEQ (the_arity_of b2),{} ,(commute (c3 ?. b2)),(Commute (Frege (c3 ?. b2))) ) & ( not c1 <> {} implies ex b1 being ManySortedFunction of ((SORTS c3) # ) * the Arity of c2,(SORTS c3) * the ResultSort of c2 st verum ) )
uniqueness
for b1, b2 being ManySortedFunction of ((SORTS c3) # ) * the Arity of c2,(SORTS c3) * the ResultSort of c2 holds
( ( c1 <> {} & ( for b3 being OperSymbol of c2 holds b1 . b3 = IFEQ (the_arity_of b3),{} ,(commute (c3 ?. b3)),(Commute (Frege (c3 ?. b3))) ) & ( for b3 being OperSymbol of c2 holds b2 . b3 = IFEQ (the_arity_of b3),{} ,(commute (c3 ?. b3)),(Commute (Frege (c3 ?. b3))) ) implies b1 = b2 ) & ( not c1 <> {} implies b1 = b2 ) )
correctness
consistency
for b1 being ManySortedFunction of ((SORTS c3) # ) * the Arity of c2,(SORTS c3) * the ResultSort of c2 holds verum;
;
end;
:: deftheorem Def20 defines OPS PRALG_2:def 20 :
:: deftheorem Def21 defines product PRALG_2:def 21 :
theorem Th19: :: PRALG_2:19
canceled;
theorem Th20: :: PRALG_2:20