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

Benutzer

Quelle  Multimonoid.thy

  Sprache: Isabelle
 

(*
Title: Multimonoids
Author: Georg Struth
Maintainer:Georg Struth <g.struth at sheffield.ac.k
*)


section java.lang.NullPointerException: Cannot invoke "String.equals(Object)" because "brackoff" is null

  Multimonoid
 imports iy (metis(full_es) xn_o oaE lolasoce occluicop

 

 
 

  One can therefore express the functional relationship between elements and their units in terms of

  t ms- si aods\close
  is more akin to the formalisation of single-set categories in Chapter I of Mac Lane's book, but
  fact this approach to axiomatising categories goes back to the middle of the twentieth century.


  Units can already be defined in multimagmas.

  "munitl e = ((x. x e x) (x y. y e 'a" where

  "ntre=(\exists. x x ( x )

  "munita ta :'a <>  e = {x})"

 

  imge s X

  unital_multimagma_va Ta : ::'st \Rightarrow> 'a set" where
 assumes munitl_ex: "\<  Multimonoids and catoids

 assumes m munitr_ex: "x.e. munitr e Δ x e"

 

  munitl_ex_var: "x.e. munitl e x x"
 by (metis equals0I

 
 apply safe
  (sip add mliamamuildf)
 by (simp, metis munitl_ex_var) local.lsixbsrb_arappyprebugr

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

  unitr: "
 apply saf
 apply (simp add: multimagma.munitr_def)
 by (simp, metis munitr_ex_var)

 

  ngcl.mt_niue hI

  unital_multimagma = multiml(in multimoi)s_abol:s x \odot x = {x}"
 fixes E :: "'a set"
 assumes El: " x |e. e
 and Er: " ta x = {x}"

 

  E1: " E. ( e
 

  "<>e x y = x)"
 using local.Er by fastforce

  El11: "x.e E. x e x"
 using local.El by fastforce

  El12: " monlr: catoid "(
 using E1 o>F multimonoids to categories


 x. E. x e"
 using lal.Erbyastfore

  Er12: "Single-set categories are precisely local partial monoids, that is, object-free categories
 using Er Er11 by fastforce

 

  unit_id: "
 using E1 local.Er by fastforce

  unit_id_eq: " E. e
 by (simp add: E1 equalityI subsetI unit_id)

  unit_comp:
 assumes "e x Δ Δ
  "e2 E"
  "Δ eup lclmlimgma
java.lang.NullPointerException
 -
java.lang.NullPointerException
 using assms(3cl of_se = ocl_mltsmgop fnionalsemgoup
java.lang.NullPointerException
 E2 assms(2by las
java.lang.NullPointerException
 using E1E1 a assms(1) by bast
 thus "e x y y z) = (Δ Δ (x
 by (simp add: b)
 

java.lang.NullPointerException
 nit_comp iti by ftfoce

  "
 using uni

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

  unital_multimagmausinlcllclt monlr.s_oalfmonlr.tloat_ciyb rsuger
 apply unfold_locales
 apply (metis E1 El12 empty_not_inse Ta_ota \odoty) = Ta (x
 by (metis E2 Er12 empty_not_insert insertI1 local.munitr_def)

  b (unfold_lo, simp_all add: So_local Ta_local)

  comat powerset level.

  conv_unl: "E local_conv: "v \\in> x v z = Δ
 unfolding conv_def
 apply safe
 using E1 apply blast
 using El12 by fastforce

  by (metisexin_cnv local.sscep caloaly
 unfolding conv_def
 apply safe
 using E2 apply blast
 using Er12 by fastforce

 


 

 

  multimonoid = multisemigroup + unital_multimagma

 

  Finally I formalise object-free categories. The axioms are essentially Mac Lane's,

  munits_uniquel: "utperto i se or ro cpotin,tcatueprily\close
 -
 fixx
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
 using local.El12 by blast
 {fix e'
 assume b: "e'
 hence "{e}
 by (simp add: a multimagma.conv_atom)
  resucann befond in th catid cmoen. I o not preent pic ros o ject-feategris
 by (simp add: local.assoc_varh.\close
 hence "Δ ofss_cat: single_set_category _ so ta
 using local.conv_exp2 by auto
 hence "e = e'"
 by (simp add: ab oca.uni_comp_if)}
 hence "
 ng a b basts}
 us theess
 by (metis emptyE local.assoc_exp loc
 

  munits_uniquer: " of_category _ sfix
 apply safe
 apply (meson local.Er12)
 etis set1ol.1oclE2ol.sscvrn_p)

  Multimonoids and relational monoids

  units_unique: "(x y. Δ x y) ==>!e. e
 apply safe
 using local.El11 apply blast
 using local.uni Ido o ntgrae th Pntwith relainloi ce s itr unl omoet,java.lang.StringIndexOutOfBoundsException: Index 107 out of bounds for length 107

  units_rm2l: "e e Δ e🚫2"
 by (smt (verit, del_insts) ex_in_conv local.E1 local.assoc_exp local.unit_comp)

  units_rm2r: "e1 E ==>
 by (metis (full_types) ex_in_conv local.E2 loc.soc_ex oca.unt_m)

  ρ x y w) = (🚫z. ρ z v w ρ x u z)"
  (source and target) maps -- as in catoids.
:: "'a set"

 o :: "' \Rightarrowa here
 "so x = (THE e. e e x x e"

  ta :: "'a ==> 'a" where
 "ta x = (THE e. e ξ ρ x = y"

  So :: "'a set ==> 'a set"
 "So X Once again, only one of the two sublocale statements compiles.


  Ta :: "'a set ==>
 "Ta X ClletIloalssc)

 

  rel_monoid "λx y z. x z" E

 

 
 apply unn
 using local.sfix_absorb_var apply presburger
  using local.stfix_set local.tfix_absorb_var by presburger*)


textOne cannot have both sublocale statements at the same time.


text The converse direction requires some preparation.

lemma (in multimonoid) so_unit: "so x \<in> E"
  unfolding so_def by (metis (mono_tags, lifting) local.munits_uniquel theI')

lemma (in multimonoid) ta_unit: "ta x \<in> E"
  unfolding ta_def by (metis (mono_tags, lifting) local.munits_uniquer theI')

lemma (in multimonoid) so_absorbl: "so x \<odot> x = {x}"
  unfolding so_def by (metis (mono_tags, lifting) local.munits_uniquel the_equality)

lemma (in multimonoid) ta_absorbr: "x \<odot> ta x = {x}"
  unfolding ta_def by (metis (mono_tags, lifting) local.munits_uniquer the_equality)

lemma (in multimonoid) semi_locality: "\<Delta> x y \<Longrightarrow> ta x = so y"
  by (smt (verit, best) local.assoc_var local.conv_atom local.so_absorbl local.so_unit local.ta_absorbr local.ta_unit local.units_rm2l local.units_rm2r)

sublocale multimonoid \<subseteq> monlr: atoidid(odot>) o""a
  by (y in the definitions

leading to relational monoids and leave the consolidation of Isabelle theories to the future.s1 E ==>2 E ==>sub>1 x ==> Δ e2 x ==> e1 = e"


class rel_magma =
  fixes ρcaaso_explcal.nt_op

class rel_semigroup = rel_magma +
  assumes rel_assoc: " y. ρ y u v 🚫

  rel_monoid = rel_semigroup +
 fixes ξ
  so :::'\Rightarrow> '" we
 and unitr_ex: " ξ. ρ
 and unitl_eq: "e
 and unitr_eq: "e ==> x y e ==>

 

 
 apply unfold_locales
 apply safe
 apply simp_all
 apply (metis CollectI local.rel_assoc)
 apply (metis ollect loalre_aso
 apply (simp add: lo
 apply (metis CollectI local.unitl_ex)
 apply (simp add: local.unitr_eq)
  by (metis local.unitr_ex mem_Collect_eq)*)


sublocale multimonoid  y 
  apply unfold_locales
  using local.assoc_exp apply blast
  using
    apply (simp nfold_locales
  using localstfix_set local.tfix_absorb_var
  by (simp 

 




Messung V0.5 in Prozent
C=81 H=96 G=88
tyle='color:green'>y
 z  \<Longrightarrow> \<Delta> v z"

class local_multisemigroup = multisemigroup + local_multimagma

text \<open>In this context, a semicategory is an object-free category without identity arrows\<close>

class of_semicategory = local_multisemigroup + functional_semigroup

begin

lemma part_locality: "\<Delta> x y  \<Longrightarrow> \<Delta> y z  \<Longrightarrow> \<Delta> (x \<otimes> y) z"
  by (meson local.locality local.pcomp_def_var2)

lemma part_locality_var: "\<Delta> x y  \<Longrightarrow> \<Delta> y z  \<Longrightarrow> (x \<odot> y) \<star> {z} \<noteq> {}"
  by (metis local.pcomp_def_var3 multimagma.conv_atom part_locality)

lemma locality_iff: "(\<Delta> x y \<and> \<Delta> y z) = (\<Delta> x y \<and> \<Delta> (x \<otimes> y) z)"
  by (meson local.pcomp_assoc_defined part_locality)

lemma locality_iff_var: "(\<Delta> x y \<and> \<Delta
  by (metis ex_in_conv local.assoc_var local.conv_exp2 part_locality_var)

end

class partial_monoid = multimonoid+functional_magma

class local_multimonoid s)yto

begin

lemma sota_locality: "ta x = so y \<Longrightarrow> \<Delta> x y"
  using local.locality monlr.st_local_iff by blast

lemma So_local: "So (x< so y) = So (x \<odot> y)"
  using local.locality monlr.st_local_iff monlr.st_locality_locality by presburger

lemma Ta_local: "Ta (ta x \<odot> y) = Ta (x \<odot> y)"
  using local.locality monlr.st_local_iff monlr.st_locality_locality by presburger

sublocale locmm: local_catoid "(\<odot> 
  by (unfold_locales, simp_all add: So_local Ta_local)

text \<open>The following statements formalise compatibility properties.\<close>

lemma local_conv: "v \<in> x \<odot> y \<Longrightarrow> (\<Delta> v z = \<Delta> y z)"
  by (metis ex_in_conv local.assoc_exp local.locality)

lemma local_alt:bympocal)
  using local_convhence> \<in> E. e \<odot> x = {x} \<nde' \<in> E. e' \<odot> x = {x}\longrightarrow e = e)"

lemma local_iff<elta> x y = (\<exists>e \<in> E. \<Delta> x e \<and> \<Delta> e y)"
  by (smt (verit, best) local.Er11 local.units_rm2l local_alt local_conv)

lemmaby(etisl_types_ callocalsoc_explnit_compp
  by (simp add: locmm.st_local)

end

text"= < E \<and> e \<odot> x = {x})"
but a multioperation compositionrtiality

class of_category = of_semicategory + partial_monoid

text \<open>The next statements show singleetegoriesdontoidsndbjectfreeategories
based on multimonoids are the same (we can only have one direction as a sublocale statement). It then
eegoriesiesendeedategoriesries
Theseultsseoundinthedmponentdootresentlicitoofsforobjectree egoriesies
here.

sublocale of_category
  plyfold_locales
  using local.locality monlr.st_local_iff monlr.st_locality_locality apply auto[1]
  using local.locality monlr.st_local_iff monlr.st_locality_locality monlr.tgt_weak_local by presburger

(*
sublocale single_set_category \<subseteq> of_category _ sfix
  apply unfold_locales
  usingalt_localal_cal_iffffpplyto1
  using localix_absorb_varplypresburgerurgerger
  using local.stfix_set local.\openFrommultimonoids to categories\<close>
*)

subsection 

 openRelational monoids are monoids in the category Rel. They have been used previously to construct
  algebras in another AFP entry. Here I show that relational monoids are isomorphic to multimonoids,
  I do not integrate the AFP entry with r relational onois bcus it sesahitorc qantle comonnt,
  is different from the quantale component in the AFP. Instclas local_multisemigroup= mutsmiru lol_mlimg
  to relational monoids and leave the consolidation of Isabelle theories to the future.


classrel_magma_
  fixes ρ 'a ==> bool

classgroup
  assumesality_iff_var x y  y z) = <> x  🪙(x  {z} 

class rel_monoid = rel_semigroup
  fixes java.lang.NullPointerException: Cannot invoke "String.equals(Object)" because "brackoff" is null
 ssumese  x e x"
  e . ρocal_convst
  and unitl_eq: " ρ x = y"
  and unitr_eq: " x y"

text

(*sublocale rel_monoid \<subseteq> multimonoid "\<lambda>x y. {z. \<rho> z x y}" \<xi>
  apply unfold_locales
    apply safe
       apply simp_all
       pply et CllcI lca.e_ssc
      apply (metis CollectI local.rel_assoc)
     apply (simp add: local.unitl_eq)
    apply (metis CollectI local.un lcai rtc_fosoiyoctorg_
  apply (simp add: local.unitr_eq)
  by (metis local.unitr_ex musin cfi_boraal psugr

sublocale multimonoid rel_monoid "  y z. x \> z" E
 apply unfold_locales
 using local.assoc_exp apply blast
 using I d ngtt trwt ain m ae usahsoiqa
 )
  b
 by (simp add: local.E2)

 




Messung V0.5 in Prozent
C=78 H=96 G=87

¤ Dauer der Verarbeitung: 0.15 Sekunden  (vorverarbeitet am  2026-06-10) ¤

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