Skip to content

Commit 3605d6f

Browse files
Merge pull request #1065 from CakeML/remove-zdefine
Remove zDefine usages
2 parents 67a4103 + a893f63 commit 3605d6f

File tree

14 files changed

+133
-79
lines changed

14 files changed

+133
-79
lines changed

basis/fsFFIScript.sml

+3-2
Original file line numberDiff line numberDiff line change
@@ -318,7 +318,7 @@ Definition encode_files_def:
318318
encode_files fs = encode_list (encode_pair (Str o explode) (Str o explode)) fs
319319
End
320320

321-
val encode_def = zDefine`
321+
Definition encode_def[nocompute]:
322322
encode fs = Cons
323323
(Cons
324324
(cfFFIType$Cons
@@ -327,7 +327,8 @@ val encode_def = zDefine`
327327
(encode_fds fs.infds))
328328
(Stream fs.numchars))
329329
(encode_files fs.files))
330-
(Num fs.maxFD)`
330+
(Num fs.maxFD)
331+
End
331332

332333
Theorem encode_inode_11[simp]:
333334
!x y. encode_inode x = encode_inode y <=> x = y

candle/overloading/monadic/holKernelProofScript.sml

+3-2
Original file line numberDiff line numberDiff line change
@@ -2184,8 +2184,9 @@ Proof
21842184
\\ match_mp_tac ALL_DISTINCT_DISJOINT \\ fs []
21852185
QED
21862186

2187-
val STRCAT_SHADOW_def = zDefine`
2188-
STRCAT_SHADOW = STRCAT`
2187+
Definition STRCAT_SHADOW_def[nocompute]:
2188+
STRCAT_SHADOW = STRCAT
2189+
End
21892190

21902191
val first_dup_thm = Q.prove(
21912192
`∀ls acc. (first_dup ls acc = NONE) ⇒ ALL_DISTINCT ls ∧ (∀x. MEM x ls ⇒ ¬MEM x acc)`,

candle/standard/monadic/holKernelProofScript.sml

+3-2
Original file line numberDiff line numberDiff line change
@@ -2176,8 +2176,9 @@ Proof
21762176
\\ match_mp_tac ALL_DISTINCT_DISJOINT \\ fs []
21772177
QED
21782178

2179-
val STRCAT_SHADOW_def = zDefine`
2180-
STRCAT_SHADOW = STRCAT`
2179+
Definition STRCAT_SHADOW_def[nocompute]:
2180+
STRCAT_SHADOW = STRCAT
2181+
End
21812182

21822183
val first_dup_thm = Q.prove(
21832184
`∀ls acc. (first_dup ls acc = NONE) ⇒ ALL_DISTINCT ls ∧ (∀x. MEM x ls ⇒ ¬MEM x acc)`,

characteristic/cfFFITypeScript.sml

+21-14
Original file line numberDiff line numberDiff line change
@@ -45,44 +45,51 @@ End
4545

4646
(* constructors *)
4747

48-
val Num_def = zDefine `
48+
Definition Num_def[nocompute]:
4949
((Num i):ffi) =
50-
FFI_TYPE (\n. if n = iNum 0 then iNum 0 else iNum i)`
50+
FFI_TYPE (\n. if n = iNum 0 then iNum 0 else iNum i)
51+
End
5152

52-
val Str_def = zDefine `
53+
Definition Str_def[nocompute]:
5354
((Str i):ffi) =
54-
FFI_TYPE (\n. if n = iNum 0 then iNum 1 else iStr i)`
55+
FFI_TYPE (\n. if n = iNum 0 then iNum 1 else iStr i)
56+
End
5557

56-
val Cons_def = zDefine `
58+
Definition Cons_def[nocompute]:
5759
((Cons (x:ffi) (y:ffi)):ffi) =
5860
FFI_TYPE (\n. if n = iNum 0 then iNum 2 else
5961
case n of
6062
| iCons (iNum 0) m => ffi_app x m
6163
| iCons (iNum 1) m => ffi_app y m
62-
| _ => iNum 0)`
64+
| _ => iNum 0)
65+
End
6366

64-
val List_def = zDefine `
67+
Definition List_def[nocompute]:
6568
((List (xs:ffi list)):ffi) =
6669
FFI_TYPE (\n. if n = iNum 0 then iNum 3 else
6770
if n = iNum 1 then iNum (LENGTH xs) else
6871
case n of
6972
| iCons (iNum k) m => ffi_app (EL k xs) m
70-
| _ => iNum 0)`
73+
| _ => iNum 0)
74+
End
7175

72-
val Stream_def = zDefine `
76+
Definition Stream_def[nocompute]:
7377
((Stream i):ffi) =
74-
FFI_TYPE (\n. if n = iNum 0 then iNum 4 else iStream i)`
78+
FFI_TYPE (\n. if n = iNum 0 then iNum 4 else iStream i)
79+
End
7580

76-
val Fun_def = zDefine `
81+
Definition Fun_def[nocompute]:
7782
((Fun (f:ffi_inner -> ffi)):ffi) =
7883
FFI_TYPE (\n. if n = iNum 0 then iNum 5 else
7984
case n of
8085
| iCons x y => ffi_app (f x) y
81-
| _ => iNum 0)`;
86+
| _ => iNum 0)
87+
End
8288

83-
val Inner_def = zDefine `
89+
Definition Inner_def[nocompute]:
8490
((Inner i):ffi) =
85-
FFI_TYPE (\n. if n = iNum 0 then iNum 6 else i)`;
91+
FFI_TYPE (\n. if n = iNum 0 then iNum 6 else i)
92+
End
8693

8794
(* injectivity *)
8895

compiler/backend/semantics/wordSemScript.sml

+3-2
Original file line numberDiff line numberDiff line change
@@ -787,14 +787,15 @@ val fix_clock_IMP_LESS_EQ = Q.prove(
787787
`!x. fix_clock ^s x = (res,s1) ==> s1.clock <= s.clock /\ s1.termdep = s.termdep`,
788788
full_simp_tac(srw_ss())[fix_clock_def,FORALL_PROD] \\ srw_tac[][] \\ full_simp_tac(srw_ss())[] \\ decide_tac);
789789

790-
val MustTerminate_limit_def = zDefine `
790+
Definition MustTerminate_limit_def[nocompute]:
791791
MustTerminate_limit (:'a) =
792792
(* This is just a number that's large enough for our purposes.
793793
It stated in a way that makes proofs easy. *)
794794
2 * dimword (:'a) +
795795
dimword (:'a) * dimword (:'a) +
796796
dimword (:'a) ** dimword (:'a) +
797-
dimword (:'a) ** dimword (:'a) ** dimword (:'a)`;
797+
dimword (:'a) ** dimword (:'a) ** dimword (:'a)
798+
End
798799

799800
Definition const_addresses_def:
800801
const_addresses a [] d = T ∧

compiler/encoders/arm7/arm7_targetScript.sml

+3-2
Original file line numberDiff line numberDiff line change
@@ -44,8 +44,9 @@ val () = List.app Parse.temp_overload_on
4444
"HI", "LS", "GE", "LT", "GT", "LE", "AL"],
4545
List.tabulate (15, fn i => wordsSyntax.mk_wordii (i, 4))))
4646

47-
val arm7_encode_fail_def = zDefine`
48-
arm7_encode_fail = [0w; 0w; 0w; 0w] : word8 list`
47+
Definition arm7_encode_fail_def[nocompute]:
48+
arm7_encode_fail = [0w; 0w; 0w; 0w] : word8 list
49+
End
4950

5051
Definition arm7_encode1_def:
5152
arm7_encode1 c i =

compiler/encoders/arm8/arm8_targetScript.sml

+6-4
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,9 @@ End
2626

2727
(* --- Encode ASM instructions to ARM bytes. --- *)
2828

29-
val arm8_encode_fail_def = zDefine`
30-
arm8_encode_fail = [NoOperation]`
29+
Definition arm8_encode_fail_def[nocompute]:
30+
arm8_encode_fail = [NoOperation]
31+
End
3132

3233
Definition arm8_encode_def:
3334
arm8_encode i =
@@ -253,8 +254,9 @@ Definition arm8_ast_def:
253254
])
254255
End
255256

