@@ -3053,7 +3053,7 @@ Proof
3053
3053
cf_exp2v_evaluate_tac `st` \\ first_assum progress \\
3054
3054
rename1 `SPLIT h_i (h_i', _)` \\ rename1 `FF h_i'` \\
3055
3055
fs [do_app_def, store_assign_def] \\
3056
- rename1 `rv = Loc r` \\ rw [] \\
3056
+ rename1 `rv = Loc T r` \\ rw [] \\
3057
3057
`Mem r (Refv x') IN (st2heap p st)` by SPLIT_TAC \\
3058
3058
`Mem r (Refv x') IN (store2heap st.refs)` by
3059
3059
fs [st2heap_def,Mem_NOT_IN_ffi2heap] \\
@@ -3080,7 +3080,7 @@ Proof
3080
3080
fs [st2heap_def, cond_def, SEP_IMP_def, STAR_def, one_def, cell_def] \\
3081
3081
GEN_EXISTS_TAC " ck" `st.clock` \\ fs [with_clock_self] \\
3082
3082
cf_exp2v_evaluate_tac `st` \\
3083
- first_x_assum (qspec_then `Loc (LENGTH st.refs)` strip_assume_tac) \\
3083
+ first_x_assum (qspec_then `Loc T (LENGTH st.refs)` strip_assume_tac) \\
3084
3084
first_x_assum (qspec_then `Mem (LENGTH st.refs) (Refv xv) INSERT h_i` mp_tac) \\
3085
3085
assume_tac store2heap_alloc_disjoint \\
3086
3086
assume_tac (GEN_ALL Mem_NOT_IN_ffi2heap) \\
@@ -3102,7 +3102,7 @@ Proof
3102
3102
rpt (first_x_assum progress) \\
3103
3103
fs [do_app_def, store_lookup_def] \\
3104
3104
assume_tac (GEN_ALL Mem_NOT_IN_ffi2heap) \\
3105
- rename1 `rv = Loc r` \\ rw [] \\
3105
+ rename1 `rv = Loc T r` \\ rw [] \\
3106
3106
`Mem r (Refv x) IN (store2heap st.refs)` by SPLIT_TAC \\
3107
3107
progress store2heap_IN_LENGTH \\ progress store2heap_IN_EL \\
3108
3108
fs [state_component_equality]
@@ -3115,7 +3115,7 @@ Proof
3115
3115
fs [do_app_def, store_alloc_def, st2heap_def] \\
3116
3116
fs [app_aalloc_def, app_aw8alloc_def, W8ARRAY_def, ARRAY_def] \\
3117
3117
fs [SEP_EXISTS, cond_def, SEP_IMP_def, STAR_def, cell_def, one_def] \\
3118
- first_x_assum (qspec_then `Loc (LENGTH st.refs)` strip_assume_tac) \\
3118
+ first_x_assum (qspec_then `Loc T (LENGTH st.refs)` strip_assume_tac) \\
3119
3119
qmatch_asmsub_rename_tac(`REPLICATE (Num n) vv`) \\
3120
3120
((rename1 `W8array _` \\ (fn l => first_x_assum (qspecl_then l mp_tac))
3121
3121
[`Mem (LENGTH st.refs) (W8array (REPLICATE (Num n) vv)) INSERT h_i`])
@@ -3141,7 +3141,7 @@ Proof
3141
3141
fs [do_app_def, store_alloc_def, st2heap_def] \\
3142
3142
fs [app_aalloc_def, app_aw8alloc_def, W8ARRAY_def, ARRAY_def] \\
3143
3143
fs [SEP_EXISTS, cond_def, SEP_IMP_def, STAR_def, cell_def, one_def] \\
3144
- first_x_assum (qspec_then `Loc (LENGTH st.refs)` strip_assume_tac) \\
3144
+ first_x_assum (qspec_then `Loc T (LENGTH st.refs)` strip_assume_tac) \\
3145
3145
((rename1 `W8array _` \\ (fn l => first_x_assum (qspecl_then l mp_tac))
3146
3146
[`Mem (LENGTH st.refs) (W8array []) INSERT h_i`])
3147
3147
ORELSE (fn l => first_x_assum (qspecl_then l mp_tac))
@@ -3166,7 +3166,7 @@ Proof
3166
3166
fs [st2heap_def, app_aw8sub_def, app_asub_def, W8ARRAY_def, ARRAY_def] \\
3167
3167
fs [SEP_EXISTS, cond_def, SEP_IMP_def, STAR_def, one_def, cell_def] \\
3168
3168
progress SPLIT3_of_SPLIT_emp3 \\ instantiate \\
3169
- rpt (first_x_assum progress) \\ rename1 `a = Loc l` \\ rw [] \\
3169
+ rpt (first_x_assum progress) \\ rename1 `a = Loc T l` \\ rw [] \\
3170
3170
assume_tac (GEN_ALL Mem_NOT_IN_ffi2heap) \\
3171
3171
fs [do_app_def, store_lookup_def] \\
3172
3172
((`Mem l (W8array ws) IN (store2heap st.refs)` by SPLIT_TAC) ORELSE
@@ -3186,7 +3186,7 @@ Proof
3186
3186
fs [SEP_EXISTS, SEP_IMP_def, STAR_def, one_def, cell_def, cond_def] \\
3187
3187
assume_tac (GEN_ALL Mem_NOT_IN_ffi2heap) \\
3188
3188
progress SPLIT3_of_SPLIT_emp3 \\ instantiate \\
3189
- rpt (first_x_assum progress) \\ rename1 `a = Loc l` \\ rw [] \\
3189
+ rpt (first_x_assum progress) \\ rename1 `a = Loc T l` \\ rw [] \\
3190
3190
fs [do_app_def, store_lookup_def] \\
3191
3191
((`Mem l (W8array ws) IN (store2heap st.refs)` by SPLIT_TAC) ORELSE
3192
3192
(`Mem l (Varray vs) IN (store2heap st.refs)` by SPLIT_TAC)) \\
@@ -3201,7 +3201,7 @@ Proof
3201
3201
fs [st2heap_def, app_aw8update_def, app_aupdate_def] \\
3202
3202
fs [W8ARRAY_def, ARRAY_def] \\
3203
3203
fs [SEP_EXISTS, cond_def, SEP_IMP_def, STAR_def, one_def, cell_def] \\
3204
- first_x_assum progress \\ rename1 `a = Loc l` \\ rw [] \\
3204
+ first_x_assum progress \\ rename1 `a = Loc T l` \\ rw [] \\
3205
3205
assume_tac (GEN_ALL Mem_NOT_IN_ffi2heap) \\
3206
3206
((rename1 `W8array _` \\
3207
3207
`Mem l (W8array ws) IN (store2heap st.refs)` by SPLIT_TAC) ORELSE
@@ -3237,7 +3237,7 @@ Proof
3237
3237
fs [W8ARRAY_def] \\
3238
3238
fs [SEP_EXISTS, cond_def, SEP_IMP_def, STAR_def, one_def, cell_def] \\
3239
3239
first_x_assum progress
3240
- \\ rename1 `d = Loc ld` \\ rw [] \\
3240
+ \\ rename1 `d = Loc T ld` \\ rw [] \\
3241
3241
assume_tac (GEN_ALL Mem_NOT_IN_ffi2heap) \\
3242
3242
(rename1 `W8array _` \\
3243
3243
`Mem ld (W8array wd) IN (store2heap st.refs)` by SPLIT_TAC) \\
@@ -3271,7 +3271,7 @@ Proof
3271
3271
fs [W8ARRAY_def] \\
3272
3272
fs [SEP_EXISTS, cond_def, SEP_IMP_def, STAR_def, one_def, cell_def] \\
3273
3273
first_x_assum progress
3274
- \\ rename1 `s = Loc ls` \\ rw [] \\
3274
+ \\ rename1 `s = Loc T ls` \\ rw [] \\
3275
3275
assume_tac (GEN_ALL Mem_NOT_IN_ffi2heap) \\
3276
3276
(rename1 `W8array _` \\
3277
3277
`Mem ls (W8array ws) IN (store2heap st.refs)` by SPLIT_TAC) \\
@@ -3297,7 +3297,7 @@ Proof
3297
3297
fs [W8ARRAY_def] \\
3298
3298
fs [SEP_EXISTS, cond_def, SEP_IMP_def, STAR_def, one_def, cell_def] \\
3299
3299
first_x_assum progress
3300
- \\ rename1 `s = Loc ls` \\ rename1 `d = Loc ld` \\ rw [] \\
3300
+ \\ rename1 `s = Loc T ls` \\ rename1 `d = Loc T ld` \\ rw [] \\
3301
3301
assume_tac (GEN_ALL Mem_NOT_IN_ffi2heap) \\
3302
3302
rename1`Mem ls (W8array ws)` \\
3303
3303
(rename1 `W8array _` \\
0 commit comments