definition is_class :: "'m prog ==> cname ==> bool" where "is_class P C ≡ class P C ≠ None"
lemma finite_is_class: "finite {C. is_class P C}"
(*<*) proof - have"{C. is_class P C} = dom (map_of P)" by (simp add: is_class_def class_def dom_def) thus ?thesis by (simp add: finite_dom_map_of) qed (*>*)
definition is_type :: "'m prog ==> ty ==> bool" where "is_type P T ≡ (case T of Void ==> True | Boolean ==> True | Integer ==> True | NT ==> True | Class C ==> is_class P C)"
lemma is_type_simps [simp]: "is_type P Void ∧ is_type P Boolean ∧ is_type P Integer ∧ is_type P NT ∧ is_type P (Class C) = is_class P C" (*<*)by(simp add:is_type_def)(*>*)
abbreviation "types P == Collect (is_type P)"
end
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.1 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.