Up to index of Isabelle/HOL/HOL-Complex/CSP-Prover
theory DIV_cms = DIV + Domain_SF_prod_cms: (*-------------------------------------------*
| CSP-Prover |
| December 2004 |
| Yoshinao Isobe (AIST JAPAN) |
*-------------------------------------------*)
theory DIV_cms = DIV + 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. [[DIV]]T : map
2. [[DIV]]F : map
3.
4.
*****************************************************************)
(*********************************************************
map DIV T
*********************************************************)
(*** restT (subset) ***)
lemma DIV_evalT_map_alpha: "0 <= alpha ==> map_alpha [[DIV]]T alpha"
apply (simp add: map_alpha_def)
apply (simp add: evalT_def)
apply (simp add: real_mult_order_eq)
done
(*** DIV_evalT_non_expanding ***)
lemma DIV_evalT_non_expanding: "non_expanding [[DIV]]T"
by (simp add: non_expanding_def DIV_evalT_map_alpha)
(*** DIV_evalT_contraction_alpha ***)
lemma DIV_evalT_contraction_alpha:
"[| 0 <= alpha ; alpha < 1 |] ==> contraction_alpha [[DIV]]T alpha"
by (simp add: contraction_alpha_def DIV_evalT_map_alpha)
(*********************************************************
map DIV F
*********************************************************)
(*** restF (subset) ***)
lemma DIV_evalF_map_alpha: "0 <= alpha ==> map_alpha [[DIV]]F alpha"
apply (simp add: map_alpha_def)
apply (simp add: evalF_def)
apply (simp add: real_mult_order_eq)
done
(*** DIV_evalF_non_expanding ***)
lemma DIV_evalF_non_expanding: "non_expanding [[DIV]]F"
by (simp add: non_expanding_def DIV_evalF_map_alpha)
(*** DIV_evalF_contraction_alpha ***)
lemma DIV_evalF_contraction_alpha:
"[| 0 <= alpha ; alpha < 1 |] ==> contraction_alpha [[DIV]]F alpha"
by (simp add: contraction_alpha_def DIV_evalF_map_alpha)
(****************** to add them again ******************)
declare disj_not1 [simp]
declare not_None_eq [simp]
end
lemma DIV_evalT_map_alpha:
0 ≤ alpha ==> map_alpha [[DIV]]T alpha
lemma DIV_evalT_non_expanding:
non_expanding [[DIV]]T
lemma DIV_evalT_contraction_alpha:
[| 0 ≤ alpha; alpha < 1 |] ==> contraction_alpha [[DIV]]T alpha
lemma DIV_evalF_map_alpha:
0 ≤ alpha ==> map_alpha [[DIV]]F alpha
lemma DIV_evalF_non_expanding:
non_expanding [[DIV]]F
lemma DIV_evalF_contraction_alpha:
[| 0 ≤ alpha; alpha < 1 |] ==> contraction_alpha [[DIV]]F alpha