(* Title: ZF/UNITY/State.thy Author: Sidi O Ehmety, Computer Laboratory Copyright 2001 University of Cambridge
Formalizes UNITY-program states using dependent types so that: - variables are typed. - the state space is uniform, common to all defined programs. - variables can be quantified over.
*)
section\<open>UNITY Program States\<close>
theory State imports ZF begin
consts var :: i datatype var = Var("i \ list(nat)")
type_intros nat_subset_univ [THEN list_subset_univ, THEN subsetD]
consts
type_of :: "i\i"
default_val :: "i\i"
definition "state \ \x \ var. cons(default_val(x), type_of(x))"
definition "st0 \ \x \ var. default_val(x)"
definition
st_set :: "i\o" where (* To prevent typing conditions like `A<=state' from
being used in combination with the rules `constrains_weaken', etc. *) "st_set(A) \ A<=state"
definition
st_compl :: "i\i" where "st_compl(A) \ state-A"
(*For using "disjunction" (union over an index set) to eliminate a variable.*) lemma UN_conj_eq: "\d\D. f(d) \ A \ (\k\A. {d\D. P(d) \ f(d) = k}) = {d\D. P(d)}" by blast
end
¤ Dauer der Verarbeitung: 0.15 Sekunden
(vorverarbeitet)
¤
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 ist noch experimentell.