no_shm_selinux/Valid_prop.thy
author chunhan
Thu, 09 Jan 2014 14:39:00 +0800
changeset 92 d9dc04c3ea90
parent 77 6f7b9039715f
permissions -rw-r--r--
modify co2sobj/s2ss from object to dobject
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
77
chunhan
parents:
diff changeset
     1
theory Valid_prop
chunhan
parents:
diff changeset
     2
imports Main Flask Flask_type My_list_prefix
chunhan
parents:
diff changeset
     3
begin
chunhan
parents:
diff changeset
     4
chunhan
parents:
diff changeset
     5
context flask begin
chunhan
parents:
diff changeset
     6
chunhan
parents:
diff changeset
     7
lemma vd_cons'[rule_format]: "valid s' \<Longrightarrow> e # s = s' \<longrightarrow> valid s"
chunhan
parents:
diff changeset
     8
by (erule valid.induct, auto)
chunhan
parents:
diff changeset
     9
chunhan
parents:
diff changeset
    10
lemma vd_cons: "valid (e # s) \<Longrightarrow> valid s"
chunhan
parents:
diff changeset
    11
by (simp only:vd_cons')
chunhan
parents:
diff changeset
    12
chunhan
parents:
diff changeset
    13
lemma vd_appd: " valid (\<tau>' @ \<tau>) \<Longrightarrow> valid \<tau>"
chunhan
parents:
diff changeset
    14
apply (induct \<tau>')
chunhan
parents:
diff changeset
    15
by (auto simp:vd_cons)
chunhan
parents:
diff changeset
    16
chunhan
parents:
diff changeset
    17
lemma vd_preceq: "\<lbrakk>\<tau>' \<preceq> \<tau>; valid \<tau>\<rbrakk> \<Longrightarrow> valid \<tau>'"
chunhan
parents:
diff changeset
    18
apply (erule no_juniorE)
chunhan
parents:
diff changeset
    19
by (simp only:vd_appd)
chunhan
parents:
diff changeset
    20
chunhan
parents:
diff changeset
    21
lemma vd_prec: "\<lbrakk>\<tau>' \<prec> \<tau>; valid \<tau>\<rbrakk> \<Longrightarrow> valid \<tau>'"
chunhan
parents:
diff changeset
    22
apply (drule is_ancestor_no_junior)
chunhan
parents:
diff changeset
    23
by (simp only:vd_preceq)
chunhan
parents:
diff changeset
    24
chunhan
parents:
diff changeset
    25
lemma vt_grant_os: "valid (e # \<tau>) \<Longrightarrow> os_grant \<tau> e"
chunhan
parents:
diff changeset
    26
by (erule valid.cases, simp+)
chunhan
parents:
diff changeset
    27
chunhan
parents:
diff changeset
    28
lemma vt_grant: "valid (e # \<tau>) \<Longrightarrow> grant \<tau> e"
chunhan
parents:
diff changeset
    29
by (erule valid.cases, simp+)
chunhan
parents:
diff changeset
    30
chunhan
parents:
diff changeset
    31
end
chunhan
parents:
diff changeset
    32
chunhan
parents:
diff changeset
    33
end