Up to index of Isabelle/HOL/HOL-Complex/CSP-Prover
theory STOP_cms = STOP + Domain_SF_prod_cms: (*-------------------------------------------*
| CSP-Prover |
| December 2004 |
| Yoshinao Isobe (AIST JAPAN) |
*-------------------------------------------*)
theory STOP_cms = STOP + Domain_SF_prod_cms:
(* The following simplification rules are deleted in this theory file *)
(* because they unexpectly rewrite UnionT and InterT. *)
(* disj_not1: (~ P | Q) = (P --> Q) *)
declare disj_not1 [simp del]
(* The following simplification is sometimes unexpected. *)
(* *)
(* not_None_eq: (x ~= None) = (EX y. x = Some y) *)
declare not_None_eq [simp del]
(*****************************************************************
1. [[STOP]]T : map
2. [[STOP]]F : map
3.
4.
*****************************************************************)
(*********************************************************
map STOP T
*********************************************************)
(*** restT (subset) ***)
lemma STOP_evalT_map_alpha: "0 <= alpha ==> map_alpha [[STOP]]T alpha"
apply (simp add: map_alpha_def)
apply (simp add: evalT_def)
apply (simp add: real_mult_order_eq)
done
(*** STOP_evalT_non_expanding ***)
lemma STOP_evalT_non_expanding: "non_expanding [[STOP]]T"
by (simp add: non_expanding_def STOP_evalT_map_alpha)
(*** STOP_evalT_contraction_alpha ***)
lemma STOP_evalT_contraction_alpha:
"[| 0 <= alpha ; alpha < 1 |] ==> contraction_alpha [[STOP]]T alpha"
by (simp add: contraction_alpha_def STOP_evalT_map_alpha)
(*********************************************************
map STOP F
*********************************************************)
(*** restF (subset) ***)
lemma STOP_evalF_map_alpha: "0 <= alpha ==> map_alpha [[STOP]]F alpha"
apply (simp add: map_alpha_def)
apply (simp add: evalF_def)
apply (simp add: real_mult_order_eq)
done
(*** STOP_evalF_non_expanding ***)
lemma STOP_evalF_non_expanding: "non_expanding [[STOP]]F"
by (simp add: non_expanding_def STOP_evalF_map_alpha)
(*** STOP_evalF_contraction_alpha ***)
lemma STOP_evalF_contraction_alpha:
"[| 0 <= alpha ; alpha < 1 |] ==> contraction_alpha [[STOP]]F alpha"
by (simp add: contraction_alpha_def STOP_evalF_map_alpha)
(****************** to add them again ******************)
declare disj_not1 [simp]
declare not_None_eq [simp]
end
lemma STOP_evalT_map_alpha:
0 ≤ alpha ==> map_alpha [[STOP]]T alpha
lemma STOP_evalT_non_expanding:
non_expanding [[STOP]]T
lemma STOP_evalT_contraction_alpha:
[| 0 ≤ alpha; alpha < 1 |] ==> contraction_alpha [[STOP]]T alpha
lemma STOP_evalF_map_alpha:
0 ≤ alpha ==> map_alpha [[STOP]]F alpha
lemma STOP_evalF_non_expanding:
non_expanding [[STOP]]F
lemma STOP_evalF_contraction_alpha:
[| 0 ≤ alpha; alpha < 1 |] ==> contraction_alpha [[STOP]]F alpha