Theory: ensures

Parents


Type constants


Term constants


Axioms


Definitions

EXIST_TRANSITION
|- (!p q. (p EXIST_TRANSITION q) [] = F) /\
   (!p q Pr st.
     (p EXIST_TRANSITION q) (CONS st Pr) =
     (!s. p s /\ ~(q s) ==> q (st s)) \/ (p EXIST_TRANSITION q) Pr)
ENSURES
|- !p q Pr. (p ENSURES q) Pr = (p UNLESS q) Pr /\ (p EXIST_TRANSITION q) Pr

Theorems

EXIST_TRANSITION_thm1
|- !p q r Pr.
     (p EXIST_TRANSITION q) Pr /\ (!s. q s ==> r s) ==>
     (p EXIST_TRANSITION r) Pr
EXIST_TRANSITION_thm2
|- !p Pr. (p EXIST_TRANSITION False) Pr ==> (!s. ~* p s)
EXIST_TRANSITION_thm3
|- !p st Pr. (False EXIST_TRANSITION p) (CONS st Pr)
ENSURES_thm0
|- !p q. (p ENSURES q) [] = F
ENSURES_thm1
|- !p st Pr. (p ENSURES p) (CONS st Pr)
ENSURES_thm2
|- !p q r Pr. (p ENSURES q) Pr /\ (!s. q s ==> r s) ==> (p ENSURES r) Pr
ENSURES_thm3
|- !p Pr. (p ENSURES False) Pr ==> (!s. ~* p s)
ENSURES_thm4
|- !p q p' q' Pr.
     (p UNLESS q) Pr /\ (p' ENSURES q') Pr ==>
     (p /\* p' ENSURES (p /\* q' \/* p' /\* q) \/* q /\* q') Pr
ENSURES_thm5
|- !p q r Pr. (p ENSURES q) Pr ==> (p \/* r ENSURES q \/* r) Pr
ENSURES_cor1
|- !p q st Pr. (!s. p s ==> q s) ==> (p ENSURES q) (CONS st Pr)
ENSURES_cor2
|- !p q Pr. (p ENSURES q) Pr ==> (p UNLESS q) Pr
ENSURES_cor3
|- !p q r Pr. (p \/* q ENSURES r) Pr ==> (p ENSURES q \/* r) Pr
ENSURES_cor4
|- !p q r Pr. (p ENSURES q \/* r) Pr ==> (p /\* ~* q ENSURES q \/* r) Pr
ENSURES_cor5
|- !p q r Pr. (p ENSURES q) Pr ==> (p ENSURES q \/* r) Pr
ENSURES_cor6
|- !p st Pr. (False ENSURES p) (CONS st Pr)
ENSURES_cor7
|- !p q r Pr. (p ENSURES q) Pr /\ r STABLE Pr ==> (p /\* r ENSURES q /\* r) Pr