:: On Monomorphisms and Subfields
:: by Christoph Schwarzweller
::
:: Received May 27, 2019
:: Copyright (c) 2019 Association of Mizar Users
:: (Stowarzyszenie Uzytkownikow Mizara, Bialystok, Poland).
:: This code can be distributed under the GNU General Public Licence
:: version 3.0 or later, or the Creative Commons Attribution-ShareAlike
:: License version 3.0 or later, subject to the binding interpretation
:: detailed in file COPYING.interpretation.
:: See COPYING.GPL and COPYING.CC-BY-SA for the full text of these
:: licenses, or see http://www.gnu.org/licenses/gpl.html and
:: http://creativecommons.org/licenses/by-sa/3.0/.
environ
vocabularies ARYTM_3, VECTSP_1, ALGSTR_0, STRUCT_0, SUBSET_1, SUPINF_2,
BINOP_1, TARSKI, MESFUNC1, FUNCSDOM, ZFMISC_1, EC_PF_1, RLVECT_1,
GROUP_1, FUNCT_1, RELAT_1, LATTICES, REALSET1, XBOOLE_0, NUMBERS, RING_3,
VECTSP_2, FUNCT_2, ARYTM_1, MSSUBFAM, MOD_4, QUOFIELD, GROUP_2, WELLORD1,
GROEB_2, FIELD_2, C0SP1, FDIFF_1;
notations TARSKI, XBOOLE_0, ZFMISC_1, SUBSET_1, FUNCT_1, RELSET_1, REALSET1,
PARTFUN1, FUNCT_2, BINOP_1, STRUCT_0, VECTSP_1, VECTSP_2, QUOFIELD,
TSEP_1, MOD_4, GROUP_1, GROUP_6, ALGSTR_0, ALGSTR_1, RLVECT_1, RINGCAT1,
C0SP1, EC_PF_1, RING_2, RING_3;
constructors FUNCT_2, FUNCT_1, XBOOLE_0, RELSET_1, REALSET1, STRUCT_0,
QUOFIELD, RLVECT_1, RINGCAT1, RING_3, C0SP1, EC_PF_1, TSEP_1;
registrations XBOOLE_0, RELSET_1, STRUCT_0, VECTSP_1, ALGSTR_0, REALSET1,
RLVECT_1, QUOFIELD, FUNCT_1, FUNCT_2, RELAT_1, MOD_4, RINGCAT1, RING_3;
requirements NUMERALS, SUBSET, BOOLE, REAL, ARITHM;
equalities BINOP_1, REALSET1, STRUCT_0, ALGSTR_0;
expansions STRUCT_0, GROUP_1, ALGSTR_0, RLVECT_1, VECTSP_1, TARSKI, GROUP_6,
FUNCT_1, FUNCT_2;
theorems RLVECT_1, FUNCT_2, FUNCT_1, QUOFIELD, XBOOLE_0, BINOP_1, RELAT_1,
TARSKI, ALGSTR_0, MOD_4, VECTSP_1, VECTSP_2, GROUP_1, GROUP_6, RING_2,
XBOOLE_1, EC_PF_1, ZFMISC_1, TSEP_1, RING_3, RINGCAT1;
schemes BINOP_1, FUNCT_2;
begin
reserve R for Ring, S for R-monomorphic Ring,
K for Field, F for K-monomorphic Field,
T for K-monomorphic comRing;
definition
let R,S;
let f be Monomorphism of R,S;
redefine func f" -> Function of rng f,R;
coherence
proof
dom f = [#]R & rng f c= [#]S by FUNCT_2:def 1;
then f is Function of [#]R,(rng f) by FUNCT_2:2;
hence thesis by FUNCT_2:25;
end;
end;
theorem Th1:
for f being Monomorphism of R,S, a,b being Element of rng f
holds f".(a+b) = f".a + f".b & f".(a*b) = f".a * f".b
proof
let f be Monomorphism of R,S, a,b be Element of rng f;
consider x being object such that
A1: x in [#]R & f.x = a by FUNCT_2:11;
reconsider x as Element of R by A1;
consider y being object such that
A2: y in [#]R & f.y = b by FUNCT_2:11;
reconsider y as Element of R by A2;
A3: [#]R = dom f by FUNCT_2:def 1; then
A4: f".b = y by A2,FUNCT_1:34;
A5: [#]R = dom f by FUNCT_2:def 1;
f.(x + y) = a + b by A1,A2,VECTSP_1:def 20;
hence f".(a+b)=x+y by A5,FUNCT_1:34 .= f".a+f".b by A1,A3,A4,FUNCT_1:34;
f.(x*y) = a*b by A1,A2, GROUP_6:def 6;
hence f".(a*b)=x*y by A5,FUNCT_1:34 .= f".a*f".b by A1,A3,A4,FUNCT_1:34;
end;
theorem Th2:
for f being Monomorphism of R,S, a being Element of rng f
holds f".(a) = 0.R iff a = 0.S
proof
let f be Monomorphism of R,S, a be Element of rng f;
A1: now assume f".(a) = 0.R; then
f.(0.R) = a by FUNCT_1:35;
hence a = 0.S by RING_2:6;
end;
A2: dom f = [#]R by FUNCT_2:def 1;
now assume a = 0.S; then
f.(0.R) = a by RING_2:6;
hence f".(a) = 0.R by A2,FUNCT_1:34;
end;
hence thesis by A1;
end;
theorem Th3:
for f being Monomorphism of R,S holds f".(1.S) = 1.R & f".(0.S) = 0.R
proof
let f be Monomorphism of R,S;
A1: [#]R = dom f by FUNCT_2:def 1;
f.(1_R) = 1_S by GROUP_1:def 13;
hence f".(1.S) = 1.R by A1,FUNCT_1:34;
f.(0.R) = 0.S by RING_2:6; then
reconsider o = 0.S as Element of (rng f) by FUNCT_2:4;
f".(0.S) = f".(o + o) = f".o + f".o by Th1;
hence thesis by RLVECT_1:9;
end;
theorem
for f being Monomorphism of R,S holds f" is one-to-one onto
proof
let f be Monomorphism of R,S;
rng(f") = dom f by FUNCT_1:33 .= [#]R by FUNCT_2:def 1;
hence thesis;
end;
theorem Th4:
for f being Monomorphism of R,S, a being Element of R
holds f.a = 0.S iff a = 0.R
proof
let f be Monomorphism of R,S, a be Element of R;
now assume f.a = 0.S; then
f.a = f.(0.R) by RING_2:6;
hence a = 0.R by FUNCT_2:19;
end;
hence thesis by RING_2:6;
end;
theorem Th5:
for f being Monomorphism of K,F,a being Element of K
st a <> 0.K holds f.(a") = (f.a)"
proof
let f be Monomorphism of K,F, x be Element of K;
assume
AS: x <> 0.K;
A1: f.(x")*f.x = f.(x"*x) by GROUP_6:def 6 .= f.(1_K) by AS,VECTSP_1:def 10
.= 1_F by GROUP_1:def 13 .= 1.F;
f.x <> 0.F by AS,Th4;
hence thesis by A1,VECTSP_1:def 10;
end;
notation
let R,S be Ring;
synonym R,S are_disjoint for R misses S;
end;
definition let R,S be Ring;
redefine pred R,S are_disjoint means
[#]R /\ [#]S = {};
compatibility by TSEP_1:def 3,XBOOLE_0:def 7;
end;
definition
let R,S;
let f be Monomorphism of R,S;
func carr f -> non empty set equals
([#]S \ rng f) \/ [#]R;
coherence;
end;
Lm1:
for f being Monomorphism of R,S, a being Element of carr f
st not a in [#]R holds a in [#]S & not a in rng f
proof
let f be Monomorphism of R,S, a be Element of carr f;
assume not a in [#]R; then
a in [#]S \ rng f by XBOOLE_0:def 3;
hence thesis by XBOOLE_0:def 5;
end;
Lm2:
for f being Monomorphism of R,S,a,b being Element of carr f
st not a in [#]R & b in [#]R holds (the addF of S).(a,f.b) in [#]S \ rng f
proof
let f be Monomorphism of R,S, a,b be Element of carr f;
assume
A1: not a in [#]R & b in [#]R; then
reconsider y = b as Element of [#]R;
A2: a in [#]S \ rng f by A1,XBOOLE_0:def 3; then
A3: a in [#]S & not a in rng f by XBOOLE_0:def 5;
reconsider x = a as Element of [#]S by A2;
reconsider fy = f.y as Element of [#]S;
now assume (the addF of S).(x,f.y) in rng f; then
consider c being object such that
A4: c in dom f & f.c = (the addF of S).(x,f.y) by FUNCT_1:def 3;
reconsider z = c as Element of [#]R by A4;
f.z - fy = (x + fy) + -fy by A4 .= x + (fy + - fy) by RLVECT_1:def 3
.= x + 0.S by RLVECT_1:5; then
A5: x = f.(z - y) by RING_2:8;
dom f = [#]R by FUNCT_2:def 1;
hence contradiction by A3,A5,FUNCT_1:def 3;
end;
hence (the addF of S).(a,f.b) in ([#]S) \ (rng f) by XBOOLE_0:def 5;
end;
Lm3:
for f being Monomorphism of R,S, a,b being Element of carr f st
a in [#]R & not b in [#]R holds (the addF of S).(f.a,b) in [#]S \ (rng f)
proof
let f be Monomorphism of R,S, a,b be Element of carr f;
assume
A1: a in [#]R & not b in [#]R; then
reconsider x = a as Element of [#]R;
A2: b in [#]S \ rng f by A1,XBOOLE_0:def 3; then
A3: b in [#]S & not(b in rng f) by XBOOLE_0:def 5;
reconsider y = b as Element of [#]S by A2;
reconsider fx = f.x as Element of [#]S;
now assume (the addF of S).(f.x,y) in rng f; then
consider c being object such that
A4: c in dom f & f.c = (the addF of S).(f.x,y) by FUNCT_1:def 3;
reconsider z = c as Element of [#]R by A4;
f.z - fx = (fx + y)+ -fx by A4 .= y +(fx + - fx) by RLVECT_1:def 3
.= y + 0.S by RLVECT_1:5; then
A5: y = f.(z - x) by RING_2:8;
dom f = [#]R by FUNCT_2:def 1;
hence contradiction by A3,A5,FUNCT_1:def 3;
end;
hence (the addF of S).(f.a,b) in ([#]S)\(rng f) by XBOOLE_0:def 5;
end;
Lm4:
for f being Monomorphism of K,T,a,b being Element of carr f
st not a in [#]K & b in [#]K & b <> 0.K
holds (the multF of T).(a,f.b) in [#]T \ rng f
proof
let f be Monomorphism of K,T,a,b be Element of carr f;
assume
A1: not a in [#]K & b in [#]K & b <> 0.K; then
reconsider y = b as Element of [#]K;
reconsider fy1 = f.(y") as Element of T;
A2: a in [#]T \ rng f by A1,XBOOLE_0:def 3; then
A3: a in [#]T & not(a in (rng f)) by XBOOLE_0:def 5;
reconsider x = a as Element of [#]T by A2;
reconsider fy = f.y as Element of [#]T;
now assume (the multF of T).(x,f.y) in rng f; then
consider c being object such that
A4: c in dom f & f.c = (the multF of T).(x,f.y) by FUNCT_1:def 3;
reconsider z = c as Element of [#]K by A4;
f.z * fy1 = (x * fy) * fy1 by A4 .= x * (fy * fy1) by GROUP_1:def 3
.= x * f.(y * y") by GROUP_6:def 6 .= x * f.(y" * y) by GROUP_1:def 12
.= x * f.(1_K) by A1,VECTSP_1:def 10 .= x * 1_T by GROUP_1:def 13
.= x; then
A5: x = f.(z * y") by GROUP_6:def 6;
dom f = [#]K by FUNCT_2:def 1;
hence contradiction by A3,A5,FUNCT_1:def 3;
end;
hence (the multF of T).(a,f.b) in [#]T \ rng f by XBOOLE_0:def 5;
end;
Lm5:
for f being Monomorphism of K,T,a,b being Element of carr f
st not b in [#]K & a in [#]K & a <> 0.K
holds (the multF of T).(f.a,b) in [#]T \ rng f
proof
let f be Monomorphism of K,T,a,b be Element of carr f;
assume
A1: not b in [#]K & a in [#]K & a <> 0.K; then
reconsider x = a as Element of [#]K;
reconsider fx1 = f.(x") as Element of T;
A2: b in ([#]T) \ (rng f) by A1,XBOOLE_0:def 3; then
A3: b in ([#]T) & not(b in (rng f)) by XBOOLE_0:def 5;
reconsider y = b as Element of [#]T by A2;
reconsider fx = f.x as Element of [#]T;
now assume (the multF of T).(f.x,y) in rng f; then
consider c being object such that
A4: c in dom f & f.c = (the multF of T).(f.x,y) by FUNCT_1:def 3;
reconsider z = c as Element of [#]K by A4;
f.z * fx1 = (f.x * y) * fx1 by A4 .= (y * f.x) * fx1 by GROUP_1:def 12
.= y * (fx * fx1) by GROUP_1:def 3 .= y * f.(x * x") by GROUP_6:def 6
.= y * f.(x" * x) by GROUP_1:def 12 .= y * f.(1_K) by A1,VECTSP_1:def 10
.= y * 1_T by GROUP_1:def 13 .= y; then
A5: y = f.(z * x") by GROUP_6:def 6;
dom f = [#]K by FUNCT_2:def 1;
hence contradiction by A3,A5,FUNCT_1:def 3;
end;
hence (the multF of T).(f.a,b) in [#]T \ rng f by XBOOLE_0:def 5;
end;
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::: f: R >--> S,
::::::::: addemb(f,x,y): R x R -> (S\ rng f) \/ R
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
definition
let R be Ring, S be R-monomorphic Ring;
let f be Monomorphism of R,S;
let a,b be Element of carr f;
func addemb(f,a,b) -> Element of carr f equals :defaddf:
(the addF of R).(a,b) if a in [#]R & b in [#]R,
(the addF of S).(f.a,b) if a in [#]R & not b in [#]R,
(the addF of S).(a,f.b) if b in [#]R & not a in [#]R,
f".((the addF of S).(a,b)) if not a in [#]R & not b in [#]R &
(the addF of S).(a,b) in rng f
otherwise (the addF of S).(a,b);
coherence
proof
set AddR = the addF of R;
set AddS = the addF of S;
thus (a in [#]R & b in [#]R) implies AddR.(a,b) is Element of carr f
proof
assume a in [#]R & b in [#]R; then
reconsider x = a, y = b as Element of [#]R;
AddR.(x,y) in ([#]S \ rng f) \/ [#]R by XBOOLE_0:def 3;
hence thesis;
end;
(a in [#]R & not b in [#]R) implies AddS.(f.a,b) in [#]S\rng f by Lm3;
hence (a in [#]R & not b in [#]R) implies AddS.(f.a,b) is Element of carr f
by XBOOLE_0:def 3;
(b in [#]R & not a in [#]R) implies AddS.(a,f.b) in ([#]S)\(rng f) by Lm2;
hence (b in [#]R & not a in [#]R) implies
AddS.(a,f.b) is Element of carr f by XBOOLE_0:def 3;
thus (not a in [#]R & not b in [#]R & AddS.(a,b) in rng f)
implies f".(AddS.(a,b)) is Element of carr f
proof
assume
B1: not a in [#]R & not b in [#]R & AddS.(a,b) in rng f;
B2: rng(f") = dom f by FUNCT_1:33 .= [#]R by FUNCT_2:def 1;
AddS.(a,b) in dom(f") by B1,FUNCT_1:33; then
f".(AddS.(a,b)) in [#]R by B2,FUNCT_1:3;
hence thesis by XBOOLE_0:def 3;
end;
(not a in [#]R & not b in [#]R & not AddS.(a,b) in rng f)
implies AddS.(a,b) is Element of carr f
proof
assume
A1: not a in [#]R & not b in [#]R & not AddS.(a,b) in rng f; then
a in ([#]S)\(rng f) & b in ([#]S)\(rng f) by XBOOLE_0:def 3; then
reconsider a1 = a, b1 = b as Element of [#]S;
AddS.(a1,b1) in ([#]S)\(rng f) by A1,XBOOLE_0:def 5;
hence AddS.(a,b) is Element of carr f by XBOOLE_0:def 3;
end;
hence thesis;
end;
consistency;
end;
definition
let R be Ring;
let S be R-monomorphic Ring;
let f be Monomorphism of R,S;
func addemb f -> BinOp of carr f means :defadd:
for a,b being Element of carr f holds it.(a,b) = addemb(f,a,b);
existence
proof
deffunc O(Element of carr f,Element of carr f) = addemb(f,$1,$2);
consider F being BinOp of carr f such that
A1: for a,b being Element of carr f holds F.(a,b)=O(a,b) from BINOP_1:sch 4;
take F;
thus thesis by A1;
end;
uniqueness
proof
let F1,F2 be BinOp of carr f such that
A2: for a,b being Element of carr f holds F1.(a,b) = addemb(f,a,b) and
A3: for a,b being Element of carr f holds F2.(a,b) = addemb(f,a,b);
now let a,b be Element of carr f;
thus F1.(a,b) = addemb(f,a,b) by A2 .= F2.(a,b) by A3;
end;
hence thesis by BINOP_1:2;
end;
end;
definition
let K be Field, T be K-monomorphic comRing;
let f be Monomorphism of K,T;
let a,b be Element of carr f;
func multemb(f,a,b) -> Element of carr f equals :defmultf:
(the multF of K).(a,b) if a in [#]K & b in [#]K,
0.K if a = 0.K or b = 0.K,
(the multF of T).(f.a,b) if a in [#]K & a <> 0.K & not b in [#]K,
(the multF of T).(a,f.b) if b in [#]K & b <> 0.K & not a in [#]K,
f".((the multF of T).(a,b)) if not a in [#]K & not b in [#]K &
(the multF of T).(a,b) in rng f
otherwise (the multF of T).(a,b);
coherence
proof
thus
(a in [#]K & b in [#]K) implies (the multF of K).(a,b) is Element of carr f
proof
assume a in [#]K & b in [#]K; then
reconsider x = a, y = b as Element of [#]K;
(the multF of K).(x,y) in ([#]T \ rng f) \/ [#]K by XBOOLE_0:def 3;
hence thesis;
end;
thus (a = 0.K or b = 0.K) implies 0.K is Element of carr f;
(a in [#]K & a <> 0.K & not b in [#]K)
implies (the multF of T).(f.a,b) in [#]T \ rng f by Lm5;
hence (a in [#]K & a <> 0.K & not b in [#]K)
implies (the multF of T).(f.a,b) is Element of carr f by XBOOLE_0:def 3;
(b in [#]K & b <> 0.K & not a in [#]K)
implies (the multF of T).(a,f.b) in [#]T \ rng f by Lm4;
hence (b in [#]K & b <> 0.K & not a in [#]K)
implies (the multF of T).(a,f.b) is Element of carr f by XBOOLE_0:def 3;
thus
(not a in [#]K & not b in [#]K) & (the multF of T).(a,b) in rng f
implies f".((the multF of T).(a,b)) is Element of carr f
proof
assume
A1: not a in [#]K & not b in [#]K & (the multF of T).(a,b) in rng f;
A2: rng(f") = dom f by FUNCT_1:33 .= [#]K by FUNCT_2:def 1;
(the multF of T).(a,b) in dom(f") by A1,FUNCT_1:33; then
f".((the multF of T).(a,b)) in [#]K by A2,FUNCT_1:3;
hence thesis by XBOOLE_0:def 3;
end;
(not a in [#]K & not b in [#]K & not (the multF of T).(a,b) in rng f)
implies (the multF of T).(a,b) is Element of carr f
proof
assume
A3: not a in [#]K & not b in [#]K & not (the multF of T).(a,b) in rng f; then
a in [#]T \ rng f & b in [#]T \ rng f by XBOOLE_0:def 3; then
reconsider a1 = a, b1 = b as Element of [#]T;
(the multF of T).(a1,b1) in ([#]T)\ rng f by A3,XBOOLE_0:def 5;
hence (the multF of T).(a,b) is Element of carr f by XBOOLE_0:def 3;
end;
hence thesis;
end;
consistency
proof
let x be Element of carr f;
now assume
A1: a in [#]K & b in [#]K & (a = 0.K or b = 0.K);
then reconsider a1 = a, b1 = b as Element of K;
per cases by A1;
suppose a = 0.K; then
0.K = a1 * b1 .= (the multF of K).(a,b);
hence (x = (the multF of K).(a,b) iff x = 0.K);
end;
suppose b = 0.K; then
0.K = a1 * b1 .= (the multF of K).(a,b);
hence (x = (the multF of K).(a,b) iff x = 0.K);
end;
end;
hence thesis;
end;
end;
definition
let K be Field, T be K-monomorphic comRing;
let f be Monomorphism of K,T;
func multemb f -> BinOp of carr f means :defmult:
for a,b being Element of carr f holds it.(a,b) = multemb(f,a,b);
existence
proof
deffunc O(Element of carr f,Element of carr f) = multemb(f,$1,$2);
consider F being BinOp of carr f such that
A1: for a,b being Element of carr f holds F.(a,b)=O(a,b) from BINOP_1:sch 4;
take F;
thus thesis by A1;
end;
uniqueness
proof
let F1,F2 be BinOp of carr f such that
A2: for a,b being Element of carr f holds F1.(a,b) = multemb(f,a,b) and
A3: for a,b being Element of carr f holds F2.(a,b) = multemb(f,a,b);
now let a,b be Element of carr f;
thus F1.(a,b) = multemb(f,a,b) by A2 .= F2.(a,b) by A3;
end;
hence thesis by BINOP_1:2;
end;
end;
definition
let K be Field, T be K-monomorphic comRing;
let f be Monomorphism of K,T;
func embField f -> strict doubleLoopStr means :defemb:
the carrier of it = carr f &
the addF of it = addemb f &
the multF of it = multemb f &
the OneF of it = 1.K & the ZeroF of it = 0.K;
existence
proof
reconsider e = 1.K, o = 0.K as Element of carr f by XBOOLE_0:def 3;
take doubleLoopStr (# carr f,addemb f, multemb f,e,o #);
thus thesis;
end;
uniqueness;
end;
registration
let K be Field,
T be K-monomorphic comRing;
let f be Monomorphism of K,T;
cluster embField f -> non degenerated;
coherence
proof
0.(embField f) = 0.K & 1.(embField f) = 1.K by defemb;
hence thesis;
end;
end;
Lm6:
for f being Monomorphism of K,T st K,T are_disjoint
for a,b being Element of embField f st a in [#]K & not b in [#]K
for a1, b1 being Element of carr f st a1 = a & b1 = b
holds a + b = (the addF of T).(f.a1,b1) & b + a = (the addF of T).(b1,f.a1)
& not a + b in [#]K & not b + a in [#]K
proof
let f be Monomorphism of K,T;
assume
A1: K,T are_disjoint;
let a,b be Element of embField f;
assume
A2: a in [#]K & not b in [#]K;
let a1, b1 be Element of carr f;
assume
A3: a1 = a & b1 = b;
thus
A4: a + b = (addemb f).(a,b) by defemb .= addemb(f,a1,b1) by defadd,A3
.= (the addF of T).(f.a1,b1) by A2,A3,defaddf;
thus
A5: b + a = (addemb f).(b,a) by defemb .= addemb(f,b1,a1) by defadd,A3
.= (the addF of T).(b1,f.a1) by A3,A2,defaddf;
(the addF of T).(f.a1,b1) in ([#]T) \ (rng f) by A2,A3,Lm3;
hence not a + b in [#]K by A1,A4,XBOOLE_0:def 4;
(the addF of T).(b1,f.a1) in ([#]T) \ (rng f) by A3,A2,Lm2;
hence not b + a in [#]K by A1,A5,XBOOLE_0:def 4;
end;
Lm7:
for f being Monomorphism of K,T, a,b being Element of embField f,
a1,b1 being Element of K st a1 = a & b1 = b
holds a + b = a1 + b1 & b + a = b1 + a1
proof
let f be Monomorphism of K,T,a,b be Element of embField f,
a1,b1 be Element of K;
assume
A1: a1 = a & b1 = b;
reconsider ac = a, bc = b as Element of carr f by defemb;
thus a + b = (addemb f).(a,b) by defemb .= addemb(f,ac,bc) by defadd
.= a1 + b1 by A1,defaddf;
thus b + a = (addemb f).(b,a) by defemb .= addemb(f,bc,ac) by defadd
.= b1 + a1 by A1,defaddf;
end;
Lm8:
for f being Monomorphism of K,T,a,b being Element of embField f,
a1,b1 being Element of T st K,T are_disjoint & not a in [#]K &
not b in [#]K & not (the addF of T).(a,b) in rng f & a1 = a & b1 = b
holds a+b = a1+b1 & b+a = b1+a1 & not a+b in [#]K & not b+a in [#]K
proof
let f be Monomorphism of K,T,a,b be Element of embField f,
a1,b1 be Element of T;
assume
AS1: K,T are_disjoint & not a in [#]K & not b in [#]K &
not (the addF of T).(a,b) in rng f & a1 = a & b1 = b;
reconsider ac = a, bc = b as Element of carr f by defemb;
thus
D: a+b = (addemb f).(a,b) by defemb .= addemb(f,ac,bc) by defadd
.= a1 + b1 by AS1,defaddf;
C: (the addF of T).(a1,b1) = a1+b1 .= b1+a1 .= (the addF of T).(b1,a1);
thus
E: b+a = (addemb f).(b,a) by defemb .= addemb(f,bc,ac) by defadd
.= b1+a1 by C,AS1,defaddf;
thus not a + b in [#]K by D,AS1,XBOOLE_0:def 4;
thus not b + a in [#]K by E,AS1,XBOOLE_0:def 4;
end;
Lm9:
for f being Monomorphism of K,T,a,b being Element of embField f,
a1,b1 being Element of T st not a in [#]K & not b in [#]K &
(the addF of T).(a,b) in rng f & a1 = a & b1 = b
holds a + b = f".(a1+b1) & b + a = f".(b1+a1) & a+b in [#]K & b+a in [#]K
proof
let f be Monomorphism of K,T,a,b be Element of embField f,
a1,b1 be Element of T;
assume
AS: not a in [#]K & not b in [#]K & (the addF of T).(a,b) in rng f &
a1 = a & b1 = b;
reconsider ac = a, bc = b as Element of carr f by defemb;
thus
D: a + b = (addemb f).(a,b) by defemb .= addemb(f,ac,bc) by defadd
.= f".(a1 + b1) by AS,defaddf;
C: (the addF of T).(a1,b1) = a1 + b1 .= b1 + a1 .= (the addF of T).(b1,a1);
thus
E: b + a = (addemb f).(b,a) by defemb .= addemb(f,bc,ac) by defadd
.= f".(b1 + a1) by C,AS,defaddf;
a1 + b1 in dom(f") by AS,FUNCT_1:33; then
F: f".(a1 + b1) in rng(f") by FUNCT_1:def 3;
hence a + b in [#]K by D;
thus b + a in [#]K by E,F;
end;
Lm10:
for f being Monomorphism of K,T, a,b being Element of embField f,
a1,b1 being Element of carr f st
K,T are_disjoint & a in [#]K & a <> 0.K & not b in [#]K & a1 = a & b1 = b
holds a*b = (the multF of T).(f.a1,b1) & b*a = (the multF of T).(b1,f.a1) &
not a*b in [#]K & not b*a in [#]K
proof
let f be Monomorphism of K,T, a,b be Element of embField f,
a1,b1 be Element of carr f;
assume
AS: K,T are_disjoint & a in [#]K & a <>0.K & not b in [#]K & a1 = a & b1 = b;
thus
C1: a*b = (multemb f).(a,b) by defemb .= multemb(f,a1,b1) by defmult,AS
.= (the multF of T).(f.a1,b1) by AS,defmultf;
thus
D1: b*a = (multemb f).(b,a) by defemb .= multemb(f,b1,a1) by defmult,AS
.= (the multF of T).(b1,f.a1) by AS,defmultf;
(the multF of T).(f.a1,b1) in ([#]T) \ (rng f) by AS,Lm5;
hence not a * b in [#]K by AS,C1,XBOOLE_0:def 4;
(the multF of T).(b1,f.a1) in ([#]T) \ (rng f) by AS,Lm4;
hence not b * a in [#]K by AS,D1,XBOOLE_0:def 4;
end;
Lm11:
for f being Monomorphism of K,T,a,b being Element of embField f,
a1,b1 being Element of K st a1 = a & b1 = b holds a*b = a1*b1 & b*a = b1*a1
proof
let f be Monomorphism of K,T,a,b be Element of embField f,
a1,b1 be Element of K;
assume
B1: a1 = a & b1 = b;
reconsider ac = a, bc = b as Element of carr f by defemb;
thus a * b = (multemb f).(a,b) by defemb .= multemb(f,ac,bc) by defmult
.= a1 * b1 by B1,defmultf;
thus b * a = (multemb f).(b,a) by defemb .= multemb(f,bc,ac) by defmult
.= b1 * a1 by B1,defmultf;
end;
Lm12:
for f being Monomorphism of K,T,a,b being Element of embField f,
a1,b1 being Element of T st K,T are_disjoint & not a in [#]K & not b in [#]K
& not (the multF of T).(a,b) in rng f & a1 = a & b1 = b
holds a*b = a1*b1 & b*a = b1*a1 & not a*b in [#]K & not b*a in [#]K
proof
let f be Monomorphism of K,T,a,b be Element of embField f,
a1,b1 be Element of T;
assume
AS: K,T are_disjoint & not a in [#]K & not b in [#]K &
not (the multF of T).(a,b) in rng f & a1 = a & b1 = b; then
B1: a <> 0.K & b <> 0.K;
reconsider ac = a, bc = b as Element of carr f by defemb;
thus
D1: a*b = (multemb f).(a,b) by defemb .= multemb(f,ac,bc) by defmult
.= a1 * b1 by B1,AS,defmultf;
C1: (the multF of T).(a1,b1) = a1 * b1 .= b1 * a1 by GROUP_1:def 12
.= (the multF of T).(b1,a1);
thus b*a = (multemb f).(b,a) by defemb .= multemb(f,bc,ac) by defmult
.= b1 * a1 by B1,C1,AS,defmultf;
hence not a*b in [#]K & not b*a in [#]K by D1,AS,XBOOLE_0:def 4;
end;
Lm13:
for f being Monomorphism of K,T,a,b being Element of embField f,
a1,b1 being Element of T st not a in [#]K & not b in [#]K &
(the multF of T).(a,b) in rng f & a1=a & b1=b
holds a*b = f".(a1*b1) & b*a = f".(b1*a1) & a*b in [#]K & b*a in [#]K
proof
let f be Monomorphism of K,T,a,b be Element of embField f,
a1,b1 be Element of T;
assume
AS: not a in [#]K & not b in [#]K & (the multF of T).(a,b) in rng f &
a1 = a & b1 = b;
reconsider ac = a, bc = b as Element of carr f by defemb;
thus
D1: a*b = (multemb f).(a,b) by defemb .= multemb(f,ac,bc) by defmult
.= f".(a1 * b1) by AS,defmultf;
C1: (the multF of T).(a1,b1) = a1*b1 .= b1*a1 by GROUP_1:def 12
.= (the multF of T).(b1,a1);
thus
E1: b*a = (multemb f).(b,a) by defemb .= multemb(f,bc,ac) by defmult
.= f".(b1 * a1) by C1,AS,defmultf;
a1*b1 in dom(f") by AS,FUNCT_1:33; then
G1: f".(a1*b1) in rng(f") by FUNCT_1:def 3;
hence a*b in [#]K by D1;
f".(a1*b1) in dom f by G1,FUNCT_1:33; then
f".(b1*a1) in dom f by GROUP_1:def 12;
hence b*a in [#]K by E1;
end;
registration
let K be Field,
T be K-monomorphic comRing;
let f be Monomorphism of K,T;
cluster embField f -> Abelian right_zeroed;
coherence
proof
thus embField f is Abelian
proof
now let a,b be Element of embField f;
reconsider x = a, y = b as Element of carr f by defemb;
per cases;
suppose x in [#]K & y in [#]K; then
reconsider a1 = a, b1 = b as Element of K;
thus a + b = a1 + b1 by Lm7 .= b + a by Lm7;
end;
suppose
A2: x in [#]K & not y in [#]K; then
reconsider a1 = a as Element of K;
reconsider b1 = b as Element of T by A2,Lm1;
reconsider fa = f.a1 as Element of T;
thus a + b = (addemb f).(x,y) by defemb .= addemb(f,x,y) by defadd
.= fa + b1 by A2,defaddf .= b1 + fa
.= addemb(f,y,x) by A2,defaddf .= (addemb f).(y,x) by defadd
.= b + a by defemb;
end;
suppose
A3: y in [#]K & not x in [#]K; then
reconsider b1 = b as Element of K;
reconsider a1 = a as Element of T by A3,Lm1;
reconsider fb = f.b1 as Element of T;
thus a + b = (addemb f).(x,y) by defemb .= addemb(f,x,y) by defadd
.= a1+fb by A3,defaddf .= fb+a1 .= addemb(f,y,x) by A3,defaddf
.= (addemb f).(y,x) by defadd .= b + a by defemb;
end;
suppose
A4: not x in [#]K & not y in [#]K & (the addF of T).(x,y) in rng f; then
reconsider a1 = a, b1 = b as Element of T by Lm1;
B1: (the addF of T).(a,b) = a1+b1 .= b1+a1 .= (the addF of T).(b,a);
thus a+b = (addemb f).(x,y) by defemb .= addemb(f,x,y) by defadd
.= (f").(a1+b1) by A4,defaddf .= addemb(f,y,x) by A4,B1,defaddf
.= (addemb f).(y,x) by defadd .= b+a by defemb;
end;
suppose
A5: not x in [#]K & not y in [#]K & not (the addF of T).(x,y) in rng f;
then reconsider a1 = a, b1 = b as Element of T by Lm1;
B2: (the addF of T).(a,b) = a1+b1 .= b1+a1 .= (the addF of T).(b,a);
thus a+b = (addemb f).(x,y) by defemb .= addemb(f,x,y) by defadd
.= a1+b1 by A5,defaddf .= addemb(f,y,x) by A5,B2,defaddf
.= (addemb f).(y,x) by defadd .= b + a by defemb;
end;
end;
hence thesis;
end;
now let a be Element of embField f;
reconsider x = a as Element of carr f by defemb;
reconsider o = 0.(embField f) as Element of carr f by defemb;
B1: a+0.(embField f) = (addemb f).(x,o) by defemb .= addemb(f,x,o) by defadd;
C1: 0.(embField f) = 0.K by defemb;
per cases;
suppose x in [#]K; then
reconsider a1 = a as Element of K;
addemb(f,x,o) = a1+0.K by C1,defaddf;
hence a+0.(embField f) = a by B1;
end;
suppose
A1: not x in [#]K; then
reconsider a1 = a as Element of T by Lm1;
addemb(f,x,o) = (the addF of T).(a,f.o) by A1,C1,defaddf
.= a1+0.T by C1,RING_2:6;
hence a+0.(embField f) = a by B1;
end;
end;
hence thesis;
end;
end;
theorem Th6:
for f being Monomorphism of K,T st K,T are_disjoint
holds embField f is add-associative
proof
let f be Monomorphism of K,T;
assume
AS: K,T are_disjoint;
now let a,b,c be Element of embField f;
reconsider x = a, y = b, z = c as Element of carr f by defemb;
per cases;
suppose
X: x in [#]K; then
reconsider a1 = a as Element of K;
per cases;
suppose
Y: y in [#]K; then
reconsider b1 = b as Element of K;
X0: a + b = a1 + b1 by Lm7; then
reconsider ab = a + b as Element of carr f by XBOOLE_0:def 3;
per cases;
suppose z in [#]K; then
reconsider c1 = c as Element of K;
X1: b + c = b1 + c1 by Lm7; then
reconsider bc = b + c as Element of carr f by XBOOLE_0:def 3;
thus (a+b)+c = (addemb f).(a+b,z) by defemb
.= addemb(f,ab,z) by defadd .= (a1+b1)+c1 by X0,defaddf
.= a1+(b1+c1) by RLVECT_1:def 3
.= addemb(f,x,bc) by X1,defaddf
.= (addemb f).(x,b+c) by defadd .= a + (b + c) by defemb;
end;
suppose
Z: not z in [#]K; then
reconsider c1 = c as Element of T by Lm1;
reconsider bc = b + c as Element of carr f by defemb;
reconsider fa = f.a1, fb = f.b1 as Element of T;
X1: f.(a1+b1) = fa + fb by VECTSP_1:def 20;
X2: b + c = fb + c1 by AS,Y,Z,Lm6;
X3: not fb + c1 in [#]K by AS,XBOOLE_0:def 4;
thus (a+b)+c = (addemb f).(a+b,z) by defemb
.= addemb(f,ab,z) by defadd .=(fa + fb)+c1 by X1,X0,defaddf,Z
.= fa+(fb+c1) by RLVECT_1:def 3
.=addemb(f,x,bc) by X3,X2,defaddf
.= (addemb f).(x,b+c) by defadd .= a + (b + c) by defemb;
end;
end;
suppose
Y: not y in [#]K; then
reconsider b1 = b as Element of T by Lm1;
reconsider fa = f.a1 as Element of T;
X0: a + b = fa + b1 by AS,X,Y,Lm6;
then reconsider ab = fa + b1 as Element of carr f by defemb;
X1: not ab in [#]K by AS,XBOOLE_0:def 4;
per cases;
suppose Z: z in [#]K; then
reconsider c1 = c as Element of K;
reconsider fc = f.c1 as Element of T;
X2: b + c = b1 + fc by AS,Y,Z,Lm6;
then reconsider bc = b1 + fc as Element of carr f by defemb;
X3: not bc in [#]K by AS,XBOOLE_0:def 4;
thus (a + b) + c = (addemb f).(ab,z) by X0,defemb
.= addemb(f,ab,z) by defadd.= (fa + b1) + fc by X1,defaddf
.= fa+(b1+fc) by RLVECT_1:def 3
.= addemb(f,x,bc) by X3,defaddf
.= (addemb f).(x,bc) by defadd .=a +(b + c) by X2,defemb;
end;
suppose
Z: not z in [#]K; then
reconsider c1 = c as Element of T by Lm1;
reconsider fa1 = f.a1 as Element of (rng f) by FUNCT_2:4;
K5: (the addF of T).(ab,z) = (fa+b1)+c1
.= fa+(b1+c1) by RLVECT_1:def 3;
per cases;
suppose
K: (the addF of T).(ab,z) in rng f;
X2: (a+b)+c = (addemb f).(ab,z) by X0,defemb
.= addemb(f,ab,z) by defadd
.= f".((fa+b1)+c1) by X1,Z,defaddf,K
.= f".(fa + (b1+c1)) by RLVECT_1:def 3;
K1: now assume
K7: not (the addF of T).(y,z) in rng f;
X4: not (the addF of T).(b1,c1) in [#]K
by AS,XBOOLE_0:def 4;
X3: b + c = b1 + c1 by AS,K7,Y,Z,Lm8;
b1+c1 in ([#]T) \ rng f by K7,XBOOLE_0:def 5;then
reconsider bc1 = b1+c1 as Element of carr f by XBOOLE_0:def 3;
reconsider bce = bc1 as Element of embField f by X3;
(the addF of T).(f.a,bce) in [#]T\rng f by X,X4,Lm3;
hence contradiction by K5,K,XBOOLE_0:def 5;
end; then
X3: b + c = f".(b1+c1) by Y,Z,Lm9;
f".(b1+c1) in [#]K by K1,FUNCT_2:5; then
reconsider bc = f".(b1+c1) as Element of carr f by XBOOLE_0:def 3;
reconsider bc1 = b1+c1 as Element of rng f by K1;
thus (a+b)+c = f".fa1+f".bc1 by Th1,X2
.= a1+f".bc1 by FUNCT_2:26
.= addemb(f,x,bc) by defaddf
.= (addemb f).(x,bc) by defadd
.= a + (b + c) by X3,defemb;
end;
suppose
K0: not (the addF of T).(ab,z) in rng f;
X2: (a+b)+c = (addemb f).(ab,z) by X0,defemb
.= addemb(f,ab,z) by defadd
.= (fa+b1)+c1 by X1,Z,defaddf,K0
.= fa+(b1+c1) by RLVECT_1:def 3;
K1: now assume
K7: (the addF of T).(y,z) in rng f;
X7: dom f = [#]K by FUNCT_2:def 1;
consider x being object such that
X6: x in dom f & b1+c1 = f.x by K7,FUNCT_1:def 3;
reconsider xx = x as Element of K by X6;
f.(a1+xx) = fa + (b1 + c1) by X6,VECTSP_1:def 20;
hence contradiction by K5,K0,X7,FUNCT_1:3;
end; then
b1 + c1 in [#]T \ rng f by XBOOLE_0:def 5; then
reconsider bc=b1 + c1 as Element of carr f by XBOOLE_0:def 3;
X3: b + c = b1 + c1 by AS,Y,Z,K1,Lm8;
not b1 + c1 in [#]K by AS,XBOOLE_0:def 4;
hence
(a + b) + c = addemb(f,x,bc) by X2,defaddf
.= (addemb f).(x,bc) by defadd .= a+(b+c) by X3,defemb;
end;
end;
end;
end;
suppose
X4: not x in [#]K; then
reconsider a1 = a as Element of T by Lm1;
per cases;
suppose
Y0: y in [#]K; then
reconsider b1 = b as Element of K;
X0: a + b = a1 + f.b1 by AS,X4,Y0,Lm6;
reconsider ab = a + b as Element of carr f by defemb;
reconsider fb = f.b1 as Element of T;
X2: not ab in [#]K by AS,X4,Y0,Lm6;
per cases;
suppose z in [#]K; then
reconsider c1 = c as Element of K;
reconsider fc = f.c1 as Element of T;
X3: b+c = b1+c1 by Lm7; then
reconsider bc = b+c as Element of carr f by XBOOLE_0:def 3;
thus (a+b)+c = (addemb f).(ab,z) by defemb
.= addemb(f,ab,z) by defadd
.= (a1+fb)+fc by X0,X2,defaddf
.= a1+(fb+fc) by RLVECT_1:def 3
.= a1+f.(b1+c1) by VECTSP_1:def 20
.= addemb(f,x,bc) by defaddf,X3,X4
.= (addemb f).(x,bc) by defadd
.= a + (b + c) by defemb;
end;
suppose Z0: not z in [#]K; then
reconsider c1 = c as Element of T by Lm1;
X3: b + c = f.b1 + c1 by AS,Y0,Z0,Lm6;
reconsider bc = b + c as Element of carr f by defemb;
X5: not b+c in [#]K by AS,Y0,Z0,Lm6;
K5: (the addF of T).(ab,z) = (a1+fb)+c1 by AS,X4,Y0,Lm6
.= a1+(fb+c1) by RLVECT_1:def 3
.= (the addF of T).(x,bc) by AS,Y0,Z0,Lm6;
per cases;
suppose K0: not (the addF of T).(ab,z) in rng f;
thus (a+b)+c = (addemb f).(ab,z) by defemb
.= addemb(f,ab,z) by defadd
.= (a1+fb)+c1 by X0,K0,X2,Z0,defaddf
.= a1+(fb+c1) by RLVECT_1:def 3
.= addemb(f,x,bc) by K0,K5,X3,X4,X5,defaddf
.= (addemb f).(x,bc) by defadd
.= a + (b + c) by defemb;
end;
suppose K1: (the addF of T).(ab,z) in rng f;
thus (a+b)+c = (addemb f).(ab,z) by defemb
.= addemb(f,ab,z) by defadd
.= (f").((the addF of T).(ab,z))
by K1,X2,Z0,defaddf
.= addemb(f,x,bc) by K1,K5,X4,X5,defaddf
.= (addemb f).(x,bc) by defadd
.= a + (b + c) by defemb;
end;
end;
end;
suppose Y0: not y in [#]K; then
reconsider b1 = b as Element of T by Lm1;
per cases;
suppose K2: not (the addF of T).(x,y) in rng f;
K1: not (the addF of T).(a1,b1) in [#]K
by AS,XBOOLE_0:def 4;
X0: a + b = a1 + b1 by K2,Y0,X4,AS,Lm8;
a1 + b1 in [#]T \ rng f by K2,XBOOLE_0:def 5; then
reconsider ab = a1 + b1 as Element of carr f by XBOOLE_0:def 3;
D: not ab in [#]K by AS,XBOOLE_0:def 4;
per cases;
suppose
Z: z in [#]K; then
reconsider c1 = c as Element of K;
X1: b + c = b1 + f.c1 by AS,Y0,Z,Lm6;
[#]embField f = carr f by defemb; then
X3: b1 + f.c1 in ([#]T)\(rng f) by Y0,Lm2;
X2: not b1 + f.c1 in [#]K by AS,XBOOLE_0:def 4;
reconsider bc = b1 + f.c1 as Element of carr f by X3,XBOOLE_0:def 3;
X4a: (a+b)+c = (addemb f).(ab,z) by X0,defemb
.= addemb(f,ab,z) by defadd
.= (a1+b1)+f.c1 by K1,defaddf
.= a1+(b1+f.c1) by RLVECT_1:def 3;
X5: (the addF of T).(x,bc) = a1+(b1+f.c1)
.= (a1+b1)+f.c1 by RLVECT_1:def 3
.= (the addF of T).(ab,f.z);
(the addF of T).(ab,f.z) in [#]T \ rng f
by D,Lm2,Z; then
not (the addF of T).(x,bc) in rng f
by X5,XBOOLE_0:def 5;
hence (a+b)+c = addemb(f,x,bc)
by X4,X2,X4a,defaddf
.= (addemb f).(x,bc) by defadd
.= a+(b+c) by X1,defemb;
end;
suppose Z: not z in [#]K; then
reconsider c1 = c as Element of T by Lm1;
K5: (the addF of T).(ab,z) = (a1+b1)+c1
.= a1+(b1+c1) by RLVECT_1:def 3
.= (the addF of T).(a1,b1 + c1);
per cases;
suppose K:not(the addF of T).(ab,z) in rng f;
per cases;
suppose K6:not(the addF of T).(b1,c1)
in rng f;
then X1: b+c = b1+c1 by AS,Y0,Z,Lm8;
K9: (the addF of T).(b1,c1) in [#]T \ rng f
by K6,XBOOLE_0:def 5;
K8: not b1+c1 in [#]K by AS,XBOOLE_0:def 4;
reconsider bc = b1+c1 as Element of carr f by K9,XBOOLE_0:def 3;
thus (a+b)+c = (addemb f).(ab,z)
by X0,defemb
.= addemb(f,ab,z) by defadd
.= (a1+b1)+c1 by D,Z,defaddf,K
.= addemb(f,x,bc) by X4,K5,K,K8,defaddf
.= (addemb f).(x,bc) by defadd
.= a+(b+c) by X1,defemb;
end;
suppose K6:(the addF of T).(b1,c1)
in rng f; then
X1: b+c = f".(b1+c1) by Y0,Z,Lm9;
b1+c1 in dom(f") by K6,FUNCT_1:33; then
f".(b1+c1) in rng(f") by FUNCT_1:3;then
reconsider bc1 = f".(b1+c1) as Element of [#]K;
reconsider bc = bc1 as Element of carr f by XBOOLE_0:def 3;
thus
(a + b) + c = (addemb f).(ab,z)
by X0,defemb
.= addemb(f,ab,z) by defadd
.= (a1+b1)+c1 by D,Z,defaddf,K
.= a1+(b1+c1) by RLVECT_1:def 3
.= a1 + f.bc1 by K6,FUNCT_1:35
.= addemb(f,x,bc) by X4,defaddf
.= (addemb f).(x,bc) by defadd
.= a + (b + c) by X1,defemb;
end;
end;
suppose K7:(the addF of T).(ab,z) in rng f;
K6: now assume (the addF of T).(b1,c1)
in rng f; then
consider x being object such that
H1: x in dom f & f.x=b1 + c1
by FUNCT_1:def 3;
consider y being object such that
H2: y in dom f & f.y = (a1 + b1) + c1
by K7,FUNCT_1:def 3;
reconsider xx = x, yy = y as Element of K by H1,H2;
X1: f.(yy-xx) = f.yy - f.xx by RING_2:8
.= (a1+(b1+c1))-(b1+c1)
by H1,H2,RLVECT_1:def 3
.= a1+((b1+c1)+-(b1+c1))
by RLVECT_1:def 3
.= a1+0.T by RLVECT_1:5;
dom f = [#]K by FUNCT_2:def 1; then
a1 in rng f by X1,FUNCT_1:def 3;
hence contradiction by X4,Lm1;
end; then
X1: b + c = b1 + c1 by AS,Y0,Z,Lm8;
b1 + c1 in [#]T\rng f
by K6,XBOOLE_0:def 5; then
reconsider bc=b1 + c1 as Element of carr f by XBOOLE_0:def 3;
K9: not bc in [#]K by AS,XBOOLE_0:def 4;
thus
(a+b)+c = (addemb f).(ab,z) by X0,defemb
.= addemb(f,ab,z) by defadd
.= f".((a1+b1)+c1) by D,Z,defaddf,K7
.= addemb(f,x,bc) by X4,K5,K7,defaddf,K9
.= (addemb f).(x,bc) by defadd
.= a+(b+c) by X1,defemb;
end;
end;
end;
suppose L:(the addF of T).(x,y) in rng f; then
Z1: a + b = f".(a1 + b1) by X4,Y0,Lm9;
a1 + b1 in dom(f") by L,FUNCT_1:33; then
f".(a1 + b1) in rng(f") by FUNCT_1:3; then
reconsider ab1 = f".(a1 + b1) as Element of [#]K;
reconsider ab = ab1 as Element of carr f by XBOOLE_0:def 3;
per cases;
suppose Z: z in [#]K; then
reconsider c1 = c as Element of K;
Z2: b + c = b1 + f.c1 by AS,Y0,Z,Lm6; then
L0: b + c in ([#]T) \ (rng f) by Lm2,Y0,Z;
reconsider bc1 = b1 + f.c1 as Element of T;
reconsider bc=bc1 as Element of carr f by Z2,L0,XBOOLE_0:def 3;
Z3: (a+b)+c = (addemb f).(ab,z) by Z1,defemb
.=addemb(f,ab,z) by defadd
.= ab1 + c1 by defaddf;
Z4: not bc in [#]K by AS,XBOOLE_0:def 4;
Z9: dom f=[#]K &(rng f) c= [#]T
by FUNCT_2:def 1;
L2: dom f = [#]K by FUNCT_2:def 1; then
reconsider fc1 = f.c1 as Element of rng f by FUNCT_1:def 3;
reconsider ffc1 = f".fc1 as Element of K;
f".fc1 = c1 by L2,FUNCT_1:34; then
Z5: f".((a1 + b1) + fc1) = ab1 + c1 by L,Th1;
consider x1 being object such that
Z6: x1 in dom f & f.x1 = a1 + b1
by L,FUNCT_1:def 3;
reconsider xx = x1 as Element of K by Z6;
f.(xx + c1) = (a1 + b1) + f.c1
by Z6,VECTSP_1:def 20; then
(a1 + b1)+f.c1 in rng f
by Z9,FUNCT_1:def 3; then
L1: a1 + (b1 + f.c1) in rng f
by RLVECT_1:def 3;
thus
a+(b+c) = (addemb f).(x,bc) by Z2,defemb
.= addemb(f,x,bc) by defadd
.= f".(a1+bc1) by L1,Z4,X4,defaddf
.= (a+b)+c by Z3,Z5,RLVECT_1:def 3;
end;
suppose Z: not z in [#]K; then
reconsider c1 = c as Element of T by Lm1;
Z2: (a+b)+c = (addemb f).(ab,z) by Z1,defemb
.= addemb(f,ab,z) by defadd
.= f.ab1 + c1 by Z,defaddf
.= (a1+b1)+c1 by L,FUNCT_1:35
.= a1+(b1+c1) by RLVECT_1:def 3;
(the addF of T).(f.ab,z) in [#]T\rng f
by Z,Lm3; then
(a1 + b1) + c1 in [#]T\rng f
by FUNCT_1:35,L; then
a1+(b1+c1) in [#]T\rng f
by RLVECT_1:def 3; then
U2: not(the addF of T).(a,b1+c1) in (rng f)
by XBOOLE_0:def 5;
per cases;
suppose L1:not(the addF of T).(y,z)
in rng f; then
X3: b + c = b1 + c1 by AS,Y0,Z,Lm8;
X4a: b1+c1 in [#]T\rng f
by L1,XBOOLE_0:def 5;
reconsider bc1 = b1 + c1 as Element of T;
reconsider bc = bc1 as Element of carr f by X4a,XBOOLE_0:def 3;
not bc in [#]K by AS,XBOOLE_0:def 4;
hence (a + b) + c = addemb(f,x,bc)
by Z2,U2,X4,defaddf
.= (addemb f).(x,bc) by defadd
.= a + (b + c) by X3,defemb;
end;
suppose K6:(the addF of T).(y,z)
in rng f; then
X1: b + c = f".(b1 + c1) by Y0,Z,Lm9;
b1 + c1 in dom(f") by K6,FUNCT_1:33;
then
f".(b1 + c1) in rng(f") by FUNCT_1:3;
then
reconsider bc1 = f".(b1 + c1) as Element of [#]K;
reconsider bc = bc1 as Element of carr f by XBOOLE_0:def 3;
thus (a+b)+c = a1+f.bc1
by Z2,K6,FUNCT_1:35
.= addemb(f,x,bc) by X4,defaddf
.= (addemb f).(x,bc) by defadd
.= a+(b+c) by X1,defemb;
end;
end;
end;
end;
end;
end;
hence thesis;
end;
theorem Th7:
for f being Monomorphism of K,T st K,T are_disjoint
holds embField f is right_complementable
proof
let f be Monomorphism of K,T;
assume
AS: K,T are_disjoint;
now let a be Element of embField f;
reconsider x = a as Element of carr f by defemb;
per cases;
suppose x in [#]K; then
reconsider a1 = a as Element of K;
a1 is right_complementable; then
consider b1 being Element of K such that
B1: a1 + b1 = 0.K;
reconsider y = b1 as Element of carr f by XBOOLE_0:def 3;
reconsider b = y as Element of embField f by defemb;
a + b = a1 + b1 by Lm7 .= 0.(embField f) by B1,defemb;
hence a is right_complementable;
end;
suppose
A2: not x in [#]K; then
reconsider a1 = a as Element of T by Lm1;
a1 is right_complementable; then
consider b1 being Element of T such that
B2: a1 + b1 = 0.T;
dom f = [#]K &
(the addF of T).(a1,b1) = f.(0.K) by B2,RING_2:6,FUNCT_2:def 1; then
D0: (the addF of T).(a1,b1) in rng f by FUNCT_1:3; then
D1: not (the addF of T).(a1,b1) in [#]T \ rng f by XBOOLE_0:def 5;
per cases;
suppose b1 in rng f; then
consider b1r being object such that
C1: b1r in dom f & f.b1r = b1 by FUNCT_1:def 3;
reconsider b1r as Element of K by C1;
[#]embField f = carr f by defemb; then
reconsider bx = b1r as Element of embField f by XBOOLE_0:def 3;
reconsider y = bx as Element of carr f by defemb;
C2: [#]embField f = carr f by defemb; then
(the addF of T).(a1,f.bx) in [#]K by Lm2,A2,D1,C1;
hence a is right_complementable by Lm2,A2,D1,C1,C2;
end;
suppose not b1 in rng f;
then b1 in [#]T \ rng f by XBOOLE_0:def 5; then
reconsider y = b1 as Element of carr f by XBOOLE_0:def 3;
reconsider b = y as Element of embField f by defemb;
E1: not b in [#]K by AS,XBOOLE_0:def 4;
Y1: dom f = [#]K & f.(0.K) = 0.T by RING_2:6,FUNCT_2:def 1;
a + b = f".(0.T) by A2,B2,D0,E1,Lm9
.= 0.K by Y1,FUNCT_1:32 .= 0.(embField f) by defemb;
hence a is right_complementable;
end;
end;
end;
hence thesis;
end;
registration
let K be Field,
T be K-monomorphic comRing;
let f be Monomorphism of K,T;
cluster embField f -> commutative well-unital;
coherence
proof
thus embField f is commutative
proof
now let a,b be Element of embField f;
reconsider x = a, y = b as Element of carr f by defemb;
per cases;
suppose x in [#]K & y in [#]K; then
reconsider a1 = a, b1 = b as Element of K;
thus a*b = a1*b1 by Lm11 .= b1*a1 by GROUP_1:def 12 .= b * a by Lm11;
end;
suppose A: a = 0.K or b = 0.K;
per cases by A;
suppose A1: a = 0.K;
thus a * b=(multemb f).(x,y) by defemb .= multemb(f,x,y) by defmult
.= 0.K by A1,defmultf .= multemb(f,y,x) by A1,defmultf
.= (multemb f).(y,x) by defmult .= b * a by defemb;
end;
suppose A1: b = 0.K;
thus a * b = (multemb f).(x,y) by defemb .=multemb(f,x,y) by defmult
.= 0.K by A1,defmultf .= multemb(f,y,x) by A1,defmultf
.= (multemb f).(y,x) by defmult .= b * a by defemb;
end;
end;
suppose A: x in [#]K & x <> 0.K & not y in [#]K; then
reconsider a1 = a as Element of K;
reconsider b1 = b as Element of T by A,Lm1;
reconsider fa = f.a1 as Element of T;
thus a * b=(multemb f).(x,y) by defemb .= multemb(f,x,y) by defmult
.= fa * b1 by A,defmultf .= b1 * fa by GROUP_1:def 12
.= multemb(f,y,x) by A,defmultf
.= (multemb f).(y,x) by defmult .= b * a by defemb;
end;
suppose A: y in [#]K & y <> 0.K & not x in [#]K; then
reconsider b1 = b as Element of K;
reconsider a1 = a as Element of T by A,Lm1;
reconsider fb = f.b1 as Element of T;
thus a*b = (multemb f).(x,y) by defemb .= multemb(f,x,y) by defmult
.= a1*fb by A,defmultf .= fb*a1 by GROUP_1:def 12
.= multemb(f,y,x) by A,defmultf .= (multemb f).(y,x) by defmult
.= b*a by defemb;
end;
suppose A: not x in [#]K & not y in [#]K &
(the multF of T).(x,y) in rng f; then
reconsider a1 = a, b1 = b as Element of T by Lm1;
B: (the multF of T).(a,b) = a1*b1 .= b1*a1 by GROUP_1:def 12
.= (the multF of T).(b,a);
thus a*b = (multemb f).(x,y) by defemb
.= multemb(f,x,y) by defmult .= (f").(a1*b1) by A,defmultf
.= multemb(f,y,x) by A,B,defmultf
.= (multemb f).(y,x) by defmult .= b*a by defemb;
end;
suppose A: not x in [#]K & not y in [#]K &
not((the multF of T).(x,y) in rng f); then
reconsider a1 = a, b1 = b as Element of T by Lm1;
C: a <> 0.K & b <> 0.K by A;
B: (the multF of T).(a,b) = a1*b1 .= b1*a1 by GROUP_1:def 12
.= (the multF of T).(b,a);
thus
a*b = (multemb f).(x,y) by defemb .= multemb(f,x,y) by defmult
.= (the multF of T).(a,b) by C,A,defmultf
.= multemb(f,y,x) by C,A,B,defmultf .= (multemb f).(y,x) by defmult
.= b*a by defemb;
end;
end;
hence thesis;
end;
thus
embField f is well-unital
proof
now let a be Element of embField f;
reconsider x = a as Element of carr f by defemb;
reconsider e = 1.(embField f) as Element of carr f by defemb;
B: a*1.(embField f)=(multemb f).(x,e) by defemb .= multemb(f,x,e) by defmult;
D: 1.(embField f)*a=(multemb f).(e,x) by defemb .= multemb(f,e,x) by defmult;
C: 1.(embField f) = 1.K by defemb;
per cases;
suppose x in [#]K;
then reconsider a1 = a as Element of K;
multemb(f,x,e) = a1 * 1.K by C,defmultf;
hence a * 1.(embField f) = a by B;
multemb(f,e,x) = 1.K * a1 by C,defmultf;
hence 1.(embField f) * a = a by D;
end;
suppose A: not x in [#]K;
then
reconsider a1 = a as Element of T by Lm1;
E: e in [#]K & e <> 0.K by C; then
multemb(f,x,e) = (the multF of T).(a1,f.e) by A,defmultf
.= (the multF of T).(a1,f.(1_K)) by defemb .= a1*1_T by GROUP_1:def 13;
hence a * 1.(embField f) = a by B;
multemb(f,e,x) = (the multF of T).(f.e,a1) by E,A,defmultf
.= (the multF of T).(f.(1_K),a1) by defemb .= 1_T*a1 by GROUP_1:def 13;
hence 1.(embField f) * a = a by D;
end;
end;
hence thesis;
end;
end;
end;
theorem Th8:
for f being Monomorphism of K,F st K,F are_disjoint
holds embField f is associative
proof
let f be Monomorphism of K,F;
assume AS: K,F are_disjoint;
now let a,b,c be Element of embField f;
reconsider x = a, y = b, z = c as Element of carr f by defemb;
per cases;
suppose O: a = 0.K or b = 0.K or c = 0.K;
reconsider bb = b, ab = a*b, bc = b*c as Element of carr f by defemb;
per cases by O;
suppose A: a = 0.K;
A1: a*b = (multemb f).(x,bb) by defemb .= multemb(f,x,bb) by defmult
.= 0.K by A,defmultf;
A2: (a*b)*c = (multemb f).(ab,z) by defemb .= multemb(f,ab,z) by defmult
.= 0.K by A1,defmultf;
thus
a*(b*c) = (multemb f).(x,bc) by defemb .= multemb(f,x,bc) by defmult
.= (a*b)* c by A2,A,defmultf;
end;
suppose A: b = 0.K or c = 0.K;
A1: b*c = (multemb f).(y,z) by defemb .= multemb(f,y,z) by defmult
.= 0.K by A,defmultf;
A2: a*(b*c) = (multemb f).(x,bc) by defemb .= multemb(f,x,bc) by defmult
.= 0.K by A1,defmultf;
per cases by A;
suppose A3: b = 0.K;
A4: a*b = (multemb f).(x,bb) by defemb .= multemb(f,x,bb) by defmult
.= 0.K by A3,defmultf;
thus (a*b)*c = (multemb f).(ab,z) by defemb
.= multemb(f,ab,z) by defmult .= a*(b*c) by A4,A2,defmultf;
end;
suppose A3: c = 0.K;
thus (a*b)*c = (multemb f).(ab,z) by defemb
.= multemb(f,ab,z) by defmult .= a*(b*c) by A3,A2,defmultf;
end;
end;
end;
suppose O: a <> 0.K & b <> 0.K & c <> 0.K;
per cases;
suppose X: x in [#]K; then
reconsider a1 = a as Element of K;
per cases;
suppose Y: y in [#]K; then
reconsider b1 = b as Element of K;
X0: a * b = a1 * b1 by Lm11; then
reconsider ab = a * b as Element of carr f by XBOOLE_0:def 3;
per cases;
suppose z in [#]K; then
reconsider c1 = c as Element of K;
X1: b*c = b1*c1 by Lm11; then
reconsider bc = b * c as Element of carr f by XBOOLE_0:def 3;
thus (a*b)*c = (multemb f).(a*b,z) by defemb
.= multemb(f,ab,z) by defmult .= (a1*b1)*c1 by X0,defmultf
.= a1*(b1*c1) by GROUP_1:def 3.=multemb(f,x,bc) by X1,defmultf
.= (multemb f).(x,b*c) by defmult .= a*(b*c) by defemb;
end;
suppose Z: not z in [#]K; then
reconsider c1 = c as Element of F by Lm1;
reconsider bc = b * c as Element of carr f by defemb;
reconsider fa = f.a1, fb = f.b1 as Element of F;
X1: f.(a1*b1) = fa * fb by GROUP_6:def 6;
X2: b * c = fb * c1 by AS,O,Y,Z,Lm10;
X3: not fb * c1 in [#]K by AS,XBOOLE_0:def 4;
thus
(a*b)*c = (multemb f).(a*b,z) by defemb
.= multemb(f,ab,z) by defmult
.= (fa*fb)*c1 by O,VECTSP_2:def 1,X1,X0,defmultf,Z
.= fa*(fb*c1) by GROUP_1:def 3
.= multemb(f,x,bc) by O,X3,X2,defmultf
.= (multemb f).(x,b*c) by defmult .= a * (b * c) by defemb;
end;
end;
suppose Y: not y in [#]K; then
reconsider b1 = b as Element of F by Lm1;
reconsider fa = f.a1 as Element of F;
X0: a*b = fa*b1 by AS,O,X,Y,Lm10; then
reconsider ab = fa * b1 as Element of carr f by defemb;
X1: not ab in [#]K by AS,XBOOLE_0:def 4;
per cases;
suppose Z: z in [#]K; then
reconsider c1 = c as Element of K;
reconsider fc = f.c1 as Element of F;
X2: b * c = b1 * fc by AS,O,Y,Z,Lm10; then
reconsider bc = b1 * fc as Element of carr f by defemb;
X3: not bc in [#]K by AS,XBOOLE_0:def 4;
thus
(a*b)*c = (fa*b1)*fc by AS,O,X1,X0,Z,Lm10
.= fa*(b1*fc) by GROUP_1:def 3
.= a*(b*c) by AS,O,X,X2,X3,Lm10;
end;
suppose Z: not z in [#]K; then
reconsider c1 = c as Element of F by Lm1;
reconsider fa1 = f.a1 as Element of (rng f) by FUNCT_2:4;
K5: (the multF of F).(ab,z)=(fa*b1)*c1 .= fa*(b1*c1)
by GROUP_1:def 3;
per cases;
suppose K: (the multF of F).(ab,z) in rng f;
X2: (a*b)*c = (multemb f).(ab,z) by X0,defemb
.= multemb(f,ab,z) by defmult
.= f".((fa*b1)*c1) by X1,Z,defmultf,K
.= f".(fa*(b1*c1)) by GROUP_1:def 3;
K1: now assume K7: not (the multF of F).(y,z) in rng f;
X4: not (the multF of F).(b1,c1) in [#]K
by AS,XBOOLE_0:def 4;
X3: b*c = b1*c1 by AS,Y,Z,Lm12,K7;
b1*c1 in [#]F \ rng f by K7,XBOOLE_0:def 5; then
reconsider bc1 = b1*c1 as Element of carr f by XBOOLE_0:def 3;
reconsider bce = bc1 as Element of embField f by X3;
(the multF of F).(f.a,bce) in [#]F\rng f by O,X,X4,Lm5;
hence contradiction by K5,K,XBOOLE_0:def 5;
end; then
X3: b * c = f".(b1*c1) by Y,Z,Lm13;
f".(b1*c1) in [#]K by K1,FUNCT_2:5; then
reconsider bc=f".(b1*c1) as Element of carr f by XBOOLE_0:def 3;
reconsider bc1=b1*c1 as Element of (rng f) by K1;
thus
(a*b)*c = f".fa1 * f".bc1 by Th1,X2
.= a1*f".bc1 by FUNCT_2:26
.= multemb(f,x,bc) by defmultf
.= (multemb f).(x,bc) by defmult .= a*(b*c) by X3,defemb;
end;
suppose K: not (the multF of F).(ab,z) in rng f;
X4: ab <> 0.K by AS,XBOOLE_0:def 4;
X2: (a*b)*c = (multemb f).(ab,z) by X0,defemb
.= multemb(f,ab,z) by defmult
.= (fa*b1)*c1 by O,X4,X1,Z,defmultf,K
.= fa * (b1*c1) by GROUP_1:def 3;
K1: now assume K7: (the multF of F).(y,z) in rng f;
X7: dom f = [#]K by FUNCT_2:def 1;
consider x being object such that
X6: x in dom f & b1*c1 = f.x by K7,FUNCT_1:def 3;
reconsider xx = x as Element of K by X6;
f.(a1*xx) = fa*(b1*c1) by X6,GROUP_6:def 6;
hence contradiction by K5,K,X7,FUNCT_1:3;
end; then
b1*c1 in [#]F \ rng f by XBOOLE_0:def 5; then
reconsider bc = b1*c1 as Element of carr f by XBOOLE_0:def 3;
X3: b*c = b1*c1 by AS,K1,Y,Z,Lm12;
not b1 * c1 in [#]K by AS,XBOOLE_0:def 4;
hence (a*b)*c = multemb(f,x,bc) by O,X2,defmultf
.= (multemb f).(x,bc) by defmult .= a*(b*c) by X3,defemb;
end;
end;
end;
end;
suppose X: not x in [#]K; then
reconsider a1 = a as Element of F by Lm1;
per cases;
suppose Y: y in [#]K; then
reconsider b1 = b as Element of K;
X0: a*b = a1*f.b1 by AS,O,X,Y,Lm10;
reconsider ab = a*b as Element of carr f by defemb;
reconsider fb = f.b1 as Element of F;
X2: not ab in [#]K by AS,O,X,Y,Lm10;
per cases;
suppose z in [#]K; then
reconsider c1 = c as Element of K;
reconsider fc = f.c1 as Element of F;
X3: b*c = b1*c1 by Lm11; then
reconsider bc = b*c as Element of carr f by XBOOLE_0:def 3;
thus
(a*b)*c = (multemb f).(ab,z) by defemb
.= multemb(f,ab,z) by defmult
.= (a1*fb)*fc by O,X0,X2,defmultf
.= a1*(fb*fc) by GROUP_1:def 3
.= a1*f.(b1*c1) by GROUP_6:def 6
.= multemb(f,x,bc) by defmultf,X3,X,O,VECTSP_2:def 1
.= (multemb f).(x,bc) by defmult .= a*(b*c) by defemb;
end;
suppose Z: not z in [#]K; then
reconsider c1 = c as Element of F by Lm1;
X3: b*c = f.b1*c1 by AS,O,Y,Z,Lm10;
reconsider bc = b * c as Element of carr f by defemb;
X5: not b*c in [#]K by AS,O,Y,Z,Lm10;
K5: (the multF of F).(ab,z) = (a1*fb)*c1 by AS,O,X,Y,Lm10
.= a1*(fb*c1) by GROUP_1:def 3
.= (the multF of F).(x,bc) by AS,O,Y,Z,Lm10;
per cases;
suppose K: not (the multF of F).(ab,z) in rng f;
hence (a*b)*c = (a1*fb)*c1 by AS,X0,X2,Z,Lm12
.= a1*(fb*c1) by GROUP_1:def 3
.= a*(b*c) by AS,K,K5,X3,X,X5,Lm12;
end;
suppose K: (the multF of F).(ab,z) in rng f;
thus (a*b)*c = (multemb f).(ab,z) by defemb
.= multemb(f,ab,z) by defmult
.= (f").((the multF of F).(ab,z)) by K,X2,Z,defmultf
.= multemb(f,x,bc) by K,K5,X,X5,defmultf
.= (multemb f).(x,bc) by defmult .= a*(b*c) by defemb;
end;
end;
end;
suppose Y: not y in [#]K; then
reconsider b1 = b as Element of F by Lm1;
per cases;
suppose K: not (the multF of F).(x,y) in rng f;
then X0: a*b = a1*b1 by AS,Y,X,Lm12;
a1*b1 in [#]F \ rng f by K,XBOOLE_0:def 5; then
reconsider ab = a1 * b1 as Element of carr f by XBOOLE_0:def 3;
D: not ab in [#]K by AS,XBOOLE_0:def 4;
per cases;
suppose Z: z in [#]K; then
reconsider c1 = c as Element of K;
X1: b*c = b1*f.c1 by AS,O,Y,Z,Lm10;
[#](embField f) = carr f by defemb; then
X3: b1*f.c1 in [#]F\rng f by O,Y,Lm4;
X2: not b1 * f.c1 in [#]K by AS,XBOOLE_0:def 4;
reconsider bc=b1*f.c1 as Element of carr f by X3,XBOOLE_0:def 3;
X4: (a*b)*c = (a1*b1)*f.c1 by AS,O,X0,Z,D,Lm10
.= a1*(b1*f.c1) by GROUP_1:def 3;
X5: (the multF of F).(x,bc) = a1*(b1*f.c1)
.= (a1*b1)*f.c1 by GROUP_1:def 3
.= (the multF of F).(ab,f.z);
(the multF of F).(ab,f.z) in [#]F \ rng f
by O,D,Lm4,Z; then
H: not (the multF of F).(x,bc) in rng f
by X5,XBOOLE_0:def 5;
bc <> 0.K by AS,XBOOLE_0:def 4;
hence (a*b)*c = multemb(f,x,bc)
by O,H,X,X2,X4,defmultf
.=(multemb f).(x,bc) by defmult.=a*(b*c) by X1,defemb;
end;
suppose Z: not z in [#]K; then
reconsider c1 = c as Element of F by Lm1;
K5: (the multF of F).(ab,z) = (a1*b1)*c1
.= a1*(b1*c1) by GROUP_1:def 3
.= (the multF of F).(a1,b1*c1);
per cases;
suppose K: not (the multF of F).(ab,z) in rng f;
per cases;
suppose K6:not(the multF of F).(b1,c1) in rng f;
X1: b*c = (multemb f).(y,z) by defemb
.= multemb(f,y,z) by defmult
.= b1*c1 by O,defmultf,Y,Z,K6;
K9: (the multF of F).(b1,c1) in [#]F \ rng f
by K6,XBOOLE_0:def 5;
K8: not b1*c1 in [#]K by AS,XBOOLE_0:def 4;
reconsider bc=b1*c1 as Element of carr f by K9,XBOOLE_0:def 3;
X4: ab <> 0.K & bc <> 0.K by AS,XBOOLE_0:def 4;
thus
(a*b)*c = (multemb f).(ab,z) by X0,defemb
.= multemb(f,ab,z) by defmult
.= (a1*b1) * c1 by X4,O,D,Z,defmultf,K
.= multemb(f,x,bc) by X4,O,X,K5,K,K8,defmultf
.= (multemb f).(x,bc) by defmult
.= a*(b*c) by X1,defemb;
end;
suppose K6: (the multF of F).(b1,c1) in rng f;
X1: b * c = (multemb f).(y,z) by defemb
.=multemb(f,y,z) by defmult
.= f".(b1*c1) by defmultf,Y,Z,K6;
b1*c1 in dom(f") by K6,FUNCT_1:33; then
f".(b1 * c1) in rng(f") by FUNCT_1:3; then
reconsider bc1 = f".(b1 * c1) as Element of [#]K;
reconsider bc = bc1 as Element of carr f by XBOOLE_0:def 3;
M0: dom f = [#]K by FUNCT_2:def 1;
f.(0.K) = 0.F by RING_2:6; then
M1: 0.F in rng f by M0,FUNCT_1:def 3; then
M2: c1 <> 0.F by Z,Lm1;
b1 <> 0.F by M1,Y,Lm1; then
b1*c1 <> 0.F by M2,VECTSP_2:def 1; then
X4: bc<>0.K & ab<>0.K by AS,XBOOLE_0:def 4,K6,Th2;
thus
(a*b)*c = (multemb f).(ab,z) by X0,defemb
.= multemb(f,ab,z) by defmult
.= (a1*b1)*c1 by X4,O,D,Z,defmultf,K
.= a1*(b1*c1) by GROUP_1:def 3
.= a1*f.bc1 by K6,FUNCT_1:35
.= multemb(f,x,bc) by X4,X,defmultf
.= (multemb f).(x,bc) by defmult
.= a*(b*c) by X1,defemb;
end;
end;
suppose K7: (the multF of F).(ab,z) in rng f;
K6: now assume (the multF of F).(b1,c1) in rng f; then
consider x being object such that
H1: x in dom f & f.x = b1 * c1 by FUNCT_1:def 3;
consider y being object such that
H2: y in dom f & f.y = (a1*b1)*c1 by K7,FUNCT_1:def 3;
reconsider xx = x, yy = y as Element of K by H1,H2;
B3h: dom f = [#]K by FUNCT_2:def 1;
B3a: a in ([#]F) & not(a in (rng f)) by X,Lm1;
f.(0.K) = 0.F by RING_2:6; then
0.F in rng f by B3h,FUNCT_1:def 3; then
OO: a1<>0.F & b1<>0.F & c1<>0.F by X,Y,Z,Lm1; then
xx <> 0.K by H1,RING_2:6,VECTSP_2:def 1; then
f.(xx")=(b1*c1)" by Th5,H1
.= c1" * b1" by OO,VECTSP_2:11
.= b1" * c1" by GROUP_1:def 12; then
f.yy*f.(xx") = (a1*(b1*c1))*(b1" * c1")
by H2,GROUP_1:def 3
.= a1*((b1*c1)*(b1" * c1")) by GROUP_1:def 3
.= a1*(b1*(c1*(b1" * c1"))) by GROUP_1:def 3
.= a1*(b1*(c1*(c1" * b1"))) by GROUP_1:def 12
.= a1*(b1*((c1*c1")* b1")) by GROUP_1:def 3
.= a1*(b1*((c1" *c1)* b1")) by GROUP_1:def 12
.= a1*(b1*(1.F*b1")) by OO,VECTSP_1:def 10
.= a1*(b1" *b1) by GROUP_1:def 12
.= a1*1.F by OO,VECTSP_1:def 10; then
B4: a1 = f.(yy * xx") by GROUP_6:def 6;
dom f = [#]K by FUNCT_2:def 1;
hence contradiction by B3a,B4,FUNCT_1:def 3;
end;
X1: b*c = (multemb f).(y,z) by defemb
.= multemb(f,y,z) by defmult
.= b1*c1 by O,defmultf,Y,Z,K6;
b1*c1 in [#]F\rng f by K6,XBOOLE_0:def 5; then
reconsider bc = b1*c1 as Element of carr f by XBOOLE_0:def 3;
K9: not bc in [#]K by AS,XBOOLE_0:def 4;
thus
(a*b)*c = (multemb f).(ab,z) by X0,defemb
.= multemb(f,ab,z) by defmult
.= f".((a1*b1)*c1) by D,Z,defmultf,K7
.= multemb(f,x,bc) by X,K5,K7,defmultf,K9
.= (multemb f).(x,bc) by defmult
.= a*(b*c) by X1,defemb;
end;
end;
end;
suppose L: (the multF of F).(x,y) in rng f;
Z1: a*b = (multemb f).(x,y) by defemb
.= multemb(f,x,y) by defmult
.= f".(a1 * b1) by defmultf,X,Y,L;
a1*b1 in dom(f") by L,FUNCT_1:33; then
f".(a1 * b1) in rng(f") by FUNCT_1:3; then
reconsider ab1 = f".(a1 * b1) as Element of [#]K;
reconsider ab = ab1 as Element of carr f by XBOOLE_0:def 3;
per cases;
suppose Z: z in [#]K; then
reconsider c1 = c as Element of K;
Z2: b*c = (multemb f).(y,z) by defemb
.= multemb(f,y,z) by defmult
.= b1 * f.c1 by O,defmultf,Y; then
L0: b*c in [#]F \ rng f by O,Lm4,Y,Z;
reconsider bc1 = b1 * f.c1 as Element of F;
reconsider bc = bc1 as Element of carr f by Z2,L0,XBOOLE_0:def 3;
Z3: (a*b)*c = (multemb f).(ab,z) by Z1,defemb
.= multemb(f,ab,z) by defmult
.= ab1 * c1 by defmultf;
Z4: not bc in [#]K by AS,XBOOLE_0:def 4;
Z9: dom f = [#]K & (rng f) c= ([#]F) by FUNCT_2:def 1;
L2: dom f = [#]K by FUNCT_2:def 1; then
reconsider fc1 = f.c1 as Element of (rng f) by FUNCT_1:def 3;
reconsider ffc1 = f".fc1 as Element of K;
f".fc1 = c1 by L2,FUNCT_1:34; then
Z5: f".((a1*b1)*fc1) = ab1*c1 by L,Th1;
consider x1 being object such that
Z6: x1 in dom f & f.x1 = a1 * b1 by L,FUNCT_1:def 3;
reconsider xx = x1 as Element of K by Z6;
f.(xx*c1) = (a1*b1)*f.c1 by Z6,GROUP_6:def 6; then
(a1*b1)*f.c1 in rng f by Z9,FUNCT_1:def 3; then
L1: a1 * (b1 * f.c1) in rng f by GROUP_1:def 3;
thus
a*(b*c) = (multemb f).(x,bc) by Z2,defemb
.= multemb(f,x,bc) by defmult
.= f".(a1*bc1) by L1,Z4,X,defmultf
.= (a*b)*c by Z3,Z5,GROUP_1:def 3;
end;
suppose Z: not z in [#]K; then
reconsider c1 = c as Element of F by Lm1;
M0: dom f = [#]K by FUNCT_2:def 1;
f.(0.K) = 0.F by RING_2:6; then
M1: 0.F in rng f by M0,FUNCT_1:def 3; then
M2: a1 <> 0.F by X,Lm1;
b1 <> 0.F by M1,Y,Lm1; then
a1*b1 <> 0.F by M2,VECTSP_2:def 1; then
Z0: ab <> 0.K by L,Th2;
Z2: (a*b)*c = (multemb f).(ab,z) by Z1,defemb
.= multemb(f,ab,z) by defmult
.= f.ab1*c1 by Z,Z0,defmultf
.= (a1*b1)*c1 by L,FUNCT_1:35
.= a1*(b1*c1) by GROUP_1:def 3;
f.(f".(a1*b1)) = a1*b1 by FUNCT_1:35,L; then
(a1*b1)*c1 in ([#]F)\(rng f) by Z0,Z,Lm5; then
a1*(b1*c1) in ([#]F)\(rng f) by GROUP_1:def 3; then
U2: not (the multF of F).(a,b1*c1) in rng f
by XBOOLE_0:def 5;
per cases;
suppose L1: not (the multF of F).(y,z) in rng f;
X3: b*c = (multemb f).(y,z) by defemb
.= multemb(f,y,z) by defmult
.= b1 * c1 by O,L1,Y,Z,defmultf;
X4: b1*c1 in [#]F\rng f by L1,XBOOLE_0:def 5;
reconsider bc1 = b1*c1 as Element of F;
reconsider bc = bc1 as Element of carr f by X4,XBOOLE_0:def 3;
not bc in [#]K & bc <> 0.K by AS,XBOOLE_0:def 4;
hence
(a*b)*c =multemb(f,x,bc) by O,Z2,U2,X,defmultf
.= (multemb f).(x,bc) by defmult
.= a * (b * c) by X3,defemb;
end;
suppose K6: (the multF of F).(y,z) in rng f;
X1: b*c = (multemb f).(y,z) by defemb
.= multemb(f,y,z) by defmult
.= f".(b1 * c1) by defmultf,Y,Z,K6;
b1*c1 in dom(f") by K6,FUNCT_1:33; then
f".(b1 * c1) in rng(f") by FUNCT_1:3; then
reconsider bc1 = f".(b1 * c1) as Element of [#]K;
reconsider bc = bc1 as Element of carr f by XBOOLE_0:def 3;
M0: dom f = [#]K by FUNCT_2:def 1;
f.(0.K) = 0.F by RING_2:6; then
M1: 0.F in rng f by M0,FUNCT_1:def 3; then
M2: c1 <> 0.F by Z,Lm1;
b1 <> 0.F by M1,Y,Lm1; then
b1 * c1 <> 0.F by M2,VECTSP_2:def 1; then
X2: bc <> 0.K by K6,Th2;
thus
(a*b)*c = a1*f.bc1 by Z2,K6,FUNCT_1:35
.= multemb(f,x,bc) by X2,X,defmultf
.= (multemb f).(x,bc) by defmult
.= a*(b*c) by X1,defemb;
end;
end;
end;
end;
end;
end;
end;
hence thesis;
end;
theorem Th9:
for f being Monomorphism of K,T st K,T are_disjoint
holds embField f is distributive
proof
let f be Monomorphism of K,T;
assume AS: K,T are_disjoint;
now let a,b,c be Element of embField f;
reconsider x = a, y = b, z = c as Element of carr f by defemb;
per cases;
suppose A: a = 0.K;
A1: a * b = (multemb f).(x,y) by defemb .= multemb(f,x,y) by defmult
.= 0.K by A,defmultf;
A2: a * c = (multemb f).(x,z) by defemb .= multemb(f,x,z) by defmult
.= 0.K by A,defmultf;
reconsider bc = b + c as Element of carr f by defemb;
thus I: a*(b+c) = (multemb f).(x,b+c) by defemb
.= multemb(f,x,bc) by defmult .= 0.K by A,defmultf
.= 0.(embField f) by defemb
.= 0.(embField f) + 0.(embField f) by RLVECT_1:def 4
.= a*b + 0.(embField f) by A1,defemb .= a*b + a*c by A2,defemb;
thus (b + c) * a = a * (b + c) by GROUP_1:def 12
.= b*a + a*c by I,GROUP_1:def 12
.= b*a + c*a by GROUP_1:def 12;
end;
suppose A: a <> 0.K;
thus I: a * (b + c) = a*b + a*c
proof
per cases;
suppose B: b = 0.K;
A1: a*b=(multemb f).(x,y) by defemb
.= multemb(f,x,y) by defmult .= 0.K by B,defmultf;
b + c = 0.(embField f)+c by B,defemb .= c by RLVECT_1:def 4;
hence a*(b+c)= 0.(embField f)+a*c by RLVECT_1:def 4
.= a*b + a*c by A1,defemb;
end;
suppose C: c = 0.K;
A1: a*c = (multemb f).(x,z) by defemb
.= multemb(f,x,z) by defmult .= 0.K by C,defmultf;
b + c = b + 0.(embField f) by C,defemb .= b by RLVECT_1:def 4;
hence a * (b + c) = a*b + 0.(embField f) by RLVECT_1:def 4
.= a*b + a*c by A1,defemb;
end;
suppose BC: b <> 0.K & c <> 0.K;
per cases;
suppose X: x in [#]K; then
reconsider a1 = a as Element of K;
per cases;
suppose Y: y in [#]K; then
reconsider b1 = b as Element of K;
A1: a * b = a1 * b1 by Lm11;
reconsider ab = a*b as Element of carr f by defemb;
per cases;
suppose c in [#]K; then
reconsider c1 = c as Element of K;
A2: a * c = a1 * c1 by Lm11;
A3: b + c = b1 + c1 by Lm7;
reconsider bc=b+c, ac=a*c as Element of carr f by defemb;
thus a*(b+c)=a1*(b1+c1) by A3,Lm11
.= a1 * b1 + a1 * c1 by VECTSP_1:def 7
.= a*b + a*c by A2,A1,Lm7;
end;
suppose Z: not z in [#]K; then
reconsider c1 = c as Element of T by Lm1;
A2: a * c = f.a1 * c1 by AS,X,Z,A,Lm10;
A3: b + c = f.b1 + c1 by AS,Y,Z,Lm6;
then reconsider bc = f.b1 + c1 as Element of carr f by defemb;
reconsider ac = f.a1 * c1 as Element of carr f by A2,defemb;
A4: not bc in [#]K by AS,A3,Y,Z,Lm6;
A5: not ac in [#]K by A2,AS,A,X,Z,Lm10;
thus a*(b+c) = (multemb f).(x,bc) by A3,defemb
.= multemb(f,x,bc) by defmult
.= f.a1 * (f.b1 + c1) by A,A4,defmultf
.= f.a1 * f.b1 + f.a1 * c1 by VECTSP_1:def 7
.= f.(a1*b1) + f.a1 * c1 by GROUP_6:def 6
.= addemb(f,ab,ac) by A5,A1,defaddf
.= (addemb f).(ab,ac) by defadd
.= a*b + a*c by A2,defemb;
end;
end;
suppose Y: not y in [#]K; then
reconsider b1 = b as Element of T by Lm1;
A1: a * b = f.a1 * b1 by AS,X,Y,A,Lm10;
then reconsider ab = f.a1 * b1 as Element of carr f by defemb;
A5: not ab in [#]K by A1,AS,X,Y,A,Lm10;
per cases;
suppose Z: z in [#]K; then
reconsider c1 = c as Element of K;
A2: a * c = a1 * c1 by Lm11;
A3: b + c = b1 + f.c1 by AS,Y,Z,Lm6;
reconsider bc=b+c, ac=a*c as Element of carr f by defemb;
A4: not bc in [#]K by AS,Y,Z,Lm6;
reconsider fc1 = f.c1 as Element of T;
thus a*(b+c) = (multemb f).(x,bc) by defemb
.= multemb(f,x,bc) by defmult
.= f.a1 * (b1 + f.c1) by A,A3,A4,defmultf
.= f.a1 * b1 + f.a1 * f.c1 by VECTSP_1:def 7
.= f.a1 * b1 + f.(a1 * c1) by GROUP_6:def 6
.= addemb(f,ab,ac) by A5,A2,defaddf
.= (addemb f).(ab,ac) by defadd
.= a*b + a*c by A1,defemb;
end;
suppose Z: not z in [#]K; then
reconsider c1 = c as Element of T by Lm1;
A2: a*c = f.a1 * c1 by AS,X,Z,A,Lm10;
reconsider ac = a * c as Element of carr f by defemb;
A6: not ac in [#]K by AS,X,Z,A,Lm10;
per cases;
suppose Z1: not(the addF of T).(y,z) in rng f; then
A3: b + c = b1 + c1 by AS,Y,Z,Lm8;
reconsider bc = b + c as Element of carr f by defemb;
A4: not bc in [#]K by AS,A3,XBOOLE_0:def 4; then
A8: (the multF of T).(f.x,bc) in [#]T\rng f by A,X,Lm5;
(the multF of T).(f.x,bc)
= f.a1*(b1+c1) by Z1,AS,Y,Z,Lm8
.=f.a1*b1 + f.a1*c1 by VECTSP_1:def 7
.= (the addF of T).(ab,ac) by AS,X,Z,A,Lm10; then
A7: not (the addF of T).(ab,ac) in rng f
by A8,XBOOLE_0:def 5;
thus a*(b+c)=(multemb f).(x,bc) by defemb
.= multemb(f,x,bc) by defmult
.= f.a1 * (b1 + c1) by A,A3,A4,defmultf
.= f.a1 * b1 + f.a1 * c1 by VECTSP_1:def 7
.= addemb(f,ab,ac) by A2,A5,A6,A7,defaddf
.= (addemb f).(ab,ac) by defadd
.= a*b + a*c by A1,defemb;
end;
suppose Z1: (the addF of T).(y,z) in rng f; then
A3: b + c = f".(b1 + c1) by Y,Z,Lm9;
reconsider bc=b+c, ac=a*c as Element of carr f by defemb;
A0: dom f = [#]K by FUNCT_2:def 1;
b1 + c1 in dom(f") by Z1,FUNCT_1:33; then
b + c in rng(f") by A3,FUNCT_1:3; then
reconsider bc1 = b + c as Element of K;
A9: f.(a1*bc1) = f.a1 * f.bc1 by GROUP_6:def 6
.= f.a1 * (b1 + c1) by Z1,A3,FUNCT_1:35
.= f.a1*b1+f.a1*c1 by VECTSP_1:def 7; then
A4: (the addF of T).(ab,ac) in rng f
by A0,A2,FUNCT_1:def 3;
reconsider fa1 = f.a1 as Element of rng f by A0,FUNCT_1:3;
reconsider fbc1 = f. bc1 as Element of rng f by A0,FUNCT_1:3;
thus a * (b + c) = (multemb f).(x,bc) by defemb
.= multemb(f,x,bc) by defmult .= a1 * bc1
by defmultf
.= (f").(f.a1*b1+f.a1*c1) by A9,A0,FUNCT_1:34
.= addemb(f,ab,ac) by A2,A4,A5,A6,defaddf
.= (addemb f).(ab,ac) by defadd
.= a*b + a*c by A1,defemb;
end;
end;
end;
end;
suppose X: not x in [#]K; then
reconsider a1 = a as Element of T by Lm1;
B0: dom f = [#]K by FUNCT_2:def 1;
per cases;
suppose Y: y in [#]K; then
reconsider b1 = b as Element of K;
A1: a * b = a1 * f.b1 by AS,X,Y,BC,Lm10;
then reconsider ab = a1 * f.b1 as Element of carr f by defemb;
A2: not ab in [#]K by A1,AS,X,Y,BC,Lm10;
per cases;
suppose Z: z in [#]K; then
reconsider c1 = c as Element of K;
A3: a*c = a1*f.c1 by AS,X,Z,BC,Lm10;
then reconsider ac = a1 * f.c1 as Element of carr f by defemb;
A4: not ac in [#]K by A3,AS,X,Z,BC,Lm10;
A5: b + c = (addemb f).(y,z) by defemb
.= addemb(f,y,z) by defadd
.= b1 + c1 by defaddf; then
reconsider bc1 = b + c as Element of K;
reconsider bc = b + c as Element of carr f by defemb;
per cases;
suppose O: bc = 0.K;
A6: a * (b + c) = (multemb f).(x,bc) by defemb
.= multemb(f,x,bc) by defmult
.= 0.K by O,defmultf;
a1*f.b1+a1*f.c1=a1*(f.b1+f.c1)
by VECTSP_1:def 7
.= a1 * f.(b1 + c1) by VECTSP_1:def 20
.= a1 * 0.T by O,RING_2:6,A5
.= f.(0.K) by RING_2:6; then
A7: a1 * f.b1 + a1 * f.c1 in rng f
by B0,FUNCT_1:3;
a * b + a * c = (addemb f).(ab,ac)
by A1,A3,defemb
.= addemb(f,ab,ac) by defadd
.= f".(a1 * f.b1 + a1 * f.c1)
by A4,A2,A7,defaddf
.= f".(a1 * (f.b1 + f.c1))
by VECTSP_1:def 7
.= f".(a1 * f.(b1 + c1))
by VECTSP_1:def 20
.= f".(a1 * 0.T) by A5,O,RING_2:6
.= 0.K by Th3;
hence thesis by A6;
end;
suppose O: bc <> 0.K; then
A6: (the multF of T).(x,f.bc) in [#]T \ rng f
by A5,X,Lm4;
(the multF of T).(x,f.bc)
= a1*(f.b1 + f.c1) by A5,VECTSP_1:def 20
.= a1*f.b1 + a1*f.c1 by VECTSP_1:def 7;
then
A7: not a1*f.b1 + a1*f.c1 in rng f
by A6,XBOOLE_0:def 5;
thus a * (b + c) = (multemb f).(x,bc)
by defemb
.= multemb(f,x,bc) by defmult
.= a1*f.bc1 by O,X,defmultf
.= a1*(f.b1 + f.c1) by A5,VECTSP_1:def 20
.= a1*f.b1 + a1*f.c1 by VECTSP_1:def 7
.= addemb(f,ab,ac) by A2,A4,A7,defaddf
.= (addemb f).(ab,ac) by defadd
.= a*b + a*c by A1,A3,defemb;
end;
end;
suppose Z: not z in [#]K; then
reconsider c1 = c as Element of T by Lm1;
A3: b + c = f.b1 + c1 by AS,Y,Z,Lm6; then
reconsider bc = f.b1 + c1 as Element of carr f by defemb;
A4: not bc in [#]K by A3,AS,Lm6,Z,Y;
A7: (the multF of T).(x,bc) = a1 * (f.b1 + c1)
.= a1 * f.b1 + a1 * c1 by VECTSP_1:def 7;
per cases;
suppose Z1:(the multF of T).(x,bc) in rng f;
A5: now assume (the multF of T).(x,z) in rng f;
then
consider yy being object such that
C1: yy in dom f & f.yy = a1*c1 by FUNCT_1:def 3;
reconsider yy as Element of carr f by C1,XBOOLE_0:def 3;
(the addF of T).(ab,f.yy) in [#]T \ rng f
by C1,A2,Lm2;
hence contradiction
by Z1,A7,C1,XBOOLE_0:def 5;
end;
then A6: a * c = a1 * c1 by AS,X,Z,Lm12;
then reconsider ac = a1 * c1 as Element of carr f by defemb;
A9: not ac in [#]K by A6,AS,X,Z,A5,Lm12;
thus a * (b + c) = (multemb f).(x,bc)
by A3,defemb
.= multemb(f,x,bc) by defmult
.= f".(a1 * (f.b1 + c1)) by Z1,A4,X,defmultf
.= addemb(f,ab,ac) by defaddf,Z1,A7,A2,A9
.= (addemb f).(ab,ac) by defadd
.= a*b + a*c by A1,A6,defemb;
end;
suppose Z1: not(the multF of T).(x,bc)
in rng f;
A9: not x = 0.K & not bc=0.K by X,A3,AS,Lm6,Z,Y;
A10: a*(b + c) = (multemb f).(x,bc) by A3,defemb
.= multemb(f,x,bc) by defmult
.= a1 * (f.b1 + c1) by X,A4,Z1,A9,defmultf
.= a1 * f.b1 + a1 * c1 by VECTSP_1:def 7;
per cases;
suppose Z2: (the multF of T).(x,z) in rng f;
A7: a*c = (multemb f).(x,z) by defemb
.= multemb(f,x,z) by defmult
.= f".(a1 * c1) by X,Z2,Z,defmultf;
then
reconsider ac = f".(a1*c1) as Element of carr f by defemb;
a1 * c1 in dom(f") by Z2,FUNCT_1:33; then
f".(a1*c1) in rng(f") by FUNCT_1:def 3;
then
reconsider ac1 = ac as Element of K;
a*b + a*c = (addemb f).(ab,ac)
by A1,A7,defemb
.= addemb(f,ab,ac) by defadd
.= a1 * f.b1 + f.ac1 by defaddf,A2;
hence thesis by A10,Z2,FUNCT_1:35;
end;
suppose Z2: not(the multF of T).(x,z)
in rng f;
A9: a * c = (multemb f).(x,z) by defemb
.= multemb(f,x,z) by defmult
.= a1 * c1 by X,Z2,A,BC,Z,defmultf;
then reconsider ac = a1*c1 as Element of carr f by defemb;
A8: not ac in [#]K by AS,XBOOLE_0:def 4;
thus a*b+a*c = (addemb f).(ab,ac)
by A1,A9,defemb
.= addemb(f,ab,ac) by defadd
.= a*(b + c) by defaddf,A2,A7,A8,Z1,A10;
end;
end;
end;
end;
suppose Y: not y in [#]K; then
reconsider b1 = b as Element of T by Lm1;
per cases;
suppose Z: z in [#]K; then
reconsider c1 = c as Element of K;
B1: b + c = b1 + f.c1 by AS,Y,Z,Lm6; then
reconsider bc = b1 + f.c1 as Element of carr f by defemb;
B2: not bc in [#]K by Y,Z,AS,Lm6,B1;
B3: a * c = a1 * f.c1 by AS,X,Z,BC,Lm10; then
reconsider ac = a1 * f.c1 as Element of carr f by defemb;
B4: not ac in [#]K by B3,X,Z,BC,AS,Lm10;
per cases;
suppose Z1: not(the multF of T).(x,y)
in rng f;
B5: a * b = (multemb f).(x,y) by defemb
.= multemb(f,x,y) by defmult
.= a1 * b1 by Z1,X,Y,A,BC,defmultf;
then reconsider ab = a1 * b1 as Element of carr f by defemb;
B6: not ab in [#]K by AS,XBOOLE_0:def 4;
Z3: (the addF of T).(ab,ac)=a1*b1 + a1*f.c1
.= a1 * (b1 + f.c1) by VECTSP_1:def 7
.= (the multF of T).(x,bc);
per cases;
suppose Z2: (the multF of T).(x,bc)
in rng f;
thus a*(b + c)=(multemb f).(x,bc)
by B1,defemb
.= multemb(f,x,bc) by defmult
.= f".(a1*(b1 + f.c1))
by Z2,B2,X,defmultf
.= addemb(f,ab,ac)
by defaddf,Z2,Z3,B4,B6
.= (addemb f).(ab,ac) by defadd
.= a*b + a*c by B3,B5,defemb;
end;
suppose Z2: not(the multF of T).(x,bc)
in rng f;
B7: x <> 0.K & bc <> 0.K
by X,Y,Z,AS,Lm6,B1;
thus a*(b + c)=
(multemb f).(x,bc) by B1,defemb
.= multemb(f,x,bc) by defmult
.= a1*(b1 + f.c1)
by B7,X,B2,Z2,defmultf
.= addemb(f,ab,ac)
by defaddf,Z2,Z3,B4,B6
.= (addemb f).(ab,ac) by defadd
.= a*b + a*c by B3,B5,defemb;
end;
end;
suppose Z1: (the multF of T) .(x,y)
in rng f;
B5: a * b = (multemb f).(x,y) by defemb
.= multemb(f,x,y) by defmult
.= f".(a1 * b1) by Z1,X,Y,defmultf;
a1 * b1 in dom(f") by Z1,FUNCT_1:33;
then
f".(a1*b1) in rng(f")
by FUNCT_1:def 3; then
reconsider ab1 = f".(a1*b1) as Element of K;
reconsider ab = ab1 as Element of carr f by B5,defemb;
(the addF of T).(f.ab,ac)
in [#]T \ rng f by Lm3,B4; then
B7: not(the addF of T).(f.ab,ac) in rng f
by XBOOLE_0:def 5;
B9: now assume (the multF of T).(x,bc)
in rng f; then
consider yy being object such that
C1: yy in dom f & f.yy = a1*(b1+f.c1)
by FUNCT_1:def 3;
f.yy = a1*b1 + a1*f.c1
by C1,VECTSP_1:def 7
.= f.ab1 + a1*f.c1 by Z1,FUNCT_1:35;
hence contradiction
by B7,C1,FUNCT_1:def 3;
end;
B10: a <> 0.K & bc <> 0.K
by X,Y,Z,AS,Lm6,B1;
thus a*b + a*c = (addemb f).(ab,ac)
by B5,B3,defemb
.= addemb(f,ab,ac) by defadd
.= f.ab1 + a1 * f.c1 by defaddf,B4
.= a1*b1 + a1*f.c1 by Z1,FUNCT_1:35
.= a1*(b1 + f.c1) by VECTSP_1:def 7
.= multemb(f,x,bc)
by B10,X,B2,B9,defmultf
.= (multemb f).(x,bc) by defmult
.= a * (b + c) by B1,defemb;
end;
end;
suppose Z: not z in [#]K; then
reconsider c1 = c as Element of T by Lm1;
per cases;
suppose Z1:(the addF of T).(y,z)
in rng f;
B1: b + c = (addemb f).(y,z) by defemb
.= addemb(f,y,z) by defadd
.= f".(b1 + c1) by Y,Z,Z1,defaddf;
b1 + c1 in dom(f") by Z1,FUNCT_1:33;
then
f".(b1+c1) in rng(f") by FUNCT_1:def 3;
then
reconsider bc1 = f".(b1+c1) as Element of K;
reconsider bc = bc1 as Element of carr f by B1,defemb;
B0: dom f = [#]K by FUNCT_2:def 1;
per cases;
suppose B5: bc = 0.K; then
B2: b1 + c1 = 0.T by Z1,Th2;
B3: a*(b + c) = (multemb f).(x,bc)
by B1,defemb
.= multemb(f,x,bc) by defmult
.= 0.K by B5,defmultf;
A6: a1*b1 + a1*c1 = a1*0.T
by B2,VECTSP_1:def 7
.= f.(0.K) by RING_2:6; then
A7: a1*b1 + a1*c1 in rng f
by B0,FUNCT_1:3;
per cases;
suppose Z2:(the multF of T).(x,y)
in rng f;
B4: a*b = (multemb f).(x,y) by defemb
.= multemb(f,x,y) by defmult
.= f".(a1 * b1) by Y,X,Z2,defmultf;
a1*b1 in dom(f") by Z2,FUNCT_1:33;
then
f".(a1*b1) in rng(f")
by FUNCT_1:def 3;then
reconsider ab1 = f".(a1*b1) as Element of K;
reconsider ab = ab1 as Element of carr f by B4,defemb;
U: f.(0.K-ab1) = f.(0.K)-f.ab1
by RING_2:8
.= (a1*b1+a1*c1)-a1*b1
by A6,Z2,FUNCT_1:35
.= a1*c1 + (a1*b1 - a1*b1)
by RLVECT_1:def 3
.= a1 * c1 + 0.T by RLVECT_1:15
.= (the multF of T).(x,z); then
Z3: (the multF of T).(x,z) in rng f
by B0,FUNCT_1:def 3;
B5: a*c = (multemb f).(x,z) by defemb
.= multemb(f,x,z) by defmult
.= f".(a1 * c1) by Z,X,Z3,defmultf;
B11: a1*c1 in rng f by U,B0,FUNCT_1:def 3;
then
a1*c1 in dom(f") by FUNCT_1:33; then
f".(a1*c1) in rng(f")
by FUNCT_1:def 3;then
reconsider ac1 = f".(a1*c1) as Element of K;
reconsider ac = ac1 as Element of carr f by B5,defemb;
thus a*b + a*c = (addemb f).(ab,ac)
by B4,B5,defemb
.= addemb(f,ab,ac) by defadd
.= ab1 + ac1 by defaddf
.= f".(a1*b1 + a1*c1) by B11,Z2,Th1
.= a*(b + c) by A6,B3,B0,FUNCT_1:34;
end;
suppose Z2:not(the multF of T).(x,y)
in rng f;
B4: a*b = (multemb f).(x,y) by defemb
.= multemb(f,x,y) by defmult
.= a1*b1 by A,BC,Y,X,Z2,defmultf;
a1*b1 in [#]T \ rng f
by Z2,XBOOLE_0:def 5; then
reconsider ab=a1*b1 as Element of carr f by XBOOLE_0:def 3;
B9: not ab in [#]K by AS,XBOOLE_0:def 4;
Z3: now assume Z3:(the multF of T).(x,z)
in rng f;
B5: a*c = (multemb f).(x,z) by defemb
.= multemb(f,x,z) by defmult
.= f".(a1 * c1) by Z,X,Z3,defmultf;
a1*c1 in dom(f") by Z3,FUNCT_1:33;
then
f".(a1*c1) in rng(f")
by FUNCT_1:def 3;then
reconsider ac1 = f".(a1*c1) as Element of K;
reconsider ac = ac1 as Element of carr f by B5,defemb;
B12: (the addF of T).(ab,f.ac)
in [#]T\rng f by B9,Lm2;
(the addF of T).(ab,f.ac)=a1*b1+a1*c1
by Z3,FUNCT_1:35;
hence contradiction
by B12,A7,XBOOLE_0:def 5;
end;
B5: a * c = (multemb f).(x,z) by defemb
.= multemb(f,x,z) by defmult
.= a1 * c1 by A,BC,Z,X,Z3,defmultf;
a1*c1 in [#]T \ rng f
by Z3,XBOOLE_0:def 5; then
reconsider ac=a1*c1 as Element of carr f by XBOOLE_0:def 3;
B13: not ac in [#]K by AS,XBOOLE_0:def 4;
thus a * b + a * c = (addemb f).(ab,ac)
by B4,B5,defemb
.= addemb(f,ab,ac) by defadd
.= f".(a1*b1 + a1*c1)
by A7,B9,B13,defaddf
.= a * (b + c) by A6,B3,B0,FUNCT_1:34;
end;
end;
suppose B5: bc <> 0.K;
then B12: (the multF of T).(x,f.bc) in [#]T \ rng f
by X,Lm4;
B3: a*(b + c) = (multemb f).(x,bc) by B1,defemb
.= multemb(f,x,bc) by defmult
.= a1 * f.bc1 by B5,X,defmultf
.= a1 * (b1 + c1) by Z1,FUNCT_1:35
.= a1 * b1 + a1 * c1 by VECTSP_1:def 7;
per cases;
suppose Z2: (the multF of T).(x,y) in rng f;
B4: a * b = (multemb f).(x,y) by defemb
.= multemb(f,x,y) by defmult
.= f".(a1 * b1) by Y,X,Z2,defmultf;
a1 * b1 in dom(f") by Z2,FUNCT_1:33; then
f".(a1*b1) in rng(f") by FUNCT_1:def 3; then
reconsider ab1 = f".(a1*b1) as Element of K;
reconsider ab = ab1 as Element of carr f by B4,defemb;
B7: now assume (the multF of T).(x,z) in rng f;
then
consider xx being object such that
C1: xx in dom f & f.xx=a1*c1 by FUNCT_1:def 3;
reconsider xx as Element of K by C1;
consider yy being object such that
C2: yy in dom f & f.yy=a1*b1
by Z2,FUNCT_1:def 3;
reconsider yy as Element of K by C2;
C3: dom f = [#]K by FUNCT_2:def 1;
(the multF of T).(x,f.bc) = a1*(b1 + c1)
by Z1,FUNCT_1:35
.= f.yy + f.xx by C1,C2,VECTSP_1:def 7
.= f.(xx + yy) by VECTSP_1:def 20; then
(the multF of T).(x,f.bc) in rng f
by C3,FUNCT_1:def 3;
hence contradiction by B12,XBOOLE_0:def 5;
end;
B8: a*c = (multemb f).(x,z) by defemb
.= multemb(f,x,z) by defmult
.= a1 * c1 by Z,B7,A,BC,X,defmultf;
a1*c1 in [#]T \ rng f
by B7,XBOOLE_0:def 5; then
reconsider ac=a1*c1 as Element of carr f by XBOOLE_0:def 3;
B9: not ac in [#]K by AS,XBOOLE_0:def 4;
thus a*b + a*c = (addemb f).(ab,ac)
by B4,B8,defemb
.= addemb(f,ab,ac) by defadd
.= f.ab1 + a1 * c1 by defaddf,B9
.= a * (b + c) by B3,Z2,FUNCT_1:35;
end;
suppose Z2:not(the multF of T).(x,y) in rng f;
B4: a*b = (multemb f).(x,y) by defemb
.= multemb(f,x,y) by defmult
.= a1 * b1 by A,BC,Y,X,Z2,defmultf;
then
reconsider ab = a1 * b1 as Element of carr f by defemb;
B5: not ab in [#]K by AS,XBOOLE_0:def 4;
per cases;
suppose Z3:(the multF of T).(x,z) in rng f;
B8: a*c = (multemb f).(x,z) by defemb
.= multemb(f,x,z) by defmult
.= f".(a1 * c1) by Z,X,Z3,defmultf;
a1*c1 in dom(f") by Z3,FUNCT_1:33; then
f".(a1*c1) in rng(f") by FUNCT_1:def 3;then
reconsider ac1 = f".(a1*c1) as Element of K;
reconsider ac = ac1 as Element of carr f by B8,defemb;
thus a*b + a*c = (addemb f).(ab,ac)
by B4,B8,defemb
.= addemb(f,ab,ac) by defadd
.= a1 * b1 + f.ac1 by defaddf,B5
.= a * (b + c) by B3,Z3,FUNCT_1:35;
end;
suppose Z3:not(the multF of T).(x,z)
in rng f;
B8: a*c = (multemb f).(x,z) by defemb
.= multemb(f,x,z) by defmult
.= a1 * c1 by Z,Z3,A,BC,X,defmultf;
a1*c1 in [#]T \ rng f
by Z3,XBOOLE_0:def 5; then
reconsider ac=a1*c1 as Element of carr f by XBOOLE_0:def 3;
B9: not ac in [#]K by AS,XBOOLE_0:def 4;
(the multF of T).(x,f.bc) = a1*(b1+c1)
by Z1,FUNCT_1:35
.= a1*b1 + a1*c1 by VECTSP_1:def 7
.= (the addF of T).(ab,ac); then
B10: not(the addF of T).(ab,ac) in rng f
by B12,XBOOLE_0:def 5;
thus a*b + a*c = (addemb f).(ab,ac)
by B4,B8,defemb
.= addemb(f,ab,ac) by defadd
.= a * (b + c) by defaddf,B9,B5,B10,B3;
end;
end;
end;
end;
suppose Z1: not(the addF of T).(y,z) in rng f;
B1: b + c = (addemb f).(y,z) by defemb
.= addemb(f,y,z) by defadd
.= b1 + c1 by Y,Z,Z1,defaddf;
b1 + c1 in ([#]T) \ (rng f)
by Z1,XBOOLE_0:def 5; then
reconsider bc = b1+c1 as Element of carr f by XBOOLE_0:def 3;
B2: not bc in [#]K by AS,XBOOLE_0:def 4;
B5: not bc = 0.K by AS,XBOOLE_0:def 4;
per cases;
suppose Z2: (the multF of T).(x,bc) in rng f;
B3: a*(b + c) = (multemb f).(x,bc) by B1,defemb
.= multemb(f,x,bc) by defmult
.= f".(a1 * (b1 + c1)) by Z2,B2,X,defmultf
.= f".(a1 * b1 + a1 * c1) by VECTSP_1:def 7;
per cases;
suppose Z3: (the multF of T).(x,y) in rng f;
B4: a*b = (multemb f).(x,y) by defemb
.= multemb(f,x,y) by defmult
.= f".(a1*b1) by Y,X,Z3,defmultf;
a1 * b1 in dom(f") by Z3,FUNCT_1:33; then
f".(a1*b1) in rng(f") by FUNCT_1:def 3;then
reconsider ab1 = f".(a1*b1) as Element of K;
reconsider ab = ab1 as Element of carr f by B4,defemb;
B6: (the multF of T).(x,z) in rng f
proof
(the multF of T).(x,bc) = a1 * (b1 + c1)
.= a1 * b1 + a1 * c1 by VECTSP_1:def 7;then
consider xx being object such that
C1: xx in dom f & f.xx = a1*b1+a1*c1
by Z2,FUNCT_1:def 3;
reconsider xx as Element of K by C1;
consider yy being object such that
C2: yy in dom f & f.yy = a1*b1
by Z3,FUNCT_1:def 3;
reconsider yy as Element of K by C2;
C3: f.(xx-yy) = f.xx - f.yy by RING_2:8
.= a1*c1 + (a1*b1 + -(a1*b1))
by C1,C2,RLVECT_1:def 3
.= a1*c1 + 0.T by RLVECT_1:5;
[#]K = dom f by FUNCT_2:def 1;
hence thesis by C3,FUNCT_1:def 3;
end;
B7: a*c = (multemb f).(x,z) by defemb
.= multemb(f,x,z) by defmult
.= f".(a1 * c1) by X,Z,B6,defmultf;
a1*c1 in dom(f") by B6,FUNCT_1:33; then
f".(a1*c1) in rng(f") by FUNCT_1:def 3; then
reconsider ac1 = f".(a1*c1) as Element of K;
reconsider ac = ac1 as Element of carr f by B7,defemb;
reconsider abr = a1*b1 as Element of (rng f) by Z3;
reconsider acr = a1*c1 as Element of (rng f) by B6;
B8: f".abr + f".acr = f".(a1*b1 + a1*c1) by Th1;
thus a*b + a*c = (addemb f).(ab,ac)
by B4,B7,defemb
.= addemb(f,ab,ac) by defadd
.= a*(b+c) by defaddf,B8,B3;
end;
suppose Z3:not(the multF of T).(x,y) in rng f;
B4: a * b = (multemb f).(x,y) by defemb
.= multemb(f,x,y) by defmult
.= a1 * b1 by A,BC,Y,X,Z3,defmultf;
a1*b1 in [#]T \ rng f by Z3,XBOOLE_0:def 5;
then
reconsider ab = a1*b1 as Element of carr f by XBOOLE_0:def 3;
reconsider ab1 = ab as Element of T;
B6: not ab in [#]K by AS,XBOOLE_0:def 4;
Z4: now assume
Z4a: (the multF of T).(x,z) in rng f;
B7: a * c = (multemb f).(x,z) by defemb
.= multemb(f,x,z) by defmult
.= f".(a1 * c1) by Z4a,X,Z,defmultf;
a1 * c1 in dom(f") by Z4a,FUNCT_1:33; then
f".(a1*c1) in rng(f") by FUNCT_1:def 3;then
reconsider ac1 = f".(a1*c1) as Element of K;
reconsider ac = ac1 as Element of carr f by B7,defemb;
U: (the addF of T).(ab,f.ac) in ([#]T)\(rng f) by B6,Lm2;
f.ac1 = a1 * c1 by Z4a,FUNCT_1:35; then
ab1 + f.ac1 = a1*(b1 + c1) by VECTSP_1:def 7
.= (the multF of T).(x,bc);
hence contradiction by U,Z2,XBOOLE_0:def 5;
end;
B7: a * c = (multemb f).(x,z) by defemb
.= multemb(f,x,z) by defmult
.= a1 * c1 by Z4,A,BC,X,Z,defmultf;
a1*c1 in [#]T \ rng f by Z4,XBOOLE_0:def 5;
then
reconsider ac = a1*c1 as Element of carr f by XBOOLE_0:def 3;
reconsider ac1 = ac as Element of T;
B9: not ac in [#]K by AS,XBOOLE_0:def 4;
B10: a1*b1 + a1*c1=a1*(b1 + c1) by VECTSP_1:def 7
.= (the multF of T).(x,bc);
thus a*b + a*c = (addemb f).(ab,ac)
by B4,B7,defemb
.= addemb(f,ab,ac) by defadd
.= a * (b + c) by defaddf,B6,B9,B10,Z2,B3;
end;
end;
suppose
Z2: not (the multF of T).(x,bc) in rng f;
B3: a * (b + c) = (multemb f).(x,bc) by B1,defemb
.= multemb(f,x,bc) by defmult
.= a1 * (b1 + c1) by A,Z2,B2,B5,X,defmultf
.= a1 * b1 + a1 * c1 by VECTSP_1:def 7;
per cases;
suppose
Z3: (the multF of T).(x,y) in rng f;
B4: a * b = (multemb f).(x,y) by defemb
.= multemb(f,x,y) by defmult
.= f".(a1 * b1) by Y,X,Z3,defmultf;
a1 * b1 in dom(f") by Z3,FUNCT_1:33; then
f".(a1 * b1) in rng(f") by FUNCT_1:def 3;
then
reconsider ab1 = f".(a1*b1) as Element of K;
reconsider ab = ab1 as Element of carr f by B4,defemb;
Z4: now assume (the multF of T).(x,z) in rng f;
then
consider yy being object such that
C1: yy in dom f & f.yy=a1*c1 by FUNCT_1:def 3;
reconsider yy as Element of K by C1;
C2: (the multF of T).(x,bc) = a1 * (b1 + c1)
.= a1 * b1 + a1 * c1 by VECTSP_1:def 7;
C3: f.(ab1 + yy)=f.ab1 + f.yy by VECTSP_1:def 20
.= a1 * b1 + a1 * c1 by C1,Z3,FUNCT_1:35;
[#]K = dom f by FUNCT_2:def 1;
hence contradiction by C3,C2,Z2,FUNCT_1:def 3;
end;
B5: a * c = (multemb f).(x,z) by defemb
.= multemb(f,x,z) by defmult
.= a1 * c1 by A,BC,Z,X,Z4,defmultf;
a1 * c1 in [#]T \ rng f by Z4,XBOOLE_0:def 5;
then
reconsider ac = a1*c1 as Element of carr f by XBOOLE_0:def 3;
B9: not ac in [#]K by AS,XBOOLE_0:def 4;
thus a*b + a*c = (addemb f).(ab,ac)
by B4,B5,defemb
.= addemb(f,ab,ac) by defadd
.= f.ab1+a1*c1 by defaddf,B9
.= a*(b+c) by B3,Z3,FUNCT_1:35;
end;
suppose Z3: not(the multF of T).(x,y) in rng f;
B4: a*b = (multemb f).(x,y) by defemb
.= multemb(f,x,y) by defmult
.= a1*b1 by A,BC,Y,X,Z3,defmultf;
a1*b1 in [#]T \ rng f by Z3,XBOOLE_0:def 5;
then
reconsider ab=a1*b1 as Element of carr f by XBOOLE_0:def 3;
B9: not ab in [#]K by AS,XBOOLE_0:def 4;
per cases;
suppose Z4:(the multF of T).(x,z) in rng f;
B5: a*c = (multemb f).(x,z) by defemb
.= multemb(f,x,z) by defmult
.= f".(a1 * c1) by Z,X,Z4,defmultf;
a1*c1 in dom(f") by Z4,FUNCT_1:33; then
f".(a1 * c1) in rng(f") by FUNCT_1:def 3;
then
reconsider ac1 = f".(a1*c1) as Element of K;
reconsider ac = ac1 as Element of carr f by B5,defemb;
thus a * b + a * c = (addemb f).(ab,ac)
by B4,B5,defemb
.= addemb(f,ab,ac) by defadd
.= a1*b1+f.ac1 by defaddf,B9
.= a * (b + c) by B3,Z4,FUNCT_1:35;
end;
suppose Z4: not (the multF of T).(x,z)
in rng f;
B5: a*c = (multemb f).(x,z) by defemb
.= multemb(f,x,z) by defmult
.= a1 * c1 by A,BC,Z,X,Z4,defmultf;
a1*c1 in [#]T \ rng f by Z4,XBOOLE_0:def 5;
then
reconsider ac = a1*c1 as Element of carr f by XBOOLE_0:def 3;
B19: not ac in [#]K by AS,XBOOLE_0:def 4;
B20: (the addF of T).(ab,ac) = a1*b1+a1*c1
.= a1*(b1+c1) by VECTSP_1:def 7
.= (the multF of T).(x,bc);
thus a*b + a*c = (addemb f).(ab,ac)
by B4,B5,defemb
.= addemb(f,ab,ac) by defadd
.= a * (b + c) by Z2,B3,B9,B19,B20,defaddf;
end;
end;
end;
end;
end;
end;
end;
end;
end;
thus
(b+c)*a = a*(b+c) by GROUP_1:def 12
.= b*a + a*c by I,GROUP_1:def 12
.= b*a + c*a by GROUP_1:def 12;
end;
end;
hence thesis;
end;
theorem Th10:
for f being Monomorphism of K,F st K,F are_disjoint
holds embField f is almost_left_invertible
proof
let f be Monomorphism of K,F;
assume AS: K,F are_disjoint;
now let a be Element of embField f;
assume a <> 0.(embField f); then
X: a <> 0.K by defemb;
reconsider x = a as Element of carr f by defemb;
per cases;
suppose x in [#]K; then
reconsider a1 = a as Element of K;
a1 is left_invertible by X,ALGSTR_0:def 39; then
consider b1 being Element of K such that
B: b1 * a1 = 1.K;
reconsider y = b1 as Element of carr f by XBOOLE_0:def 3;
reconsider b = y as Element of embField f by defemb;
b*a = a*b by GROUP_1:def 12 .= a1*b1 by Lm11
.= b1*a1 by GROUP_1:def 12 .= 1.(embField f) by B,defemb;
hence a is left_invertible;
end;
suppose A: not x in [#]K; then
X: x in [#]F & not x in rng f by Lm1;
reconsider a1 = a as Element of F by A,Lm1;
Z: dom f = [#]K by FUNCT_2:def 1;
f.(0.K) = 0.F by RING_2:6; then
0.F in rng f by Z,FUNCT_1:def 3; then
a1 is left_invertible by X,ALGSTR_0:def 39; then
consider b1 being Element of F such that
B: b1 * a1 = 1.F;
U: b1 <> 0.F & a1 <> 0.F by B;
(the multF of F).(a1,b1) = a1 * b1
.= 1_F by B,GROUP_1:def 12 .= f.(1_K) by GROUP_1:def 13; then
D: (the multF of F).(a1,b1) in rng f by Z,FUNCT_1:3; then
D1: not(the multF of F).(a1,b1) in [#]F \ rng f by XBOOLE_0:def 5;
per cases;
suppose b1 in rng f; then
consider b1r being object such that
C1: b1r in dom f & f.b1r = b1 by FUNCT_1:def 3;
reconsider b1r as Element of K by C1;
[#]embField f = carr f by defemb; then
reconsider bx = b1r as Element of embField f by XBOOLE_0:def 3;
reconsider y = bx as Element of carr f by defemb;
C4: bx <> 0.K by U,C1,RING_2:6;
[#]embField f = carr f by defemb;
hence a is left_invertible by Lm4,A,D1,C1,C4;
end;
suppose not b1 in rng f; then
b1 in ([#]F) \ (rng f) by XBOOLE_0:def 5; then
b1 is Element of carr f by XBOOLE_0:def 3; then
reconsider b = b1 as Element of embField f by defemb;
E: not b in [#]K by AS,XBOOLE_0:def 4;
b*a = a*b by GROUP_1:def 12 .= f".(a1*b1) by A,D,E,Lm13
.= f".(1_F) by B,GROUP_1:def 12 .= 1.K by Th3
.= 1.(embField f) by defemb;
hence a is left_invertible;
end;
end;
end;
hence thesis;
end;
theorem
for f being Monomorphism of K,F st K,F are_disjoint holds
embField f is Field by Th6,Th8,Th9,Th7,Th10;
definition
let K be Field;
let F be K-monomorphic Field;
let f be Monomorphism of K,F;
func emb_iso f -> Function of embField f, F means :defiso:
(for a being Element of embField f st not a in K holds it.a = a) &
(for a being Element of embField f st a in K holds it.a = f.a);
existence
proof
defpred P[object,object] means
(not $1 in K & $2 = $1) or ($1 in K & $2 = f.$1);
M: for x being object st x in [#]embField f
ex y being object st y in [#]F & P[x,y]
proof
let x be object;
assume M0: x in [#]embField f; then
reconsider x1 = x as Element of embField f;
per cases;
suppose M1: x in K; then
reconsider a = x as Element of K;
take b = f.a;
thus b in [#]F;
thus thesis by M1;
end;
suppose M1: not x in K;
take x;
reconsider x1 = x as Element of carr f by M0,defemb;
x1 in [#]F & not x1 in rng f by M1,Lm1;
hence x in [#]F;
thus thesis by M1;
end;
end;
consider g being Function of [#](embField f), [#]F such that
N: for x being object st x in [#]embField f holds P[x,g.x]
from FUNCT_2:sch 1(M);
reconsider g as Function of embField f,F;
take g;
thus thesis by N;
end;
uniqueness
proof
let g1,g2 be Function of embField f, F;
assume that
A1: (for a being Element of embField f st not a in K holds g1.a = a) &
(for a being Element of embField f st a in K holds g1.a = f.a) and
A2: (for a being Element of embField f st not a in K holds g2.a = a) &
(for a being Element of embField f st a in K holds g2.a = f.a);
now let o be object;
assume o in [#]embField f; then
reconsider a = o as Element of embField f;
per cases;
suppose A3: a in K; then
g1.a = f.a by A1 .= g2.a by A3,A2;
hence g1.o = g2.o;
end;
suppose A3: not a in K; then
g1.a = a by A1 .= g2.a by A3,A2;
hence g1.o = g2.o;
end;
end;
hence g1 = g2;
end;
end;
registration
let K be Field,
F be K-monomorphic Field;
let f be Monomorphism of K,F;
cluster emb_iso f -> unity-preserving;
coherence
proof
set g = emb_iso f, R = embField f;
1.R = 1.K by defemb; then
1.R in K; then
g.(1_R) = f.(1.R) by defiso .= f.(1_K) by defemb .= 1_F by GROUP_1:def 13;
hence g is unity-preserving;
end;
end;
theorem Th11:
for f being Monomorphism of K,F st K,F are_disjoint
holds emb_iso f is additive
proof
let f be Monomorphism of K,F;
assume AS: K,F are_disjoint;
set g = emb_iso f, R = embField f;
now let a,b be Element of R;
reconsider x = a, y = b as Element of carr f by defemb;
per cases;
suppose A: x in [#]K & y in [#]K; then
reconsider a1 = a, b1 = b as Element of K;
B: a + b = (addemb f).(x,y) by defemb .= addemb(f,x,y) by defadd
.= a1 + b1 by defaddf;
a in K & b in K by A; then
C: g.a = f.a & g.b = f.b by defiso;
a + b in K by B;
hence g.(a+b) = f.(a+b) by defiso .= g.a + g.b by C,B,VECTSP_1:def 20;
end;
suppose A: x in [#]K & not y in [#]K; then
reconsider a1 = a as Element of K;
reconsider b1 = b as Element of F by A,Lm1;
reconsider fa = f.a1 as Element of F;
B: a + b = (addemb f).(x,y) by defemb .= addemb(f,x,y) by defadd
.= fa + b1 by A,defaddf;
a in K & not b in K by A; then
C: g.a = f.a & g.b = b by defiso;
not fa + b1 in K by AS,XBOOLE_0:def 4;
hence g.(a+b) = g.a + g.b by C,B,defiso;
end;
suppose A: y in [#]K & not x in [#]K; then
reconsider b1 = b as Element of K;
reconsider a1 = a as Element of F by A,Lm1;
reconsider fb = f.b1 as Element of F;
B: a + b = (addemb f).(x,y) by defemb .= addemb(f,x,y) by defadd
.= a1 + fb by A,defaddf;
not a in K & b in K by A; then
C: g.a = a & g.b = f.b by defiso;
not a1 + fb in K by AS,XBOOLE_0:def 4;
hence g.(a+b) = g.a + g.b by C,B,defiso;
end;
suppose A: not x in [#]K & not y in [#]K &
(the addF of F).(x,y) in rng f; then
reconsider a1 = a, b1 = b as Element of F by Lm1;
C: a + b = (addemb f).(x,y) by defemb .= addemb(f,x,y) by defadd
.= (f").(a1 + b1) by A,defaddf;
not a in K & not b in K by A; then
D: g.a = a & g.b = b by defiso;
a1 + b1 in dom(f") by A,FUNCT_1:33; then
(f").(a1 + b1) in rng(f") by FUNCT_1:3; then
(f").(a1 + b1) in K;
hence g.(a+b) = f.((f").(a1 + b1)) by C,defiso
.= g.a + g.b by D,A,FUNCT_1:35;
end;
suppose A: not x in [#]K & not y in [#]K &
not (the addF of F).(x,y) in rng f; then
reconsider a1 = a, b1 = b as Element of F by Lm1;
C: a + b = (addemb f).(x,y) by defemb .= addemb(f,x,y) by defadd
.= a1 + b1 by A,defaddf;
not a in K & not b in K by A; then
D: g.a = a & g.b = b by defiso;
not a1 + b1 in K by AS,XBOOLE_0:def 4;
hence g.(a+b) = g.a + g.b by D,C,defiso;
end;
end;
hence g is additive;
end;
theorem Th12:
for f being Monomorphism of K,F st K,F are_disjoint
holds emb_iso f is multiplicative
proof
let f be Monomorphism of K,F;
assume
AS: K,F are_disjoint;
set g = emb_iso f, R = embField f;
now let a,b be Element of R;
reconsider x = a, y = b as Element of carr f by defemb;
per cases;
suppose
A1: x in [#]K & y in [#]K; then
reconsider a1 = a, b1 = b as Element of K;
B: a * b = a1 * b1 by Lm11;
a in K & b in K by A1; then
C: g.a = f.a & g.b = f.b by defiso;
a * b in K by B;
hence g.(a*b) = f.(a*b) by defiso .= g.a * g.b by C,B,GROUP_6:def 6;
end;
suppose
A2: x = 0.K or y = 0.K;
B: a*b = (multemb f).(x,y) by defemb .= multemb(f,x,y) by defmult
.= 0.K by A2,defmultf;
X: 0.K in K;
per cases by A2;
suppose x = 0.K; then
C: g.a = f.(0.K) by X,defiso .= 0.F by RING_2:6;
thus g.(a*b) = f.(0.K) by B,X,defiso .= g.a * g.b by C,RING_2:6;
end;
suppose y = 0.K; then
C: g.b = f.(0.K) by X,defiso .= 0.F by RING_2:6;
thus g.(a*b) = f.(0.K) by B,X,defiso .= g.a * g.b by C,RING_2:6;
end;
end;
suppose A: x in [#]K & x<>0.K ¬ y in [#]K; then
reconsider a1 = a as Element of K;
reconsider b1 = b as Element of F by A,Lm1;
reconsider fa = f.a1 as Element of F;
B: a * b = fa * b1 by AS,A,Lm10;
a in K & not b in K by A; then
C: g.a = f.a & g.b = b by defiso;
not a * b in K by AS,A,Lm10;
hence g.(a*b) = g.a * g.b by B,C,defiso;
end;
suppose A: y in [#]K & y<>0.K ¬ x in [#]K; then
reconsider b1 = b as Element of K;
reconsider a1 = a as Element of F by A,Lm1;
reconsider fb = f.b1 as Element of F;
B: a * b = a1 * fb by AS,A,Lm10;
b in K & not a in K by A; then
C: g.a = a & g.b = f.b by defiso;
not a * b in K by AS,A,Lm10;
hence g.(a*b) = g.a * g.b by B,C,defiso;
end;
suppose A: not x in [#]K & not y in [#]K & (the multF of F).(x,y) in rng f;
then
reconsider a1 = a, b1 = b as Element of F by Lm1;
C: a * b = (f").(a1 * b1) by A,Lm13;
not a in K & not b in K by A; then
D: g.a = a & g.b = b by defiso;
a1 * b1 in dom(f") by A,FUNCT_1:33; then
(f").(a1 * b1) in rng(f") by FUNCT_1:3; then
(f").(a1 * b1) in K;
hence g.(a*b)=f.((f").(a1*b1)) by C,defiso .= g.a*g.b by D,A,FUNCT_1:35;
end;
suppose A: not x in [#]K & not y in [#]K &
not((the multF of F).(x,y) in rng f); then
reconsider a1 = a, b1 = b as Element of F by Lm1;
C: a * b = a1 * b1 by AS,A,Lm12;
not a in K & not b in K by A; then
D: g.a = a & g.b = b by defiso;
not a1 * b1 in K by AS,XBOOLE_0:def 4;
hence g.(a*b) = g.a * g.b by D,C,defiso;
end;
end;
hence thesis;
end;
registration
let K be Field,
F be K-monomorphic Field;
let f be Monomorphism of K,F;
cluster emb_iso f -> one-to-one;
coherence
proof
set g = emb_iso f;
E: [#]embField f = carr f by defemb;
D: dom f = [#]K by FUNCT_2:def 1;
H: f is one-to-one;
now let x1,x2 be object;
assume A: x1 in dom g & x2 in dom g & g.x1 = g.x2; then
reconsider c = x2 as Element of embField f;
per cases;
suppose x1 in [#]K;
then reconsider a = x1 as Element of K;
a in K; then
B: f.a = g.a by A,defiso; then
C: g.a in rng f by D,FUNCT_1:def 3;
now assume C1: not x2 in K;
g.c = x2 by C1,defiso; then
not x2 in ([#]F)\(rng f) by C,A,XBOOLE_0:def 5;
hence contradiction by C1,A,E,XBOOLE_0:def 3;
end; then
reconsider b = x2 as Element of K;
b in K; then
f.b = f.a by A,B,defiso;
hence x1 = x2 by H,D;
end;
suppose Z: not x1 in [#]K;
reconsider a = x1 as Element of embField f by A;
not a in K by Z; then
B: g.a = a by defiso;
C: now assume C1: x2 in K; then
C2: x2 in dom f by FUNCT_2:def 1;
reconsider c = x2 as Element of embField f by A;
a = f.x2 by A,B,C1,defiso; then
a in rng f by C2,FUNCT_1:def 3; then
not a in ([#]F)\(rng f) by XBOOLE_0:def 5;
hence contradiction by Z,E,XBOOLE_0:def 3;
end;
hence x1 = x2 by A,B,defiso;
end;
end;
hence thesis;
end;
end;
theorem Th13:
for f being Monomorphism of K,F st K,F are_disjoint holds
emb_iso f is onto
proof
let f be Monomorphism of K,F;
assume
AS: K,F are_disjoint;
set g = emb_iso f;
E: [#]embField f = carr f by defemb;
F: dom g = [#]embField f by FUNCT_2:def 1;
A: now let o be object;
assume o in [#]F; then
reconsider u = o as Element of F;
per cases;
suppose u in rng f; then
consider y being object such that
B: y in dom f & f.y = u by FUNCT_1:def 3;
reconsider y as Element of K by B;
reconsider yy = y as Element of embField f by E,XBOOLE_0:def 3;
y in K; then g.yy = u by B,defiso;
hence o in rng g by F,FUNCT_1:3;
end;
suppose not u in rng f; then
u in ([#]F)\(rng f) by XBOOLE_0:def 5; then
reconsider uu = u as Element of embField f by E,XBOOLE_0:def 3;
not u in K by AS,XBOOLE_0:def 4; then
g.uu = u by defiso;
hence o in rng g by F,FUNCT_1:3;
end;
end;
for o being object st o in rng g holds o in [#]F;
hence g is onto by A,TARSKI:2;
end;
theorem Th14:
for f being Monomorphism of K,F st K,F are_disjoint
holds F, embField f are_isomorphic
proof
let f be Monomorphism of K,F;
assume AS: K,F are_disjoint;
set g = emb_iso f;
g is unity-preserving additive multiplicative by AS,Th11,Th12;
then g is isomorphism by AS,Th13,MOD_4:def 12;
hence thesis by QUOFIELD:def 23;
end;
theorem Th15:
for f being Monomorphism of K,F, E being Field st E = embField f holds
K is Subfield of E
proof
let f be Monomorphism of K,F, E be Field;
A2: [#]embField f = carr f by defemb;
assume
A1: E = embField f; then
[#]E = carr f by defemb; then
A3: [#]K c= [#]E by XBOOLE_0:def 3;
A4: dom the addF of E = [:[#]E,[#]E:] by FUNCT_2:def 1;
set g1 = (the addF of K), g2 = (the addF of E)|[:[#]K,[#]K:];
A5: dom g2 = dom(the addF of E) /\ [:[#]K,[#]K:] by RELAT_1:61
.= [:[#]K,[#]K:] by A3,ZFMISC_1:96,XBOOLE_1:28,A4
.= dom g1 by FUNCT_2:def 1;
now let x be set;
assume x in dom the addF of K; then
consider x1,x2 being object such that
A6: x1 in [#]K & x2 in [#]K & x = [x1,x2] by ZFMISC_1:def 2;
reconsider a = x1, b = x2 as Element of K by A6;
A7: [a,b] in [:[#]K,[#]K:] by ZFMISC_1:def 2;
reconsider a1=x1,b1=x2 as Element of embField f by A6,A2,XBOOLE_0:def 3;
((the addF of E)||[#]K).(a,b)=a1+b1 by A1,A7,FUNCT_1:49 .= a+b by Lm7;
hence (the addF of K).x = g2.x by A6;
end; then
A8: the addF of K = (the addF of E) || [#]K by A5;
set g1 = (the multF of K), g2 = (the multF of E)|[:[#]K,[#]K:];
A9: dom(the multF of E) = [:[#]E,[#]E:] by FUNCT_2:def 1;
A10: dom g2 = dom(the multF of E) /\ [:[#]K,[#]K:] by RELAT_1:61
.= [:[#]K,[#]K:] by A3,ZFMISC_1:96,XBOOLE_1:28,A9
.= dom g1 by FUNCT_2:def 1;
now let x be set;
assume x in dom (the multF of K); then
consider x1,x2 being object such that
A11: x1 in [#]K & x2 in [#]K & x = [x1,x2] by ZFMISC_1:def 2;
reconsider a = x1, b = x2 as Element of K by A11;
A12: [a,b] in [:[#]K,[#]K:] by ZFMISC_1:def 2;
reconsider a1=x1,b1=x2 as Element of embField f by A11,A2,XBOOLE_0:def 3;
((the multF of E)||[#]K).(a,b)=a1*b1 by A1,A12,FUNCT_1:49.=a*b by Lm11;
hence (the multF of K).x = g2.x by A11;
end; then
A13: the multF of K = (the multF of E) || [#]K by A10;
1.E = 1.K & 0.E = 0.K by defemb,A1;
hence thesis by A3,A8,A13,EC_PF_1:def 1;
end;
theorem Th16:
K,F are_disjoint implies
ex E being Field st E,F are_isomorphic & K is Subfield of E
proof
assume AS: K,F are_disjoint;
set f = the Monomorphism of K,F;
reconsider E = embField f as Field by AS,Th6,Th8,Th9,Th7,Th10;
take E;
thus thesis by AS,Th14,Th15;
end;
theorem
for K,F being Field st K,F are_disjoint
holds F is K-monomorphic iff
ex E being Field st E,F are_isomorphic & K is Subfield of E
proof
let K,F be Field;
assume AS: K,F are_disjoint;
now assume ex E being Field st E,F are_isomorphic & K is Subfield of E;
then consider E being Field such that
A: E,F are_isomorphic & K is Subfield of E;
K is Subring of E by A,RING_3:43; then
consider m being Function of K,E such that
B: m is RingHomomorphism monomorphism by RING_3:def 3,RING_3:71;
consider i being Function of E,F such that
C: i is RingIsomorphism by A,QUOFIELD:def 23;
set f = i * m;
f is linear by B,C,RINGCAT1:1;
hence F is K-monomorphic by B,C,RING_3:def 3;
end;
hence thesis by AS,Th16;
end;