256-
val arm8_enc_def = zDefine
257-
`arm8_enc = combin$C LIST_BIND arm8_encode o arm8_ast`
257+
Definition arm8_enc_def[nocompute]:
258+
arm8_enc = combin$C LIST_BIND arm8_encode o arm8_ast
259+
End
258260

259261
(* --- Configuration for ARMv8 --- *)
260262

compiler/encoders/asm/asmPropsScript.sml

+6-4
Original file line numberDiff line numberDiff line change
@@ -98,16 +98,18 @@ Proof
9898
\\ Cases_on`i` \\ fs[ADD1,LEFT_ADD_DISTRIB,RIGHT_ADD_DISTRIB]
9999
QED
100100

101-
val asserts_def = zDefine `
101+
Definition asserts_def[nocompute]:
102102
(asserts 0 next ms _ Q <=> Q (next 0 ms)) /\
103103
(asserts (SUC n) next ms P Q <=>
104-
let ms' = next (SUC n) ms in P ms' /\ asserts n next ms' P Q)`
104+
let ms' = next (SUC n) ms in P ms' /\ asserts n next ms' P Q)
105+
End
105106

106-
val asserts2_def = zDefine`
107+
Definition asserts2_def[nocompute]:
107108
(asserts2 n fi fc ms P =
108109
if n = 0n then T else
109110
P ms (fc ms) ∧
110-
asserts2 (n-1) fi fc (fi n (fc ms)) P)`;
111+
asserts2 (n-1) fi fc (fi n (fc ms)) P)
112+
End
111113

112114
Definition encoder_correct_def:
113115
encoder_correct t <=>

compiler/encoders/mips/mips_targetScript.sml

+3-2
Original file line numberDiff line numberDiff line change
@@ -285,8 +285,9 @@ Definition mips_ast_def:
285285
ArithI (ORI (temp_reg, 31w, 0w))])
286286
End (* LR := tmp *)
287287

288-
val mips_enc_def = zDefine`
289-
mips_enc = combin$C LIST_BIND mips_encode o mips_ast`
288+
Definition mips_enc_def[nocompute]:
289+
mips_enc = combin$C LIST_BIND mips_encode o mips_ast
290+
End
290291

291292
(* --- Configuration for MIPS --- *)
292293

compiler/encoders/riscv/riscv_targetScript.sml

+3-2
Original file line numberDiff line numberDiff line change
@@ -249,8 +249,9 @@ Definition riscv_ast_def:
249249
ArithI (ADDI (n2w r, n2w r, imm12))])
250250
End
251251

252-
val riscv_enc_def = zDefine`
253-
riscv_enc = combin$C LIST_BIND riscv_encode o riscv_ast`
252+
Definition riscv_enc_def[nocompute]:
253+
riscv_enc = combin$C LIST_BIND riscv_encode o riscv_ast
254+
End
254255

255256
(* --- Configuration for RISC-V --- *)
256257

compiler/encoders/x64/x64_targetScript.sml

+3-1
Original file line numberDiff line numberDiff line change
@@ -198,7 +198,9 @@ Definition x64_encode_def:
198198
(x64_encode i = x64$encode i)
199199
End
200200

201-
val x64_dec_fail_def = zDefine `x64_dec_fail = [0w] : word8 list`
201+
Definition x64_dec_fail_def[nocompute]:
202+
x64_dec_fail = [0w] : word8 list
203+
End
202204

203205
Definition x64_enc_def:
204206
x64_enc i =

compiler/inference/unifyScript.sml

+21-14
Original file line numberDiff line numberDiff line change
@@ -2090,8 +2090,9 @@ fs [t_wfs_def] >|
20902090
rw [encode_infer_t_def, decode_infer_t_def, decode_left_inverse]]
20912091
QED
20922092

2093-
val t_walk_def = zDefine `
2094-
t_walk s t = decode_infer_t (walk (encode_infer_t o_f s) (encode_infer_t t))`;
2093+
Definition t_walk_def[nocompute]:
2094+
t_walk s t = decode_infer_t (walk (encode_infer_t o_f s) (encode_infer_t t))
2095+
End
20952096

20962097
Theorem t_walk_eqn:
20972098
(!s v. t_walk s (Infer_Tuvar v) = t_vwalk s v) ∧
@@ -2102,8 +2103,9 @@ rw [t_walk_def, walk_def, t_vwalk_def, encode_infer_t_def,
21022103
decode_infer_t_def, decode_left_inverse]
21032104
QED
21042105

