equal
deleted
inserted
replaced
531 The environment @{term E} is only needed for the conditional @{text "_ ? _ : _"}. |
531 The environment @{term E} is only needed for the conditional @{text "_ ? _ : _"}. |
532 The definite assignment rules refer to the typing rules here to |
532 The definite assignment rules refer to the typing rules here to |
533 distinguish boolean and other expressions. |
533 distinguish boolean and other expressions. |
534 *} |
534 *} |
535 |
535 |
536 inductive2 |
536 inductive |
537 da :: "env \<Rightarrow> lname set \<Rightarrow> term \<Rightarrow> assigned \<Rightarrow> bool" ("_\<turnstile> _ \<guillemotright>_\<guillemotright> _" [65,65,65,65] 71) |
537 da :: "env \<Rightarrow> lname set \<Rightarrow> term \<Rightarrow> assigned \<Rightarrow> bool" ("_\<turnstile> _ \<guillemotright>_\<guillemotright> _" [65,65,65,65] 71) |
538 where |
538 where |
539 Skip: "Env\<turnstile> B \<guillemotright>\<langle>Skip\<rangle>\<guillemotright> \<lparr>nrm=B,brk=\<lambda> l. UNIV\<rparr>" |
539 Skip: "Env\<turnstile> B \<guillemotright>\<langle>Skip\<rangle>\<guillemotright> \<lparr>nrm=B,brk=\<lambda> l. UNIV\<rparr>" |
540 |
540 |
541 | Expr: "Env\<turnstile> B \<guillemotright>\<langle>e\<rangle>\<guillemotright> A |
541 | Expr: "Env\<turnstile> B \<guillemotright>\<langle>e\<rangle>\<guillemotright> A |
821 declare assigns_if.simps [simp del] |
821 declare assigns_if.simps [simp del] |
822 declare split_paired_All [simp del] split_paired_Ex [simp del] |
822 declare split_paired_All [simp del] split_paired_Ex [simp del] |
823 ML_setup {* |
823 ML_setup {* |
824 change_simpset (fn ss => ss delloop "split_all_tac"); |
824 change_simpset (fn ss => ss delloop "split_all_tac"); |
825 *} |
825 *} |
826 inductive_cases2 da_elim_cases [cases set]: |
826 inductive_cases da_elim_cases [cases set]: |
827 "Env\<turnstile> B \<guillemotright>\<langle>Skip\<rangle>\<guillemotright> A" |
827 "Env\<turnstile> B \<guillemotright>\<langle>Skip\<rangle>\<guillemotright> A" |
828 "Env\<turnstile> B \<guillemotright>In1r Skip\<guillemotright> A" |
828 "Env\<turnstile> B \<guillemotright>In1r Skip\<guillemotright> A" |
829 "Env\<turnstile> B \<guillemotright>\<langle>Expr e\<rangle>\<guillemotright> A" |
829 "Env\<turnstile> B \<guillemotright>\<langle>Expr e\<rangle>\<guillemotright> A" |
830 "Env\<turnstile> B \<guillemotright>In1r (Expr e)\<guillemotright> A" |
830 "Env\<turnstile> B \<guillemotright>In1r (Expr e)\<guillemotright> A" |
831 "Env\<turnstile> B \<guillemotright>\<langle>l\<bullet> c\<rangle>\<guillemotright> A" |
831 "Env\<turnstile> B \<guillemotright>\<langle>l\<bullet> c\<rangle>\<guillemotright> A" |