instanceproof fix f g :: "udom → udom"and r :: "udom⋅'a error" show"fmapU⋅f⋅(fmapU⋅g⋅r) = fmapU⋅(Λ x. f⋅(g⋅x))⋅r" by (induct r rule: error.induct) simp_all next fix f :: "udom → udom"and r :: "udom⋅'a error" show"fmapU⋅f⋅r = bindU⋅r⋅(Λ x. returnU⋅(f⋅x))" by (induct r rule: error.induct)
(simp_all add: returnU_error_def) next fix f :: "udom → udom⋅'a error"and x :: "udom" show"bindU⋅(returnU⋅x)⋅f = f⋅x" by (simp add: returnU_error_def) next fix r :: "udom⋅'a error"and f g :: "udom → udom⋅'a error" show"bindU⋅(bindU⋅r⋅f)⋅g = bindU⋅r⋅(Λ x. bindU⋅(f⋅x)⋅g)" by (induct r rule: error.induct)
simp_all next fix f :: "udom → udom"and a b :: "udom⋅'a error" show"fmapU⋅f⋅(plusU⋅a⋅b) = plusU⋅(fmapU⋅f⋅a)⋅(fmapU⋅f⋅b)" by (induct a rule: error.induct) simp_all next fix a b c :: "udom⋅'a error" show"plusU⋅(plusU⋅a⋅b)⋅c = plusU⋅a⋅(plusU⋅b⋅c)" by (induct a rule: error.induct) simp_all qed
end
subsection‹Transfer properties to polymorphic versions›
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.