Install an initial segment (retraction) of a given ACL2 world
See world for relevant background on ACL2 property list
worlds. Here we discuss how to install an initial segment (retraction) of a
user-defined world, that is, a world other than the one named
General Form: (retract-world name wrld)
where
ACL2 !>(let* ((wrld0 nil) (wrld1 (putprop 'my-sym1 'my-key1 'my-val1-old wrld0)) (wrld2 (putprop 'my-sym2 'my-key2 'my-val2 wrld1)) (wrld3 (putprop 'my-sym1 'my-key1 'my-val1 wrld2))) (pprogn (f-put-global 'my-w1 wrld1 state) (f-put-global 'my-w3 (extend-world 'my-world wrld3) state))) <state> ACL2 !>(retract-world 'my-world (@ my-w1)) ((MY-SYM1 MY-KEY1 . MY-VAL1-OLD)) ACL2 !>(getprop 'my-sym1 'my-key1 nil 'my-world (@ my-w1)) MY-VAL1-OLD ACL2 !>
The first top-level form sets the values of state globals