lemma idle_squareI: "(s,t) ⊨ unchanged v ==> (s,t) ⊨ [A]_v" by (simp add: square_def)
lemma busy_squareI: "(s,t) ⊨ A ==> (s,t) ⊨ [A]_v" by (simp add: square_def)
lemma squareE [elim]: "[ (s,t) ⊨ [A]_v; A (s,t) ==> B (s,t); v t = v s ==> B (s,t) ]==> B (s,t)" apply (unfold square_def action_rews) apply (erule disjE) apply simp_all done
lemma squareCI [intro]: "[ v t ≠ v s ==> A (s,t) ]==> (s,t) ⊨ [A]_v" apply (unfold square_def action_rews) apply (rule disjCI) apply (erule (1) meta_mp) done
lemma angleI [intro]: "∧s t. [ A (s,t); v t ≠ v s ]==> (s,t) ⊨ <A>_v" by (simp add: angle_def)
lemma angleE [elim]: "[ (s,t) ⊨ <A>_v; [ A (s,t); v t ≠ v s ]==> R ]==> R" apply (unfold angle_def action_rews) apply (erule conjE) apply simp done
lemma square_simulation: "∧f. [⊨ unchanged f ∧¬B ⟶ unchanged g; ⊨ A ∧¬unchanged g ⟶ B ]==>⊨ [A]_f ⟶ [B]_g" apply clarsimp apply (erule squareE) apply (auto simp add: square_def) done
should plug in only "very safe" rules that can be applied blindly.
Note that it applies whatever simplifications are currently active.
*) fun action_simp_tac ctxt intros elims =
asm_full_simp_tac
(ctxt |> Simplifier.set_loop (fn _ => (resolve_tac ctxt ((map (action_use ctxt) intros)
@ [refl,impI,conjI,@{thm actionI},@{thm intI},allI]))
ORELSE' (eresolve_tac ctxt ((map (action_use ctxt) elims)
@ [conjE,disjE,exE])))); ›
(* ---------------- enabled_tac: tactic to prove (Enabled A) -------------------- *)
ML ‹ (* "Enabled A" can be proven as follows: -Assumethatweknowwhichstatevariablesare"basevariables" thisshouldbeexpressedbyatheoremoftheform"basevars(x,y,z,...)". -ResolvethistheoremwithbaseEtointroduceaconstantforthevalueofthe variablesinthesuccessorstate,andresolvethegoalwiththeresult. -ResolvewithenabledIanddosomerewriting. -SolvefortheunknownsusingstandardHOLreasoning. Thefollowingtacticcombinesthesestepsexceptthefinalone.
*)
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.