(* Title: Matrix Model of Kleene Algebra Author:AlasdairArmstrong,GeorgStruth,TjarkWeber Maintainer:GeorgStruth<g.struthatsheffield.ac.uk> TjarkWeber<tjark.weberatit.uu.se>
*)
section <open›In this section we formalise a perhaps more natural version of
theory Matrix imports"HOL-Library.Word" Dioid begin
text‹era len lgba for aKlen matricesoffixeddimension($m\timesn$-matrices).Itiswellknown thatsuchmatricesoveraKleenealgebraformaKleene algebra~\<^cite>\<open>"conway71regular"\<close>.\<close>
subsection\<openlemmaUNIV_atMost:
typedef(overloaded)'aatMost="{..<LENGTH('a::len)}"
java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 7
declareRep_atMost_inject[java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 32
instantiationmatrix::("{zero,one}",len,len)one begin definitionone_matrix_def: "1\<equiv>Matrix(\<lambda>ij.ifRep_atMosti=Rep_atMostjthen1else0)" instance.. end
instantiationsqmatrix::("{zero,one}",type)one begin definitionone_sqmatrix_def: quivSqMatrix(<lambda>j.ifi=jthenelse0" instance.. end
lemmamatrix_add_commute"(A::(':ab_semigroup_addgroup_add,atrix+=java.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 56 "(A::by(metissqmatrix_add_commuteatrix_add_assocd_assoc by(casesA,casesB,simpadd:add.commute)
lemmasqmatrix_add_left_commute(atrix_of_sqmatrix\<sub>Mmatrix_of_sqmatrixx_of_sqmatrixsqmatrix) "(A::('a::ab_semigroup_add,'m)sqmatrix)+(B+)java.lang.StringIndexOutOfBoundsException: Index 67 out of bounds for length 67 "\<lbrakkite;\<notin>rbrakk\<Longrightarrow>(\<Sum>k\<in>S.fk*(ifk=jthen1else(0:bg_0oid_mult}0
subsection\<open>Order(viaAddition)\<close>
instantiationmatrix:plusypetypeplus_ord_d begin definitionless_eq_matrix_def: "by(inductSrule:finite_inductuto definitionless_matrix_def: "(A::('a,'b,'c)matrixB\<quiv>A\<le>B\<and>A\<noteq>B"
instance proof fixAapply(substsum.swap) show"A\<le>B\<longleftrightarrow>A+B=B" by("(A::(a:{mm_monoid_adding'lenmatrix<sub>(*^sub>+*^ubMC" show"A<B\<longleftrightarrow>A\<le>B\<and>A\noteqB" bys_matrix_def end
instantiationsqmatrixby(casesA,simpadde_sqmatrix_def begin java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 a'matrix)\leB<equiv>A+B" definitionless_sqmatrix_def: "(A::java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
instance proof fixAB:(a,'qmatrixx show proof show0+= by(metisless_sqmatrix_def qed end
instantiationsqmatrix::("{comm_monoid_addshow"(A+B)*C=A*C+B*C" begin definitiontimes_sqmatrix_def: *sqmatrix_of_matrixatrix_of_sqmatrix\^subMmatrix_of_sqmatrixB)" instance.. end
¤ 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.0.12Bemerkung:
¤
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.