:: BINOP_2 semantic presentation
scheme :: BINOP_2:sch 2
s2{ F
1()
-> non
empty set , F
2(
Element of F
1(),
Element of F
1())
-> set } :
for b
1, b
2 being
BinOp of F
1() holds
( ( for b
3, b
4 being
Element of F
1() holds b
1 . b
3,b
4 = F
2(b
3,b
4) & for b
3, b
4 being
Element of F
1() holds b
2 . b
3,b
4 = F
2(b
3,b
4) ) implies ( b
1 = b
2 ) )
provided
proof
let c
1, c
2 be
BinOp of F
1();
assume that
E1:
for b
1, b
2 being
Element of F
1() holds c
1 . b
1,b
2 = F
2(b
1,b
2)
and
E2:
for b
1, b
2 being
Element of F
1() holds c
2 . b
1,b
2 = F
2(b
1,b
2)
;
now
let c
3, c
4 be
Element of F
1();
thus c
1 . c
3,c
4 =
F
2(c
3,c
4)
by E1
.=
c
2 . c
3,c
4
by E2
;
end;
hence
c
1 = c
2
by BINOP_1:2;
end;
definition
func compcomplex -> UnOp of
COMPLEX means :: BINOP_2:def 1
for b
1 being
Element of
COMPLEX holds a
1 . b
1 = - b
1;
existence
ex b1 being UnOp of COMPLEX st
for b2 being Element of COMPLEX holds b1 . b2 = - b2
from FUNCT_2:sch 4();
uniqueness
for b1, b2 being UnOp of COMPLEX holds
( ( for b3 being Element of COMPLEX holds b1 . b3 = - b3 & for b3 being Element of COMPLEX holds b2 . b3 = - b3 ) implies ( b1 = b2 ) )
from BINOP_2:sch 1();
func invcomplex -> UnOp of
COMPLEX means :: BINOP_2:def 2
for b
1 being
Element of
COMPLEX holds a
1 . b
1 = b
1 " ;
existence
ex b1 being UnOp of COMPLEX st
for b2 being Element of COMPLEX holds b1 . b2 = b2 "
from FUNCT_2:sch 4();
uniqueness
for b1, b2 being UnOp of COMPLEX holds
( ( for b3 being Element of COMPLEX holds b1 . b3 = b3 " & for b3 being Element of COMPLEX holds b2 . b3 = b3 " ) implies ( b1 = b2 ) )
from BINOP_2:sch 1();
func addcomplex -> BinOp of
COMPLEX means :
E1:
:: BINOP_2:def 3
for b
1, b
2 being
Element of
COMPLEX holds a
1 . b
1,b
2 = b
1 + b
2;
existence
ex b1 being BinOp of COMPLEX st
for b2, b3 being Element of COMPLEX holds b1 . b2,b3 = b2 + b3
from BINOP_1:sch 2();
uniqueness
for b1, b2 being BinOp of COMPLEX holds
( ( for b3, b4 being Element of COMPLEX holds b1 . b3,b4 = b3 + b4 & for b3, b4 being Element of COMPLEX holds b2 . b3,b4 = b3 + b4 ) implies ( b1 = b2 ) )
from BINOP_2:sch 2();
func diffcomplex -> BinOp of
COMPLEX means :: BINOP_2:def 4
for b
1, b
2 being
Element of
COMPLEX holds a
1 . b
1,b
2 = b
1 - b
2;
existence
ex b1 being BinOp of COMPLEX st
for b2, b3 being Element of COMPLEX holds b1 . b2,b3 = b2 - b3
from BINOP_1:sch 2();
uniqueness
for b1, b2 being BinOp of COMPLEX holds
( ( for b3, b4 being Element of COMPLEX holds b1 . b3,b4 = b3 - b4 & for b3, b4 being Element of COMPLEX holds b2 . b3,b4 = b3 - b4 ) implies ( b1 = b2 ) )
from BINOP_2:sch 2();
func multcomplex -> BinOp of
COMPLEX means :
E2:
:: BINOP_2:def 5
for b
1, b
2 being
Element of
COMPLEX holds a
1 . b
1,b
2 = b
1 * b
2;
existence
ex b1 being BinOp of COMPLEX st
for b2, b3 being Element of COMPLEX holds b1 . b2,b3 = b2 * b3
from BINOP_1:sch 2();
uniqueness
for b1, b2 being BinOp of COMPLEX holds
( ( for b3, b4 being Element of COMPLEX holds b1 . b3,b4 = b3 * b4 & for b3, b4 being Element of COMPLEX holds b2 . b3,b4 = b3 * b4 ) implies ( b1 = b2 ) )
from BINOP_2:sch 2();
func divcomplex -> BinOp of
COMPLEX means :: BINOP_2:def 6
for b
1, b
2 being
Element of
COMPLEX holds a
1 . b
1,b
2 = b
1 / b
2;
existence
ex b1 being BinOp of COMPLEX st
for b2, b3 being Element of COMPLEX holds b1 . b2,b3 = b2 / b3
from BINOP_1:sch 2();
uniqueness
for b1, b2 being BinOp of COMPLEX holds
( ( for b3, b4 being Element of COMPLEX holds b1 . b3,b4 = b3 / b4 & for b3, b4 being Element of COMPLEX holds b2 . b3,b4 = b3 / b4 ) implies ( b1 = b2 ) )
from BINOP_2:sch 2();
end;
:: deftheorem defines compcomplex BINOP_2:def 1 :
:: deftheorem defines invcomplex BINOP_2:def 2 :
:: deftheorem E1 defines addcomplex BINOP_2:def 3 :
:: deftheorem defines diffcomplex BINOP_2:def 4 :
:: deftheorem E2 defines multcomplex BINOP_2:def 5 :
:: deftheorem defines divcomplex BINOP_2:def 6 :
definition
func compreal -> UnOp of
REAL means :: BINOP_2:def 7
for b
1 being
Element of
REAL holds a
1 . b
1 = - b
1;
existence
ex b1 being UnOp of REAL st
for b2 being Element of REAL holds b1 . b2 = - b2
from FUNCT_2:sch 4();
uniqueness
for b1, b2 being UnOp of REAL holds
( ( for b3 being Element of REAL holds b1 . b3 = - b3 & for b3 being Element of REAL holds b2 . b3 = - b3 ) implies ( b1 = b2 ) )
from BINOP_2:sch 1();
func invreal -> UnOp of
REAL means :: BINOP_2:def 8
for b
1 being
Element of
REAL holds a
1 . b
1 = b
1 " ;
existence
ex b1 being UnOp of REAL st
for b2 being Element of REAL holds b1 . b2 = b2 "
from FUNCT_2:sch 4();
uniqueness
for b1, b2 being UnOp of REAL holds
( ( for b3 being Element of REAL holds b1 . b3 = b3 " & for b3 being Element of REAL holds b2 . b3 = b3 " ) implies ( b1 = b2 ) )
from BINOP_2:sch 1();
func addreal -> BinOp of
REAL means :
E3:
:: BINOP_2:def 9
for b
1, b
2 being
Element of
REAL holds a
1 . b
1,b
2 = b
1 + b
2;
existence
ex b1 being BinOp of REAL st
for b2, b3 being Element of REAL holds b1 . b2,b3 = b2 + b3
from BINOP_1:sch 2();
uniqueness
for b1, b2 being BinOp of REAL holds
( ( for b3, b4 being Element of REAL holds b1 . b3,b4 = b3 + b4 & for b3, b4 being Element of REAL holds b2 . b3,b4 = b3 + b4 ) implies ( b1 = b2 ) )
from BINOP_2:sch 2();
func diffreal -> BinOp of
REAL means :: BINOP_2:def 10
for b
1, b
2 being
Element of
REAL holds a
1 . b
1,b
2 = b
1 - b
2;
existence
ex b1 being BinOp of REAL st
for b2, b3 being Element of REAL holds b1 . b2,b3 = b2 - b3
from BINOP_1:sch 2();
uniqueness
for b1, b2 being BinOp of REAL holds
( ( for b3, b4 being Element of REAL holds b1 . b3,b4 = b3 - b4 & for b3, b4 being Element of REAL holds b2 . b3,b4 = b3 - b4 ) implies ( b1 = b2 ) )
from BINOP_2:sch 2();
func multreal -> BinOp of
REAL means :
E4:
:: BINOP_2:def 11
for b
1, b
2 being
Element of
REAL holds a
1 . b
1,b
2 = b
1 * b
2;
existence
ex b1 being BinOp of REAL st
for b2, b3 being Element of REAL holds b1 . b2,b3 = b2 * b3
from BINOP_1:sch 2();
uniqueness
for b1, b2 being BinOp of REAL holds
( ( for b3, b4 being Element of REAL holds b1 . b3,b4 = b3 * b4 & for b3, b4 being Element of REAL holds b2 . b3,b4 = b3 * b4 ) implies ( b1 = b2 ) )
from BINOP_2:sch 2();
func divreal -> BinOp of
REAL means :: BINOP_2:def 12
for b
1, b
2 being
Element of
REAL holds a
1 . b
1,b
2 = b
1 / b
2;
existence
ex b1 being BinOp of REAL st
for b2, b3 being Element of REAL holds b1 . b2,b3 = b2 / b3
from BINOP_1:sch 2();
uniqueness
for b1, b2 being BinOp of REAL holds
( ( for b3, b4 being Element of REAL holds b1 . b3,b4 = b3 / b4 & for b3, b4 being Element of REAL holds b2 . b3,b4 = b3 / b4 ) implies ( b1 = b2 ) )
from BINOP_2:sch 2();
end;
:: deftheorem defines compreal BINOP_2:def 7 :
:: deftheorem defines invreal BINOP_2:def 8 :
:: deftheorem E3 defines addreal BINOP_2:def 9 :
:: deftheorem defines diffreal BINOP_2:def 10 :
:: deftheorem E4 defines multreal BINOP_2:def 11 :
:: deftheorem defines divreal BINOP_2:def 12 :
definition
func comprat -> UnOp of
RAT means :: BINOP_2:def 13
for b
1 being
Element of
RAT holds a
1 . b
1 = - b
1;
existence
ex b1 being UnOp of RAT st
for b2 being Element of RAT holds b1 . b2 = - b2
from FUNCT_2:sch 4();
uniqueness
for b1, b2 being UnOp of RAT holds
( ( for b3 being Element of RAT holds b1 . b3 = - b3 & for b3 being Element of RAT holds b2 . b3 = - b3 ) implies ( b1 = b2 ) )
from BINOP_2:sch 1();
func invrat -> UnOp of
RAT means :: BINOP_2:def 14
for b
1 being
Element of
RAT holds a
1 . b
1 = b
1 " ;
existence
ex b1 being UnOp of RAT st
for b2 being Element of RAT holds b1 . b2 = b2 "
from FUNCT_2:sch 4();
uniqueness
for b1, b2 being UnOp of RAT holds
( ( for b3 being Element of RAT holds b1 . b3 = b3 " & for b3 being Element of RAT holds b2 . b3 = b3 " ) implies ( b1 = b2 ) )
from BINOP_2:sch 1();
func addrat -> BinOp of
RAT means :
E5:
:: BINOP_2:def 15
for b
1, b
2 being
Element of
RAT holds a
1 . b
1,b
2 = b
1 + b
2;
existence
ex b1 being BinOp of RAT st
for b2, b3 being Element of RAT holds b1 . b2,b3 = b2 + b3
from BINOP_1:sch 2();
uniqueness
for b1, b2 being BinOp of RAT holds
( ( for b3, b4 being Element of RAT holds b1 . b3,b4 = b3 + b4 & for b3, b4 being Element of RAT holds b2 . b3,b4 = b3 + b4 ) implies ( b1 = b2 ) )
from BINOP_2:sch 2();
func diffrat -> BinOp of
RAT means :: BINOP_2:def 16
for b
1, b
2 being
Element of
RAT holds a
1 . b
1,b
2 = b
1 - b
2;
existence
ex b1 being BinOp of RAT st
for b2, b3 being Element of RAT holds b1 . b2,b3 = b2 - b3
from BINOP_1:sch 2();
uniqueness
for b1, b2 being BinOp of RAT holds
( ( for b3, b4 being Element of RAT holds b1 . b3,b4 = b3 - b4 & for b3, b4 being Element of RAT holds b2 . b3,b4 = b3 - b4 ) implies ( b1 = b2 ) )
from BINOP_2:sch 2();
func multrat -> BinOp of
RAT means :
E6:
:: BINOP_2:def 17
for b
1, b
2 being
Element of
RAT holds a
1 . b
1,b
2 = b
1 * b
2;
existence
ex b1 being BinOp of RAT st
for b2, b3 being Element of RAT holds b1 . b2,b3 = b2 * b3
from BINOP_1:sch 2();
uniqueness
for b1, b2 being BinOp of RAT holds
( ( for b3, b4 being Element of RAT holds b1 . b3,b4 = b3 * b4 & for b3, b4 being Element of RAT holds b2 . b3,b4 = b3 * b4 ) implies ( b1 = b2 ) )
from BINOP_2:sch 2();
func divrat -> BinOp of
RAT means :: BINOP_2:def 18
for b
1, b
2 being
Element of
RAT holds a
1 . b
1,b
2 = b
1 / b
2;
existence
ex b1 being BinOp of RAT st
for b2, b3 being Element of RAT holds b1 . b2,b3 = b2 / b3
from BINOP_1:sch 2();
uniqueness
for b1, b2 being BinOp of RAT holds
( ( for b3, b4 being Element of RAT holds b1 . b3,b4 = b3 / b4 & for b3, b4 being Element of RAT holds b2 . b3,b4 = b3 / b4 ) implies ( b1 = b2 ) )
from BINOP_2:sch 2();
end;
:: deftheorem defines comprat BINOP_2:def 13 :
:: deftheorem defines invrat BINOP_2:def 14 :
:: deftheorem E5 defines addrat BINOP_2:def 15 :
:: deftheorem defines diffrat BINOP_2:def 16 :
:: deftheorem E6 defines multrat BINOP_2:def 17 :
:: deftheorem defines divrat BINOP_2:def 18 :
definition
func compint -> UnOp of
INT means :: BINOP_2:def 19
for b
1 being
Element of
INT holds a
1 . b
1 = - b
1;
existence
ex b1 being UnOp of INT st
for b2 being Element of INT holds b1 . b2 = - b2
from FUNCT_2:sch 4();
uniqueness
for b1, b2 being UnOp of INT holds
( ( for b3 being Element of INT holds b1 . b3 = - b3 & for b3 being Element of INT holds b2 . b3 = - b3 ) implies ( b1 = b2 ) )
from BINOP_2:sch 1();
func addint -> BinOp of
INT means :
E7:
:: BINOP_2:def 20
for b
1, b
2 being
Element of
INT holds a
1 . b
1,b
2 = b
1 + b
2;
existence
ex b1 being BinOp of INT st
for b2, b3 being Element of INT holds b1 . b2,b3 = b2 + b3
from BINOP_1:sch 2();
uniqueness
for b1, b2 being BinOp of INT holds
( ( for b3, b4 being Element of INT holds b1 . b3,b4 = b3 + b4 & for b3, b4 being Element of INT holds b2 . b3,b4 = b3 + b4 ) implies ( b1 = b2 ) )
from BINOP_2:sch 2();
func diffint -> BinOp of
INT means :: BINOP_2:def 21
for b
1, b
2 being
Element of
INT holds a
1 . b
1,b
2 = b
1 - b
2;
existence
ex b1 being BinOp of INT st
for b2, b3 being Element of INT holds b1 . b2,b3 = b2 - b3
from BINOP_1:sch 2();
uniqueness
for b1, b2 being BinOp of INT holds
( ( for b3, b4 being Element of INT holds b1 . b3,b4 = b3 - b4 & for b3, b4 being Element of INT holds b2 . b3,b4 = b3 - b4 ) implies ( b1 = b2 ) )
from BINOP_2:sch 2();
func multint -> BinOp of
INT means :
E8:
:: BINOP_2:def 22
for b
1, b
2 being
Element of
INT holds a
1 . b
1,b
2 = b
1 * b
2;
existence
ex b1 being BinOp of INT st
for b2, b3 being Element of INT holds b1 . b2,b3 = b2 * b3
from BINOP_1:sch 2();
uniqueness
for b1, b2 being BinOp of INT holds
( ( for b3, b4 being Element of INT holds b1 . b3,b4 = b3 * b4 & for b3, b4 being Element of INT holds b2 . b3,b4 = b3 * b4 ) implies ( b1 = b2 ) )
from BINOP_2:sch 2();
end;
:: deftheorem defines compint BINOP_2:def 19 :
:: deftheorem E7 defines addint BINOP_2:def 20 :
:: deftheorem defines diffint BINOP_2:def 21 :
:: deftheorem E8 defines multint BINOP_2:def 22 :
definition
func addnat -> BinOp of
NAT means :
E9:
:: BINOP_2:def 23
for b
1, b
2 being
Element of
NAT holds a
1 . b
1,b
2 = b
1 + b
2;
existence
ex b1 being BinOp of NAT st
for b2, b3 being Element of NAT holds b1 . b2,b3 = b2 + b3
from BINOP_1:sch 2();
uniqueness
for b1, b2 being BinOp of NAT holds
( ( for b3, b4 being Element of NAT holds b1 . b3,b4 = b3 + b4 & for b3, b4 being Element of NAT holds b2 . b3,b4 = b3 + b4 ) implies ( b1 = b2 ) )
from BINOP_2:sch 2();
func multnat -> BinOp of
NAT means :
E10:
:: BINOP_2:def 24
for b
1, b
2 being
Element of
NAT holds a
1 . b
1,b
2 = b
1 * b
2;
existence
ex b1 being BinOp of NAT st
for b2, b3 being Element of NAT holds b1 . b2,b3 = b2 * b3
from BINOP_1:sch 2();
uniqueness
for b1, b2 being BinOp of NAT holds
( ( for b3, b4 being Element of NAT holds b1 . b3,b4 = b3 * b4 & for b3, b4 being Element of NAT holds b2 . b3,b4 = b3 * b4 ) implies ( b1 = b2 ) )
from BINOP_2:sch 2();
end;
:: deftheorem E9 defines addnat BINOP_2:def 23 :
:: deftheorem E10 defines multnat BINOP_2:def 24 :
E11:
0 in NAT
;
then reconsider c1 = 0 as Element of COMPLEX by NUMBERS:20;
E12:
c1 is_a_unity_wrt addcomplex
E13:
0 is_a_unity_wrt addreal
reconsider c2 = 0 as Element of RAT by E11, NUMBERS:18;
E14:
c2 is_a_unity_wrt addrat