:: Ring and Field Adjunctions, Algebraic Elements and Minimal Polynomials
:: by Christoph Schwarzweller
::
:: Received October 25, 2020
:: Copyright (c) 2020-2021 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, TARSKI, ALGSEQ_1, VECTSP_2,
STRUCT_0, SUBSET_1, SUPINF_2, BINOP_1, NAT_1, MESFUNC1, REALSET1, C0SP1,
FUNCT_4, FUNCT_2, POLYNOM1, POLYNOM2, POLYNOM3, FUNCSDOM, RLVECT_5,
PARTFUN1, EC_PF_1, HURWITZ, RLVECT_1, RLVECT_2, FINSEQ_1, CARD_FIL,
FUNCT_1, RELAT_1, LATTICES, CARD_1, IDEAL_1, GCD_1, GROUP_6, XBOOLE_0,
FINSET_1, NUMBERS, MSSUBFAM, POLYNOM5, GROUP_1, ZFMISC_1, FUNCT_7,
POLYNOM4, AFINSQ_1, GROUP_4, INT_1, VECTSP10, CAT_1, FDIFF_1, YELLOW_8,
RATFUNC1, RING_2, RING_3, ALGNUM_1, ARYTM_1, RLVECT_3, FIELD_4, NEWTON,
WELLORD1, XXREAL_0, CARD_3, FUNCOP_1, XCMPLX_0, FOMODEL1, FIELD_1,
RLSUB_1, FIELD_6;
notations TARSKI, XBOOLE_0, SUBSET_1, BINOP_1, RELAT_1, ORDINAL1, REALSET1,
PARTFUN1, FUNCT_1, RELSET_1, FUNCT_2, FINSEQ_1, ZFMISC_1, NUMBERS,
FINSET_1, CARD_1, XCMPLX_0, XXREAL_0, NAT_1, NAT_D, FUNCT_4, FUNCT_7,
IDEAL_1, STRUCT_0, GCD_1, VFUNCT_1, POLYNOM1, POLYNOM3, POLYNOM4,
POLYNOM5, GROUP_1, GROUP_6, VECTSP10, VECTSP_4, VECTSP_6, VECTSP_7,
BINOM, ALGSTR_0, RLVECT_1, VECTSP_2, VECTSP_9, MATRLIN, HURWITZ,
VECTSP_1, ALGSEQ_1, C0SP1, EC_PF_1, RATFUNC1, RING_1, RING_2, RING_3,
RING_4, ALGNUM_1, FIELD_1, FIELD_4, FIELD_5;
constructors FUNCT_4, POLYNOM4, FUNCT_7, NAT_D, VFUNCT_1, RATFUNC1, GCD_1,
REALSET1, BINOM, RINGCAT1, ALGSEQ_1, VECTSP_9, POLYDIFF, ALGNUM_1,
VECTSP_6, FIELD_4, FIELD_5;
registrations XBOOLE_0, ORDINAL1, RELSET_1, FUNCOP_1, XCMPLX_0, XXREAL_0,
XREAL_0, NAT_1, INT_1, MEMBERED, STRUCT_0, VECTSP_1, ALGSTR_1, EC_PF_1,
POLYNOM4, FUNCT_2, ALGSTR_0, POLYNOM3, SUBSET_1, MOD_4, RLVECT_1,
FINSET_1, FUNCT_1, VFUNCT_1, CARD_1, C0SP1, RATFUNC1, RELAT_1, RINGCAT1,
RING_1, RING_2, RING_3, RING_4, RING_5, POLYDIFF, REALSET1, POLYNOM5,
FIELD_4, FIELD_5;
requirements NUMERALS, SUBSET, BOOLE, REAL, ARITHM;
begin :: Preliminaries
theorem :: FIELD_6:1
for R being Ring holds R is degenerated iff the carrier of R = {0.R};
registration
let F be Field;
cluster {0.F}-Ideal -> maximal;
end;
registration
let R be non degenerated non almost_left_invertible comRing;
cluster {0.R}-Ideal -> non maximal;
end;
definition
let R be Ring;
attr R is field-containing means
:: FIELD_6:def 1
ex F being Field st F is Subring of R;
end;
registration
cluster field-containing for Ring;
end;
definition
let R be field-containing Ring;
mode Subfield of R -> Field means
:: FIELD_6:def 2
it is Subring of R;
end;
theorem :: FIELD_6:2
for R being non degenerated Ring
for p being non zero Polynomial of R holds p.(deg p) = LC p;
registration
let R be non degenerated Ring;
let p be non zero Polynomial of R;
cluster LM p -> non zero;
end;
theorem :: FIELD_6:3
for R being Ring, p being Polynomial of R holds deg(LM p) = deg p;
theorem :: FIELD_6:4
for R being Ring, p being Polynomial of R holds LC (LM p) = LC p;
theorem :: FIELD_6:5
for R being non degenerated Ring
for p being non zero Polynomial of R holds deg(p - LM p) < deg p;
theorem :: FIELD_6:6
for R being Ring
for p being Polynomial of R
for i being Nat holds (<%0.R,1.R%> *' p).(i+1) = p.i;
theorem :: FIELD_6:7
for R being Ring
for p being Polynomial of R holds (<%0.R,1.R%> *' p).0 = 0.R;
theorem :: FIELD_6:8
for R being domRing
for p being non zero Polynomial of R holds deg(<%0.R,1.R%> *' p) = deg(p) + 1;
theorem :: FIELD_6:9
for R being comRing,
p being Polynomial of R
for a being Element of R holds eval(<%0.R,1.R%> *' p,a) = a * eval(p,a);
theorem :: FIELD_6:10
for R being Ring,
S being RingExtension of R
for p being Element of the carrier of Polynom-Ring R,
a being Element of R,
b being Element of S st b = a holds Ext_eval(p,b) = eval(p,a);
theorem :: FIELD_6:11
for F being Field,
p being Element of the carrier of Polynom-Ring F
for E being FieldExtension of F,
K being E-extending FieldExtension of F
for a being Element of E, b being Element of K st a = b
holds Ext_eval(p,a) = Ext_eval(p,b);
registration
let L be non empty ZeroStr,
a,b be Element of L;
let f be (the carrier of L)-valued Function;
let x,y be object;
cluster f +* (x,y) --> (a,b) -> (the carrier of L)-valued;
end;
registration
let L be non empty ZeroStr,
a,b be Element of L;
let f be finite-Support sequence of L;
let x,y be object;
cluster f +* (x,y) --> (a,b) -> finite-Support for sequence of L;
end;
begin :: On Subrings and Subfields
theorem :: FIELD_6:12
for R1,R2 being strict Ring
st R1 is Subring of R2 & R2 is Subring of R1 holds R1 = R2;
theorem :: FIELD_6:13
for S being Ring,
R1,R2 being Subring of S
holds R1 is Subring of R2 iff the carrier of R1 c= the carrier of R2;
theorem :: FIELD_6:14
for S being Ring,
R1,R2 being strict Subring of S
holds R1 = R2 iff the carrier of R1 = the carrier of R2;
theorem :: FIELD_6:15
for S being Ring,
R being Subring of S
for x,y being Element of S,
x1,y1 being Element of R st x = x1 & y = y1 holds x + y = x1 + y1;
theorem :: FIELD_6:16
for S being Ring,
R being Subring of S
for x,y being Element of S,
x1,y1 being Element of R st x = x1 & y = y1 holds x * y = x1 * y1;
theorem :: FIELD_6:17
for S being Ring,
R being Subring of S
for x being Element of S, x1 being Element of R st x = x1 holds -x = -x1;
theorem :: FIELD_6:18
for E being Field,
F being Subfield of E
for x being non zero Element of E,
x1 being Element of F st x = x1 holds x" = x1";
theorem :: FIELD_6:19
for S being Ring,
R being Subring of S
for x being Element of S, x1 being Element of R
for n being Element of NAT st x = x1 holds x|^n = x1|^n;
theorem :: FIELD_6:20
for S being Ring,
R being Subring of S
for x1,x2 being Element of S, y1,y2 being Element of R
st x1 = y1 & x2 = y2 holds <%x1,x2%> = <%y1,y2%>;
theorem :: FIELD_6:21
for R being comRing,
S being comRingExtension of R
for x1,x2 being Element of S, y1,y2 being Element of R
for n being Element of NAT
st x1 = y1 & x2 = y2 holds <%x1,x2%>`^n = <%y1,y2%>`^n;
theorem :: FIELD_6:22
for R being domRing,
S being domRingExtension of R
for n being non zero Element of NAT
for a being Element of S holds Ext_eval(<%0.R,1.R%>`^n,a) = a|^n;
theorem :: FIELD_6:23
for R being Ring,
S being RingExtension of R
for a being Element of R, b being Element of S st a = b holds a|R = b|S;
theorem :: FIELD_6:24
for F being Field,
E being FieldExtension of F
for p being Element of the carrier of Polynom-Ring F
for q being Element of the carrier of Polynom-Ring E st p = q
holds NormPolynomial p = NormPolynomial q;
theorem :: FIELD_6:25
for F being Field,
E being FieldExtension of F
for p being Element of the carrier of Polynom-Ring F
for a being Element of E
holds Ext_eval(p,a) = 0.E iff Ext_eval(NormPolynomial p,a) = 0.E;
theorem :: FIELD_6:26
for R being Ring,
S being RingExtension of R
for a being Element of S,
p being Polynomial of R holds Ext_eval(-p,a) = - Ext_eval(p,a);
theorem :: FIELD_6:27
for R being Ring,
S being RingExtension of R
for a being Element of S,
p,q being Polynomial of R
holds Ext_eval(p-q,a) = Ext_eval(p,a) - Ext_eval(q,a);
theorem :: FIELD_6:28
for R being Ring,
S being RingExtension of R
for a being Element of S,
p being constant Polynomial of R holds Ext_eval(p,a) = LC p;
theorem :: FIELD_6:29
for R being non degenerated Ring,
S being RingExtension of R
for a,b being Element of S,
p being non zero Polynomial of R st b = LC p holds
Ext_eval(Leading-Monomial p,a) = b * a|^(deg p);
begin :: Ring and Field Adjunctions
definition
let R be Ring,
S be RingExtension of R;
let T be Subset of S;
func carrierRA(T) -> non empty Subset of S equals
:: FIELD_6:def 3
{x where x is Element of S :
for U being Subring of S
st R is Subring of U & T is Subset of U holds x in U};
end;
definition
let R be Ring,
S be RingExtension of R;
let T be Subset of S;
func RingAdjunction(R,T) -> strict doubleLoopStr means
:: FIELD_6:def 4
the carrier of it = carrierRA(T) &
the addF of it = (the addF of S)||carrierRA(T) &
the multF of it = (the multF of S)||carrierRA(T) &
the OneF of it = 1.S &
the ZeroF of it = 0.S;
end;
notation
let R be Ring,
S be RingExtension of R;
let T be Subset of S;
synonym RAdj(R,T) for RingAdjunction(R,T);
end;
registration
let R be Ring,
S be RingExtension of R;
let T be Subset of S;
cluster RAdj(R,T) -> non empty;
end;
registration
let R be non degenerated Ring,
S be RingExtension of R;
let T be Subset of S;
cluster RAdj(R,T) -> non degenerated;
end;
registration
let R be Ring,
S be RingExtension of R;
let T be Subset of S;
cluster RAdj(R,T) -> Abelian add-associative right_zeroed right_complementable;
end;
registration
let R be comRing,
S be comRingExtension of R;
let T be Subset of S;
cluster RAdj(R,T) -> commutative;
end;
registration
let R be Ring,
S be RingExtension of R;
let T be Subset of S;
cluster RAdj(R,T) -> associative well-unital distributive;
end;
theorem :: FIELD_6:30
for R being Ring,
S being RingExtension of R
for T being Subset of S holds T is Subset of RAdj(R,T);
theorem :: FIELD_6:31
for R being Ring,
S being RingExtension of R
for T being Subset of S holds R is Subring of RAdj(R,T);
theorem :: FIELD_6:32
for R being Ring,
S being RingExtension of R,
T being Subset of S
for U being Subring of S st R is Subring of U & T is Subset of U
holds RAdj(R,T) is Subring of U;
theorem :: FIELD_6:33
for R being strict Ring,
S being RingExtension of R,
T being Subset of S holds RAdj(R,T) = R iff T is Subset of R;
definition
let R be Ring,
S be RingExtension of R;
let T be Subset of S;
redefine func RAdj(R,T) -> strict Subring of S;
end;
registration
let R be Ring,
S be RingExtension of R;
let T be Subset of S;
cluster RAdj(R,T) -> R-extending;
end;
registration
let F be Field,
R be RingExtension of F;
let T be Subset of R;
cluster RAdj(F,T) -> field-containing;
end;
theorem :: FIELD_6:34
for F being Field,
R being RingExtension of F
for T being Subset of R holds F is Subfield of RAdj(F,T);
definition
let F be Field,
E be FieldExtension of F;
let T be Subset of E;
func carrierFA(T) -> non empty Subset of E equals
:: FIELD_6:def 5
{x where x is Element of E :
for U being Subfield of E
st F is Subfield of U & T is Subset of U holds x in U};
end;
definition
let F be Field,
E be FieldExtension of F;
let T be Subset of E;
func FieldAdjunction(F,T) -> strict doubleLoopStr means
:: FIELD_6:def 6
the carrier of it = carrierFA(T) &
the addF of it = (the addF of E)||carrierFA(T) &
the multF of it = (the multF of E)||carrierFA(T) &
the OneF of it = 1.E &
the ZeroF of it = 0.E;
end;
notation
let F be Field,
E be FieldExtension of F;
let T be Subset of E;
synonym FAdj(F,T) for FieldAdjunction(F,T);
end;
registration
let F be Field,
E be FieldExtension of F;
let T be Subset of E;
cluster FAdj(F,T) -> non degenerated;
end;
registration
let F be Field,
E be FieldExtension of F;
let T be Subset of E;
cluster FAdj(F,T) -> Abelian add-associative right_zeroed right_complementable;
end;
registration
let F be Field,
E be FieldExtension of F;
let T be Subset of E;
cluster FieldAdjunction(F,T) -> commutative associative well-unital
distributive almost_left_invertible;
end;
theorem :: FIELD_6:35
for F being Field,
E being FieldExtension of F
for T being Subset of E holds T is Subset of FAdj(F,T);
theorem :: FIELD_6:36
for F being Field,
E being FieldExtension of F
for T being Subset of E holds F is Subfield of FAdj(F,T);
theorem :: FIELD_6:37
for F being Field,
E being FieldExtension of F,
T being Subset of E
for U being Subfield of E st F is Subfield of U & T is Subset of U
holds FAdj(F,T) is Subfield of U;
theorem :: FIELD_6:38
for F being strict Field,
E being FieldExtension of F,
T being Subset of E holds FAdj(F,T) = F iff T is Subset of F;
definition
let F be Field,
E be FieldExtension of F;
let T be Subset of E;
redefine func FAdj(F,T) -> strict Subfield of E;
end;
registration
let F be Field,
E be FieldExtension of F;
let T be Subset of E;
cluster FAdj(F,T) -> F-extending;
end;
theorem :: FIELD_6:39
for F being Field,
E being FieldExtension of F,
T being Subset of E holds RAdj(F,T) is Subring of FAdj(F,T);
theorem :: FIELD_6:40
for F being Field,
E being FieldExtension of F,
T being Subset of E holds RAdj(F,T) = FAdj(F,T) iff RAdj(F,T) is Field;
begin :: Algebraic Elements
registration
let R be non degenerated comRing,
S be comRingExtension of R;
let a be Element of S;
cluster hom_Ext_eval(a,R) -> additive multiplicative unity-preserving;
end;
registration
let R be non degenerated comRing;
cluster -> (Polynom-Ring R)-homomorphic for comRingExtension of R;
end;
registration
let F be Field;
cluster (Polynom-Ring F)-homomorphic for FieldExtension of F;
end;
definition
let F be Field,
E be FieldExtension of F;
let a be Element of E;
attr a is F-algebraic means
:: FIELD_6:def 7
ker(hom_Ext_eval(a,F)) <> {0.(Polynom-Ring F)};
end;
notation
let F be Field,
E be FieldExtension of F;
let a be Element of E;
antonym a is F-transcendental for a is F-algebraic;
end;
theorem :: FIELD_6:41
for R being Ring,
S being RingExtension of R
for a being Element of S holds Ann_Poly(a,R) = ker(hom_Ext_eval(a,R));
theorem :: FIELD_6:42
for F being Field,
E being FieldExtension of F
for a being Element of E holds a is F-algebraic iff a is_integral_over F;
theorem :: FIELD_6:43
for F being Field,
E being FieldExtension of F
for a being Element of E
holds a is F-algebraic iff
ex p being non zero Polynomial of F st Ext_eval(p,a) = 0.E;
registration
let F be Field,
E be FieldExtension of F;
cluster F-algebraic for Element of E;
end;
theorem :: FIELD_6:44
for F being Field,
E being (Polynom-Ring F)-homomorphic FieldExtension of F
for a being Element of E holds RAdj(F,{a}) = Image hom_Ext_eval(a,F);
theorem :: FIELD_6:45
for F being Field,
E being (Polynom-Ring F)-homomorphic FieldExtension of F
for a being Element of E
holds the carrier of RAdj(F,{a})
= the set of all Ext_eval(p,a) where p is Polynomial of F;
begin
theorem :: FIELD_6:46
for F being Field
for V being VectSp of F, W being Subspace of V
for l1 being Linear_Combination of W
ex l2 being Linear_Combination of V
st Carrier l2 = Carrier l1 &
for v being Element of V st v in Carrier l2 holds l2.v = l1.v;
theorem :: FIELD_6:47
for F being Field,
E being FieldExtension of F
for a being Element of E
for n being Element of NAT
for l being Linear_Combination of VecSp(E,F)
ex p being Polynomial of F
st deg p <= n &
for i being Element of NAT st i <= n holds p.i = l.(a|^i);
theorem :: FIELD_6:48
for F being Field,
E being FieldExtension of F
for a being Element of E
for n being Element of NAT
for l being Linear_Combination of VecSp(E,F),
p being non zero Polynomial of F
st l.(a|^(deg p)) = LC p & Carrier l = {a|^(deg p)}
holds Sum l = Ext_eval(LM p,a);
theorem :: FIELD_6:49
for F being Field,
E being FieldExtension of F
for a being Element of E
for n being Element of NAT
for M being Subset of VecSp(E,F)
st M = {a|^i where i is Element of NAT : i <= n} &
for i,j being Element of NAT st i < j & j <= n holds a|^i <> a|^j
for l being Linear_Combination of M
for p being Polynomial of F
st deg p <= n &
for i being Element of NAT st i <= n holds p.i = l.(a|^i)
holds Ext_eval(p,a) = Sum l;
begin :: Minimal Polynomials
notation
let F be Field,
E be FieldExtension of F;
let a be F-algebraic Element of E;
synonym MinPoly(a,F) for minimal_polynom(a,F);
end;
registration
let F be Field,
E be FieldExtension of F;
let a be F-algebraic Element of E;
cluster MinPoly(a,F) -> monic irreducible;
end;
theorem :: FIELD_6:50
for F being Field,
E being FieldExtension of F
for a being F-algebraic Element of E,
p being Element of the carrier of Polynom-Ring F
holds p = MinPoly(a,F) iff
(p is monic & p is irreducible & ker(hom_Ext_eval(a,F)) = {p}-Ideal);
theorem :: FIELD_6:51
for F being Field,
E being FieldExtension of F
for a being F-algebraic Element of E,
p being Element of the carrier of Polynom-Ring F
holds p = MinPoly(a,F) iff
(p is monic & Ext_eval(p,a) = 0.E &
for q being non zero Polynomial of F
st Ext_eval(q,a) = 0.E holds deg p <= deg q);
theorem :: FIELD_6:52
for F being Field,
E being FieldExtension of F
for a being F-algebraic Element of E,
p being Element of the carrier of Polynom-Ring F
holds p = MinPoly(a,F) iff
(p is monic & p is irreducible & Ext_eval(p,a) = 0.E);
theorem :: FIELD_6:53
for F being Field,
E being FieldExtension of F
for a being F-algebraic Element of E,
p being Element of the carrier of Polynom-Ring F
holds Ext_eval(p,a) = 0.E iff MinPoly(a,F) divides p;
theorem :: FIELD_6:54
for F being Field,
E being FieldExtension of F
for a being F-algebraic Element of E
holds MinPoly(a,F) = rpoly(1,a) iff a in the carrier of F;
theorem :: FIELD_6:55
for F being Field,
E being FieldExtension of F
for a being F-algebraic Element of E
for i,j being Element of NAT st i < j & j < deg MinPoly(a,F) holds a|^i <> a|^j
;
theorem :: FIELD_6:56
for F being Field,
E being (Polynom-Ring F)-homomorphic FieldExtension of F,
a being Element of E holds a is F-algebraic iff FAdj(F,{a}) = RAdj(F,{a});
theorem :: FIELD_6:57
for F being Field,
E being (Polynom-Ring F)-homomorphic FieldExtension of F
for a being non zero Element of E holds a is F-algebraic iff a" in RAdj(F,{a});
theorem :: FIELD_6:58
for F being Field,
E being FieldExtension of F
for a being Element of E
holds a is F-transcendental iff RAdj(F,{a}),Polynom-Ring F are_isomorphic;
theorem :: FIELD_6:59
for F being Field,
E being (Polynom-Ring F)-homomorphic FieldExtension of F
for a being F-algebraic Element of E
holds (Polynom-Ring F)/({MinPoly(a,F)}-Ideal), FAdj(F,{a}) are_isomorphic;
begin :: The Basis of Vector Space F(a)
definition
let F be Field,
E be FieldExtension of F;
let a be F-algebraic Element of E;
func Base a -> non empty Subset of VecSp(FAdj(F,{a}),F) equals
:: FIELD_6:def 8
{ a|^n where n is Element of NAT : n < deg MinPoly(a,F) };
end;
registration
let F be Field,
E be FieldExtension of F;
let a be F-algebraic Element of E;
cluster Base a -> finite;
end;
theorem :: FIELD_6:60
for F being Field,
E being FieldExtension of F
for a being F-algebraic Element of E
for p being Polynomial of F holds Ext_eval(p,a) in Lin(Base a);
theorem :: FIELD_6:61
for F being Field,
E being FieldExtension of F
for a being F-algebraic Element of E
for l being Linear_Combination of Base a
ex p being Polynomial of F
st deg p < deg MinPoly(a,F) &
for i being Element of NAT st i < deg MinPoly(a,F) holds p.i = l.(a|^i);
theorem :: FIELD_6:62
for F being Field,
E being FieldExtension of F
for a being F-algebraic Element of E
for l being Linear_Combination of Base a,
p being non zero Polynomial of F
st l.(a|^(deg p)) = LC p & Carrier l = {a|^(deg p)}
holds Sum l = Ext_eval(LM p,a);
theorem :: FIELD_6:63
for F being Field,
E being FieldExtension of F
for a being F-algebraic Element of E
for l being Linear_Combination of Base a
for p being Polynomial of F
st deg p < deg MinPoly(a,F) &
for i being Element of NAT st i < deg MinPoly(a,F) holds p.i = l.(a|^i)
holds Sum l = Ext_eval(p,a);
theorem :: FIELD_6:64
for F being Field,
E being FieldExtension of F
for a being F-algebraic Element of E
for l being Linear_Combination of Base a
holds Sum(l) = 0.F implies l = ZeroLC VecSp(FAdj(F,{a}),F);
theorem :: FIELD_6:65
for F being Field,
E being (Polynom-Ring F)-homomorphic FieldExtension of F
for a being F-algebraic Element of E holds
Base a is Basis of VecSp(FAdj(F,{a}),F);
theorem :: FIELD_6:66
for F being Field,
E being FieldExtension of F
for a being F-algebraic Element of E holds card(Base a) = deg MinPoly(a,F);
theorem :: FIELD_6:67
for F being Field,
E being FieldExtension of F
for a being F-algebraic Element of E
holds deg(FAdj(F,{a}),F) = deg MinPoly(a,F);
registration
let F be Field,
E be FieldExtension of F;
let a be F-algebraic Element of E;
cluster FAdj(F,{a}) -> F-finite;
end;
theorem :: FIELD_6:68
for F being Field,
E being FieldExtension of F
for a being Element of E
holds a is F-algebraic iff FAdj(F,{a}) is F-finite;