2105-
val t_oc_def = zDefine `
2106-
t_oc s t v = oc (encode_infer_t o_f s) (encode_infer_t t) v`;
2106+
Definition t_oc_def[nocompute]:
2107+
t_oc s t v = oc (encode_infer_t o_f s) (encode_infer_t t) v
2108+
End
21072109

21082110
(*
21092111
val t_oc_ind' = Q.prove (
@@ -2174,11 +2176,12 @@ cases_on `t_vwalk s n` >>
21742176
rw [encode_infer_t_def, t_oc_eqn_help]
21752177
QED
21762178

2177-
val t_ext_s_check_def = zDefine `
2179+
Definition t_ext_s_check_def[nocompute]:
21782180
t_ext_s_check s v t =
21792181
OPTION_MAP
21802182
((o_f) decode_infer_t)
2181-
(ext_s_check (encode_infer_t o_f s) v (encode_infer_t t))`;
2183+
(ext_s_check (encode_infer_t o_f s) v (encode_infer_t t))
2184+
End
21822185

21832186
Theorem t_ext_s_check_eqn:
21842187
!s v t.
@@ -2189,11 +2192,12 @@ rw [t_ext_s_check_def, t_oc_def, decode_left_inverse_I,
21892192
metis_tac [FUPDATE_PURGE]
21902193
QED
21912194

2192-
val t_unify_def = zDefine `
2195+
Definition t_unify_def[nocompute]:
21932196
t_unify s t1 t2 =
21942197
OPTION_MAP
21952198
((o_f) decode_infer_t)
2196-
(unify (encode_infer_t o_f s) (encode_infer_t t1) (encode_infer_t t2))`;
2199+
(unify (encode_infer_t o_f s) (encode_infer_t t1) (encode_infer_t t2))
2200+
End
21972201

21982202
Definition ts_unify_def:
21992203
(ts_unify s [] [] = SOME s) ∧
@@ -2600,8 +2604,9 @@ Proof
26002604
fs[t_wfs_def]
26012605
QED
26022606

2603-
val apply_subst_t_def = zDefine `
2604-
apply_subst_t s t = decode_infer_t (subst_APPLY (encode_infer_t o_f s) (encode_infer_t t))`;
2607+
Definition apply_subst_t_def[nocompute]:
2608+
apply_subst_t s t = decode_infer_t (subst_APPLY (encode_infer_t o_f s) (encode_infer_t t))
2609+
End
26052610

26062611
Theorem apply_subst_t_eqn:
26072612
(!s n.
@@ -2624,9 +2629,10 @@ induct_on `ts` >>
26242629
rw [apply_subst_t_def, encode_infer_t_def, decode_infer_t_def]
26252630
QED
26262631

2627-
val t_walkstar_def = zDefine `
2632+
Definition t_walkstar_def[nocompute]:
26282633
t_walkstar s t =
2629-
decode_infer_t (walkstar (encode_infer_t o_f s) (encode_infer_t t))`;
2634+
decode_infer_t (walkstar (encode_infer_t o_f s) (encode_infer_t t))
2635+
End
26302636

26312637
Theorem t_walkstar_cwalkstar:
26322638
t_walkstar s t = cwalkstar (fm2sp s) t
@@ -2692,9 +2698,10 @@ Proof
26922698
metis_tac[]
26932699
QED
26942700

2695-
val t_collapse_def = zDefine `
2701+
Definition t_collapse_def[nocompute]:
26962702
t_collapse s =
2697-
decode_infer_t o_f collapse (encode_infer_t o_f s)`;
2703+
decode_infer_t o_f collapse (encode_infer_t o_f s)
2704+
End
26982705

26992706
Theorem t_collapse_eqn:
27002707
!s. t_collapse s = FUN_FMAP (\v. t_walkstar s (Infer_Tuvar v)) (FDOM s)

examples/eval/compile_code_to_evalScript.sml

+27-9
Original file line numberDiff line numberDiff line change
@@ -117,8 +117,12 @@ Triviality to_flat_inc_thm0 = eval ``to_flat_inc
117117
^config ^env_id ^p``
118118

119119
val (c, ps) = to_flat_inc_thm0 |> rconc |> dest_pair
120-
val flat_conf_inc_def = zDefine`flat_conf_inc = ^c`;
121-
val flat_prog_def = zDefine`flat_prog = ^ps`;
120+
Definition flat_conf_inc_def[nocompute]:
121+
flat_conf_inc = ^c
122+
End
123+
Definition flat_prog_def[nocompute]:
124+
flat_prog = ^ps
125+
End
122126
val to_flat_inc_thm =
123127
to_flat_inc_thm0 |> CONV_RULE(RAND_CONV(
124128
FORK_CONV(REWR_CONV(SYM flat_conf_inc_def),
@@ -141,7 +145,9 @@ Triviality to_clos_inc_thm0 =
141145
REWR_CONV LET_THM THENC eval)
142146

143147
val ps = to_clos_inc_thm0 |> rconc |> dest_pair |> #2
144-
val clos_prog_def = zDefine`clos_prog = ^ps`;
148+
Definition clos_prog_def[nocompute]:
149+
clos_prog = ^ps
150+
End
145151
val to_clos_inc_thm =
146152
to_clos_inc_thm0 |> CONV_RULE(RAND_CONV(
147153
RAND_CONV(REWR_CONV(SYM clos_prog_def))))
@@ -181,8 +187,12 @@ Triviality to_bvl_inc_thm0 =
181187
|> CONV_RULE(RAND_CONV eval)
182188

183189
val (c,ps) = to_bvl_inc_thm0 |> rconc |> dest_pair
184-
val bvl_conf_inc_def = zDefine`bvl_conf_inc = ^c`;
185-
val bvl_prog_def = zDefine`bvl_prog = ^ps`;
190+
Definition bvl_conf_inc_def[nocompute]:
191+
bvl_conf_inc = ^c
192+
End
193+
Definition bvl_prog_def[nocompute]:
194+
bvl_prog = ^ps
195+
End
186196
val to_bvl_inc_thm =
187197
to_bvl_inc_thm0 |> CONV_RULE(RAND_CONV(
188198
FORK_CONV(REWR_CONV(SYM bvl_conf_inc_def),
@@ -215,8 +225,12 @@ Triviality to_bvi_inc_thm0 =
215225
|> CONV_RULE (RAND_CONV eval)
216226

217227
val (c,ps) = to_bvi_inc_thm0 |> rconc |> dest_pair
218-
val bvi_conf_inc_def = zDefine`bvi_conf_inc = ^c`;
219-
val bvi_prog_def = zDefine`bvi_prog = ^ps`;
228+
Definition bvi_conf_inc_def[nocompute]:
229+
bvi_conf_inc = ^c
230+
End
231+
Definition bvi_prog_def[nocompute]:
232+
bvi_prog = ^ps
233+
End
220234
val to_bvi_inc_thm =
221235
to_bvi_inc_thm0 |> CONV_RULE(RAND_CONV(
222236
FORK_CONV(REWR_CONV(SYM bvi_conf_inc_def),
@@ -251,7 +265,9 @@ val to_data_inc_thm0 =
251265
|> CONV_RULE(RAND_CONV eval)
252266

253267
val (_,ps) = to_data_inc_thm0 |> rconc |> dest_pair
254-
val data_prog_def = zDefine`data_prog = ^ps`;
268+
Definition data_prog_def[nocompute]:
269+
data_prog = ^ps
270+
End
255271
val to_data_inc_thm =
256272
to_data_inc_thm0 |> CONV_RULE(RAND_CONV(
257273
(RAND_CONV(REWR_CONV(SYM data_prog_def)))));
@@ -360,7 +376,9 @@ val to_word_inc_thm1 =
360376
REWR_CONV_BETA LET_THM))
361377

362378
val (_,ps) = to_word_inc_thm1 |> rconc |> dest_pair
363-
val word_prog_def = zDefine`word_prog = ^ps`;
379+
Definition word_prog_def[nocompute]:
380+
word_prog = ^ps
381+
End
364382
val () = computeLib.extend_compset
365383
[computeLib.Defs [word_prog_def]] cs;
366384
val to_word_inc_thm =

0 commit comments

Comments
 (0)