src/HOL/IMP/Abs_Int_Den/Abs_Int_den0.thy
changeset 52046 bc01725d7918
parent 47818 151d137f1095
equal deleted inserted replaced
52045:90cd3c53a887 52046:bc01725d7918
    31 
    31 
    32 
    32 
    33 fun AI :: "com \<Rightarrow> 'a astate \<Rightarrow> 'a astate" where
    33 fun AI :: "com \<Rightarrow> 'a astate \<Rightarrow> 'a astate" where
    34 "AI SKIP S = S" |
    34 "AI SKIP S = S" |
    35 "AI (x ::= a) S = update S x (aval' a S)" |
    35 "AI (x ::= a) S = update S x (aval' a S)" |
    36 "AI (c1;c2) S = AI c2 (AI c1 S)" |
    36 "AI (c1;;c2) S = AI c2 (AI c1 S)" |
    37 "AI (IF b THEN c1 ELSE c2) S = (AI c1 S) \<squnion> (AI c2 S)" |
    37 "AI (IF b THEN c1 ELSE c2) S = (AI c1 S) \<squnion> (AI c2 S)" |
    38 "AI (WHILE b DO c) S = pfp (AI c) S"
    38 "AI (WHILE b DO c) S = pfp (AI c) S"
    39 
    39 
    40 lemma AI_sound: "(c,s) \<Rightarrow> t \<Longrightarrow> s <: S0 \<Longrightarrow> t <: AI c S0"
    40 lemma AI_sound: "(c,s) \<Rightarrow> t \<Longrightarrow> s <: S0 \<Longrightarrow> t <: AI c S0"
    41 proof(induction c arbitrary: s t S0)
    41 proof(induction c arbitrary: s t S0)