classdomain instance prod :: (domain,domain) domain by intro_classes
typedecl 'a update axiomatization comp_update :: "'a::domain update ==> 'a update ==> 'a update"where
comp_update_assoc: "comp_update (comp_update a b) c = comp_update a (comp_update b c)" axiomatization id_update :: "'a::domain update"where
id_update_left: "comp_update id_update a = a"and
id_update_right: "comp_update a id_update = a"
axiomatization preregister :: ‹('a::domain update ==> 'b::domain update) ==> bool› axiomatizationwhere
comp_preregister: "preregister F ==> preregister G ==> preregister (G ∘ F)"and
id_preregister: ‹preregister id› for F :: ‹'a::domain update ==> 'b::domain update›and G :: ‹'b update ==> 'c::domain update›
axiomatizationwhere
preregister_mult_right: ‹preregister (λa. comp_update a z)›and
preregister_mult_left: ‹preregister (λa. comp_update z a)› for z :: "'a::domain update"
axiomatization tensor_update :: ‹'a::domain update ==> 'b::domain update ==> ('a×'b) update› where tensor_extensionality: "preregister F ==> preregister G ==> (∧a b. F (tensor_update a b) = G (tensor_update a b)) ==> F = G" for F G :: ‹('a×'b) update ==> 'c::domain update›
axiomatizationwhere tensor_update_mult: ‹comp_update (tensor_update a c) (tensor_update b d) = tensor_update (comp_update a b) (comp_update c d)› for a b :: ‹'a::domain update›and c d :: ‹'b::domain update›
axiomatization register :: ‹('a update ==> 'b update) ==> bool› axiomatizationwhere
register_preregister: "register F ==> preregister F"and
register_comp: "register F ==> register G ==> register (G ∘ F)"and
register_mult: "register F ==> comp_update (F a) (F b) = F (comp_update a b)"and
register_of_id: ‹register F ==> F id_update = id_update›and
register_id: ‹register (id :: 'a update ==> 'a update)› for F :: "'a::domain update ==> 'b::domain update"and G :: "'b update ==> 'c::domain update"
axiomatization register_pair :: ‹('a::domain update ==> 'c::domain update) ==> ('b::domain update ==> 'c update) ==> (('a×'b) update ==> 'c update)›where
register_pair_is_register: ‹register F ==> register G ==> (∧a b. comp_update (F a) (G b) = comp_update (G b) (F a)) ==> register (register_pair F G)›and
register_pair_apply: ‹register F ==> register G ==> (∧a b. comp_update (F a) (G b) = comp_update (G b) (F a)) ==> (register_pair F G) (tensor_update a b) = comp_update (F a) (G b)›
end
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.57 Sekunden
(vorverarbeitet am 2026-06-10)
¤
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.