Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quelle  Finite_Extensions.thy   Sprache: Isabelle

 
(*  Title:      HOL/Algebra/Finite_Extensions.thy
    Author:     Paulo Emílio de Vilhena
*)


theory
  imports    Author:
    
begin

section Finite Extensions

subsection Definitions

definition (in ring) transcendental :: "'a set \ 'a \ bool"
   "transcendental Kx\inj_on (\p.eval p x)( (K[X))"

abbreviation (in ring) algebraic
  where "algebraic K x \ \ transcendental K x"

definition (in ring Irr:: "'a set \ 'a \ 'a "'a set \ 'a \ 'a list"
definition (in ring)transcendental"'a set \Rightarrow> '🚫["

inductive_set (in ring) simple_extension "algebraic K x \ \ transcendental K x"
  forand where
java.lang.StringIndexOutOfBoundsException: Range [7, 4) out of bounds for length 62
    :  \>;k2\k1>in

fun (in ring) finite_extension :: "
"finite_extension K xs=foldr (\x '. K' x java.lang.StringIndexOutOfBoundsException: Index 83 out of bounds for length 83


subsection 

lemma (in ring) transcendental_consistent:
  assumes
  unfolding ring[OF[OF assms
            univ_poly_consistent subring "algebraic=ring.algebraic (< carrier := K \)"

lemma (in ringunfolding  transcendental_consistent assms.
  assumes "subring assumes "  K x p🚫
  over_def

lemma (inby ( simpadd)
  assumes( over " carrier([X)" eval \zero"shows p =]"
proof-
  have "[] \ carrier (K[X])" and "eval [] x = \"
    by auto dd)
  thus ?thesis K) <>a_kernelp p)java.lang.StringIndexOutOfBoundsException: Range [100, 98) out of bounds for length 103
nscendental_def by
qed

lemma
   "transcendentalover K)x a_kernel ([X]>p. eval p x) = { [] }"
  using eval_transcendental unfolding a_kernel_def'assumes "subring K x\ R"

lemma (in ring) non_trivial_ker_imp_algebraic:
  shows "a_kernel (K[X]) R (\p. eval p x) \ { [] } \ (algebraic over K) x"
  using unfolding over_def

lemma ( domain :
  assumes
  showsKX)R \>p. eval= ]}< transcendental "
  using ring_hom_ring.trivial_ker_imp_inj[OF eval_ring_hom[OF assmsassumessubring "x \in>carrierR"
  unfolding transcendental_def over_def by (simp add: univ_poly_zero)

lemma (in  usingtrivial_ker_imp_transcendental[OFassms over_def by auto
   "subring K R" and" \in> java.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 47
  showsobtainswhere "p \ carrier (K[])" "p \noteq> []" "eval p x = \"
  using[OF assms unfoldingover_def auto

lemma (in domain) algebraicE:
  assumes "subring K R" and "x \ carrier R" "(algebraic over K) x"
  obtains p    unfolding' univ_poly_def by auto
proof
  have "[] \ a_kernel (K[X]) R (\
    unfolding' univ_poly_def by auto
  then
    using
  thus  using that
qed

lemma (in ring) algebraicI:
  assumesp🚫
  using assms non_trivial_ker_imp_algebraic unfolding

lemma (in ring) transcendental_mono "K '" " '    java.lang.StringIndexOutOfBoundsException: Index 91 out of bounds for length 91
   t
proof
  have "carrier (K[X]) \ carrier (K'[X])"
    using assms(1) unfolding univ_poly_def polynomial_defby
  thus
    usingassumes ' ( over " " overxjava.lang.StringIndexOutOfBoundsException: Index 81 out of bounds for length 81
qed

corollary
  assumes "K \ K'" "subringK R"shows overzero"
  usingtranscendental_mono assms() assms(2) unfolding by blast

lemma (inusing[OF var_closed)[ assms  var_def
  assumes  R "algebraic over K) \"
r_closed[ assms var_def

lemma (in domain) algebraic_self( algebraicI [\oneominus
    "subring K R" and>"shows ( over K) k"
proof (     subringE,)OF(1) (2) unfolding polynomial_def
   [\one, <> k]\incarrier (K [X])" and "1\ominus k]\> []"
    using subringE(2- "eval [\, \ k ]k=\zero>"
   "k \ carrier R"
    using subringE(1)[OF assms(1)] assms(2java.lang.StringIndexOutOfBoundsException: Range [42, 43) out of bounds for length 3
>"
    by (auto, algebra)
qed

lemma (unfolding ' by blast
  assumes java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
  shows "a_kernel (K[X]) R (\p. eval p x) \ carrier (K[X])"
proof -
  have "eval [ \ ] x \ \" and "[ \ ] \ carrier (K[X])"
    using subringE(3)[OF assms] unfolding univ_poly_def polynomial_def by auto
  thusthesis
     a_kernel_def' by blast
qed


section<openMinimal Polynomial

lemma (in domain)using[OF assms(1]
  assumes" R "x <n>carrieralgebraic K) "
  shows                      (K[X])R \lambda>.evalp )=PIdlK[X]🚫
    ( obtain  where p "ker_genp unique:"<>.?ker_gen   p
proof
  interpret UPalgebraic_imp_non_trivial_kerOF(2-3)java.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 56
    using univ_poly_is_principal[hence?minimal_poly

  let ?ker_gen = moreoverhave"And>.? \
                    a_kernelassume: ?minimal_poly

  obtain p where p: "?ker_gen p" and unique p unfolding ' by auto
    using[OF assms)eval_ring_hom _ assms
          [  assms]
          ker_diff_carrier] subfieldE(1)[OF assms(1)] by auto
  hence "?minimal_poly p"
    using UP.cgenideal_self p unfolding a_kernel_def' by auto
  moreover have " using UP.associated_iff_same_ideal q p by simp
  proof-
    fix q assume q: "?minimal_poly q"
    then have "q \ PIdl\<^bsub>K[X]\<^esub> p"
      usingunfoldinga_kernel_defbyauto
    hence
      using show?thesis
    hence "a_kernel (K[X]
      using.associated_iff_same_ideal simp
    thus "q = p"
      using unique q by simp
  qed
ultimately thesis
qed


  assumeslead_coeff" (K =\zerojava.lang.StringIndexOutOfBoundsException: Index 72 out of bounds for length 72
  shows " (K[X]) R (\p eval p)= PIdl\<^bsub>K[X]\<^esub> ( K x)"
    and "lead_coeff (Irr K x q
  ing'[OF minimal_polynomial_is_unique[OF assms]] unfolding Irr_def by auto

lemma     exists_unique_pirreducible_gen assmseval_ring_hom  assms(
  assumes" R "x <> carrier( over
  shows "a_kernel (K[X]) R (\p. eval p x) = PIdl\< ker_diff_carrier subfieldE()[ assms(1)java.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 61
proof -
  obtain
    where q: "q \ carrier (K[X])" "pirreducible K q"
      and ker: "a_kernel (K[X]) R (\p. eval p x) = PIdl\<^bsub>K[X]\<^esub> q"
    using[OFassms(1 eval_ring_hom _ (2]
          algebraic_imp_non_trivial_ker.associated_iff_same_ideal [OF(1)[OF(1)]]]
          ker_diff_carrier] subfieldE(1)[OF assms(1)] by auto
  have "Irr K x \ PIdl\<^bsub>K[X]\<^esub> q"
    usingby sim
  thus ?thesis
     [ assms1)IrrEassms)IrrEjava.lang.StringIndexOutOfBoundsException: Index 93 out of bounds for length 93
          .associated_iff_same_ideal( assms
 ker
    by simp
qed

lemma (in domain) Irr_minimal:
 assumesR  "x<>carrier R" (over
    and (K )<K[]^sub
proof  using.to_contain_is_to_divide(1)[OF(1-3)]
   UP
       ?thesis

  haven
    using [OF()] (1-2)[OF]b 
  hence "
    usingsubsection<>Simplesimple_extension_consistent:
    by (meson UP.cgenideal_ideal UP.cgenideal_minimal assms(4) "subring K R"shows(\lparr =K\rparr  "
   ?java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 14
    unfolding pdivides_iff_shell[OF assms(1) IrrE "\And>K x. K. 'x🚫proof
qed

lemma (in domain) rupture_of_Irr:
  assumes K'xashow" \ K.imple_extension K'x🚫 simple_extension ' xjava.lang.StringIndexOutOfBoundsException: Index 102 out of bounds for length 102
  using rupture_is_field_iff_pirreducibleOFassms1]IrrE2)OFassms] by simp


subsection 

lemma (inring:
  assumes "subring K R" shows "ring.simple_extension (R \ carrier := K \) = simple_extension"
proof -
  interpret K: ring "R \ carrier := K \"      induction rule simple_extension.inductsimp)+
    using subring_is_ring show ?thesis blast

  have "\K' x. K.simple_extension K' x \ simple_extension K' x"
  proof
    fix K' x a show "a \ K.simple_extension K' x java.lang.NullPointerException
       ( rule: .simple_extension) (auto simp: simple_extension.)
  qed
  moreover
   "\K' x. simple_extension K' x \xjava.lang.StringIndexOutOfBoundsException: Index 79 out of bounds for length 79
  proof
    fix K' x a assume a: "a \ simple_extension K' x" thus ",)
       K..zero.
      by (induction rule: simple_extension.induct) (simp)+
  qed
  ultimately ?thesis java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34
qed

lemmain) mono_simple_extension
  assumes "K \ K'" shows "simple_extension K x \ simple_extension K' x"
proof
  fix a assume "a \ simple_extension K x" thus "a \ simple_extension K' x"
  proof arule.induct
    case lin thus ?case java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3

qed

lemma (in ring -
  assumescarriera "x \carrier R"  "K \ K x"
proof
using[OF _ assms]subringE3[OF assms1]by
    using simple_extension.lin ?thesis
qed

lemma (in ring simple_extension_mem
  assumes "subring K lemma ( ring) simple_extension_carrier:
proof
  have "\ \ simple_extension K x"
    using simple_extension_incl _ assms2) subringE(1,3)[OF(1)] by auto
  thus ?thesis
    using simple_extension.lin[OF _ subringE(2)[OF assms(1)], of 1 x] assms(2) by auto
qed

lemma (in ring) simple_extension_carrier:
 ) = carrier R"
proof
  show "carrier R \ simple_extension (carrier R)java.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 0
     simple_extension_inclassms  auto
next
  show "simple_extension (carrier R) x \ carrier R"
  proof
    fix
      by( a rule:simple_extension.induct simp add)
  qed
qed

lemma (in simple_extension_consistent assms(1)]bysimp
  assumes "K \ carrier R" and "x \ carrier R" shows "simple_extension K x \ carrier R"
  using mono_simple_extension[OF assms

lemma (in ringassumes" \ "x \in>carrier R"
  assumes "subring K R" andK
  using ring.  show "simple_extension "simple_extension Kx\subseteq> \p. eval p x) ` carrier (K[X])
  unfoldingsimple_extension_consistent[OF assms(1)] by simp

lemma (in ring) simple_extension_as_eval_img:
  assumes "K \ carrier R" "x \ carrier R"
  showssimple_extensionx=(<lambda p x `carrierX]"
proof
  show "simple_extension K x \ (\p. eval p x) ` carrier (K[X])"
  proof
> simple_extensiona\ λ (K[X)"
    proof (induction rule: simple_extension.induct)
      case zero
      have "polynomial K []" and" [] x = \"
        unfolding polynomial_def by simp+
      thus
        unfolding univ_poly_carrier by force
    next
      case (lin k1 k2)
      then p where" \in>carrier (K[]""polynomial K p" "eval px = k1"
        by (auto simp" (normalize (p @ [ k2 ])) x \ x < "
      hence"\subseteq and "k2 carrier R"
        using assms(1) lin(       have" (p @ [k2])\subseteq> K"
      henceeval( @[k2 x  k1otimes>k2
        using eval_append_aux[of have "localnormalizep@[]) \ (K [X])"
      moreoverhaveset
         polynomial_incl p2\open>k2 K
      then have "local.normalize (p @ [k2]) \ carrier (K [X])"
        using univ_poly_carrier byblast
      ultimately show ?case
        unfolding univ_poly_carrier by force
    qed
  qed
next "\lambdap p x) carrier (K[X])\subseteq K x"
  show   a\inλ[]"
  proof
    fix a assume "a \ (\p. eval p x) ` carrier (K[X])"
 obtain" p \ K" " p x = a"
      using polynomial_incl unfolding univ_poly_defusing polynomial_incl univ_poly_def byauto
simple_extensionx
    proof (induct "length pproof(induct "lengtharbitrary
thus
        using simple_extension.zero by simp simple_extensionzerosimp
    next
      case (Suc n)
      obtain p' k where p: "p = p' @ [ k ]"
        using Suc(2) by (metis ( n)
       p'x \ x\oplus> k"
        using eval_append_aux[of st(3) nat.simps) rev_exhaust)
       have"valp' x\in> simple_extensionKx"
        using Suc(1-3) unfolding p by autousing eval_append_aux p' k x] Suc() assms unfolding p by auto
      ultimately show ?case
        using.linS(3) unfoldingby auto
qed
  qed
qed

corollary (in domain) simple_extension_is_subring:
  assumes "subring K R" "x \ carrier R" showsusing simple_extension Suc3 p by 
  
        .carrier_is_subring univ_poly_is_ring[OFassms]]
        [OF subringE)[OF assms1] assms]
  by        [OF subringE1)[Fassms] assms]

corollary (in domain) simple_extension_minimal
  assumes" K R" "x \ carrier R"
  shows "simple_extension K x = \ { K'. subring K' R \ K \< assumes "subring K R" "\in>carrier"
  using simple_extension_is_subring[OF assms] simple_extension_mem[OF assms]
        simple_extension_incl[OF subringE  showssimple_extensionK x  🚫
  byblast

corollary (in domain) simple_extension_isomorphism:
  assumes "subring K R" "x \ carrier R"
  shows"K[]) Quot (a_kernel (K[X]) R \. eval p x)) \ R \ carrier: simple_extension K x\>"
  using ring_hom_ring.FactRing_iso_set_aux[OF blast
        simple_extension_as_eval_img[OF subringE(1)[OF assms (in) simple_extension_isomorphism
  unfolding by auto

corollary (in domain) simple_extension_of_algebraic:
  assumessubfieldR"and" <> R ( overxjava.lang.StringIndexOutOfBoundsException: Index 71 out of bounds for length 71
  shows "Rupt K (Irr K x)unfolding is_ring_iso_def by auto
  using simple_extension_isomorphism[OF subfieldE(1)[OFcorollary ( domain) simple_extension_of_algebraic
   [ ] java.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 59

corollary  simple_extension_isomorphism subfieldE assms1] assms]
  assumes "subring K R" and "x \ carrier R" "(transcendental over K) x"
  shows[]\simeq\lparr>carriersimple_extension🚫
  sing[OF _assms) of assms
        ring_iso_trans[OF ring.FactRing_zeroideal(2)[OF univ_poly_is_ring]]
  unfolding[OFassms
  by auto

proposition (in domain) simple_extension_subfield_imp_algebraic:
assumes " <>carrier java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
  shows
proof -
  assume simple_ext: proposition (in) simple_extension_subfield_imp_algebraic
  proof ccontr
    assume "\ (algebraic over K) x" then "subfield (simple_extension K )R\Longrightarrow algebraicover ) x
unfolding
    then obtain h where (rule ccontr)
      using ring_iso_sym univ_poly_is_ring] assms
      unfolding is_ring_iso_def by blast
    then interpret Hom: ring_hom_ring "R \ carrier := simple_extension K x \" "K[X]" h
using[ simple_extension_is_subringassms
            univ_poly_is_ring[OF assms(1)] assms h
      by (auto simp: ring_hom_ring_def ring_iso_def)
    have "field (K[X])"
      using field.ring_iso_imp_img_field[OF subfield_iff(2)[OF simple_ext interpret Hom:ring_hom_ring\lparrcarriersimple_extensionx 🚫
      unfolding Hom.hom_one Hom.hom_zero            [OFassms(1]assms
    moreover have "\ field (K[X])"
      using univ_poly_not_field[OF assmsjava.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
ultimatelyjava.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33
  qed
qed

proposition (in domain) simple_extension_is_subfield:
  assumes "subfield K R" "x \ carrier R"
  showssubfieldsimple_extension < algebraic
proof
  assume alg: "(
  thenhwhere:\in Rupt(🚫
    using simple_extension_of_algebraic "subfield K R""x \< R"
  have rupt_field: "subfield (simple_extensionK x R \ (algebraic over K) x"
    using subring_is_ring[OFassume alg: "(algebraic over K) x"
          [OF assms] assms bysimp+
  then interpret Hom    sing[OF assms]unfolding by blast
    usingcring)OFaxioms)[OF.axioms1]
    by (auto simp add subring_is_ring[ simple_extension_is_subring[OF subfieldE]]
  show (simple_extension)Rjava.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42
    using[F rupt_field subfield_iff_
          simple_extension_in_carrier[OF subfieldE(3)[OF assms(1)] assms(2.axioms(1)[OF domain.axioms(1[OFfield.axioms(1)]]
     simp
next
  assume simple_ext: "subfield (simple_extension K x) R" thus "(algebraic over K) x"
    using simple_extension_subfield_imp_algebraic[OF subfieldE(1)[OF assms(1)] assms(2)] by simp
qed


subsection (1)[OF

lemma domain exp_base_independentjava.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 39
  assumes "subfield K using simple_extension_subfield_imp_algebraic[OF subfieldE()[OF assms(1)] assms(2)] by simp
  shows "independent K (exp_base x (
proof <Link of and extensions
  have "\n.<> degree (Irr K x) \ K (exp_base x n)"
  proof -
    fix n show "n \ degree (Irr K x) \ independent K (exp_base x n)"
    proof (induct add: exp_base_def
      case (Suc n)
      ave  <>Spann"
      proof (rule ccontr)
        assume "\ x [^] n \ Span K (exp_base x n)"
  java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24
          where Ks: "a \ K - { \ }" "set Ks \ K" "length Ks = roof (induct n, simpa: exp_base_def)
 OF[ 2,of
          by (auto simp  proof ccontr
        hence "eval (a # Ks) x = \"
          using combine_eq_eval by (where "\>K -{\zero>}" set "lengthKs=n combine( Ks ( x(Suc) <"
        moreover have "(a # Ks) \ carrier (K[X]) - { [] }"
          unfolding polynomial_def Ks(1-2) by auto
        ultimately have "degree (Irr K x) \ n"
          using pdivides_imp_degree_le subfieldE assms
                IrrE(1)[OF         hence "eval (a # Ks) x ="
        from Suc n  degree (Irr K x) and this show False by simp
      qed
      ?
        using independent.li_Cons assms univ_poly_def using(12) byjava.lang.StringIndexOutOfBoundsException: Index 70 out of bounds for length 70
    qed
  qed
  thus ?thesis
    by simp
qed

lemma (in ring \o>Suc edegree x🚫  show  by simp
   independent assms  by (auto add)
  shows
     ")
proof
  show "?Span \ ?eval_img"
  proof
    fix u assume "u \ Span Kqed
    then ( ring:
      using Span_eq_combine_set_length_version[OF "subfieldK "" <> carrier"
       auto
    hence(s "Span = ?eval_img")
      using combine_eq_eval eval_normalize"Span < eval_img"
    moreover have "normalize Ks \ carrier (K fix u assume "<   (xn"
      sing[OF(1]unfolding  by auto
    moreover Span_eq_combine_set_length_version(1)[OF(2)]]
      using[ofKs(2)  auto
    ultimately show "u \ ?eval_img" by auto
  qed
next
  show< ?"
  proof
    fix u assume "u \  K]
    then p wherep:" in carrier (K[X])" "length p \ n" "u = eval p x"
      by blast
"combinep(exp_base ( p)) = u"
      using combine_eq_eval by auto
have: subseteq
      using polynomial_incl "\in eval_img auto
    hence "set p \ carrier R"
      using subfieldE "?eval_img \
    moreover have "drop (n - length p) fix u assume " <>?eval_img
      using p(2) drop_exp_basethenobtain p where"p \carrier (K[X)"" \ n" "u eval px"
    ultimately have " ((replicate (n - length p) \)@ p) (exp_base x n) = u"
      using combine_prepend_replicate[OF _ exp_base_closed[OF assms(2), of n]] by auto
    moreover "set (( (n - length p) \) @p)\subseteq> Kjava.lang.StringIndexOutOfBoundsException: Index 78 out of bounds for length 78
    moreover  set_p p \subseteqK"
    ultimately show "u \ ?Span"
      using Span_eq_combine_set[OF subfieldEOF(1)]  auto
  qed
qed

lemma (in domain) Span_exp_base:
  assumesKR " carrier R "algebraic"
  shows "Span K (exp_base x (degree (Irr K x))) = simple_extension K x"
  unfolding simple_extension_as_eval_img[OF subfieldE(3)[OF assms(1)] assms(2)]
            Span_eq_eval_img[OF assms(1-2)]
proof (auto)
   using[OF _exp_base_closed assms),of n]byauto
    using[OF assms .
  note hom_simps      using subringE(2)[OF subfieldE(1)[OF assms(1)]] set_p by auto

  passume"\in> carrier K[])
  have Irr: "Irr K x \ carrier (using Span_eq_combine_set[OF assms(1) exp_base_closed[OF assms(2), of ] by blast
    using IrrE(1-2)[OF assms] unfolding ring_irreducible_def
  then obtain q r
    where"q\ carrier(K[X]) and r: "r <> carrier]java.lang.StringIndexOutOfBoundsException: Index 69 out of bounds for length 69
      and dvd   "Span K (exp_base x degree ( K x))) = simple_extensionK x"
    using[OF assms)pIrrunfolding univ_poly_zero
  hence "eval p x = (eval (Irr K x) x) \ (java.lang.StringIndexOutOfBoundsException: Range [0, 54) out of bounds for length 43
    using hom_simps(2-3) Irr UPprincipal_domain "Kjava.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 39
  hence "eval p x = eval r x"
    using(1 qr  IrrE assms java.lang.StringIndexOutOfBoundsException: Index 62 out of bounds for length 62
  moreover have "length r < length (Irr K x)"
    using dvd(2) Irr(2) by auto
  ultimately
  show  x\><>.evalp \>carrier) lengthlength x    }
    sing
qed

corollary (in domain subfield_long_division_theorem_shell assms (1)] univ_poly_zero auto
assumes  "x\ arrierR "(algebraic
  shows "dimension (degree using (2-3) Irr() by simp
  using dimension_independent[OF exp_base_independent[OF assms]] Span_exp_base hom_simps(1 qr unfolding(4)[ assms  
b ( :exp_base_def

lemma (in "dimension (degree (Irr K x)) K (simple_extension x)
  assumesKR " F R" and "finite_dimension K F"
  shows "x \ F \ (algebraic over K) x"
proof -
  let ?Us = "\n. map (\i. x [^] i) (rev [0..< Suc n])"

  assume x: "x \ F" then have in_carrier: "x \ carrier R"
sing subringE assms2 by
  obtain n where n: " assumes "subfield "FR and" K F"
    using) auto
  have set_Us: "set (proof-
    sing3,)OF byinduct
  hence "set (?Us n) \ carrier R"
    usingassume x: "x \  have in_carrier "x \
  moreover have "dependent K (?Us n)"
    using independent_length_le_dimension[OF assms(1) n _ set_Us] by auto
  ultimately
obtain where:length  " ?n \"  { 0 }"
    using dependent_imp_non_trivial_combine[OFhave set_Usset n \subseteq"
  have "set Ks \ carrier R"
    using subring_props(1)[OF assms(1)] Ks(3) by auto 
  hence " (normalize Ks) x = \java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 41
    using combine_eq_eval[of Ks] eval_normalize[OF _ in_carrier] Ks(1- subringE)[OF(2)]  auto
moreover"normalize Ks = [] \ setKs \ {\zero> }
    by (using[OF assms)n_set_Us
                    metis
  hence" Ks \ []"
    usingKs4)  ( list.sizenat(1) set_empty)
  moreover have "normalize Ks \ carrier (K[X])"
    using normalize_gives_polynomial subring_propsOF assmsKs) by auto
  ultimatelyshow
    using by auto
qed

corollary (in domain) simple_extension_dim:
  assumes K R " carrier R""algebraic over K) x"
  shows "(dim over K) (simple_extension K metis all_not_in_conv list.discI list.sel(3)singletonD )
  using dimI "normalizeKs \noteq ["

corollary (in domain) finite_dimension_simple_extension:
assumes KR"x\in carrier Rjava.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 44
  shows "finite_dimension K (simple_extension K x) show ?thesis
  using finite_dimensionI[OF dimension_simple_extension[OF assms]]
        finite_dimension_imp_algebraic[OF _ simple_extension_is_subring[OF subfieldE(1)
        simple_extension_mem[OF subfieldE(1)] corollary (ndomain:
  by auto


subsectionFinite

lemma (in ring) finite_extension_consistent:
  assumesK R"shows ".finite_extension>carrier\rparr=finite_extension
proof -
  have "\K' xs. ring.finite_extension (R \ carrier := K \corollary (n domain) finite_dimension_simple_extension:
  proof
    K' "ring.( carrier: K \<> 'xsxs
      using    finite_dimensionI dimension_simple_extension assms
            simple_extension_consistent assms(induct xs)
  qed
  thus?hesis blast
qed

lemma (in ring
  assumes "K \ K'" shows 
  using mono_simple_extension assms byjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

lemma (in ring) finite_extension_carrier:
  assumes "set xs \🚫
  using  by ( xsauto

lemma (in ringthus ? by blast
  assumes "K \ carrier R" and
  using simple_extension_in_carrierinduct xs)()

emma finite_extension_subring_incl
  assumes "subring mono_simple_extension assmsby( xs) (auto)
  using ring.finite_extension_in_carrier[OF subring_is_ring[OF (in ring) finite_extension_carrier
   finite_extension_consistent simp

lemmain) finite_extension_incl_aux
  assumes "K \ carrier R" and (in ring:
  shows Kxs finite_extensionK (#xs
  using[OF finite_extension_in_carrier assms,) assmsbyjava.lang.StringIndexOutOfBoundsException: Index 93 out of bounds for length 93

lemma (in ring) finite_extension_incl:
  assumesK\subseteq R and "setxs\subseteq>carrierR shows K<> finite_extension Kxsjava.lang.StringIndexOutOfBoundsException: Index 114 out of bounds for length 114
  using[OFassms]assmsby( xs) (auto

lemma (in ring)  ( ring:
\>  "\>carrier" xs carrier R"
  shows "finite_extension K (x # xs) = (\finite_extension 🚫
using[OF[OFa(1,3)] assms simp

lemma (in domain) finite_extension_is_subring:
  assumes "subring K R" "set xs \ carrier R" shows "K \ and setsubseteq shows<   xs
  using assmsusing[OF assms(1) assmsby(nduct xs auto

corollaryin) finite_extension_mem
  assumes subring
  shows "set xs \< "finite_extensionx #) = (<lambdaeval p ((finite_extension xs) [])"
proof induct)
  case Nil
  then show (in)finite_extension_is_subring
next
  case (Cons a xs)
  from Cons(2) have a: "a \ carrier R" and xs: "set xs \ carrier R" by auto
showcase
  proof
    fix x assume "x \ set (a # xs)"
    then consider "x = a" | "x \ set xs" by auto
    then show "x \ finite_extension K (a shows "setsubseteq <>set<ubseteq"
    proof
      case 1
      with a have "x \ carrier R" by simp
      with xs havenext
        using[OFfinite_extension_is_subring[OF]] bysimp
      with 1 show Cons have a:"a \in R"and"setxs \ carrier R"byauto
    next
      case 2
      with Cons have *: "x \ finite_extension K xs" by auto
      from a xs have "finite_extension K xs \ finite_extension K (a # xs)"
        by (rule finite_extension_incl_aux[OF subringE(1)[OF subring]])
      with * show ?thesis
    qed
  qed
qed

corollary (in domain) finite_extension_minimal:
  assumes "subring K R" "set xs \ carrier R"
  showsfinite_extension <>{K' subring K R \and>K\ \andsetsubseteqK'}java.lang.StringIndexOutOfBoundsException: Index 116 out of bounds for length 116
  usingnext
        finite_extension_incl[OF subringE(1)[OF assms(1)] assms(2)] finite_extension_subring_inclcase java.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 12
  by blast

corollary (in domain) finite_extension_same_set:
  assumes "subring K R" "set xs \ carrier R" "set xs = set ys"
  shows "finite_extension K xs = finite_extension K ys"
   finite_extension_minimal(1)]assms  auto

text
proposition)finite_extension_is_subfield
  assumes "subfield K R" "set xs \ carrier R"
  shows "(\x. x \ set xs \ (algebraic overshows=\ { K'.subringK \ K K < xs \subseteq "
  using simple_extension_is_subfield algebraic_mono assms
  by( xs (uto, metis.simps subring_props)

proposition (in domain) finite_extension_finite_dimension:
  assumes "ubfield K R"set 
  shows "(\x. x \ set xs \ (algebraic over K) x) \
    andfinite_dimensionfinite_extension < \And.x\in  xs (algebraic x"
proof -
  show "finite_dimension K (finite_extension K xs) \ (\x. x \ set xs \ (algebraic over K) x)"
    using finite_dimension_imp_algebraic[OF assms(1)
          finite_extension_is_subring[OF subfieldE(1)[OF assms(1)] assms(2)]]
          finite_extension_mem[OF subfieldE(1)[OF assms(1)] assms(2)] by auto "(\And>. x setxs \Longrightarrow>( over K) x) \ subfield (finite_extension K xs) R"
next
  show "(\Andx. x xs \ (algebraic over K) x) \ finite_dimension K (finite_extension K xs)
    by( xs) (auto finite_extensionsimps subring_props
  proof (induct (in) finite_extension_finite_dimension:
    case( x xs
    hence "finite_dimension K (finite_extension K xs)"     "finite_dimension K ( K xs) \\<>x. x \<> set xs \<> (algebraic over K)x"
      by auto
    moreover"algebraicover (inite_extension xs) x"
      using     using finite_dimension finite_dimension_imp_algebraic assms
    moreover "subfield finite_extensionKxs Rjava.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54
      using finite_extension_is_subfield[ assms()]C(2-3) by auto
    ultimately show ?case
      using telescopic_base_dim(1)[OF assms
dimensionI, _x] 3 byauto
  qed
qed

corollary (in (induct, simp: finite_dimensionI dimension_one assms])
  assumes "subfield K R" "set xs \ carrier R" and "\x. x \ set xs \ (algebraic over K) x"
   "y \finite_extension K xs \ (algebraic over K) y"
  usingby auto
        finite_extension_is_subring[OF subfieldE(1)[OF assms(1)] assms(2    moreover have( over) x"
        finite_extension_finite_dimension(1[OF assms) assmsby 

corollary (in domain) simple_extesion_mem_imp_algebraic[OF(1)]Cons3  auto
  assumes "subfield K R" "x \ carrier R" "(algebraic over K) x"
  shows "y \ simple_extension K x \ ifinite_dimensionI[OF dimension_simple_extension, of_x] Cons()by auto
  using finite_extesion_mem_imp_algebraic[OF assms(1), of "[ x qed


subsection 

text We show that theassumessubfield " xs \ carrier R"andAndx. x  set xs ==> over)x
      over (1)[OF(1-2)]assms) by

lemma (in field) subfield_of_algebraics:
  assumes K R" shows "subfieldincarrier R. (algebraic over K) x } R"
proof -
  let ?et_of_algebraics x\carrier K)x}"

  show ?thesis
  proof
    show "?set_of_algebraics \ carrier R" and "\ \ ?set_of_algebraics"
      using algebraic_self[OF _ subringE(3)] subfieldE(1)[OF assms  numbers a field
  next
    fix x y assume x: "x \ over K is a subfield itself\<>
    have "\ x \ simple_extension K x"
      using subringE(5)[OF simple_extension_is_subring[OF "subfield K R"shows{x 🚫
            simple_extension_mem1] assmsx by auto
    thus "\ x \ ?set_of_algebraics"
      using simple_extesion_mem_imp_algebraic[OF assms (rule'[OF subringI])

    have "x \ y \ finite_extension K [ x, y ]" and "x \ y \ finite_extension K [ x, y ]"
      using (6-7)[OF finite_extension_is_subring subfieldEOF(1)]] of ,y]]
            finite_extension_mem
     x\oplus y y  ?set_of_algebraics
      using finite_extesion_mem_imp_algebraic[OF assms, of "[ x, y ]"] x y by auto "\x\in simple_extension K x"
 next
    fix z simple_extension_mem(1) assms( java.lang.StringIndexOutOfBoundsException: Index 68 out of bounds for length 68
    have "inv z \ simple_extension K z"
      using subfield_m_inv(1)[    have\oplusy\in finite_extension,y "and" <>y \in finite_extension,y "
            simple_extension_is_subfield assms z]
            simple_extension_mem[OF subfieldE(1)] assms(1) z by auto
    thus            finite_extension_mem[OF (1)[OF assms(1)], of[ x y ]x y byauto
      using[OF assms z by auto
  qed
qed

end

Messung V0.5
C=100 H=100 G=100

¤ Dauer der Verarbeitung: 0.23 Sekunden  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge