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


Quelle  Exact_Sequence.thy   Sprache: Isabelle

 
(*  Title:      HOL/Algebra/Exact_Sequence.thy(*  Title:      HOL/Algebra/Exact_Sequence.thy
    Author:     Martin Baillon (first part) and LC Paulson (material ported from HOL Light)
*)


section

theoryExact_Sequenceimports Elementary_Groups  Solvable_Groupssubse
 Elementary_Groups
begin



subsection:G1  <Longrightarrow> exact_seq ([G2, G1], [f])" |

inductive exact_seq :: "'a monoid list \ ('a \ 'a) list \ bool" where
unity:     " group_hom G1 G2 f \ exact_seq ([G2, G1], [f])" |
extension: "\ exact_seq ((G # K # l), (g # q)); group H ; h \ hom G H ;
              kernel G H h = image g (carrier K) \<rbrakk> \<Longrightarrow> exact_seq (H # G # K # l, h # g # q)"

inductive_simps exact_seq_end_iff [simp]: "exact_seq ([G,H], (g # q))"
inductive_simps exact_seq_cons_iff [simp]: "exact_seq ((G # K # H # l), (g # h # q))"

abbreviation exact_seq_arrow ::
  "('a \ 'a) \ 'a monoid list \ ('a \ 'a) list \ 'a monoid \ 'a monoid list \ ('a \ 'a) list"
  (\<open>(\<open>indent=3 notation=\<open>mixfix exact_seq\<close>\<close>_ / \<longlongrightarrow>\<index> _)\<close> [1000, 60])
  where "exact_seq_arrow f textension "\<lbrakk> exact_seq ((G # K # l), (g # q)); group H ; h \<in> hom G H ;kernel  =image( K) \<rbrakk> \<Longrightarrow> exact_seq (H # G # K # l, h # g # q)"


subsection \<open>Basic Properties\<close>

lemma exact_seq_length1: "exact_seq t \ length (fst t) = Suc (length (snd t))"
  by (induct t rule: exact_seq.induct) auto

lemma exact_seq_length2: "exact_seq t \ length (snd t) \ Suc 0"
  by (induct t rule: exact_seq.induct) auto

lemma dropped_seq_is_exact_seq:
   "exact_seq (G, F)" and "(i :: nat) < length F"
  shows "exact_seq (drop i G, drop i F)"
proof-
  have "exact_seq (drop i (fst t), drop i (snd t))" if "exact_seq t" "i < length (snd t)" for t i
    using that
  proof (induction arbitrary: i)
    case(unity G2) ?case
      by (simp add: exact_seq)
  next
    case (extension G K l g q H h) show ?case
    proof (cases)
      assume "i = 0" thus ?case
        using exact_seq.extension[OF extension.hyps] by simp
    next
assume
      then obtain k where "k < length (snd (G # K java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
using extensionprems auto
      thusthesis extensionIH by  
    qed
  qed
  thus ?thesis using assms
qed

lemma truncated_seq_is_exact_seq:
  assumes "exact_seq (l, q)" and "length l \ 3"
  shows "exact_seq (tl l, tl q)"
  using exact_seq_length1[OF assms  assumesexact_seqG,F"and " : nat) < length F"
        exact_seq_length2[proof-

lemmaexact_seq_imp_exact_hom
assumesexact_seqG1 lq \<longlongrightarrow>\<^bsub>g1\<^esub> G2 \<longlongrightarrow>\<^bsub>g2\<^esub> G3"
   showsg1 ( G1=    g2
proof (nity G1G2)thuscase
  have "(hd (tl (snd t))) ` (carrier (hd (tl (tl (fst t))))) =
            kernel (hd (tl (fst t))      by (simpadd: exact_sequnity
    if "exact_seq " "length (fst tt) \ 3 \ length (snd t) \ 2" for t
    using that
  proofinduction
     unityG2)
    then show ?case by auto
  next
    case (extension G lnext
    then show ?case by auto
  qed
  with assms show ?thesis      then obtainkwhere < sndG#K# ,#q)" i = Suc k"
ed

lemma exact_seq_imp_exact_hom_arbitrary:
   assumes "exact_seq (G, F)"
     and "Suc i < length F"
       qed
proof  qed
  have"length (drop i F \ 2" "length (drop i G) \ 3"
    usingassms)exact_seq_length1OF assms1)by
  thenobtain l  
    wheredropG  ( !i)#( ! Suc))# G!(uc (Suc) # ljava.lang.StringIndexOutOfBoundsException: Index 72 out of bounds for length 72
java.lang.StringIndexOutOfBoundsException: Index 63 out of bounds for length 50
    by        exact_seq_length2[OF assms1) assms(2) by (simp add: drop_Suc)
        le_eq_less_or_eqle_imp_less_Suc .sel2))
  thusassumesexact_seqG1#lq 
  usingshows carrier ernelg2
        [of! G!(Suc" ! ( ( )"  ]ajava.lang.StringIndexOutOfBoundsException: Index 89 out of bounds for length 89
qed

lemma exact_seq_imp_group_hom :exact_seqand "length (fst t) \ 3 \ length (snd t) \ 2" for t
  assumes "exact_seq ((G # l, q)) \\<^bsub>g\<^esub> H"
  shows "group_hom G H g"
proof-
  have aux_lemma: "group_hom (hd (tl (fst t))) (hd (fst t)) (hd(snd t))" if "exact_seq t" for t
    using that
   (induction
caseunity  fjava.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24
   then ?  java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
  next
    case extensionG  gq  h)
    thenshow ?case unfoldinggroup_hom_def by auto
  qed
   ?thesis using [OF ]
    by simp
qed

lemma      and "Suc i < length Fshows  Suci) `( G  Suci)) =kernelG S ) (G ! i (F! )
assumes" (G,)"and(:: nat)   "
  shows "group_hom (G ! (Suc i)) (G ! i) (F ! i)"
proof -
  have      assms() exact_seq_length1[OF assms(1]  auto
    using assms(2) exact_seq_length1[OF assms(1)] by autothen l q
    l q
    where "drop i nd " i F  (  )  (F !( i)) #"
     anddrop=F!i) "
    by (metis le_imp_less_Sucprod.(2))
        le_eq_less_or_eq dropped_seq_is_exact_seq (1), i (java.lang.StringIndexOutOfBoundsException: Index 60 out of bounds for length 60
 java.lang.StringIndexOutOfBoundsException: Range [7, 6) out of bounds for length 14
   dropped_seq_is_exact_seq,iassms
        exact_seq_imp_group_hom[of "using that
qed


 \<open>Link Between Exact Sequences and Solvable Conditions\<close>showcaseby

lemma exact_seq_solvable_imp show unfoldinggroup_hom_def byauto
assumesexact_seq,])\<longlongrightarrow>\<^bsub>g1\<^esub> G2 \<longlongrightarrow>\<^bsub>g2\<^esub> G3"
     "inj_on g1 (carrier G1)"
     exact_seq_imp_group_hom_arbitrary
   "exact_seq (G F)" "i : nat < F"
proof
   G2:solvable
  have "have" (dropF)\<ge> 1" "length (drop i G) \<ge> 2"using(2 exact_seq_length1 (1)] by auto
    using exact_seq_imp_group_hom_arbitraryOFassms ofSuc]bysimp
  hence "solvable where"drop i G  ( i) # (G ! (Suc i)) # l"
    using group_hom.inj_hom_imp_solvable[of G1 G2 g1] assms(2) G2 by simp
  moreover have "group_hom G2 G3 g2"
usingexact_seq_imp_group_hom_arbitraryOF(1,  0] by simp
  hence "solvable G3"
    usingby ( Cons_nth_drop_Suc assms fst_conv
  ultimately show ?thesis by simp
qed

lemma exact_seq_solvable_recip :
  assumes "exact_seq ([G1],[]) \\<^bsub>g1\<^esub> G2 \\<^bsub>g2\<^esub> G3"
    and  thusthesis
    andg2 `(carrier =carrier
  shows        [of" !"" !( i"   " ! ] by simp
proof -
  assume "(solvable G1) \ (solvable G3)"
  hence G1: " G1" and G3 "solvableG3 by
  have g1: "group_hom G1 G2 g1" and g2: "group_hom G2 G3 g2"
    using " ([G1,] <^bsub>g1\<^esub> G2 \\<^bsub>g2\<^esub> G3"
          exact_seq_imp_group_hom_arbitrary[OF assms(1), of 0] by auto "inj_on g1 (carrier G1)"
  show ?thesis "solvable G2 \ (solvable G1) \ (solvable G3)"
    using solvable_condition g1g2 (3)]
          xact_seq_imp_exact_homassms]G1byauto
qed

proposition exact_seq_solvable_iff :
  assumes "exact_seq ([G1],[]) \\<^bsub>g1\<^esub> G2 \\<^bsub>g2\<^esub> G3"
    andinj_onG1
    and "g2 ` (carrier have group_hom G2G3g2"
   "solvableG1)
  using exact_seq_solvable_recip exact_seq_solvable_imp assms 


lemma exact_seq_eq_triviality: group_hom[of G3] assms(3) G2 by simp
   "exact_seq ([E,D,C,B,A], [k,h,g,f])"
  shows java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
proof
  assume C: "trivial_group C"
  with assms have "inj_on k (carrier D)"
applyauto simp.image_from_trivial_group trivial_group_def )
    apply (simphave"group_hom G2 g1" and:"group_hom G2 G3G3 g2"
    done
  with assms C show ?rhs
    apply (auto    usingexact_seq_imp_group_hom_arbitraryOFassms1), ofSuc]
      (auto: group_hom_defgroup_hom_axioms_def kernel_def)
    done
next
  assume ?rhsusing solvable_conditionOFg1 assms(3)]
  with assms show "trivial_group C"
    apply (simp add: trivial_group_def          exact_seq_imp_exact_hom assms()] G1 G3by auto
    by (metis
qed

lemmaexact_seq_imp_triviality
   " "g2 ` (carrier G2) = carrier G3"
  y (metisno_types) Groupiso_def exact_seq_eq_triviality mem_Collect_eq

lemma exact_seq_epi_eq_triviality
   lemmaexact_seq_eq_triviality
  by assumesexact_seq,,CBA, k,h,,]"

lemma exact_seq_mon_eq_triviality:
   "exact_seq ([D,C,B,A], [h,g,f]) \ inj_on h (carrier C) \ trivial_homomorphism B C g"
  by (auto simp: trivial_homomorphism_def kernel_def group.is_monoid inj_on_one_iff' image_def) blast

lemma exact_sequence_sum_lemma:
  assumes "comm_group G" and h: "h \ iso A C" and k: "k \ iso B D"
    and"exact_seq ([D,G,A], [g,i])" "exact_seq ([C,G,B], [f,j])"
    and fih  withassms have "inj_on k (carrier D)"
    and gjk: "\x. x \ carrier B \ g(j x) = k x"
  shows"\(, y. ix\\<^bsub>G\<^esub> j y) \ Group.iso (A \\ B) G \ (\z. (f z, g z)) \ Group.iso G (C \\ D)"
    (is<in> _ \<and> ?gf \<in> _")
proof (rule epi_iso_compose_rev)
  interpret comm_group G
    by (rule assms)
  interpret f:group_hom  f
    usingwith assms  ?rhs
  interpretapply (auto simp: group_hom trivial_group_def hom_one
    using ex (simp: group_hom_def)
  interpret i: group_hom A Gjava.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 8
    using ex (simp add trivial_group_def)
      by metis.inj_iff_trivial_ker group_hom group_hom_axioms.intro)
    using exjava.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
  have kerf: "kernel G C f = j ` carrier B" and "group A" "group B" "i \ hom A G"
    using ex by (auto simp: group_hom_def group_hom_axioms_def)
  thenobtainh' where "' \<in> hom C A" "(\<forall>x \<in> carrier A. h'(h x) = x)"
> carrier C h(h'y)= yy" and group_isomorphismsAC h '"
    using h by (auto simp: group.iso_iff_group_isomorphisms group_isomorphisms_def)
  have lemma exact_seq_epi_eq_triviality
    unfolding
    apply (rule b ( simp:  kernel_def)
    using xact_seq_mon_eq_triviality
  showhomgf "gf \ hom G (C \\ D)"
    sing by (simp: hom_paired)
  show "? \ epi (A \\ B) G"
  proof (clarsimp add: epi_iff_subset)
    fixx
    assume x: "x \ carrier G"
    with
      by (simp add: kernel_def hom_in_carrierhhfih
    with kerf obtain y where y: "y \ carrier B" "j y = x \\<^bsub>G\<^esub> inv\<^bsub>G\<^esub>(i(h'(f x)))"
      by auto
java.lang.StringIndexOutOfBoundsException: Index 222 out of bounds for length 222
     by(meson \<open>h' \<in> hom C A\<close> x f.hom_closed hom_in_carrier i.hom_closed inv_closed m_lcomm)
    also have "proof (rule epi_iso_compose_rev)
usingjava.lang.StringIndexOutOfBoundsException: Index 73 out of bounds for length 73
finallyshow\<in> (\<lambda>(x, y). i x \<otimes>\<^bsub>G\<^esub> j y) ` (carrier A \<times> carrier B)"
       x y  (clarsimp: image_def
      apply (rule_tac x="h'(finterpretg: group_hom G D g
       apply(rule_tac x=y inbexI, auto
      by\<open>h' \<in> hom C A\<close> f.hom_closed hom_in_carrier)
  qed
  show "(java.lang.StringIndexOutOfBoundsException: Range [0, 156) out of bounds for length 30
     rule.iso_eqwhere="(x,y). (h x,k y)"])
    using ex
    apply (auto simp kerf " G C f = j` carrier B" and" A" "group B" " \ hom A G"
     apply ( f.hom_closedfr_one imageI
    apply (metis g.hom_closed obtain h' where "' <in> hom C A" "(\<forall>x \<in> carrier A. h'(h x) = x)"
    done
qed

subsection \<open>Splitting lemmas and Short exact sequences\<close>
text<> from HOL Light by LCP\<close>

definition short_exact_sequence
  where "short_exact_sequence A B C f g \ \T1 T2 e1 e2. exact_seq ([T1,A,B,C,T2], [e1,f,g,e2]) \ trivial_group T1 \ trivial_group T2"

lemma short_exact_sequenceD (rulehom_group_mult)
  assumes "short_exact_sequence A B C f g" shows "exact_seq ([A,B,C], [f,g by(simp_all add: group_hom_def hom_of_fst [unfolded o_def] hom_of_snd [unfolded o_def])
  using assms
  apply (autousingexby (simpadd: hom_paired)
   ( addepi_iff_subset. group_homkernel_to_trivial_group)
  by (metis (no_types, lifting) group_hom.inj_iff_trivial_ker group_hom.intro group_hom_axioms.intro
      hom_one image_empty image_insert mem_Collect_eq mon_def trivial_group_def)

mmashort_exact_sequence_iff:
  "short_exact_sequencefix x
proof -
  have "short_exact_sequence A B C f g"
    if    assume x: " \ carrier G"
  proof -
    show ?thesis
      unfolding short_exact_sequence_def
    proof(ntro conjI)
      have       by (simp add: kernel_def hom_in_carrier hh' fih)
        using that by (simpadd: kernel_def epi_def)
      moreoverhave "ernelCBg = {\\<^bsub>C\<^esub>}"
        using that     "i(h (fx) \<^bsub>G\<^esub> (x \\<^bsub>G\<^esub> inv\<^bsub>G\<^esub> i (h' (f x))) = x \\<^bsub>G\<^esub> (i (h' (f x)) \\<^bsub>G\<^esub> inv\<^bsub>G\<^esub> i (h' (f x)))"
      ultimately show "exact_seq ([singleton_group (one A), A, B, C, singleton_group (one C)], [\x. \\<^bsub>A\<^esub>, f, g, id])"
        using that
        by (simpadd: group_hom_defgroup_hom_axioms_def group.id_hom_singleton
    qed auto
qed
  then show ?thesis
    using short_exact_sequenceD by blast
qed

lemmaapply (rule_tac x="h'(f x)" in bexI)
  assumes "exact_seq ([D,C,B,A], [h,g,f])" " apply (rule_tac x=y in bexI, auto)
  shows       meson
  using assms
  applysjava.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 12
  by (metis (no_types) group_homimage_from_trivial_group group_homiso_iff
      group_hom.kernel_to_trivial_group group_hom.trivial_ker_imp_inj group_hom_axioms.intro group_hom_def ex

lemma splitting_sublemma_gen:
  a (metisfhom_closed.r_one imageI
       "subgroup "and "H K \ {one B}" and eq: "set_mult B H K = carrier B"
  shows    done
proof -
  interpret KB subgroup java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
    by (rule " A B C T1 T2 e1 e2. exact_seq ([T1,A,B,C,T2], [e1,f,g,e2]) \ trivial_group T1 \ trivial_group T2"
  interpret fAB: group_hom A B f
    using ex by simp
  interpret gBC: group_homassumesshort_exact_sequence  f"shows"xact_seq(AB] fg)\<and> f \<in> epi B A \<and> g \<in> mon C B"
    using ex by (simp simp: epi_iff_subset.introgroup_homkernel_to_trivial_group.intro
   "group A" group""group "and kerg kernel C =f` carrier A"
      using ex autogroup_hom_def
  have ker_eq: "kernel B C g = H"
    using ex       image_emptyimage_insert mon_def)
  then subgroup BB""g \ iso (subgroup_generated B K) C"

proof -
  interpret gBC: group_hom B C g
    using ex by      short_exact_sequenceD[ ex by(simp :  group_hom_axioms_def
  have "group A"   [OF] by( add group_hom_axioms_def
usingexsimp group_hom_axioms_def)
  then have " \bsub>B\<^esub> g' ` carrier C = carrier B"
    using" A"groupgroup
  interpretB  =  carrier"
    using assms by (autousinggroup_semidirect_sum_ker_image[f g g CCB]short_exact_sequenceDOF ex]
  let ?H = "f ` carrier A"
  letK  kernel  f
  show thesis
  proof
    show "?H \ B"
      by (simp add: gBC.normal_kernel flip "kernel B C \ (g' ` carrier C) \ {\\<^bsub>B\<^esub>}" "(kernel B C g) <#>\<^bsub>B\<^esub> (g' ` carrier C) = carrier B"
    show "?K \ B"
      by (rule f'by (auto simp: *)
show? <> ?K\<>java.lang.StringIndexOutOfBoundsException: Index 104 out of bounds for length 104
       * byjava.lang.StringIndexOutOfBoundsException: Range [21, 22) out of bounds for length 21
    show "f \ Group.iso A (subgroup_generated B ?H)"
      using ex by (simp add: by( add .His_group gBCgroup_homgroup_hom_axioms_def
    have C: "C = subgroup_generated C(g ` carrier B)"
       surj simp: gBC)
    show "g \ Group.iso (subgroup_generated B ?K) C"
      apply (subst C)
       splitting_sublemma_gen[ exrefl]
      using * by (auto ex short_exact_sequenceB f  g' g hom C B" and gg': "\z. z \ carrier C \ g(g' z) = z"in CBandgg java.lang.StringIndexOutOfBoundsException: Index 141 out of bounds for length 141
  qed
qed

lemma -
  assumes ex: " *: " A"" B"groupC"
    and inv: "(\x. x \ carrier A \ f'(f x) = x)"
    and injf: "inj_on f (carrier A)" and    by simp_all'java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
 obtains H K where "H \ B" "K \ B" "H \ K \ {one B}" "set_mult B H K = carrier B"
                   "f \ iso A (subgroup_generated B H)" "g \ iso (subgroup_generated B K) C"
proof
  interpret fAB: group_hom A B f
    using ex by simp
  interpret gBC: group_hom B C g
    using ex by (simp add: group_hom_def group_hom_axioms_def)
  have "group A" "group B" "group C" and kerg: "kernel B C g = f ` carrier A"
      using ex by (auto simp: group_hom_def group_hom_axioms_def)
  have iso: "f' \ f \ Group.iso A A"
    using ex by (auto simp: inv intro:  group.iso_eq [OF \<open>group A\<close> id_iso])
  show thesis
    by (metis that splitting_lemma_left_gen [OF ex f' iso injf surj])
qed

lemma splitting_lemma_right_gen:
  assumes ex: "short_exact_sequence C B A g f" and g': "g' \<in> hom C B" and iso: "(g \<circ> g') \<in> iso C C"
 obtains H K where "H \ B" "subgroup K B" "H \ K \ {one B}" "set_mult B H K = carrier B"
                   "f \ iso A (subgroup_generated B H)" "g \ iso (subgroup_generated B K) C"
proof
  interpret fAB: group_hom A B f
    using short_exact_sequenceD [OF ex] by (simp add: group_hom_def group_hom_axioms_def)
  interpret gBC: group_hom B C g
    using short_exact_sequenceD [OF ex] by (simp add: group_hom_def group_hom_axioms_def)
  have *: "f ` carrier A \ g' ` carrier C = {\\<^bsub>B\<^esub>}"
          "f ` carrier A <#>\<^bsub>B\<^esub> g' ` carrier C = carrier B"
          "group A" "group B" "group C"
          "kernel B C g = f ` carrier A"
    using group_semidirect_sum_ker_image [of g g' C C B] short_exact_sequenceD [OF ex]
    by (simp_all add: g' iso group_hom_def)
  show "kernel B C g \ B"
    by (simp add: gBC.normal_kernel)
  show "(kernel B C g) \ (g' ` carrier C) \ {\\<^bsub>B\<^esub>}" "(kernel B C g) <#>\<^bsub>B\<^esub> (g' ` carrier C) = carrier B"
    by (auto simp: *)
  show "f \ Group.iso A (subgroup_generated B (kernel B C g))"
    by (metis "*"(6) fAB.group_hom_axioms group.iso_onto_image group_hom_def short_exact_sequenceD [OF ex])
  show "subgroup (g' ` carrier C) B"
    using splitting_sublemma
    by (simp add: fAB.H.is_group g' gBC.is_group group_hom.img_is_subgroup group_hom_axioms_def group_hom_def)
  then show "g \ Group.iso (subgroup_generated B (g' ` carrier C)) C"
    by (metis (no_types, lifting) iso_iff fAB.H.hom_from_subgroup_generated gBC.homh image_comp inj_on_imageI iso subgroup.carrier_subgroup_generated_subgroup)
qed

lemma splitting_lemma_right:
  assumes ex: "short_exact_sequence C B A g f" and g': "g' \<in> hom C B" and gg': "\<And>z. z \<in> carrier C \<Longrightarrow> g(g' z) = z"
 obtains H K where "H \ B" "subgroup K B" "H \ K \ {one B}" "set_mult B H K = carrier B"
                   "f \ iso A (subgroup_generated B H)" "g \ iso (subgroup_generated B K) C"
proof -
  have *: "group A" "group B" "group C"
    using group_semidirect_sum_ker_image [of g g' C C B] short_exact_sequenceD [OF ex]
    by (simp_all add: g' group_hom_def)
  show thesis
    apply (rule splitting_lemma_right_gen [OF ex g' group.iso_eq [OF _ id_iso]])
    using * apply (auto simp: gg' intro: that)
    done
qed


end

100%

B H K = carrier B"
                   "f \ iso A (subgroup_generated B H)" "g \ iso (subgroup_generated B K) C"
proof
  interpret fAB: group_hom                   f java.lang.StringIndexOutOfBoundsException: Index 100 out of bounds for length 100
using OF] simp addgroup_hom_def)
  interpret gBC: group_hom B C g
    usingshort_exact_sequenceD ex  (simp: group_hom_def)
  have *: "f ` using by (auto simp: group_hom_defjava.lang.StringIndexOutOfBoundsException: Index 63 out of bounds for length 63
          f `carrierA<#><^bsub\<^esub> g' ` carrier C = carrier B"
          "groupA " B" " C"
          "kernel B Cg f `carrier A"
      [ 'C C ] short_exact_sequenceD [OF ex
    by (simp_all add: g' iso group_hom_def)
  show " let ?="kernel BA '"
    byjava.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 7
  show(   g) \<inter> (g' ` carrier C) \<subseteq> {\<one>\<^bsub>B\<^esub>}" "(kernel B C g) <#>\<^bsub>B\<^esub> (g' ` carrier C) = carrier B"
    by( simp
  show " "H\<inter subseteq {<one>\<^bsub>B\<^esub>}" "?H <#>\<^bsub>B\<^esub> ?K = carrier B"
    by (metis       using auto
  show "subgroup (g' ` carrier C) B"
    using splitting_sublemma
     simp:fAB. g' gBC.is_group group_hom.img_is_subgroup group_hom_axioms_def group_hom_def)
  then show "g \ Group.iso (subgroup_generated B (g' ` carrier C)) C"
    by (metis (no_types, liftingusing by( add.subgroup_generated_group_carrier
qed

lemma apply (rule OF refl])
  assumes:" C Ag "and:"'\ hom " and ':"z. z \ carrier C \ g(g' z) = z"
 obtains H K where "H \ B" "subgroup K B" "H \ K \ {one B}" "set_mult B H K = carrier B"
                   "f qed
proof-
have group group " java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 39
    using group_semidirect_sum_ker_image [of g g' C C B] short_exact_sequenceD [OF ex]
by( add: g' group_hom_def)
  show thesis
    apply (rule splitting_lemma_right_gen [OF ex g' group.iso_eq [OF _ id_iso]])
    using * apply (auto simp: gg' intro: that)
    done
qed



100%


¤ Dauer der Verarbeitung: 0.15 Sekunden  (vorverarbeitet)  ¤

*© 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 ist 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