binop_2.miz
begin
scheme ::
BINOP_2:sch1
FuncDefUniq { C,D() -> non
empty
set , F(
Element of C()) ->
object } :
for f1,f2 be
Function of C(), D() st (for x be
Element of C() holds (f1
. x)
= F(x)) & (for x be
Element of C() holds (f2
. x)
= F(x)) holds f1
= f2;
let f1,f2 be
Function of C(), D() such that
A1: for x be
Element of C() holds (f1
. x)
= F(x) and
A2: for x be
Element of C() holds (f2
. x)
= F(x);
now
let x be
Element of C();
thus (f1
. x)
= F(x) by
A1
.= (f2
. x) by
A2;
end;
hence thesis by
FUNCT_2: 63;
end;
scheme ::
BINOP_2:sch2
BinOpDefuniq { A() -> non
empty
set , O(
Element of A(),
Element of A()) ->
object } :
for o1,o2 be
BinOp of A() st (for a,b be
Element of A() holds (o1
. (a,b))
= O(a,b)) & (for a,b be
Element of A() holds (o2
. (a,b))
= O(a,b)) holds o1
= o2;
let o1,o2 be
BinOp of A() such that
A1: for a,b be
Element of A() holds (o1
. (a,b))
= O(a,b) and
A2: for a,b be
Element of A() holds (o2
. (a,b))
= O(a,b);
now
let a,b be
Element of A();
thus (o1
. (a,b))
= O(a,b) by
A1
.= (o2
. (a,b)) by
A2;
end;
hence thesis;
end;
scheme ::
BINOP_2:sch3
CFuncDefUniq { F(
object) ->
object } :
for f1,f2 be
Function of
COMPLEX ,
COMPLEX st (for x be
Complex holds (f1
. x)
= F(x)) & (for x be
Complex holds (f2
. x)
= F(x)) holds f1
= f2;
let f1,f2 be
Function of
COMPLEX ,
COMPLEX such that
A1: for x be
Complex holds (f1
. x)
= F(x) and
A2: for x be
Complex holds (f2
. x)
= F(x);
now
let x be
Element of
COMPLEX ;
thus (f1
. x)
= F(x) by
A1
.= (f2
. x) by
A2;
end;
hence thesis by
FUNCT_2: 63;
end;
scheme ::
BINOP_2:sch4
RFuncDefUniq { F(
Real) ->
object } :
for f1,f2 be
Function of
REAL ,
REAL st (for x be
Real holds (f1
. x)
= F(x)) & (for x be
Real holds (f2
. x)
= F(x)) holds f1
= f2;
let f1,f2 be
Function of
REAL ,
REAL such that
A1: for x be
Real holds (f1
. x)
= F(x) and
A2: for x be
Real holds (f2
. x)
= F(x);
now
let x be
Element of
REAL ;
thus (f1
. x)
= F(x) by
A1
.= (f2
. x) by
A2;
end;
hence thesis by
FUNCT_2: 63;
end;
registration
cluster ->
rational for
Element of
RAT ;
coherence by
RAT_1:def 2;
end
scheme ::
BINOP_2:sch5
WFuncDefUniq { F(
Rational) ->
object } :
for f1,f2 be
Function of
RAT ,
RAT st (for x be
Rational holds (f1
. x)
= F(x)) & (for x be
Rational holds (f2
. x)
= F(x)) holds f1
= f2;
let f1,f2 be
Function of
RAT ,
RAT such that
A1: for x be
Rational holds (f1
. x)
= F(x) and
A2: for x be
Rational holds (f2
. x)
= F(x);
now
let x be
Element of
RAT ;
thus (f1
. x)
= F(x) by
A1
.= (f2
. x) by
A2;
end;
hence thesis by
FUNCT_2: 63;
end;
scheme ::
BINOP_2:sch6
IFuncDefUniq { F(
Integer) ->
object } :
for f1,f2 be
Function of
INT ,
INT st (for x be
Integer holds (f1
. x)
= F(x)) & (for x be
Integer holds (f2
. x)
= F(x)) holds f1
= f2;
let f1,f2 be
Function of
INT ,
INT such that
A1: for x be
Integer holds (f1
. x)
= F(x) and
A2: for x be
Integer holds (f2
. x)
= F(x);
now
let x be
Element of
INT ;
thus (f1
. x)
= F(x) by
A1
.= (f2
. x) by
A2;
end;
hence thesis by
FUNCT_2: 63;
end;
scheme ::
BINOP_2:sch7
NFuncDefUniq { F(
Nat) ->
object } :
for f1,f2 be
sequence of
NAT st (for x be
Nat holds (f1
. x)
= F(x)) & (for x be
Nat holds (f2
. x)
= F(x)) holds f1
= f2;
let f1,f2 be
sequence of
NAT such that
A1: for x be
Nat holds (f1
. x)
= F(x) and
A2: for x be
Nat holds (f2
. x)
= F(x);
now
let x be
Element of
NAT ;
thus (f1
. x)
= F(x) by
A1
.= (f2
. x) by
A2;
end;
hence thesis by
FUNCT_2: 63;
end;
scheme ::
BINOP_2:sch8
CBinOpDefuniq { O(
Complex,
Complex) ->
object } :
for o1,o2 be
BinOp of
COMPLEX st (for a,b be
Complex holds (o1
. (a,b))
= O(a,b)) & (for a,b be
Complex holds (o2
. (a,b))
= O(a,b)) holds o1
= o2;
let o1,o2 be
BinOp of
COMPLEX such that
A1: for a,b be
Complex holds (o1
. (a,b))
= O(a,b) and
A2: for a,b be
Complex holds (o2
. (a,b))
= O(a,b);
now
let a,b be
Element of
COMPLEX ;
thus (o1
. (a,b))
= O(a,b) by
A1
.= (o2
. (a,b)) by
A2;
end;
hence thesis;
end;
scheme ::
BINOP_2:sch9
RBinOpDefuniq { O(
Real,
Real) ->
object } :
for o1,o2 be
BinOp of
REAL st (for a,b be
Real holds (o1
. (a,b))
= O(a,b)) & (for a,b be
Real holds (o2
. (a,b))
= O(a,b)) holds o1
= o2;
let o1,o2 be
BinOp of
REAL such that
A1: for a,b be
Real holds (o1
. (a,b))
= O(a,b) and
A2: for a,b be
Real holds (o2
. (a,b))
= O(a,b);
now
let a,b be
Element of
REAL ;
thus (o1
. (a,b))
= O(a,b) by
A1
.= (o2
. (a,b)) by
A2;
end;
hence thesis;
end;
scheme ::
BINOP_2:sch10
WBinOpDefuniq { O(
Rational,
Rational) ->
object } :
for o1,o2 be
BinOp of
RAT st (for a,b be
Rational holds (o1
. (a,b))
= O(a,b)) & (for a,b be
Rational holds (o2
. (a,b))
= O(a,b)) holds o1
= o2;
let o1,o2 be
BinOp of
RAT such that
A1: for a,b be
Rational holds (o1
. (a,b))
= O(a,b) and
A2: for a,b be
Rational holds (o2
. (a,b))
= O(a,b);
now
let a,b be
Element of
RAT ;
thus (o1
. (a,b))
= O(a,b) by
A1
.= (o2
. (a,b)) by
A2;
end;
hence thesis;
end;
scheme ::
BINOP_2:sch11
IBinOpDefuniq { O(
Integer,
Integer) ->
object } :
for o1,o2 be
BinOp of
INT st (for a,b be
Integer holds (o1
. (a,b))
= O(a,b)) & (for a,b be
Integer holds (o2
. (a,b))
= O(a,b)) holds o1
= o2;
let o1,o2 be
BinOp of
INT such that
A1: for a,b be
Integer holds (o1
. (a,b))
= O(a,b) and
A2: for a,b be
Integer holds (o2
. (a,b))
= O(a,b);
now
let a,b be
Element of
INT ;
thus (o1
. (a,b))
= O(a,b) by
A1
.= (o2
. (a,b)) by
A2;
end;
hence thesis;
end;
scheme ::
BINOP_2:sch12
NBinOpDefuniq { O(
Nat,
Nat) ->
object } :
for o1,o2 be
BinOp of
NAT st (for a,b be
Nat holds (o1
. (a,b))
= O(a,b)) & (for a,b be
Nat holds (o2
. (a,b))
= O(a,b)) holds o1
= o2;
let o1,o2 be
BinOp of
NAT such that
A1: for a,b be
Nat holds (o1
. (a,b))
= O(a,b) and
A2: for a,b be
Nat holds (o2
. (a,b))
= O(a,b);
now
let a,b be
Element of
NAT ;
thus (o1
. (a,b))
= O(a,b) by
A1
.= (o2
. (a,b)) by
A2;
end;
hence thesis;
end;
scheme ::
BINOP_2:sch13
CLambda2D { F(
Complex,
Complex) ->
Complex } :
ex f be
Function of
[:
COMPLEX ,
COMPLEX :],
COMPLEX st for x,y be
Complex holds (f
. (x,y))
= F(x,y);
defpred
P[
Complex,
Complex,
set] means $3
= F($1,$2);
A1: for x,y be
Element of
COMPLEX holds ex z be
Element of
COMPLEX st
P[x, y, z]
proof
let x,y be
Element of
COMPLEX ;
reconsider z = F(x,y) as
Element of
COMPLEX by
XCMPLX_0:def 2;
take z;
thus
P[x, y, z];
end;
consider f be
Function of
[:
COMPLEX ,
COMPLEX :],
COMPLEX such that
A2: for x,y be
Element of
COMPLEX holds
P[x, y, (f
. (x,y))] from
BINOP_1:sch 3(
A1);
take f;
let x,y be
Complex;
reconsider x, y as
Element of
COMPLEX by
XCMPLX_0:def 2;
P[x, y, (f
. (x,y))] by
A2;
then (f
. (x,y))
= F(x,y);
hence thesis;
end;
scheme ::
BINOP_2:sch14
RLambda2D { F(
Real,
Real) ->
Real } :
ex f be
Function of
[:
REAL ,
REAL :],
REAL st for x,y be
Real holds (f
. (x,y))
= F(x,y);
defpred
P[
Real,
Real,
set] means $3
= F($1,$2);
A1: for x,y be
Element of
REAL holds ex z be
Element of
REAL st
P[x, y, z]
proof
let x,y be
Element of
REAL ;
reconsider z = F(x,y) as
Element of
REAL by
XREAL_0:def 1;
take z;
thus
P[x, y, z];
end;
consider f be
Function of
[:
REAL ,
REAL :],
REAL such that
A2: for x,y be
Element of
REAL holds
P[x, y, (f
. (x,y))] from
BINOP_1:sch 3(
A1);
take f;
let x,y be
Real;
reconsider x, y as
Element of
REAL by
XREAL_0:def 1;
P[x, y, (f
. (x,y))] by
A2;
then (f
. (x,y))
= F(x,y);
hence thesis;
end;
scheme ::
BINOP_2:sch15
WLambda2D { F(
Rational,
Rational) ->
Rational } :
ex f be
Function of
[:
RAT ,
RAT :],
RAT st for x,y be
Rational holds (f
. (x,y))
= F(x,y);
defpred
P[
Rational,
Rational,
set] means $3
= F($1,$2);
A1: for x,y be
Element of
RAT holds ex z be
Element of
RAT st
P[x, y, z]
proof
let x,y be
Element of
RAT ;
reconsider z = F(x,y) as
Element of
RAT by
RAT_1:def 2;
take z;
thus
P[x, y, z];
end;
consider f be
Function of
[:
RAT ,
RAT :],
RAT such that
A2: for x,y be
Element of
RAT holds
P[x, y, (f
. (x,y))] from
BINOP_1:sch 3(
A1);
take f;
let x,y be
Rational;
reconsider x, y as
Element of
RAT by
RAT_1:def 2;
P[x, y, (f
. (x,y))] by
A2;
then (f
. (x,y))
= F(x,y);
hence thesis;
end;
scheme ::
BINOP_2:sch16
ILambda2D { F(
Integer,
Integer) ->
Integer } :
ex f be
Function of
[:
INT ,
INT :],
INT st for x,y be
Integer holds (f
. (x,y))
= F(x,y);
defpred
P[
Integer,
Integer,
set] means $3
= F($1,$2);
A1: for x,y be
Element of
INT holds ex z be
Element of
INT st
P[x, y, z]
proof
let x,y be
Element of
INT ;
reconsider z = F(x,y) as
Element of
INT by
INT_1:def 2;
take z;
thus
P[x, y, z];
end;
consider f be
Function of
[:
INT ,
INT :],
INT such that
A2: for x,y be
Element of
INT holds
P[x, y, (f
. (x,y))] from
BINOP_1:sch 3(
A1);
take f;
let x,y be
Integer;
reconsider x, y as
Element of
INT by
INT_1:def 2;
P[x, y, (f
. (x,y))] by
A2;
then (f
. (x,y))
= F(x,y);
hence thesis;
end;
scheme ::
BINOP_2:sch17
NLambda2D { F(
Nat,
Nat) ->
Nat } :
ex f be
Function of
[:
NAT ,
NAT :],
NAT st for x,y be
Nat holds (f
. (x,y))
= F(x,y);
defpred
P[
Nat,
Nat,
set] means $3
= F($1,$2);
A1: for x,y be
Element of
NAT holds ex z be
Element of
NAT st
P[x, y, z]
proof
let x,y be
Element of
NAT ;
reconsider z = F(x,y) as
Element of
NAT by
ORDINAL1:def 12;
take z;
thus
P[x, y, z];
end;
consider f be
Function of
[:
NAT ,
NAT :],
NAT such that
A2: for x,y be
Element of
NAT holds
P[x, y, (f
. (x,y))] from
BINOP_1:sch 3(
A1);
take f;
let x,y be
Nat;
reconsider x, y as
Element of
NAT by
ORDINAL1:def 12;
P[x, y, (f
. (x,y))] by
A2;
then (f
. (x,y))
= F(x,y);
hence thesis;
end;
scheme ::
BINOP_2:sch18
CLambdaD { F(
Complex) ->
Complex } :
ex f be
Function of
COMPLEX ,
COMPLEX st for x be
Complex holds (f
. x)
= F(x);
defpred
P[
Element of
COMPLEX ,
set] means $2
= F($1);
A1: for x be
Element of
COMPLEX holds ex y be
Element of
COMPLEX st
P[x, y]
proof
let x be
Element of
COMPLEX ;
reconsider y = F(x) as
Element of
COMPLEX by
XCMPLX_0:def 2;
take y;
thus
P[x, y];
end;
consider f be
Function of
COMPLEX ,
COMPLEX such that
A2: for x be
Element of
COMPLEX holds
P[x, (f
. x)] from
FUNCT_2:sch 3(
A1);
take f;
let c be
Complex;
reconsider c as
Element of
COMPLEX by
XCMPLX_0:def 2;
P[c, (f
. c)] by
A2;
hence thesis;
end;
scheme ::
BINOP_2:sch19
RLambdaD { F(
Real) ->
Real } :
ex f be
Function of
REAL ,
REAL st for x be
Real holds (f
. x)
= F(x);
defpred
P[
Element of
REAL ,
set] means $2
= F($1);
A1: for x be
Element of
REAL holds ex y be
Element of
REAL st
P[x, y]
proof
let x be
Element of
REAL ;
reconsider y = F(x) as
Element of
REAL by
XREAL_0:def 1;
take y;
thus
P[x, y];
end;
consider f be
Function of
REAL ,
REAL such that
A2: for x be
Element of
REAL holds
P[x, (f
. x)] from
FUNCT_2:sch 3(
A1);
take f;
let c be
Real;
reconsider c as
Element of
REAL by
XREAL_0:def 1;
P[c, (f
. c)] by
A2;
hence thesis;
end;
scheme ::
BINOP_2:sch20
WLambdaD { F(
Rational) ->
Rational } :
ex f be
Function of
RAT ,
RAT st for x be
Rational holds (f
. x)
= F(x);
defpred
P[
Element of
RAT ,
set] means $2
= F($1);
A1: for x be
Element of
RAT holds ex y be
Element of
RAT st
P[x, y]
proof
let x be
Element of
RAT ;
reconsider y = F(x) as
Element of
RAT by
RAT_1:def 2;
take y;
thus
P[x, y];
end;
consider f be
Function of
RAT ,
RAT such that
A2: for x be
Element of
RAT holds
P[x, (f
. x)] from
FUNCT_2:sch 3(
A1);
take f;
let c be
Rational;
reconsider c as
Element of
RAT by
RAT_1:def 2;
P[c, (f
. c)] by
A2;
hence thesis;
end;
scheme ::
BINOP_2:sch21
ILambdaD { F(
Integer) ->
Integer } :
ex f be
Function of
INT ,
INT st for x be
Integer holds (f
. x)
= F(x);
defpred
P[
Element of
INT ,
set] means $2
= F($1);
A1: for x be
Element of
INT holds ex y be
Element of
INT st
P[x, y]
proof
let x be
Element of
INT ;
reconsider y = F(x) as
Element of
INT by
INT_1:def 2;
take y;
thus
P[x, y];
end;
consider f be
Function of
INT ,
INT such that
A2: for x be
Element of
INT holds
P[x, (f
. x)] from
FUNCT_2:sch 3(
A1);
take f;
let c be
Integer;
reconsider c as
Element of
INT by
INT_1:def 2;
P[c, (f
. c)] by
A2;
hence thesis;
end;
scheme ::
BINOP_2:sch22
NLambdaD { F(
Nat) ->
Nat } :
ex f be
sequence of
NAT st for x be
Nat holds (f
. x)
= F(x);
defpred
P[
Element of
NAT ,
set] means $2
= F($1);
A1: for x be
Element of
NAT holds ex y be
Element of
NAT st
P[x, y]
proof
let x be
Element of
NAT ;
reconsider y = F(x) as
Element of
NAT by
ORDINAL1:def 12;
take y;
thus
P[x, y];
end;
consider f be
sequence of
NAT such that
A2: for x be
Element of
NAT holds
P[x, (f
. x)] from
FUNCT_2:sch 3(
A1);
take f;
let c be
Nat;
reconsider c as
Element of
NAT by
ORDINAL1:def 12;
P[c, (f
. c)] by
A2;
hence thesis;
end;
reserve c,c1,c2 for
Complex;
reserve r,r1,r2 for
Real;
reserve w,w1,w2 for
Rational;
reserve i,i1,i2 for
Integer;
reserve n1,n2 for
Nat;
definition
::
BINOP_2:def1
func
compcomplex ->
UnOp of
COMPLEX means for c holds (it
. c)
= (
- c);
existence from
CLambdaD;
uniqueness from
CFuncDefUniq;
::
BINOP_2:def2
func
invcomplex ->
UnOp of
COMPLEX means for c holds (it
. c)
= (c
" );
existence from
CLambdaD;
uniqueness from
CFuncDefUniq;
::
BINOP_2:def3
func
addcomplex ->
BinOp of
COMPLEX means
:
Def3: for c1, c2 holds (it
. (c1,c2))
= (c1
+ c2);
existence from
CLambda2D;
uniqueness from
CBinOpDefuniq;
::
BINOP_2:def4
func
diffcomplex ->
BinOp of
COMPLEX means for c1, c2 holds (it
. (c1,c2))
= (c1
- c2);
existence from
CLambda2D;
uniqueness from
CBinOpDefuniq;
::
BINOP_2:def5
func
multcomplex ->
BinOp of
COMPLEX means
:
Def5: for c1, c2 holds (it
. (c1,c2))
= (c1
* c2);
existence from
CLambda2D;
uniqueness from
CBinOpDefuniq;
::
BINOP_2:def6
func
divcomplex ->
BinOp of
COMPLEX means for c1, c2 holds (it
. (c1,c2))
= (c1
/ c2);
existence from
CLambda2D;
uniqueness from
CBinOpDefuniq;
end
definition
::
BINOP_2:def7
func
compreal ->
UnOp of
REAL means for r holds (it
. r)
= (
- r);
existence from
RLambdaD;
uniqueness from
RFuncDefUniq;
::
BINOP_2:def8
func
invreal ->
UnOp of
REAL means for r holds (it
. r)
= (r
" );
existence from
RLambdaD;
uniqueness from
RFuncDefUniq;
::
BINOP_2:def9
func
addreal ->
BinOp of
REAL means
:
Def9: for r1, r2 holds (it
. (r1,r2))
= (r1
+ r2);
existence from
RLambda2D;
uniqueness from
RBinOpDefuniq;
::
BINOP_2:def10
func
diffreal ->
BinOp of
REAL means for r1, r2 holds (it
. (r1,r2))
= (r1
- r2);
existence from
RLambda2D;
uniqueness from
RBinOpDefuniq;
::
BINOP_2:def11
func
multreal ->
BinOp of
REAL means
:
Def11: for r1, r2 holds (it
. (r1,r2))
= (r1
* r2);
existence from
RLambda2D;
uniqueness from
RBinOpDefuniq;
::
BINOP_2:def12
func
divreal ->
BinOp of
REAL means for r1, r2 holds (it
. (r1,r2))
= (r1
/ r2);
existence from
RLambda2D;
uniqueness from
RBinOpDefuniq;
end
definition
::
BINOP_2:def13
func
comprat ->
UnOp of
RAT means for w holds (it
. w)
= (
- w);
existence from
WLambdaD;
uniqueness from
WFuncDefUniq;
::
BINOP_2:def14
func
invrat ->
UnOp of
RAT means for w holds (it
. w)
= (w
" );
existence from
WLambdaD;
uniqueness from
WFuncDefUniq;
::
BINOP_2:def15
func
addrat ->
BinOp of
RAT means
:
Def15: for w1, w2 holds (it
. (w1,w2))
= (w1
+ w2);
existence from
WLambda2D;
uniqueness from
WBinOpDefuniq;
::
BINOP_2:def16
func
diffrat ->
BinOp of
RAT means for w1, w2 holds (it
. (w1,w2))
= (w1
- w2);
existence from
WLambda2D;
uniqueness from
WBinOpDefuniq;
::
BINOP_2:def17
func
multrat ->
BinOp of
RAT means
:
Def17: for w1, w2 holds (it
. (w1,w2))
= (w1
* w2);
existence from
WLambda2D;
uniqueness from
WBinOpDefuniq;
::
BINOP_2:def18
func
divrat ->
BinOp of
RAT means for w1, w2 holds (it
. (w1,w2))
= (w1
/ w2);
existence from
WLambda2D;
uniqueness from
WBinOpDefuniq;
end
definition
::
BINOP_2:def19
func
compint ->
UnOp of
INT means for i holds (it
. i)
= (
- i);
existence from
ILambdaD;
uniqueness from
IFuncDefUniq;
::
BINOP_2:def20
func
addint ->
BinOp of
INT means
:
Def20: for i1, i2 holds (it
. (i1,i2))
= (i1
+ i2);
existence from
ILambda2D;
uniqueness from
IBinOpDefuniq;
::
BINOP_2:def21
func
diffint ->
BinOp of
INT means for i1, i2 holds (it
. (i1,i2))
= (i1
- i2);
existence from
ILambda2D;
uniqueness from
IBinOpDefuniq;
::
BINOP_2:def22
func
multint ->
BinOp of
INT means
:
Def22: for i1, i2 holds (it
. (i1,i2))
= (i1
* i2);
existence from
ILambda2D;
uniqueness from
IBinOpDefuniq;
end
definition
::
BINOP_2:def23
func
addnat ->
BinOp of
NAT means
:
Def23: for n1, n2 holds (it
. (n1,n2))
= (n1
+ n2);
existence from
NLambda2D;
uniqueness from
NBinOpDefuniq;
::
BINOP_2:def24
func
multnat ->
BinOp of
NAT means
:
Def24: for n1, n2 holds (it
. (n1,n2))
= (n1
* n2);
existence from
NLambda2D;
uniqueness from
NBinOpDefuniq;
end
registration
cluster
addcomplex ->
commutative
associative;
coherence
proof
thus
addcomplex is
commutative
proof
let c1,c2 be
Element of
COMPLEX ;
thus (
addcomplex
. (c1,c2))
= (c1
+ c2) by
Def3
.= (
addcomplex
. (c2,c1)) by
Def3;
end;
let c1,c2,c3 be
Element of
COMPLEX ;
thus (
addcomplex
. (c1,(
addcomplex
. (c2,c3))))
= (c1
+ (
addcomplex
. (c2,c3))) by
Def3
.= (c1
+ (c2
+ c3)) by
Def3
.= ((c1
+ c2)
+ c3)
.= ((
addcomplex
. (c1,c2))
+ c3) by
Def3
.= (
addcomplex
. ((
addcomplex
. (c1,c2)),c3)) by
Def3;
end;
cluster
multcomplex ->
commutative
associative;
coherence
proof
thus
multcomplex is
commutative
proof
let c1,c2 be
Element of
COMPLEX ;
thus (
multcomplex
. (c1,c2))
= (c1
* c2) by
Def5
.= (
multcomplex
. (c2,c1)) by
Def5;
end;
let c1,c2,c3 be
Element of
COMPLEX ;
thus (
multcomplex
. (c1,(
multcomplex
. (c2,c3))))
= (c1
* (
multcomplex
. (c2,c3))) by
Def5
.= (c1
* (c2
* c3)) by
Def5
.= ((c1
* c2)
* c3)
.= ((
multcomplex
. (c1,c2))
* c3) by
Def5
.= (
multcomplex
. ((
multcomplex
. (c1,c2)),c3)) by
Def5;
end;
cluster
addreal ->
commutative
associative;
coherence
proof
thus
addreal is
commutative
proof
let r1,r2 be
Element of
REAL ;
thus (
addreal
. (r1,r2))
= (r1
+ r2) by
Def9
.= (
addreal
. (r2,r1)) by
Def9;
end;
let r1,r2,r3 be
Element of
REAL ;
thus (
addreal
. (r1,(
addreal
. (r2,r3))))
= (r1
+ (
addreal
. (r2,r3))) by
Def9
.= (r1
+ (r2
+ r3)) by
Def9
.= ((r1
+ r2)
+ r3)
.= ((
addreal
. (r1,r2))
+ r3) by
Def9
.= (
addreal
. ((
addreal
. (r1,r2)),r3)) by
Def9;
end;
cluster
multreal ->
commutative
associative;
coherence
proof
thus
multreal is
commutative
proof
let r1,r2 be
Element of
REAL ;
thus (
multreal
. (r1,r2))
= (r1
* r2) by
Def11
.= (
multreal
. (r2,r1)) by
Def11;
end;
let r1,r2,r3 be
Element of
REAL ;
thus (
multreal
. (r1,(
multreal
. (r2,r3))))
= (r1
* (
multreal
. (r2,r3))) by
Def11
.= (r1
* (r2
* r3)) by
Def11
.= ((r1
* r2)
* r3)
.= ((
multreal
. (r1,r2))
* r3) by
Def11
.= (
multreal
. ((
multreal
. (r1,r2)),r3)) by
Def11;
end;
cluster
addrat ->
commutative
associative;
coherence
proof
thus
addrat is
commutative
proof
let w1,w2 be
Element of
RAT ;
thus (
addrat
. (w1,w2))
= (w1
+ w2) by
Def15
.= (
addrat
. (w2,w1)) by
Def15;
end;
let w1,w2,w3 be
Element of
RAT ;
thus (
addrat
. (w1,(
addrat
. (w2,w3))))
= (w1
+ (
addrat
. (w2,w3))) by
Def15
.= (w1
+ (w2
+ w3)) by
Def15
.= ((w1
+ w2)
+ w3)
.= ((
addrat
. (w1,w2))
+ w3) by
Def15
.= (
addrat
. ((
addrat
. (w1,w2)),w3)) by
Def15;
end;
cluster
multrat ->
commutative
associative;
coherence
proof
thus
multrat is
commutative
proof
let w1,w2 be
Element of
RAT ;
thus (
multrat
. (w1,w2))
= (w1
* w2) by
Def17
.= (
multrat
. (w2,w1)) by
Def17;
end;
let w1,w2,w3 be
Element of
RAT ;
thus (
multrat
. (w1,(
multrat
. (w2,w3))))
= (w1
* (
multrat
. (w2,w3))) by
Def17
.= (w1
* (w2
* w3)) by
Def17
.= ((w1
* w2)
* w3)
.= ((
multrat
. (w1,w2))
* w3) by
Def17
.= (
multrat
. ((
multrat
. (w1,w2)),w3)) by
Def17;
end;
cluster
addint ->
commutative
associative;
coherence
proof
thus
addint is
commutative
proof
let i1,i2 be
Element of
INT ;
thus (
addint
. (i1,i2))
= (i1
+ i2) by
Def20
.= (
addint
. (i2,i1)) by
Def20;
end;
let i1,i2,i3 be
Element of
INT ;
thus (
addint
. (i1,(
addint
. (i2,i3))))
= (i1
+ (
addint
. (i2,i3))) by
Def20
.= (i1
+ (i2
+ i3)) by
Def20
.= ((i1
+ i2)
+ i3)
.= ((
addint
. (i1,i2))
+ i3) by
Def20
.= (
addint
. ((
addint
. (i1,i2)),i3)) by
Def20;
end;
cluster
multint ->
commutative
associative;
coherence
proof
thus
multint is
commutative
proof
let i1,i2 be
Element of
INT ;
thus (
multint
. (i1,i2))
= (i1
* i2) by
Def22
.= (
multint
. (i2,i1)) by
Def22;
end;
let i1,i2,i3 be
Element of
INT ;
thus (
multint
. (i1,(
multint
. (i2,i3))))
= (i1
* (
multint
. (i2,i3))) by
Def22
.= (i1
* (i2
* i3)) by
Def22
.= ((i1
* i2)
* i3)
.= ((
multint
. (i1,i2))
* i3) by
Def22
.= (
multint
. ((
multint
. (i1,i2)),i3)) by
Def22;
end;
cluster
addnat ->
commutative
associative;
coherence
proof
thus
addnat is
commutative
proof
let n1,n2 be
Element of
NAT ;
thus (
addnat
. (n1,n2))
= (n1
+ n2) by
Def23
.= (
addnat
. (n2,n1)) by
Def23;
end;
let n1,n2,n3 be
Element of
NAT ;
thus (
addnat
. (n1,(
addnat
. (n2,n3))))
= (n1
+ (
addnat
. (n2,n3))) by
Def23
.= (n1
+ (n2
+ n3)) by
Def23
.= ((n1
+ n2)
+ n3)
.= ((
addnat
. (n1,n2))
+ n3) by
Def23
.= (
addnat
. ((
addnat
. (n1,n2)),n3)) by
Def23;
end;
cluster
multnat ->
commutative
associative;
coherence
proof
thus
multnat is
commutative
proof
let n1,n2 be
Element of
NAT ;
thus (
multnat
. (n1,n2))
= (n1
* n2) by
Def24
.= (
multnat
. (n2,n1)) by
Def24;
end;
let n1,n2,n3 be
Element of
NAT ;
thus (
multnat
. (n1,(
multnat
. (n2,n3))))
= (n1
* (
multnat
. (n2,n3))) by
Def24
.= (n1
* (n2
* n3)) by
Def24
.= ((n1
* n2)
* n3)
.= ((
multnat
. (n1,n2))
* n3) by
Def24
.= (
multnat
. ((
multnat
. (n1,n2)),n3)) by
Def24;
end;
end
Lm1:
0
in
NAT ;
Lm2:
0
is_a_unity_wrt
addcomplex
proof
thus for c be
Element of
COMPLEX holds (
addcomplex
. (
0 ,c))
= c
proof
let c be
Element of
COMPLEX ;
thus (
addcomplex
. (
0 ,c))
= (
0
+ c) by
Def3
.= c;
end;
let c be
Element of
COMPLEX ;
thus (
addcomplex
. (c,
0 ))
= (c
+
0 ) by
Def3
.= c;
end;
Lm3: (
In (
0 ,
REAL ))
is_a_unity_wrt
addreal
proof
thus for r be
Element of
REAL holds (
addreal
. ((
In (
0 ,
REAL )),r))
= r
proof
let r be
Element of
REAL ;
thus (
addreal
. ((
In (
0 ,
REAL )),r))
= (
0
+ r) by
Def9
.= r;
end;
let r be
Element of
REAL ;
thus (
addreal
. (r,(
In (
0 ,
REAL ))))
= (r
+
0 ) by
Def9
.= r;
end;
Lm4:
0
is_a_unity_wrt
addrat
proof
thus for w be
Element of
RAT holds (
addrat
. (
0 ,w))
= w
proof
let w be
Element of
RAT ;
thus (
addrat
. (
0 ,w))
= (
0
+ w) by
Def15
.= w;
end;
let w be
Element of
RAT ;
thus (
addrat
. (w,
0 ))
= (w
+
0 ) by
Def15
.= w;
end;
Lm5:
0
is_a_unity_wrt
addint
proof
thus for i be
Element of
INT holds (
addint
. (
0 ,i))
= i
proof
let i be
Element of
INT ;
thus (
addint
. (
0 ,i))
= (
0
+ i) by
Def20
.= i;
end;
let i be
Element of
INT ;
thus (
addint
. (i,
0 ))
= (i
+
0 ) by
Def20
.= i;
end;
Lm6:
0
is_a_unity_wrt
addnat
proof
thus for n be
Element of
NAT holds (
addnat
. (
0 ,n))
= n
proof
let n be
Element of
NAT ;
thus (
addnat
. (
0 ,n))
= (
0
+ n) by
Def23
.= n;
end;
let n be
Element of
NAT ;
thus (
addnat
. (n,
0 ))
= (n
+
0 ) by
Def23
.= n;
end;
Lm7: 1
in
NAT ;
Lm8: 1
is_a_unity_wrt
multcomplex
proof
thus for c be
Element of
COMPLEX holds (
multcomplex
. (1,c))
= c
proof
let c be
Element of
COMPLEX ;
thus (
multcomplex
. (1,c))
= (1
* c) by
Def5
.= c;
end;
let c be
Element of
COMPLEX ;
thus (
multcomplex
. (c,1))
= (c
* 1) by
Def5
.= c;
end;
Lm9: 1
is_a_unity_wrt
multreal
proof
1
in
NAT ;
then
reconsider j = 1 as
Element of
REAL by
NUMBERS: 19;
thus for r be
Element of
REAL holds (
multreal
. (1,r))
= r
proof
let r be
Element of
REAL ;
thus (
multreal
. (1,r))
= (1
* r) by
Def11
.= r;
end;
let r be
Element of
REAL ;
thus (
multreal
. (r,1))
= (r
* 1) by
Def11
.= r;
end;
Lm10: 1
is_a_unity_wrt
multrat
proof
thus for w be
Element of
RAT holds (
multrat
. (1,w))
= w
proof
let w be
Element of
RAT ;
thus (
multrat
. (1,w))
= (1
* w) by
Def17
.= w;
end;
let w be
Element of
RAT ;
thus (
multrat
. (w,1))
= (w
* 1) by
Def17
.= w;
end;
Lm11: 1
is_a_unity_wrt
multint
proof
thus for i be
Element of
INT holds (
multint
. (1,i))
= i
proof
let i be
Element of
INT ;
thus (
multint
. (1,i))
= (1
* i) by
Def22
.= i;
end;
let i be
Element of
INT ;
thus (
multint
. (i,1))
= (i
* 1) by
Def22
.= i;
end;
Lm12: 1
is_a_unity_wrt
multnat
proof
thus for n be
Element of
NAT holds (
multnat
. (1,n))
= n
proof
let n be
Element of
NAT ;
thus (
multnat
. (1,n))
= (1
* n) by
Def24
.= n;
end;
let n be
Element of
NAT ;
thus (
multnat
. (n,1))
= (n
* 1) by
Def24
.= n;
end;
registration
cluster
addcomplex ->
having_a_unity;
coherence by
Lm1,
NUMBERS: 20,
Lm2,
SETWISEO:def 2;
cluster
addreal ->
having_a_unity;
coherence by
Lm3,
SETWISEO:def 2;
cluster
addrat ->
having_a_unity;
coherence by
Lm1,
NUMBERS: 18,
Lm4,
SETWISEO:def 2;
cluster
addint ->
having_a_unity;
coherence by
Lm1,
NUMBERS: 17,
Lm5,
SETWISEO:def 2;
cluster
addnat ->
having_a_unity;
coherence by
Lm6,
SETWISEO:def 2;
cluster
multcomplex ->
having_a_unity;
coherence by
Lm7,
NUMBERS: 20,
Lm8,
SETWISEO:def 2;
cluster
multreal ->
having_a_unity;
coherence by
Lm7,
NUMBERS: 19,
Lm9,
SETWISEO:def 2;
cluster
multrat ->
having_a_unity;
coherence by
Lm7,
NUMBERS: 18,
Lm10,
SETWISEO:def 2;
cluster
multint ->
having_a_unity;
coherence by
Lm7,
NUMBERS: 17,
Lm11,
SETWISEO:def 2;
cluster
multnat ->
having_a_unity;
coherence by
Lm12,
SETWISEO:def 2;
end
theorem ::
BINOP_2:1
(
the_unity_wrt
addcomplex )
=
0 by
Lm1,
NUMBERS: 20,
Lm2,
BINOP_1:def 8;
theorem ::
BINOP_2:2
(
the_unity_wrt
addreal )
=
0 by
Lm3,
BINOP_1:def 8;
theorem ::
BINOP_2:3
(
the_unity_wrt
addrat )
=
0 by
Lm1,
NUMBERS: 18,
Lm4,
BINOP_1:def 8;
theorem ::
BINOP_2:4
(
the_unity_wrt
addint )
=
0 by
Lm1,
NUMBERS: 17,
Lm5,
BINOP_1:def 8;
theorem ::
BINOP_2:5
(
the_unity_wrt
addnat )
=
0 by
Lm6,
BINOP_1:def 8;
theorem ::
BINOP_2:6
(
the_unity_wrt
multcomplex )
= 1 by
Lm7,
NUMBERS: 20,
Lm8,
BINOP_1:def 8;
theorem ::
BINOP_2:7
(
the_unity_wrt
multreal )
= 1 by
Lm7,
NUMBERS: 19,
Lm9,
BINOP_1:def 8;
theorem ::
BINOP_2:8
(
the_unity_wrt
multrat )
= 1 by
Lm7,
NUMBERS: 18,
Lm10,
BINOP_1:def 8;
theorem ::
BINOP_2:9
(
the_unity_wrt
multint )
= 1 by
Lm7,
NUMBERS: 17,
Lm11,
BINOP_1:def 8;
theorem ::
BINOP_2:10
(
the_unity_wrt
multnat )
= 1 by
Lm12,
BINOP_1:def 8;
registration
let f be
real-valued
Function;
let a,b be
object;
cluster (f
. (a,b)) ->
real;
coherence ;
end