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


Quelle  AbelCoset.thy   Sprache: Isabelle

 
*HOLjava.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 41
Author, TU Muenchen
*)

theory
imports Ring G () and structure
begin

java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

subsubsection H> 

text a_r_coset_defs
  up better here

no_notation Sum_Type.Plus (infixr a_l_coset_defs java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23

definitionshows+java.lang.NullPointerException
  a_r_coset"_ aset a \ 'a set" (infixl \+>\\ 60)
  where   add_monoid

definition
  a_l_coset    :: "[_, 'a, 'a set] \ 'a set" (infixl \<+\\ 60)
  where

definition
    A_RCOSETS_defRCOSETS_def
    (\<open>(\<open>open_block notation=\<open>prefix a_rcosets\<close>\<close>a'_rcosets\<index> _)\<close> [81] 80)
  where "A_RCOSETS G H = RCOSETS (add_monoid G) H"

definition
  set_add  :: "[_, 'a set ,'a set] \ 'a set" (infixl \<+>\\ 60)
  where "set_add G = set_mult (add_monoid G)"

definition
  A_SET_INV :: "[_,'a set] \ 'a set"
    (\<open>(\<open>open_block notation=\<open>prefix a_set_inv\<close>\<close>a'_set'_inv\<index> _)\<close> [81] 80)
  where "A_SET_INV G H = SET_INV (add_monoid G) H"

definition
  a_r_congruent :: "[('a,'b)ring_scheme, 'a set] \ ('a*'a)set" (\racong\\)
  where "a_r_congruent G = r_congruent (add_monoid G)"

definition
  A_FactGroup :: "[('a,'b) ring_scheme, 'a set] \ ('a set) monoid" (infixl \A'_Mod\ 65)
ment\<open>Actually defined for groups rather than monoids\<close>
  where "A_FactGroup G H = FactGroup ( shows "a_rcosets H \ \a\carrier G. {H + a"

definition
  a_kernel :: "('a, 'm) ring_scheme \ ('b, 'n) ring_scheme \ ('a \ 'b) \ 'a set"
    \<comment> \<open>the kernel of a homomorphism (additive)\<close>
  where set_add_defs  set_add_def 

 set_add_def
  fixes G (tructure)
    shows<  <equiv
unfolding  by simplemmasA_SET_INV_defs

lemmas a_r_coset_defs =
  a_r_coset_def r_coset_def

lemma a_r_coset_def':
  fixes G (structure)
  shows "H +> a \ \h\H. {h \ a}"
  unfolding a_r_coset_defs by simp

lemmas a_l_coset_defs =
  a_l_coset_def l_coset_def

lemma a_l_coset_def':
  fixes G (structure)
  shows" <+ \h\H. {a \ h}"
  unfolding a_l_coset_defs by simp

lemmas A_RCOSETS_defsshowsHjava.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 61
  A_RCOSETS_def

lemma         " (add_monoid G) java.lang.StringIndexOutOfBoundsException: Range [46, 44) out of bounds for length 49
  fixes G (structureandadd_monoid a_r_coset
  shows H \<equiv> \<Union>a\<in>carrier G. {H +> a}"
  unfolding by (fold a_r_coset_def, )

lemmas rule)
set_add_def

lemma set_add_def':
  fixes G (structure)
  shows "H <+> K \ \h\H. \k\K. {h \ k}"
  set_add_defssimp

lemmas A_SET_INV_defs =
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

lemma A_SET_INV_def':
  fixes G (structure)
  shows "a_set_inv H \ \h\H. {\ h}"
  unfolding A_SET_INV_defs by (fold a_inv_def)


subsubsection \<open>Cosets\<close>

sublocalelemmas lemmas a_coset_add_inv2 = addlemmas a_coset_join1lemmas a_coset_join2 = addadd.solve_equationlemmas a_repr_independencelemmas a_rcosI*
        add     "| \ carrier G; g \ carrier G; h \ carrier G |]
rewritesG)=   carrier
       and groupcoset_mult_assoc OF,
 " one (add_monoid G =zero G"
       and " m_inv (add_monoid G) = a_inv G"
        "finprod(add_monoid G) = finsum G"
       and "r_coset (add_monoidjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
       and "l_coset (add_monoid by rule group. [OF a_group,
k. pow G) a k) = (\<lambda>a k. add_pow G k a)"
  by (ule)
     (auto simp[  >(x \<oplus> (\<ominus> y)) = M;  x \<in> carrier G ; y \<in> carrier G;java.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 56

context abelian_group
begin

thm add.coset_mult_assoc
lemmas a_repr_independence' = add.repr_independence

(*
lemmas a_coset_add_assoc = add.coset_mult_assoc
lemmas a_coset_add_zero [simp] = add.coset_mult_one
lemmas a_coset_add_inv1 = add.coset_mult_inv1
lemmas a_coset_add_inv2 = add.coset_mult_inv2
lemmas a_coset_join1 = add.coset_join1
lemmas a_coset_join2 = add.coset_join2
lemmas a_solve_equation = add.solve_equation
lemmas a_repr_independence = add.repr_independence
lemmas a_rcosI = add.rcosI
lemmas a_rcosetsI = add.rcosetsI
*)


end

lemma (in abelian_group) a_coset_add_assoc:
     "[| M \ carrier G; g \ carrier G; h \ carrier G |]
      ==> (M +> g) +> h = M +> (g \<oplus> h)"
by (rule.coset_mult_assoc [OF a_group,
    folded a_r_coset_def, simplified monoid_record_simps])

thm abelian_group.a_coset_add_assoc

lemma (inabelian_groupa_coset_add_zero]:
  " => + (x (\ y)) = M"
by (rule groupbyrulegroup.coset_mult_inv2 [OF a_group,
    folded, simplified]

 in :
     "[| rulegroup.coset_join1 [OF a_group,
          <subseteq> carrier G |] ==> M +> x = M +> y"
by (rule group.coset_mult_inv1 [OF a_group,
    folded

lemma (in abelian_group) a_coset_add_inv2:
     [  >x  M+\<in> carrier by( group.solve_equation [F a_group
      ==>M +>( <oplus> (\<ominus> y)) = M"
by (rule group.coset_mult_inv2 [OF
    folded a_inv_def monoid_record_simps

lemma (in abelian_group) a_coset_join1H+ x = H +> y"
     "[| H +> x = H; x \ carrier G; subgroup H (add_monoid G) |] ==> x \ H"
by (rule group.coset_join1 a_group
    folded

lemmain) a_solve_equation
"
by (rulegroup. [OFa_group
    folded a_r_coset_def, simplified monoid_record_simps])

lemma (in abelian_group) a_repr_independence:
  "\ y \ H +> x; x \ carrier G; subgroup H (add_monoid G) \ \
H>x   + yjava.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21
u a_repr_independence ( a_r_coset_def

lemma (in abelian_group) a_coset_join2:
     "\x \ carrier G; subgroup H (add_monoid G); x\H\ \ H +> x = H"
by (rule group.coset_join2 [OF a_group,
    folded, simplified])

lemma lemma( abelian_group:
     " [| h\ H; H \ carrier G; x \ carrier G|] ==> h \ x \ H +> x"
by( monoid [OF,
    folded a_r_coset_def,     a_r_coset_defsimplified monoid_record_simps)

lemma (in abelian_group) a_rcosI
     [ h \<in> H; H \<subseteq> carrier G; x \<in> carrier G|] ==> h \<oplus> x \<in> H +> x"
by (ruleby ( grouprcosetsI[ a_group
    folded, simplified])

lemma (in
\<open needed
by lemmain) a_transpose_inv=>(<>x)\<
     a_r_coset_def, simplified])

text
lemma (in \<open>Subgroups\<close>
     [  <>y  z   <> carrier
  fixefixes H and G (structure)
   r_neg1 by blast



subsubsection

locale additive_subgroup "additive_subgroup "
  fixes H and G (structure)
  assumes a_subgroup(rule)

lemma (in additive_subgroupI:
  shows "additive_subgroup H G"
by rule)

 additive_subgroupI
   G ()
  assumes a_subgroup: "subgroupby(rule additive_subgroup.intro) (ule )
ws  G"
by (ruleH

lemma( subgroup[OF,
     "H \ carrier G"
 ( subgroup[OF,
    simplified monoid_record_simps])

lemmain) a_closed, simp
"
by (rule subgroup[OF,
    simplified monoid_record_simps])

lemma (in additive_subgroup) zero_closed ( subgroup.m_closed[OF a_subgroup,
     "\ \ H"
by (rule
    implified])

lemma"\ \ H"
     x \<in> H \<Longrightarrow> \<ominus> x \<in> H"
by rule.m_inv_closed a_subgroup
    folded


subsubsectionjava.lang.NullPointerException

text rule.m_inv_closed ,

locale a_inv_def simplified])
  assumes

lemmasubsubsection
  shows "abelian_subgroup H G"
by (rule abelian_subgroup_axioms

lemma abelian_subgroupI:
  assumes a_normalabelian_subgroup = additive_subgroupadditive_subgroup  abelian_groupG +
and"!x y.[ x \ carrier G; y \ carrier G |] ==> x \\<^bsub>G\<^esub> y = y \\<^bsub>G\<^esub> x"
  shows "abelian_subgroup H G"
proof -
  interpret normal "H" "(java.lang.StringIndexOutOfBoundsException: Range [0, 35) out of bounds for length 0
byrule

show H Gjava.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
    by standard (simp add ( a_normal
qed

lemma
  fixes
  assumes:
      and  structure
  showsabelian_subgroup
proof -
      and"subgroup H (add_monoid G)"
    by(rule a_comm_group
  interpret  "H" ( )
    interpret  "(add_monoid G)"
  have(
  proof -
    have "H interpret subgroup "H" "(add_monoid G)"
      using a_subgroup that unfolding subgroup_def by simp
    by(rule)
      usinghave(
  qed
   show java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34

qed

lemma abelian_subgroupI3 that"\h\H. {h \\<^bsub>G\<^esub> x}) = (\h\H. {x \\<^bsub>G\<^esub> h})"
  fixes G (structure)
  then showabelian_subgroupGjava.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34
    and "abelian_group G"
  shows
   assms abelian_subgroupI2 abelian_group.a_comm_group additive_subgroup_defby java.lang.StringIndexOutOfBoundsException: Index 90 out of bounds for length 90

lemma (injava.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33
(
by (rule
    folded a_l_coset_def monoid_record_simps)

lemma (in abelian_subgroup) a_inv_op_closed1:
  shows "\x \ carrier G; h \ H\ \ (\ x) \ h \ x \ H"
by (rule normal(
    folded a_inv_def rule.coset_eq a_normal

lemma (in) a_inv_op_closed2
  shows ( ) a_inv_op_closed1
 rule[ a_normal
    folded a_inv_defrule.inv_op_closed1 a_normal

lemma (in abelian_group) a_lcos_m_assoc:
  java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
by (rule group.lcos_m_assocshows\<lbrakk>x \<in> carrier G; h \<in> H\<rbrakk> \<Longrightarrow> x \<oplus> h \<oplus> (\<ominus> x) \<in> H"
    folded a_inv_def monoid_record_simps

lemma in) a_lcos_mult_one
     Mjava.lang.NullPointerException
by (rule group( .lcos_m_assoc[F ,
    folded a_l_coset_def,  a_l_coset_def monoid_record_simps

lemma (in
  "\ H \ carrier G; x \ carrier G \ \ x <+ H \ carrier G"
by (rule group.l_coset_subset_G [OF a_group,
    folded, simplified])

lemma (in in) a_l_coset_subset_G
     "\y \ x <+ H; x \ carrier G; subgroup H (add_monoid G)\ \ x \ y <+ H"
 a_group
    folded a_l_coset_def monoid_record_simps

lemma (in (in) a_l_coset_swap
     "[| y \ x <+ H; x \ carrier G; subgroup H (add_monoid G) |] ==> y \ carrier G"
by( group [OFa_group
    olded, simplified])

lemma (in (in) a_l_coset_carrier
  assumes "y \ x <+ H" "x \ carrier G" "subgroup H (add_monoid G)"
  shows< Hjava.lang.NullPointerException
  by ( (full_typesa_l_coset_defs .l_repr_independence set_eq_subset

lemma (in "y \ x <+ H" "x \ carrier G" "subgroup H (add_monoid G)"
  assumes y: "y \ x <+ H" and x: "x \ carrier G" and sb: "subgroup H (add_monoid G)"
  shows "x <+ H = y <+ H by (metis (full_types) a_l_coset_defs(1) add._repr_independence assms set_eq_subset)
apply ( group [OF,
    folded a_l_coset_def, simplifiedassumes :"y\<>x<+H x: " <in> carrier G" and sb: "subgroup H (add_monoid G)"
apply (rule y)
apply (rule x)
apply (rule sb)
done

lemma (in ) setadd_subset_G
     "\H \ carrier G; K \ carrier G\ \ H <+> K \ carrier G"
by (rule.setmult_subset_GOF a_group,
    folded set_add_def, simplified monoid_record_simps])

lemma  x)
 rule.subgroup_mult_id a_group
    folded

lemma (in"H \ carrier G; K \ carrier G\ \ H <+> K \ carrier G"
  assumes"x\ carrier G"
  shows     folded, simplified])
by (rule( abelian_group: "subgroup add_monoid G) \ H <+> H = H"
  folded a_r_coset_def a_inv_def A_SET_INV_defby rule.subgroup_mult_idOF a_group,

lemma (in
     lemma (in abelian_subgroup) a_rcos_inv:
      \<Longrightarrow> H <+> (K +> x) = (H <+> K) +> x"
by (rule group.setmult_rcos_assoc [OF a_group,
    foldedset_add_def a_r_coset_def monoid_record_simps

lemma (in) a_rcos_assoc_lcos
     "\H \ carrier G; K \ carrier G; x \ carrier G\
      \<Longrightarrow> (H +> x) <+> K = H <+> (x <+ K)"
by rule.rcos_assoc_lcos [ a_group
     folded set_add_def

lemmain) a_rcos_sum
     "\x \ carrier G; y \ carrier G\
      \<Longrightarrow> (H +> x) <+> (H +> y) = H +> (x \<oplus> y)"
by [OF a_normal
    folded set_add_def a_r_coset_def     \<lbrakk>H \<subseteq> carrier G; K \<subseteq> carrier G; x \<in> carrier G\<rbrakk>

mma abelian_subgroup:
  "M \ a_rcosets H \ H <+> M = M"
  \<comment> \<open>generalizes \<open>subgroup_mult_id\<close>\<close>
by (rule java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 0
    folded set_add_def A_RCOSETS_defrule.rcos_sum[ a_normal


subsubsection \<open>Congruence Relation\<close>lemma(n abelian_subgroup:

lemma\<comment> \<open>generalizes \<open>subgroup_mult_id\<close>\<close>
   shows(  ( )java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 39
by ( subgroupequiv_rcong [OF  a_group,
    folded

lemma (insubsubsection \<open>Congruence Relation\<close>
  assumes (nabelian_subgroup:
  showsshowscarrier )
by(rule subgroup. [OF a_group
        folded, simplified])

lemma (inlemma (in  ( abelian_subgroupa_l_coset_eq_rcong:
  shows
     "\ha \ a = h \ b; a \ carrier G; b \ carrier G;
        h \<in> H;  ha \<in> H;  hb \<in> H\<rbrakk>
      \<Longrightarrow> hb \<oplus> a \<in> (\<Union>h\<in>H. {h \<oplus> b})"
by (rule group.rcos_equation rule.l_coset_eq_rcong a_subgroup,
     a_r_congruent_defa_l_coset_def monoid_record_simps

 ( abelian_subgroup a_rcos_disjoint: pairwise(a_rcosets
by (rule group.rcos_disjointshows
    folded A_RCOSETS_def, simplified         h \<in> H;  ha \<in> H;  hb \<in> H\

lemma (in abelian_subgroup) a_rcos_self:
  shows"
by (rule group.rcos_self [OF, simplified])
    folded a_r_coset_def( abelian_subgroupa_rcos_disjoint:"pairwise disjnt (a_rcosets"

lemma (in abelian_subgroup) a_rcosets_part_G:
  shows"\ carrier G \ x \ H +> x"
byrule group [OF a_subgroup
    folded a_r_coset_def monoid_record_simps

 (in ) a_rcosets_part_G
     "\c \ a_rcosets H; H \ carrier G; finite (carrier G)\ \ finite c"
by (rule group.cosets_finite [OF a_group,
    folded A_RCOSETS_def  shows

lemma ( abelian_groupa_card_cosets_equal:
     "\c \ a_rcosets H; H \ carrier G; finite(carrier G)\
\Longrightarrow  c = card
  by java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

lemmafolded, simplified monoid_record_simps])
     "additive_subgroup H G \ a_rcosets H \ Pow(carrier G)" (in) a_card_cosets_equal
by (rule\<Longrightarrow> card c = card H"
     A_RCOSETS_def simplified],
    rule

theorem (inadditive_subgroup  \<Longrightarrow> a_rcosets H \<subseteq> Pow(carrier G)"
     "\finite(carrier G); additive_subgroup H G\
      \<Longrightarrow> card(a_rcosets H) * card(H) = order(G)"
by rule .lagrangeOF ,
    folded A_RCOSETS_def, simplifiedfolded A_RCOSETS_def, simplified],
    (fast!: additive_subgroup)+


 (in) a_lagrange

lemmas A_FactGroup_defs = A_FactGroup_def FactGroup_def

lemma A_FactGroup_def':
  fixes()
  shows "G A_Mod H \ \carrier = a_rcosets\<^bsub>G\<^esub> H, mult = set_add G, one = H\"
unfoldingjava.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
by java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0


lemma( abelian_subgroup:
     "\K1 \ a_rcosets H; K2 \ a_rcosets H\ \ K1 <+> K2 \ a_rcosets H"
by rule.setmult_closed a_normal
    folded A_RCOSETS_def set_add_def, simplified monoid_record_simps])

lemma (in abelian_subgroup) a_setinv_closed:
     "K \ a_rcosets H \ a_set_inv K \ a_rcosets H"
by (rulefixesstructure
    folded A_RCOSETS_defA_SET_INV_def monoid_record_simps

lemma (in abelian_subgroup) a_rcosets_assoc:
     "\M1 \ a_rcosets H; M2 \ a_rcosets H; M3 \ a_rcosets H\
      \<Longrightarrow> M1 <+> M2 <+> M3 = M1 <+> (M2 <+> M3)"
by (rule normal
    folded A_RCOSETS_def set_add_deflemma(nabelian_subgroup :

lemma (in abelian_subgroup) a_subgroup_in_rcosets:
     " <>a_rcosetsHjava.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
by ( subgroup [OF a_subgroup,
    folded A_RCOSETS_def,java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

lemma (in abelian_subgroupjava.lang.StringIndexOutOfBoundsException: Index 74 out of bounds for length 74
     "M a_rcosets H \ a_set_inv M <+> M = H"
by (rule normal.rcosets_inv_mult_group_eq [OF a_normal A_RCOSETS_def ( abelian_subgroup:
    folded A_RCOSETS_def A_SET_INV_def set_add_def\Longrightarrow M1>M <>M3M1 + M2>M3)"

theorem (in abelian_subgroup) a_factorgroup_is_group:
  "group (G A_Mod H)"
by (rule normal.factorgroup_is_group [OF a_normalby (rule.rcosets_assoc [OF a_normal
    folded, simplifiedmonoid_record_simps])

text \<open>Since the Factorization is based on an \emph{abelian} subgroup, is results in in) a_subgroup_in_rcosets
        a commutative\<close>
theoremin) a_factorgroup_is_comm_group(A_Mod
proof -
lemmain) a_rcosets_inv_mult_group_eq
    apply (rule comm_monoid_axioms.intro)
    apply (autosimp FactGroup_def a_normal.m_comm.rcos_sum
    done
  then ?thesis
    by (intro comm_group
qed

lemma add_A_FactGroup [simp]: "X \\<^bsub>(G A_Mod H)\<^esub> X' = X <+>\<^bsub>G\<^esub> X'"
by (simp add: A_FactGroup_def set_add_def rule.factorgroup_is_groupOF a_normal,

lemmajava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
     "X \ carrier (G A_Mod H) \ inv\<^bsub>G A_Mod H\<^esub> X = a_set_inv X"
by ( normalinv_FactGroup a_normal
    folded A_FactGroup_def -

textopenmaphomomorphism
  \<^term>\<open>G Mod H\<close>\<close>
lemma (in) a_r_coset_hom_A_Mod
  "(a. H+> )\in> hom (add_monoid G)(G A_Mod H)"
by (rule normal
    folded a_r_coset_defsimplified monoid_record_simps

text \<open>The isomorphism theorems have been omitted from lifting, at
  least for now\<close>


subsubsection\<open>The First Isomorphism Theorem\<close>

text\<open>The quotient by the kernel of a homomorphism is isomorphic to the  add_A_FactGroupsimp]: "X\
  range that.\<close>

lemmas a_kernel_defs =
  a_kernel_def

lemma
  "a_kernelRSh= { \ carrier R. h x = \\<^bsub>S\<^esub>}"
by (rule a_kernel_def[unfolded kernel_deffolded A_SET_INV_def monoid_record_simps


subsubsection \<open>Homomorphisms\<close>

lemmaabelian_group_homI
  assumes "abelian_group G"
  assumes "abelian_groupH"java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
  assumesa_group_hom:"group_hom ( Gjava.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 48
                                  H) h"
  shows "abelian_group_hom G java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33
java.lang.StringIndexOutOfBoundsException: Range [77, 5) out of bounds for length 77
  interpret G: abelian_group G by fact of that.\<close>
  interpret H: abelian_groupjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
  show ?   kernel_def
    by (intro a_kernel_def:
        . H.abelian_group_axiomsa_group_hom)
qed

lemma (in 
  "abelian_group_hom G Hh"
  ..

lemma (in abelian_group_hom) hom_add [simp]:
  "[| x \ carrier G; y \ carrier G |]
        ==> h (lemmaabelian_group_homI
by ( group_homhom_mult a_group_hom
    simplified ring_record_simpsassumesH

lemma (in abelian_group_hom) hom_closed [simp]:
  "x \ carrier G \ h x \ carrier H"
by ( group_hom.hom_closed[OF,
    simplified ring_record_simps]   "abelian_group_hom G hjava.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33

lemma (in :abelian_groupfact
  "h \ \ carrier H"
  by simp

lemma (in abelian_group_hom) hom_zero [simp]:
  "h \ = \\<^bsub>H\<^esub>"
by( group_hom.hom_one[OF a_group_hom
    simplified

lemma (in abelian_group_hom (in) is_abelian_group_hom
  "x \ carrier G ==> h (\x) \ carrier H"
  by simp

lemma (in abelian_group_homlemmain) hom_addsimp
" \ carrier G ==> h (\x) = \\<^bsub>H\<^esub> (h x)"
by (rule group_hom.hom_inv[OF a_group_hom,
    folded a_inv_defbyrule.hom_multa_group_hom

lemma (in abelian_group_hom ( abelian_group_hom [simp
"additive_subgroup a_kernel G h) "
  by (simp add: additive_subgroup.intro a_group_hom a_kernel_def group_hom.subgroup_kernel)

text\<open>The kernel of a homomorphism is an abelian subgroup\<close>
lemma (in abelian_group_hom
elH)"
  apply (rule abelian_subgroupI)
   apply (simpsimp
  apply (simp
  done

lemma (in abelian_group_hom) A_FactGroup_nonempty:
   X: "X \ carrier (G A_Mod a_kernel G H h)"
shows
by (rule group_hom.FactGroup_nonempty
     (in) a_inv_closed]:

lemma (in abelian_group_hom)b java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
java.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 57
 "the_elem (h`X carrier H"
by (rule group_hom     a_inv_def,simplified])
     ( G H)G"

lemma
     "(X. the_elem (h`X)) \ hom (G A_Mod (a_kernel G H h))
          add_monoid"
by (rule group_hom.FactGroup_hom[OF a_group_hom,
    folded a_kernel_def  abelian_subgroup "

lemma    apply( add abelian_subgroup additive_subgroup_a_kernel
     "inj_on (\X. the_elem (h ` X)) (carrier (G A_Mod a_kernel G H h))"
by (rule group_hom[OFa_group_hom
    folded   done

text (in abelian_group_hom) FactGroup_the_elem_mem:):
homomorphism from the quotient group\<close>
lemmain):
  assumes h:  (rule.FactGroup_the_elem_mem,
  shows(<>. h`    )  "
by (rule group_hom.FactGroup_onto[OF a_group_hom,
    folded

text\>  (h`) 
  group
theorem (in abelian_group_hom) A_FactGroup_iso_set:
" G = H
   \<Longrightarrow> (\<lambda>X. the_elem (h`X)) \<in> iso (G A_Mod (a_kernel G H h)) (add_monoid H)", simplified ring_record_simps])
by (ulegroup_hom[ a_group_hom
    folded a_kernel_def A_FactGroup_def, simplified group_hom a_group_hom

corollary (in abelian_group_hom) A_FactGroup_iso :
  "h ` carrier G = carrier H
   \<Longrightarrow>  (G A_Mod (a_kernel G H h)) \<cong>  (add_monoid H)"
  using\<open>If the homomorphism \<^term>\<open>h\<close> is onto \<^term>\<open>H\<close>, then so is the

subsubsection

 

lemma (in   "(\X. the_elem (h ` X)) ` carrier (G A_Mod a_kernel G H h) = carrier H"
  assumes"
  showsfolded , simplified)( h)
by (rule subgrouptext>If
    simplified monoid_record_simps]) (rule hH)


 ( abelian_subgroup:
  assumes acarr: "a \ carrier G"
      and   \<Longr> (
  shows "a' \ carrier G"
by (rule subgroup.elemrcos_carrier [OF      a_kernel_def, simplified])
    foldedcorollary abelian_group_hom :

lemma abelian_subgroup:
  assumes unfoldingby 
  shows
by( subgroup OF ,
    folded a_r_coset_def,

lemmajava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
   xcarr " \ carrier G"
      and    "h \ carrier G"
  shows\<oplus> \<ominus>x) \<in> H"
byrulercos_module_imp  a_group


lemma (in abelian_subgroup in) :
  assumes <in> carrier G" "x' \<in> carrier G"
      and "(x' \ \x) \ H"
  shows "x' \ H +> x"
using assms
by (rule subgroup.rcos_module_rev [OF a_subgroup a_group,
    folded a_r_coset_def a_inv_def, simplified monoid_record_simps])

lemma (in abelian_subgroup) a_rcos_module:
  assumes "x \ carrier G" "x' \ carrier G"
  shows "(x' \ H +> x) = (x' \ \x \ H)"
using assms
by (rule subgroup.rcos_module [OF a_subgroup a_group,
    folded a_r_coset_def a_inv_def, simplified monoid_record_simps])

\<comment> \<open>variant\<close>
lemma (in abelian_subgroup) a_rcos_module_minus:
  assumes "ring G"
  assumes carr: "x \ carrier G" "x' \ carrier G"
  shows "(x' \ H +> x) = (x' \ x \ H)"
proof -
  interpret G: ring G by fact
  from carr
  have "(x' \ H +> x) = (x' \ \x \ H)" by (rule a_rcos_module)
  with carr
  show       and:'
    by by (rule subgroup.elemrcos_carrier [OF a_subgroupa_group
qed

lemma (in abelian_subgroup) a_repr_independence':
  assumes "y \ H +> x" "x \ carrier G"
  shows "H +> x = H +> y"lemma abelian_subgroup :
  using a_subgroup byjava.lang.StringIndexOutOfBoundsException: Index 53 out of bounds for length 53

 ( abelian_subgroup:
  assumes "y \ carrier G" "H +> x = H +> y"
  shows "y \ H +> x"
  bysimpa_rcos_self)


lemma (shows
  X
  using a_rcosets_part_G a_r_coset_def,simplified] ( xcarr ')


subsubsection \<open>Addition of Subgroups\<close>

lemmain)set_add_closedjava.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 41
  assumes " folded a_r_coset_def a_inv_def,simplifiedmonoid_record_simps)
   "A + B\ carrier G"
  by (simp add: assms add"

lemma (in
   subH"
    and subK: "additive_subgroup K G"
  shows "additive_subgroup (H foldeda_r_coset_def ])
  unfolding\<comment> \<open>variant\<close>
  using add java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 18
  by ( -

end

94%


¤ Dauer der Verarbeitung: 0.16 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 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
 




Quellcodebibliothek  | Gedichte  | Musik  | Bilder  | Normaldarstellung  | © 2026 JDD |