Skip to content

Commit 301e66f

Browse files
committed
Made some fixes for the latest versions of ITrees and Shallow Expressions
1 parent 140971d commit 301e66f

2 files changed

Lines changed: 12 additions & 12 deletions

File tree

Z_Machine.ML

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ fun mk_zinit (Init {name = n, state = s, update = upd}) ctx =
109109

110110
fun mk_zop (Operation {name = n, state = s, body = OperDefn {params = ps, pre = pre, update = upd, output = ot}}) ctx =
111111
let open Syntax; open Library; open Logic; open HOLogic; open Lift_Expr
112-
val pss = (map (fn (p, t) => (p, lift_expr ctx ((parse_term ctx t)))) ps)
112+
val pss = (map (fn (p, t) => (p, lift_expr ctx dummyT ((parse_term ctx t)))) ps)
113113
val pset = params_set (map snd pss)
114114
val set = SEXP $ pset
115115
val parm = dest_setT (range_type (Term.type_of (check_term ctx set)))
@@ -119,10 +119,10 @@ fun mk_zop (Operation {name = n, state = s, body = OperDefn {params = ps, pre =
119119
val ppre =
120120
lambda (free state_id)
121121
(mk_conj (const @{const_name Set.member} $ ppat $ (pset $ Bound 0)
122-
, mk_lift_expr ctx (foldr1 mk_conj ((map (parse_term ctx) pre))) $ Bound 0))
122+
, mk_lift_expr ctx dummyT (foldr1 mk_conj ((map (parse_term ctx) pre))) $ Bound 0))
123123
val poutput =
124124
lambda (free state_id)
125-
((mk_lift_expr ctx (parse_term ctx ot)) $ Bound 0)
125+
((mk_lift_expr ctx dummyT (parse_term ctx ot)) $ Bound 0)
126126
val body = (
127127
(Const (@{const_name "mk_zop"}, (parm --> st --> dummyT) --> dummyT)
128128
$ tupled_lambda ppat (SEXP $ ppre))
@@ -160,22 +160,22 @@ mk_zop (Operation {name = n, state = s, body = OperProm {promop = opr, plens = l
160160
end |
161161
mk_zop (Operation {name = n, state = s, body = OperComp {params = ps, pre = pre, body = bdy}}) ctx =
162162
let open Syntax; open Library; open Logic; open HOLogic; open Lift_Expr
163-
val pss = (map (fn (p, t) => (p, lift_expr ctx ((parse_term ctx t)))) ps)
163+
val pss = (map (fn (p, t) => (p, lift_expr ctx dummyT ((parse_term ctx t)))) ps)
164164
val pset = params_set (map snd pss)
165165
val set = SEXP $ pset
166166
val parm = dest_setT (range_type (Term.type_of (check_term ctx set)))
167167
val st = read_typ ctx s
168168
val ppat = mk_tuple (map (free o fst) pss)
169169
val ppre =
170170
lambda (free state_id)
171-
(mk_lift_expr ctx (foldr1 mk_conj ((map (parse_term ctx) pre))) $ Bound 0)
171+
(mk_lift_expr ctx dummyT (foldr1 mk_conj ((map (parse_term ctx) pre))) $ Bound 0)
172172
val body = tupled_lambda ppat (Type.constraint (st --> dummyT) (parse_term ctx bdy))
173173
in def_zop n set st body ctx
174174
|> gen (zop_pre n) (parm --> st --> dummyT) (tupled_lambda ppat (SEXP $ ppre))
175175
end |
176176
mk_zop (Operation {name = n, state = s, body = OperEmit {emit = e}}) ctx =
177177
let open Syntax; open HOLogic; open Lift_Expr
178-
val set = mk_lift_expr ctx (mk_set dummyT [parse_term ctx e])
178+
val set = mk_lift_expr ctx dummyT (mk_set dummyT [parse_term ctx e])
179179
val st = read_typ ctx s
180180
val parm = dest_setT (range_type (Term.type_of (check_term ctx set)))
181181
val body = const @{const_abbrev emit_op}
@@ -185,7 +185,7 @@ mk_zop (Operation {name = n, state = s, body = OperEmit {emit = e}}) ctx =
185185
end |
186186
mk_zop (Operation {name = n, state = s, body = OperExt {params = ps, pre = pre, extends = extends, update = upd, output = ot}}) ctx =
187187
let open Syntax; open Library; open Logic; open HOLogic; open Lift_Expr
188-
val pss = (map (fn (p, t) => (p, lift_expr ctx ((parse_term ctx t)))) ps)
188+
val pss = (map (fn (p, t) => (p, lift_expr ctx dummyT ((parse_term ctx t)))) ps)
189189
val pset = params_set (map snd pss)
190190
val set = SEXP $ pset
191191
val parm = dest_setT (range_type (Term.type_of (check_term ctx set)))
@@ -195,10 +195,10 @@ mk_zop (Operation {name = n, state = s, body = OperExt {params = ps, pre = pre,
195195
val ppre =
196196
lambda (free state_id)
197197
(mk_conj (const @{const_name Set.member} $ ppat $ (pset $ Bound 0)
198-
, mk_lift_expr ctx (foldr1 mk_conj ((map (parse_term ctx) pre))) $ Bound 0))
198+
, mk_lift_expr ctx dummyT (foldr1 mk_conj ((map (parse_term ctx) pre))) $ Bound 0))
199199
val poutput =
200200
lambda (free state_id)
201-
((mk_lift_expr ctx (parse_term ctx ot)) $ Bound 0)
201+
((mk_lift_expr ctx dummyT (parse_term ctx ot)) $ Bound 0)
202202
val body = (
203203
(Const (@{const_name "extend_operation"}, (parm --> st --> dummyT) --> dummyT)
204204
$ tupled_lambda ppat (SEXP $ ppre))
@@ -256,9 +256,9 @@ fun zmachine_sem (ZMachine {name = n, state = s, init = i, inv = inv, operations
256256
val cs = map (fn n => (firstLower n, XML.content_of (YXML.parse_body (string_of_typ ctx (get_zop_ptype n ctx))))) ops @
257257
map (fn n => (firstLower n ^ "_Out", XML.content_of (YXML.parse_body (string_of_typ ctx (get_zop_outtype n ctx))))) ops
258258
val st = read_typ ctx s
259-
val inve = mk_lift_expr ctx (parse_term ctx inv)
259+
val inve = mk_lift_expr ctx dummyT (parse_term ctx inv)
260260
val init = parse_term ctx i
261-
val ends = mk_lift_expr ctx (parse_term ctx e)
261+
val ends = mk_lift_expr ctx dummyT (parse_term ctx e)
262262
in Channel_Type.compile_chantype (([], chantype_name n), cs) thy |>
263263
Named_Target.theory_init o mk_chan_show_inst (chantype_name n) ops |>
264264
Local_Theory.exit_global o zmachine_body_sem n st init inve ops ends

Z_Operations.thy

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,7 @@ lemma promote_mk_zop [wp, code_unfold]:
133133
(\<lambda> (a, p). (\<sigma> p) \<up>\<^sub>s x:cl(a))
134134
(\<lambda> (a, p). (R p) \<up> x:cl(a))"
135135
by (auto simp add: promote_operation_def mk_zop_def Let_unfold promotion_lens_def fun_eq_iff promote_iproc_def proc_ret_def
136-
assume_def seq_itree_def kleisli_comp_def test_def expr_defs assigns_def lens_defs lens_source_def)
136+
assume_def kcomp_itree_def test_def expr_defs assigns_def lens_defs lens_source_def)
137137

138138
definition extend_operation ::
139139
"('a \<Rightarrow> 's \<Rightarrow> bool) \<Rightarrow> ('e, 'a, 'c, 's) operation \<Rightarrow> ('a \<Rightarrow> 's subst) \<Rightarrow> ('a \<Rightarrow> 's \<Rightarrow> 'b) \<Rightarrow> ('e, 'a, 'b, 's) operation" where

0 commit comments

Comments
 (0)