- joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv_TY_DEF
-
|- ?rep.
TYPE_DEFINITION
(TRP
(\v tl.
(?m. v = INL m) /\ (LENGTH tl = SUC (SUC 0)) \/
(?e. v = INR (INL e)) /\ (LENGTH tl = SUC (SUC 0)) \/
(?e. v = INR (INR (INL e))) /\ (LENGTH tl = 0) \/
(?e. v = INR (INR (INR (INL e)))) /\ (LENGTH tl = SUC 0) \/
(?l. v = INR (INR (INR (INR (INL l))))) /\ (LENGTH tl = SUC 0) \/
(v = INR (INR (INR (INR (INR (INL one)))))) /\ (LENGTH tl = 0) \/
(v = INR (INR (INR (INR (INR (INR (INL one))))))) /\
(LENGTH tl = SUC (SUC 0)) \/
(v = INR (INR (INR (INR (INR (INR (INR (INL one)))))))) /\
(LENGTH tl = SUC 0) \/
(v = INR (INR (INR (INR (INR (INR (INR (INR (INL one))))))))) /\
(LENGTH tl = SUC 0) \/
(v =
INR (INR (INR (INR (INR (INR (INR (INR (INR (INL one)))))))))) /\
(LENGTH tl = SUC 0) \/
(?s.
v =
INR
(INR
(INR (INR (INR (INR (INR (INR (INR (INR (INL s))))))))))) /\
(LENGTH tl = SUC 0) \/
(v =
INR
(INR
(INR
(INR
(INR (INR (INR (INR (INR (INR (INR (INL one)))))))))))) /\
(LENGTH tl = 0) \/
(v =
INR
(INR
(INR
(INR
(INR
(INR
(INR (INR (INR (INR (INR (INR (INL one))))))))))))) /\
(LENGTH tl = SUC (SUC 0)) \/
(v =
INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR (INR (INR (INR (INR (INL one)))))))))))))) /\
(LENGTH tl = SUC 0) \/
(v =
INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR (INR (INR (INR (INL one))))))))))))))) /\
(LENGTH tl = 0) \/
(?s.
v =
INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR (INR (INR (INL s)))))))))))))))) /\
(LENGTH tl = 0) \/
(?b.
v =
INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR (INR (INL b))))))))))))))))) /\
(LENGTH tl = 0) \/
(?c.
v =
INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR (INL c)))))))))))))))))) /\
(LENGTH tl = 0) \/
(?c.
v =
INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INL c))))))))))))))))))) /\
(LENGTH tl = SUC 0) \/
(v =
INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INL
one)))))))))))))))))))) /\
(LENGTH tl = SUC 0) \/
(v =
INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INL
one))))))))))))))))))))) /\
(LENGTH tl = SUC 0) \/
(?a.
v =
INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INL
a)))))))))))))))))))))) /\
(LENGTH tl = 0) \/
(v =
INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INL
one))))))))))))))))))))))) /\
(LENGTH tl = SUC 0) \/
(?v.
v =
INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INL
v)))))))))))))))))))))))) /\
(LENGTH tl = SUC 0) \/
(v =
INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INL
one))))))))))))))))))))))))) /\
(LENGTH tl = 0) \/
(v =
INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INL
one)))))))))))))))))))))))))) /\
(LENGTH tl = SUC (SUC 0)) \/
(v =
INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INL
one))))))))))))))))))))))))))) /\
(LENGTH tl = SUC 0) \/
(v =
INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
one))))))))))))))))))))))))))) /\
(LENGTH tl = SUC 0)))
rep
- joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv_ISO_DEF
-
|- (!a.
ABS_joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv
(REP_joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv
a) =
a) /\
(!r.
TRP
(\v tl.
(?m. v = INL m) /\ (LENGTH tl = SUC (SUC 0)) \/
(?e. v = INR (INL e)) /\ (LENGTH tl = SUC (SUC 0)) \/
(?e. v = INR (INR (INL e))) /\ (LENGTH tl = 0) \/
(?e. v = INR (INR (INR (INL e)))) /\ (LENGTH tl = SUC 0) \/
(?l. v = INR (INR (INR (INR (INL l))))) /\ (LENGTH tl = SUC 0) \/
(v = INR (INR (INR (INR (INR (INL one)))))) /\ (LENGTH tl = 0) \/
(v = INR (INR (INR (INR (INR (INR (INL one))))))) /\
(LENGTH tl = SUC (SUC 0)) \/
(v = INR (INR (INR (INR (INR (INR (INR (INL one)))))))) /\
(LENGTH tl = SUC 0) \/
(v = INR (INR (INR (INR (INR (INR (INR (INR (INL one))))))))) /\
(LENGTH tl = SUC 0) \/
(v =
INR (INR (INR (INR (INR (INR (INR (INR (INR (INL one)))))))))) /\
(LENGTH tl = SUC 0) \/
(?s.
v =
INR
(INR (INR (INR (INR (INR (INR (INR (INR (INR (INL s))))))))))) /\
(LENGTH tl = SUC 0) \/
(v =
INR
(INR
(INR
(INR
(INR (INR (INR (INR (INR (INR (INR (INL one)))))))))))) /\
(LENGTH tl = 0) \/
(v =
INR
(INR
(INR
(INR
(INR
(INR
(INR (INR (INR (INR (INR (INR (INL one))))))))))))) /\
(LENGTH tl = SUC (SUC 0)) \/
(v =
INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR (INR (INR (INR (INR (INL one)))))))))))))) /\
(LENGTH tl = SUC 0) \/
(v =
INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR (INR (INR (INR (INL one))))))))))))))) /\
(LENGTH tl = 0) \/
(?s.
v =
INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR (INR (INR (INR (INL s)))))))))))))))) /\
(LENGTH tl = 0) \/
(?b.
v =
INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR (INR (INR (INL b))))))))))))))))) /\
(LENGTH tl = 0) \/
(?c.
v =
INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR (INR (INL c)))))))))))))))))) /\
(LENGTH tl = 0) \/
(?c.
v =
INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR (INL c))))))))))))))))))) /\
(LENGTH tl = SUC 0) \/
(v =
INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INL
one)))))))))))))))))))) /\
(LENGTH tl = SUC 0) \/
(v =
INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INL
one))))))))))))))))))))) /\
(LENGTH tl = SUC 0) \/
(?a.
v =
INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INL
a)))))))))))))))))))))) /\
(LENGTH tl = 0) \/
(v =
INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INL
one))))))))))))))))))))))) /\
(LENGTH tl = SUC 0) \/
(?v.
v =
INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INL
v)))))))))))))))))))))))) /\
(LENGTH tl = SUC 0) \/
(v =
INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INL
one))))))))))))))))))))))))) /\
(LENGTH tl = 0) \/
(v =
INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INL
one)))))))))))))))))))))))))) /\
(LENGTH tl = SUC (SUC 0)) \/
(v =
INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INL
one))))))))))))))))))))))))))) /\
(LENGTH tl = SUC 0) \/
(v =
INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
one))))))))))))))))))))))))))) /\
(LENGTH tl = SUC 0))
r =
REP_joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv
(ABS_joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv
r) =
r)
- JOINT_int_CLOSURE_DEF
-
|- !m j1 j2.
JOINT_int_CLOSURE m j1 j2 =
ABS_joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv
(Node (INL m)
[REP_joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv
j1;
REP_joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv
j2])
- JOINT_int_ENV_DEF
-
|- !j1 j2 e.
JOINT_int_ENV j1 j2 e =
ABS_joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv
(Node (INR (INL e))
[REP_joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv
j1;
REP_joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv
j2])
- JOINT_int_NAMEexval_DEF
-
|- !e.
JOINT_int_NAMEexval e =
ABS_joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv
(Node (INR (INR (INL e))) [])
- JOINT_int_NAMEVALexval_DEF
-
|- !e j.
JOINT_int_NAMEVALexval e j =
ABS_joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv
(Node (INR (INR (INR (INL e))))
[REP_joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv
j])
- JOINT_int_closure_env_exval_record_strenv_val_varenv_ch44_label_val_DEF
-
|- !l' j.
JOINT_int_closure_env_exval_record_strenv_val_varenv_ch44_label_val l'
j =
ABS_joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv
(Node (INR (INR (INR (INR (INL l')))))
[REP_joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv
j])
- JOINT_int_closure_env_exval_record_strenv_val_varenv_NIL_label_val_prod_closure_env_exval_record_strenv_val_varenv_DEF
-
|- JOINT_int_closure_env_exval_record_strenv_val_varenv_NIL_label_val_prod_closure_env_exval_record_strenv_val_varenv =
ABS_joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv
(Node (INR (INR (INR (INR (INR (INL one)))))) [])
- JOINT_int_closure_env_exval_record_strenv_val_varenv_CONS_label_val_prod_closure_env_exval_record_strenv_val_varenv_DEF
-
|- !j1 j2.
JOINT_int_closure_env_exval_record_strenv_val_varenv_CONS_label_val_prod_closure_env_exval_record_strenv_val_varenv
j1
j2 =
ABS_joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv
(Node (INR (INR (INR (INR (INR (INR (INL one)))))))
[REP_joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv
j1;
REP_joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv
j2])
- JOINT_int_closure_env_exval_record_strenv_val_varenv_FINMAP_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_DEF
-
|- !j.
JOINT_int_closure_env_exval_record_strenv_val_varenv_FINMAP_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv
j =
ABS_joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv
(Node (INR (INR (INR (INR (INR (INR (INR (INL one))))))))
[REP_joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv
j])
- JOINT_int_RECORD_DEF
-
|- !j.
JOINT_int_RECORD j =
ABS_joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv
(Node (INR (INR (INR (INR (INR (INR (INR (INR (INL one)))))))))
[REP_joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv
j])
- JOINT_int_STRENV_DEF
-
|- !j.
JOINT_int_STRENV j =
ABS_joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv
(Node (INR (INR (INR (INR (INR (INR (INR (INR (INR (INL one))))))))))
[REP_joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv
j])
- JOINT_int_closure_env_exval_record_strenv_val_varenv_ch44_strid_env_DEF
-
|- !s j.
JOINT_int_closure_env_exval_record_strenv_val_varenv_ch44_strid_env s j =
ABS_joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv
(Node
(INR (INR (INR (INR (INR (INR (INR (INR (INR (INR (INL s)))))))))))
[REP_joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv
j])
- JOINT_int_closure_env_exval_record_strenv_val_varenv_NIL_strid_env_prod_closure_env_exval_record_strenv_val_varenv_DEF
-
|- JOINT_int_closure_env_exval_record_strenv_val_varenv_NIL_strid_env_prod_closure_env_exval_record_strenv_val_varenv =
ABS_joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv
(Node
(INR
(INR
(INR (INR (INR (INR (INR (INR (INR (INR (INR (INL one))))))))))))
[])
- JOINT_int_closure_env_exval_record_strenv_val_varenv_CONS_strid_env_prod_closure_env_exval_record_strenv_val_varenv_DEF
-
|- !j1 j2.
JOINT_int_closure_env_exval_record_strenv_val_varenv_CONS_strid_env_prod_closure_env_exval_record_strenv_val_varenv
j1
j2 =
ABS_joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv
(Node
(INR
(INR
(INR
(INR
(INR
(INR (INR (INR (INR (INR (INR (INR (INL one)))))))))))))
[REP_joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv
j1;
REP_joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv
j2])
- JOINT_int_closure_env_exval_record_strenv_val_varenv_FINMAP_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_DEF
-
|- !j.
JOINT_int_closure_env_exval_record_strenv_val_varenv_FINMAP_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv
j =
ABS_joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv
(Node
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR (INR (INR (INR (INR (INR (INL one))))))))))))))
[REP_joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv
j])
- JOINT_int_ASSGval_DEF
-
|- JOINT_int_ASSGval =
ABS_joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv
(Node
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR (INR (INR (INR (INR (INR (INL one)))))))))))))))
[])
- JOINT_int_SVALval_DEF
-
|- !s.
JOINT_int_SVALval s =
ABS_joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv
(Node
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR (INR (INR (INR (INR (INL s))))))))))))))))
[])
- JOINT_int_BASval_DEF
-
|- !b.
JOINT_int_BASval b =
ABS_joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv
(Node
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR (INR (INR (INR (INL b)))))))))))))))))
[])
- JOINT_int_CONval_DEF
-
|- !c.
JOINT_int_CONval c =
ABS_joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv
(Node
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR (INR (INR (INL c))))))))))))))))))
[])
- JOINT_int_APPCONval_DEF
-
|- !c j.
JOINT_int_APPCONval c j =
ABS_joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv
(Node
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR (INR (INL c)))))))))))))))))))
[REP_joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv
j])
- JOINT_int_EXVALval_DEF
-
|- !j.
JOINT_int_EXVALval j =
ABS_joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv
(Node
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INL one))))))))))))))))))))
[REP_joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv
j])
- JOINT_int_RECORDval_DEF
-
|- !j.
JOINT_int_RECORDval j =
ABS_joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv
(Node
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INL
one)))))))))))))))))))))
[REP_joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv
j])
- JOINT_int_ADDRval_DEF
-
|- !a.
JOINT_int_ADDRval a =
ABS_joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv
(Node
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INL
a))))))))))))))))))))))
[])
- JOINT_int_CLOSUREval_DEF
-
|- !j.
JOINT_int_CLOSUREval j =
ABS_joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv
(Node
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INL
one)))))))))))))))))))))))
[REP_joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv
j])
- JOINT_int_closure_env_exval_record_strenv_val_varenv_ch44_var_val_DEF
-
|- !v' j.
JOINT_int_closure_env_exval_record_strenv_val_varenv_ch44_var_val v' j =
ABS_joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv
(Node
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INL
v'))))))))))))))))))))))))
[REP_joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv
j])
- JOINT_int_closure_env_exval_record_strenv_val_varenv_NIL_var_val_prod_closure_env_exval_record_strenv_val_varenv_DEF
-
|- JOINT_int_closure_env_exval_record_strenv_val_varenv_NIL_var_val_prod_closure_env_exval_record_strenv_val_varenv =
ABS_joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv
(Node
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INL
one)))))))))))))))))))))))))
[])
- JOINT_int_closure_env_exval_record_strenv_val_varenv_CONS_var_val_prod_closure_env_exval_record_strenv_val_varenv_DEF
-
|- !j1 j2.
JOINT_int_closure_env_exval_record_strenv_val_varenv_CONS_var_val_prod_closure_env_exval_record_strenv_val_varenv
j1
j2 =
ABS_joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv
(Node
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INL
one))))))))))))))))))))))))))
[REP_joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv
j1;
REP_joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv
j2])
- JOINT_int_closure_env_exval_record_strenv_val_varenv_FINMAP_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_DEF
-
|- !j.
JOINT_int_closure_env_exval_record_strenv_val_varenv_FINMAP_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv
j =
ABS_joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv
(Node
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INL
one)))))))))))))))))))))))))))
[REP_joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv
j])
- JOINT_int_VARENV_DEF
-
|- !j.
JOINT_int_VARENV j =
ABS_joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv
(Node
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
one)))))))))))))))))))))))))))
[REP_joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv
j])
- joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv_select_DEF
-
|- (!m j1 j2.
joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv_select
(JOINT_int_CLOSURE m j1 j2) =
(((joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv_select
j1 =
2) /\
(joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv_select
j2 =
16))
=> 1
| 0)) /\
(!j1 j2 e.
joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv_select
(JOINT_int_ENV j1 j2 e) =
(((joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv_select
j1 =
8) /\
(joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv_select
j2 =
16))
=> 2
| 0)) /\
(!e.
joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv_select
(JOINT_int_NAMEexval e) =
3) /\
(!e j.
joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv_select
(JOINT_int_NAMEVALexval e j) =
((joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv_select
j =
12)
=> 3
| 0)) /\
(!l' j.
joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv_select
(JOINT_int_closure_env_exval_record_strenv_val_varenv_ch44_label_val l'
j) =
((joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv_select
j =
12)
=> 4
| 0)) /\
(joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv_select
JOINT_int_closure_env_exval_record_strenv_val_varenv_NIL_label_val_prod_closure_env_exval_record_strenv_val_varenv =
5) /\
(!j1 j2.
joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv_select
(JOINT_int_closure_env_exval_record_strenv_val_varenv_CONS_label_val_prod_closure_env_exval_record_strenv_val_varenv
j1
j2) =
(((joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv_select
j1 =
4) /\
(joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv_select
j2 =
5))
=> 5
| 0)) /\
(!j.
joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv_select
(JOINT_int_closure_env_exval_record_strenv_val_varenv_FINMAP_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv
j) =
((joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv_select
j =
5)
=> 6
| 0)) /\
(!j.
joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv_select
(JOINT_int_RECORD j) =
((joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv_select
j =
6)
=> 7
| 0)) /\
(!j.
joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv_select
(JOINT_int_STRENV j) =
((joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv_select
j =
11)
=> 8
| 0)) /\
(!s j.
joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv_select
(JOINT_int_closure_env_exval_record_strenv_val_varenv_ch44_strid_env s
j) =
((joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv_select
j =
2)
=> 9
| 0)) /\
(joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv_select
JOINT_int_closure_env_exval_record_strenv_val_varenv_NIL_strid_env_prod_closure_env_exval_record_strenv_val_varenv =
10) /\
(!j1 j2.
joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv_select
(JOINT_int_closure_env_exval_record_strenv_val_varenv_CONS_strid_env_prod_closure_env_exval_record_strenv_val_varenv
j1
j2) =
(((joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv_select
j1 =
9) /\
(joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv_select
j2 =
10))
=> 10
| 0)) /\
(!j.
joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv_select
(JOINT_int_closure_env_exval_record_strenv_val_varenv_FINMAP_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv
j) =
((joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv_select
j =
10)
=> 11
| 0)) /\
(joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv_select
JOINT_int_ASSGval =
12) /\
(!s.
joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv_select
(JOINT_int_SVALval s) =
12) /\
(!b.
joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv_select
(JOINT_int_BASval b) =
12) /\
(!c.
joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv_select
(JOINT_int_CONval c) =
12) /\
(!c j.
joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv_select
(JOINT_int_APPCONval c j) =
((joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv_select
j =
12)
=> 12
| 0)) /\
(!j.
joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv_select
(JOINT_int_EXVALval j) =
((joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv_select
j =
3)
=> 12
| 0)) /\
(!j.
joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv_select
(JOINT_int_RECORDval j) =
((joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv_select
j =
7)
=> 12
| 0)) /\
(!a.
joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv_select
(JOINT_int_ADDRval a) =
12) /\
(!j.
joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv_select
(JOINT_int_CLOSUREval j) =
((joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv_select
j =
1)
=> 12
| 0)) /\
(!v' j.
joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv_select
(JOINT_int_closure_env_exval_record_strenv_val_varenv_ch44_var_val v'
j) =
((joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv_select
j =
12)
=> 13
| 0)) /\
(joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv_select
JOINT_int_closure_env_exval_record_strenv_val_varenv_NIL_var_val_prod_closure_env_exval_record_strenv_val_varenv =
14) /\
(!j1 j2.
joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv_select
(JOINT_int_closure_env_exval_record_strenv_val_varenv_CONS_var_val_prod_closure_env_exval_record_strenv_val_varenv
j1
j2) =
(((joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv_select
j1 =
13) /\
(joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv_select
j2 =
14))
=> 14
| 0)) /\
(!j.
joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv_select
(JOINT_int_closure_env_exval_record_strenv_val_varenv_FINMAP_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv
j) =
((joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv_select
j =
14)
=> 15
| 0)) /\
(!j.
joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv_select
(JOINT_int_VARENV j) =
((joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv_select
j =
15)
=> 16
| 0))
- strid_env_prod_closure_env_exval_record_strenv_val_varenv_TY_DEF
-
|- ?rep.
TYPE_DEFINITION
(\x.
joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv_select
x =
9)
rep
- strid_env_prod_closure_env_exval_record_strenv_val_varenv_REP_ABS
-
|- (!a.
strid_env_prod_closure_env_exval_record_strenv_val_varenv_abs
(strid_env_prod_closure_env_exval_record_strenv_val_varenv_rep a) =
a) /\
(!r.
(\x.
joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv_select
x =
9)
r =
strid_env_prod_closure_env_exval_record_strenv_val_varenv_rep
(strid_env_prod_closure_env_exval_record_strenv_val_varenv_abs r) =
r)
- closure_TY_DEF
-
|- ?rep.
TYPE_DEFINITION
(\x.
joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv_select
x =
1)
rep
- closure_REP_ABS
-
|- (!a. closure_abs (closure_rep a) = a) /\
(!r.
(\x.
joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv_select
x =
1)
r =
closure_rep (closure_abs r) =
r)
- env_TY_DEF
-
|- ?rep.
TYPE_DEFINITION
(\x.
joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv_select
x =
2)
rep
- env_REP_ABS
-
|- (!a. env_abs (env_rep a) = a) /\
(!r.
(\x.
joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv_select
x =
2)
r =
env_rep (env_abs r) =
r)
- label_val_prod_closure_env_exval_record_strenv_val_varenv_TY_DEF
-
|- ?rep.
TYPE_DEFINITION
(\x.
joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv_select
x =
4)
rep
- label_val_prod_closure_env_exval_record_strenv_val_varenv_REP_ABS
-
|- (!a.
label_val_prod_closure_env_exval_record_strenv_val_varenv_abs
(label_val_prod_closure_env_exval_record_strenv_val_varenv_rep a) =
a) /\
(!r.
(\x.
joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv_select
x =
4)
r =
label_val_prod_closure_env_exval_record_strenv_val_varenv_rep
(label_val_prod_closure_env_exval_record_strenv_val_varenv_abs r) =
r)
- strenv_TY_DEF
-
|- ?rep.
TYPE_DEFINITION
(\x.
joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv_select
x =
8)
rep
- strenv_REP_ABS
-
|- (!a. strenv_abs (strenv_rep a) = a) /\
(!r.
(\x.
joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv_select
x =
8)
r =
strenv_rep (strenv_abs r) =
r)
- varenv_TY_DEF
-
|- ?rep.
TYPE_DEFINITION
(\x.
joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv_select
x =
16)
rep
- varenv_REP_ABS
-
|- (!a. varenv_abs (varenv_rep a) = a) /\
(!r.
(\x.
joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv_select
x =
16)
r =
varenv_rep (varenv_abs r) =
r)
- var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_TY_DEF
-
|- ?rep.
TYPE_DEFINITION
(\x.
joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv_select
x =
15)
rep
- var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_REP_ABS
-
|- (!a.
var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_abs
(var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_rep
a) =
a) /\
(!r.
(\x.
joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv_select
x =
15)
r =
var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_rep
(var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_abs
r) =
r)
- var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_TY_DEF
-
|- ?rep.
TYPE_DEFINITION
(\x.
joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv_select
x =
14)
rep
- var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_REP_ABS
-
|- (!a.
var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_abs
(var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_rep
a) =
a) /\
(!r.
(\x.
joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv_select
x =
14)
r =
var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_rep
(var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_abs
r) =
r)
- var_val_prod_closure_env_exval_record_strenv_val_varenv_TY_DEF
-
|- ?rep.
TYPE_DEFINITION
(\x.
joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv_select
x =
13)
rep
- var_val_prod_closure_env_exval_record_strenv_val_varenv_REP_ABS
-
|- (!a.
var_val_prod_closure_env_exval_record_strenv_val_varenv_abs
(var_val_prod_closure_env_exval_record_strenv_val_varenv_rep a) =
a) /\
(!r.
(\x.
joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv_select
x =
13)
r =
var_val_prod_closure_env_exval_record_strenv_val_varenv_rep
(var_val_prod_closure_env_exval_record_strenv_val_varenv_abs r) =
r)
- val_TY_DEF
-
|- ?rep.
TYPE_DEFINITION
(\x.
joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv_select
x =
12)
rep
- val_REP_ABS
-
|- (!a. val_abs (val_rep a) = a) /\
(!r.
(\x.
joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv_select
x =
12)
r =
val_rep (val_abs r) =
r)
- strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_TY_DEF
-
|- ?rep.
TYPE_DEFINITION
(\x.
joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv_select
x =
11)
rep
- strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_REP_ABS
-
|- (!a.
strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_abs
(strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_rep
a) =
a) /\
(!r.
(\x.
joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv_select
x =
11)
r =
strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_rep
(strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_abs
r) =
r)
- strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_TY_DEF
-
|- ?rep.
TYPE_DEFINITION
(\x.
joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv_select
x =
10)
rep
- strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_REP_ABS
-
|- (!a.
strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_abs
(strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_rep
a) =
a) /\
(!r.
(\x.
joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv_select
x =
10)
r =
strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_rep
(strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_abs
r) =
r)
- record_TY_DEF
-
|- ?rep.
TYPE_DEFINITION
(\x.
joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv_select
x =
7)
rep
- record_REP_ABS
-
|- (!a. record_abs (record_rep a) = a) /\
(!r.
(\x.
joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv_select
x =
7)
r =
record_rep (record_abs r) =
r)
- label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_TY_DEF
-
|- ?rep.
TYPE_DEFINITION
(\x.
joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv_select
x =
6)
rep
- label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_REP_ABS
-
|- (!a.
label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_abs
(label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_rep
a) =
a) /\
(!r.
(\x.
joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv_select
x =
6)
r =
label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_rep
(label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_abs
r) =
r)
- label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_TY_DEF
-
|- ?rep.
TYPE_DEFINITION
(\x.
joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv_select
x =
5)
rep
- label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_REP_ABS
-
|- (!a.
label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_abs
(label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_rep
a) =
a) /\
(!r.
(\x.
joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv_select
x =
5)
r =
label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_rep
(label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_abs
r) =
r)
- exval_TY_DEF
-
|- ?rep.
TYPE_DEFINITION
(\x.
joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv_select
x =
3)
rep
- exval_REP_ABS
-
|- (!a. exval_abs (exval_rep a) = a) /\
(!r.
(\x.
joint_ty_closure_env_exval_label_val_prod_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_record_strenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_val_var_val_prod_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_varenv_select
x =
3)
r =
exval_rep (exval_abs r) =
r)
- int_CLOSURE_DEF
-
|- !x1 x2 x3.
int_CLOSURE x1 x2 x3 =
closure_abs (JOINT_int_CLOSURE x1 (env_rep x2) (varenv_rep x3))
- int_ENV_DEF
-
|- !x1 x2 x3.
int_ENV x1 x2 x3 =
env_abs (JOINT_int_ENV (strenv_rep x1) (varenv_rep x2) x3)
- int_NAMEexval_DEF
-
|- !x1. int_NAMEexval x1 = exval_abs (JOINT_int_NAMEexval x1)
- int_NAMEVALexval_DEF
-
|- !x1 x2.
int_NAMEVALexval x1 x2 =
exval_abs (JOINT_int_NAMEVALexval x1 (val_rep x2))
- int_closure_env_exval_record_strenv_val_varenv_ch44_label_val_DEF
-
|- !x1 x2.
int_closure_env_exval_record_strenv_val_varenv_ch44_label_val x1 x2 =
label_val_prod_closure_env_exval_record_strenv_val_varenv_abs
(JOINT_int_closure_env_exval_record_strenv_val_varenv_ch44_label_val x1
(val_rep x2))
- int_closure_env_exval_record_strenv_val_varenv_NIL_label_val_prod_closure_env_exval_record_strenv_val_varenv_DEF
-
|- int_closure_env_exval_record_strenv_val_varenv_NIL_label_val_prod_closure_env_exval_record_strenv_val_varenv =
label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_abs
JOINT_int_closure_env_exval_record_strenv_val_varenv_NIL_label_val_prod_closure_env_exval_record_strenv_val_varenv
- int_closure_env_exval_record_strenv_val_varenv_CONS_label_val_prod_closure_env_exval_record_strenv_val_varenv_DEF
-
|- !x1 x2.
int_closure_env_exval_record_strenv_val_varenv_CONS_label_val_prod_closure_env_exval_record_strenv_val_varenv
x1
x2 =
label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_abs
(JOINT_int_closure_env_exval_record_strenv_val_varenv_CONS_label_val_prod_closure_env_exval_record_strenv_val_varenv
(label_val_prod_closure_env_exval_record_strenv_val_varenv_rep x1)
(label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_rep
x2))
- int_closure_env_exval_record_strenv_val_varenv_FINMAP_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_DEF
-
|- !x1.
int_closure_env_exval_record_strenv_val_varenv_FINMAP_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv
x1 =
label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_abs
(JOINT_int_closure_env_exval_record_strenv_val_varenv_FINMAP_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv
(label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_rep
x1))
- int_RECORD_DEF
-
|- !x1.
int_RECORD x1 =
record_abs
(JOINT_int_RECORD
(label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_rep
x1))
- int_STRENV_DEF
-
|- !x1.
int_STRENV x1 =
strenv_abs
(JOINT_int_STRENV
(strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_rep
x1))
- int_closure_env_exval_record_strenv_val_varenv_ch44_strid_env_DEF
-
|- !x1 x2.
int_closure_env_exval_record_strenv_val_varenv_ch44_strid_env x1 x2 =
strid_env_prod_closure_env_exval_record_strenv_val_varenv_abs
(JOINT_int_closure_env_exval_record_strenv_val_varenv_ch44_strid_env x1
(env_rep x2))
- int_closure_env_exval_record_strenv_val_varenv_NIL_strid_env_prod_closure_env_exval_record_strenv_val_varenv_DEF
-
|- int_closure_env_exval_record_strenv_val_varenv_NIL_strid_env_prod_closure_env_exval_record_strenv_val_varenv =
strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_abs
JOINT_int_closure_env_exval_record_strenv_val_varenv_NIL_strid_env_prod_closure_env_exval_record_strenv_val_varenv
- int_closure_env_exval_record_strenv_val_varenv_CONS_strid_env_prod_closure_env_exval_record_strenv_val_varenv_DEF
-
|- !x1 x2.
int_closure_env_exval_record_strenv_val_varenv_CONS_strid_env_prod_closure_env_exval_record_strenv_val_varenv
x1
x2 =
strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_abs
(JOINT_int_closure_env_exval_record_strenv_val_varenv_CONS_strid_env_prod_closure_env_exval_record_strenv_val_varenv
(strid_env_prod_closure_env_exval_record_strenv_val_varenv_rep x1)
(strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_rep
x2))
- int_closure_env_exval_record_strenv_val_varenv_FINMAP_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_DEF
-
|- !x1.
int_closure_env_exval_record_strenv_val_varenv_FINMAP_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv
x1 =
strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_abs
(JOINT_int_closure_env_exval_record_strenv_val_varenv_FINMAP_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv
(strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_rep
x1))
- int_ASSGval_DEF
-
|- int_ASSGval = val_abs JOINT_int_ASSGval
- int_SVALval_DEF
-
|- !x1. int_SVALval x1 = val_abs (JOINT_int_SVALval x1)
- int_BASval_DEF
-
|- !x1. int_BASval x1 = val_abs (JOINT_int_BASval x1)
- int_CONval_DEF
-
|- !x1. int_CONval x1 = val_abs (JOINT_int_CONval x1)
- int_APPCONval_DEF
-
|- !x1 x2. int_APPCONval x1 x2 = val_abs (JOINT_int_APPCONval x1 (val_rep x2))
- int_EXVALval_DEF
-
|- !x1. int_EXVALval x1 = val_abs (JOINT_int_EXVALval (exval_rep x1))
- int_RECORDval_DEF
-
|- !x1. int_RECORDval x1 = val_abs (JOINT_int_RECORDval (record_rep x1))
- int_ADDRval_DEF
-
|- !x1. int_ADDRval x1 = val_abs (JOINT_int_ADDRval x1)
- int_CLOSUREval_DEF
-
|- !x1. int_CLOSUREval x1 = val_abs (JOINT_int_CLOSUREval (closure_rep x1))
- int_closure_env_exval_record_strenv_val_varenv_ch44_var_val_DEF
-
|- !x1 x2.
int_closure_env_exval_record_strenv_val_varenv_ch44_var_val x1 x2 =
var_val_prod_closure_env_exval_record_strenv_val_varenv_abs
(JOINT_int_closure_env_exval_record_strenv_val_varenv_ch44_var_val x1
(val_rep x2))
- int_closure_env_exval_record_strenv_val_varenv_NIL_var_val_prod_closure_env_exval_record_strenv_val_varenv_DEF
-
|- int_closure_env_exval_record_strenv_val_varenv_NIL_var_val_prod_closure_env_exval_record_strenv_val_varenv =
var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_abs
JOINT_int_closure_env_exval_record_strenv_val_varenv_NIL_var_val_prod_closure_env_exval_record_strenv_val_varenv
- int_closure_env_exval_record_strenv_val_varenv_CONS_var_val_prod_closure_env_exval_record_strenv_val_varenv_DEF
-
|- !x1 x2.
int_closure_env_exval_record_strenv_val_varenv_CONS_var_val_prod_closure_env_exval_record_strenv_val_varenv
x1
x2 =
var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_abs
(JOINT_int_closure_env_exval_record_strenv_val_varenv_CONS_var_val_prod_closure_env_exval_record_strenv_val_varenv
(var_val_prod_closure_env_exval_record_strenv_val_varenv_rep x1)
(var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_rep
x2))
- int_closure_env_exval_record_strenv_val_varenv_FINMAP_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_DEF
-
|- !x1.
int_closure_env_exval_record_strenv_val_varenv_FINMAP_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv
x1 =
var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_abs
(JOINT_int_closure_env_exval_record_strenv_val_varenv_FINMAP_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv
(var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_rep
x1))
- int_VARENV_DEF
-
|- !x1.
int_VARENV x1 =
varenv_abs
(JOINT_int_VARENV
(var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv_rep
x1))
- CLOSURE
-
|- CLOSURE = (\x0 x1 x2. int_CLOSURE x0 x1 x2)
- ENV
-
|- ENV = (\x0 x1 x2. int_ENV x0 x1 x2)
- NAMEexval
-
|- NAMEexval = (\x0. int_NAMEexval x0)
- NAMEVALexval
-
|- NAMEVALexval = (\x0 x1. int_NAMEVALexval x0 x1)
- int_inj_label_val_prod_closure_env_exval_record_strenv_val_varenv
-
|- !x1 x0.
int_inj_label_val_prod_closure_env_exval_record_strenv_val_varenv
(x0,x1) =
int_closure_env_exval_record_strenv_val_varenv_ch44_label_val x0 x1
- int_inv_label_val_prod_closure_env_exval_record_strenv_val_varenv
-
|- !x1 x2.
int_inv_label_val_prod_closure_env_exval_record_strenv_val_varenv
(int_closure_env_exval_record_strenv_val_varenv_ch44_label_val x1 x2) =
(x1,x2)
- int_inj_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv
-
|- (int_inj_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv
[] =
int_closure_env_exval_record_strenv_val_varenv_NIL_label_val_prod_closure_env_exval_record_strenv_val_varenv) /\
(!x1 x0.
int_inj_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv
(CONS x0 x1) =
int_closure_env_exval_record_strenv_val_varenv_CONS_label_val_prod_closure_env_exval_record_strenv_val_varenv
(int_inj_label_val_prod_closure_env_exval_record_strenv_val_varenv x0)
(int_inj_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv
x1))
- int_inv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv
-
|- (int_inv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv
int_closure_env_exval_record_strenv_val_varenv_NIL_label_val_prod_closure_env_exval_record_strenv_val_varenv =
[]) /\
(!x1 x2.
int_inv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv
(int_closure_env_exval_record_strenv_val_varenv_CONS_label_val_prod_closure_env_exval_record_strenv_val_varenv
x1
x2) =
CONS
(int_inv_label_val_prod_closure_env_exval_record_strenv_val_varenv x1)
(int_inv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv
x2))
- int_inj_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv
-
|- !x0.
int_inj_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv
(FINMAP x0) =
int_closure_env_exval_record_strenv_val_varenv_FINMAP_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv
(int_inj_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv
x0)
- int_inv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv
-
|- !x1.
int_inv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv
(int_closure_env_exval_record_strenv_val_varenv_FINMAP_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv
x1) =
FINMAP
(int_inv_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv
x1)
- RECORD
-
|- RECORD =
(\x0.
int_RECORD
(int_inj_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv
x0))
- int_inj_strid_env_prod_closure_env_exval_record_strenv_val_varenv
-
|- !x1 x0.
int_inj_strid_env_prod_closure_env_exval_record_strenv_val_varenv
(x0,x1) =
int_closure_env_exval_record_strenv_val_varenv_ch44_strid_env x0 x1
- int_inv_strid_env_prod_closure_env_exval_record_strenv_val_varenv
-
|- !x1 x2.
int_inv_strid_env_prod_closure_env_exval_record_strenv_val_varenv
(int_closure_env_exval_record_strenv_val_varenv_ch44_strid_env x1 x2) =
(x1,x2)
- int_inj_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv
-
|- (int_inj_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv
[] =
int_closure_env_exval_record_strenv_val_varenv_NIL_strid_env_prod_closure_env_exval_record_strenv_val_varenv) /\
(!x1 x0.
int_inj_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv
(CONS x0 x1) =
int_closure_env_exval_record_strenv_val_varenv_CONS_strid_env_prod_closure_env_exval_record_strenv_val_varenv
(int_inj_strid_env_prod_closure_env_exval_record_strenv_val_varenv x0)
(int_inj_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv
x1))
- int_inv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv
-
|- (int_inv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv
int_closure_env_exval_record_strenv_val_varenv_NIL_strid_env_prod_closure_env_exval_record_strenv_val_varenv =
[]) /\
(!x1 x2.
int_inv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv
(int_closure_env_exval_record_strenv_val_varenv_CONS_strid_env_prod_closure_env_exval_record_strenv_val_varenv
x1
x2) =
CONS
(int_inv_strid_env_prod_closure_env_exval_record_strenv_val_varenv x1)
(int_inv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv
x2))
- int_inj_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv
-
|- !x0.
int_inj_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv
(FINMAP x0) =
int_closure_env_exval_record_strenv_val_varenv_FINMAP_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv
(int_inj_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv
x0)
- int_inv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv
-
|- !x1.
int_inv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv
(int_closure_env_exval_record_strenv_val_varenv_FINMAP_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv
x1) =
FINMAP
(int_inv_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv
x1)
- STRENV
-
|- STRENV =
(\x0.
int_STRENV
(int_inj_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv
x0))
- ASSGval
-
|- ASSGval = int_ASSGval
- SVALval
-
|- SVALval = (\x0. int_SVALval x0)
- BASval
-
|- BASval = (\x0. int_BASval x0)
- CONval
-
|- CONval = (\x0. int_CONval x0)
- APPCONval
-
|- APPCONval = (\x0 x1. int_APPCONval x0 x1)
- EXVALval
-
|- EXVALval = (\x0. int_EXVALval x0)
- RECORDval
-
|- RECORDval = (\x0. int_RECORDval x0)
- ADDRval
-
|- ADDRval = (\x0. int_ADDRval x0)
- CLOSUREval
-
|- CLOSUREval = (\x0. int_CLOSUREval x0)
- int_inj_var_val_prod_closure_env_exval_record_strenv_val_varenv
-
|- !x1 x0.
int_inj_var_val_prod_closure_env_exval_record_strenv_val_varenv (x0,x1) =
int_closure_env_exval_record_strenv_val_varenv_ch44_var_val x0 x1
- int_inv_var_val_prod_closure_env_exval_record_strenv_val_varenv
-
|- !x1 x2.
int_inv_var_val_prod_closure_env_exval_record_strenv_val_varenv
(int_closure_env_exval_record_strenv_val_varenv_ch44_var_val x1 x2) =
(x1,x2)
- int_inj_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv
-
|- (int_inj_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv
[] =
int_closure_env_exval_record_strenv_val_varenv_NIL_var_val_prod_closure_env_exval_record_strenv_val_varenv) /\
(!x1 x0.
int_inj_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv
(CONS x0 x1) =
int_closure_env_exval_record_strenv_val_varenv_CONS_var_val_prod_closure_env_exval_record_strenv_val_varenv
(int_inj_var_val_prod_closure_env_exval_record_strenv_val_varenv x0)
(int_inj_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv
x1))
- int_inv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv
-
|- (int_inv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv
int_closure_env_exval_record_strenv_val_varenv_NIL_var_val_prod_closure_env_exval_record_strenv_val_varenv =
[]) /\
(!x1 x2.
int_inv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv
(int_closure_env_exval_record_strenv_val_varenv_CONS_var_val_prod_closure_env_exval_record_strenv_val_varenv
x1
x2) =
CONS (int_inv_var_val_prod_closure_env_exval_record_strenv_val_varenv x1)
(int_inv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv
x2))
- int_inj_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv
-
|- !x0.
int_inj_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv
(FINMAP x0) =
int_closure_env_exval_record_strenv_val_varenv_FINMAP_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv
(int_inj_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv
x0)
- int_inv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv
-
|- !x1.
int_inv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv
(int_closure_env_exval_record_strenv_val_varenv_FINMAP_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv
x1) =
FINMAP
(int_inv_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv
x1)
- VARENV
-
|- VARENV =
(\x0.
int_VARENV
(int_inj_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv
x0))
- dist_aux_ftn_closure_DEF
-
|- (!x1 x2 x3. dist_aux_ftn_closure (int_CLOSURE x1 x2 x3) = 0) /\
(!x1 x2 x3. dist_aux_ftn_env (int_ENV x1 x2 x3) = 1) /\
(!x1. dist_aux_ftn_exval (int_NAMEexval x1) = 2) /\
(!x1 x2. dist_aux_ftn_exval (int_NAMEVALexval x1 x2) = 3) /\
(!x1 x2.
dist_aux_ftn_label_val_prod_closure_env_exval_record_strenv_val_varenv
(int_closure_env_exval_record_strenv_val_varenv_ch44_label_val x1 x2) =
4) /\
(dist_aux_ftn_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv
int_closure_env_exval_record_strenv_val_varenv_NIL_label_val_prod_closure_env_exval_record_strenv_val_varenv =
5) /\
(!x1 x2.
dist_aux_ftn_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv
(int_closure_env_exval_record_strenv_val_varenv_CONS_label_val_prod_closure_env_exval_record_strenv_val_varenv
x1
x2) =
6) /\
(!x1.
dist_aux_ftn_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv
(int_closure_env_exval_record_strenv_val_varenv_FINMAP_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv
x1) =
7) /\
(!x1. dist_aux_ftn_record (int_RECORD x1) = 8) /\
(!x1. dist_aux_ftn_strenv (int_STRENV x1) = 9) /\
(!x1 x2.
dist_aux_ftn_strid_env_prod_closure_env_exval_record_strenv_val_varenv
(int_closure_env_exval_record_strenv_val_varenv_ch44_strid_env x1 x2) =
10) /\
(dist_aux_ftn_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv
int_closure_env_exval_record_strenv_val_varenv_NIL_strid_env_prod_closure_env_exval_record_strenv_val_varenv =
11) /\
(!x1 x2.
dist_aux_ftn_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv
(int_closure_env_exval_record_strenv_val_varenv_CONS_strid_env_prod_closure_env_exval_record_strenv_val_varenv
x1
x2) =
12) /\
(!x1.
dist_aux_ftn_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv
(int_closure_env_exval_record_strenv_val_varenv_FINMAP_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv
x1) =
13) /\
(dist_aux_ftn_val int_ASSGval = 14) /\
(!x1. dist_aux_ftn_val (int_SVALval x1) = 15) /\
(!x1. dist_aux_ftn_val (int_BASval x1) = 16) /\
(!x1. dist_aux_ftn_val (int_CONval x1) = 17) /\
(!x1 x2. dist_aux_ftn_val (int_APPCONval x1 x2) = 18) /\
(!x1. dist_aux_ftn_val (int_EXVALval x1) = 19) /\
(!x1. dist_aux_ftn_val (int_RECORDval x1) = 20) /\
(!x1. dist_aux_ftn_val (int_ADDRval x1) = 21) /\
(!x1. dist_aux_ftn_val (int_CLOSUREval x1) = 22) /\
(!x1 x2.
dist_aux_ftn_var_val_prod_closure_env_exval_record_strenv_val_varenv
(int_closure_env_exval_record_strenv_val_varenv_ch44_var_val x1 x2) =
23) /\
(dist_aux_ftn_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv
int_closure_env_exval_record_strenv_val_varenv_NIL_var_val_prod_closure_env_exval_record_strenv_val_varenv =
24) /\
(!x1 x2.
dist_aux_ftn_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv
(int_closure_env_exval_record_strenv_val_varenv_CONS_var_val_prod_closure_env_exval_record_strenv_val_varenv
x1
x2) =
25) /\
(!x1.
dist_aux_ftn_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_finmap_closure_env_exval_record_strenv_val_varenv
(int_closure_env_exval_record_strenv_val_varenv_FINMAP_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv
x1) =
26) /\
(!x1. dist_aux_ftn_varenv (int_VARENV x1) = 27)
- int_CLOSURE_arg1_DEF
-
|- !x1 x2 x3. int_CLOSURE_arg1 (int_CLOSURE x1 x2 x3) = x1
- int_CLOSURE_arg2_DEF
-
|- !x1 x2 x3. int_CLOSURE_arg2 (int_CLOSURE x1 x2 x3) = x2
- int_CLOSURE_arg3_DEF
-
|- !x1 x2 x3. int_CLOSURE_arg3 (int_CLOSURE x1 x2 x3) = x3
- int_ENV_arg1_DEF
-
|- !x1 x2 x3. int_ENV_arg1 (int_ENV x1 x2 x3) = x1
- int_ENV_arg2_DEF
-
|- !x1 x2 x3. int_ENV_arg2 (int_ENV x1 x2 x3) = x2
- int_ENV_arg3_DEF
-
|- !x1 x2 x3. int_ENV_arg3 (int_ENV x1 x2 x3) = x3
- int_NAMEexval_arg_DEF
-
|- (!x1. int_NAMEexval_arg (int_NAMEexval x1) = x1) /\
(!x1 x2. int_NAMEexval_arg (int_NAMEVALexval x1 x2) = (@x. T))
- int_NAMEVALexval_arg1_DEF
-
|- (!x1 x2. int_NAMEVALexval_arg1 (int_NAMEVALexval x1 x2) = x1) /\
(!x1. int_NAMEVALexval_arg1 (int_NAMEexval x1) = (@x. T))
- int_NAMEVALexval_arg2_DEF
-
|- (!x1 x2. int_NAMEVALexval_arg2 (int_NAMEVALexval x1 x2) = x2) /\
(!x1. int_NAMEVALexval_arg2 (int_NAMEexval x1) = (@x. T))
- int_closure_env_exval_record_strenv_val_varenv_ch44_label_val_arg1_DEF
-
|- !x1 x2.
int_closure_env_exval_record_strenv_val_varenv_ch44_label_val_arg1
(int_closure_env_exval_record_strenv_val_varenv_ch44_label_val x1 x2) =
x1
- int_closure_env_exval_record_strenv_val_varenv_ch44_label_val_arg2_DEF
-
|- !x1 x2.
int_closure_env_exval_record_strenv_val_varenv_ch44_label_val_arg2
(int_closure_env_exval_record_strenv_val_varenv_ch44_label_val x1 x2) =
x2
- int_closure_env_exval_record_strenv_val_varenv_CONS_label_val_prod_closure_env_exval_record_strenv_val_varenv_arg1_DEF
-
|- (!x1 x2.
int_closure_env_exval_record_strenv_val_varenv_CONS_label_val_prod_closure_env_exval_record_strenv_val_varenv_arg1
(int_closure_env_exval_record_strenv_val_varenv_CONS_label_val_prod_closure_env_exval_record_strenv_val_varenv
x1
x2) =
x1) /\
(int_closure_env_exval_record_strenv_val_varenv_CONS_label_val_prod_closure_env_exval_record_strenv_val_varenv_arg1
int_closure_env_exval_record_strenv_val_varenv_NIL_label_val_prod_closure_env_exval_record_strenv_val_varenv =
(@x. T))
- int_closure_env_exval_record_strenv_val_varenv_CONS_label_val_prod_closure_env_exval_record_strenv_val_varenv_arg2_DEF
-
|- (!x1 x2.
int_closure_env_exval_record_strenv_val_varenv_CONS_label_val_prod_closure_env_exval_record_strenv_val_varenv_arg2
(int_closure_env_exval_record_strenv_val_varenv_CONS_label_val_prod_closure_env_exval_record_strenv_val_varenv
x1
x2) =
x2) /\
(int_closure_env_exval_record_strenv_val_varenv_CONS_label_val_prod_closure_env_exval_record_strenv_val_varenv_arg2
int_closure_env_exval_record_strenv_val_varenv_NIL_label_val_prod_closure_env_exval_record_strenv_val_varenv =
(@x. T))
- int_closure_env_exval_record_strenv_val_varenv_FINMAP_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_arg_DEF
-
|- !x1.
int_closure_env_exval_record_strenv_val_varenv_FINMAP_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_arg
(int_closure_env_exval_record_strenv_val_varenv_FINMAP_label_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv
x1) =
x1
- int_RECORD_arg_DEF
-
|- !x1. int_RECORD_arg (int_RECORD x1) = x1
- int_STRENV_arg_DEF
-
|- !x1. int_STRENV_arg (int_STRENV x1) = x1
- int_closure_env_exval_record_strenv_val_varenv_ch44_strid_env_arg1_DEF
-
|- !x1 x2.
int_closure_env_exval_record_strenv_val_varenv_ch44_strid_env_arg1
(int_closure_env_exval_record_strenv_val_varenv_ch44_strid_env x1 x2) =
x1
- int_closure_env_exval_record_strenv_val_varenv_ch44_strid_env_arg2_DEF
-
|- !x1 x2.
int_closure_env_exval_record_strenv_val_varenv_ch44_strid_env_arg2
(int_closure_env_exval_record_strenv_val_varenv_ch44_strid_env x1 x2) =
x2
- int_closure_env_exval_record_strenv_val_varenv_CONS_strid_env_prod_closure_env_exval_record_strenv_val_varenv_arg1_DEF
-
|- (!x1 x2.
int_closure_env_exval_record_strenv_val_varenv_CONS_strid_env_prod_closure_env_exval_record_strenv_val_varenv_arg1
(int_closure_env_exval_record_strenv_val_varenv_CONS_strid_env_prod_closure_env_exval_record_strenv_val_varenv
x1
x2) =
x1) /\
(int_closure_env_exval_record_strenv_val_varenv_CONS_strid_env_prod_closure_env_exval_record_strenv_val_varenv_arg1
int_closure_env_exval_record_strenv_val_varenv_NIL_strid_env_prod_closure_env_exval_record_strenv_val_varenv =
(@x. T))
- int_closure_env_exval_record_strenv_val_varenv_CONS_strid_env_prod_closure_env_exval_record_strenv_val_varenv_arg2_DEF
-
|- (!x1 x2.
int_closure_env_exval_record_strenv_val_varenv_CONS_strid_env_prod_closure_env_exval_record_strenv_val_varenv_arg2
(int_closure_env_exval_record_strenv_val_varenv_CONS_strid_env_prod_closure_env_exval_record_strenv_val_varenv
x1
x2) =
x2) /\
(int_closure_env_exval_record_strenv_val_varenv_CONS_strid_env_prod_closure_env_exval_record_strenv_val_varenv_arg2
int_closure_env_exval_record_strenv_val_varenv_NIL_strid_env_prod_closure_env_exval_record_strenv_val_varenv =
(@x. T))
- int_closure_env_exval_record_strenv_val_varenv_FINMAP_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_arg_DEF
-
|- !x1.
int_closure_env_exval_record_strenv_val_varenv_FINMAP_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_arg
(int_closure_env_exval_record_strenv_val_varenv_FINMAP_strid_env_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv
x1) =
x1
- int_SVALval_arg_DEF
-
|- (!x1. int_SVALval_arg (int_SVALval x1) = x1) /\
(int_SVALval_arg int_ASSGval = (@x. T)) /\
(!x1. int_SVALval_arg (int_BASval x1) = (@x. T)) /\
(!x1. int_SVALval_arg (int_CONval x1) = (@x. T)) /\
(!x1 x2. int_SVALval_arg (int_APPCONval x1 x2) = (@x. T)) /\
(!x1. int_SVALval_arg (int_EXVALval x1) = (@x. T)) /\
(!x1. int_SVALval_arg (int_RECORDval x1) = (@x. T)) /\
(!x1. int_SVALval_arg (int_ADDRval x1) = (@x. T)) /\
(!x1. int_SVALval_arg (int_CLOSUREval x1) = (@x. T))
- int_BASval_arg_DEF
-
|- (!x1. int_BASval_arg (int_BASval x1) = x1) /\
(int_BASval_arg int_ASSGval = (@x. T)) /\
(!x1. int_BASval_arg (int_SVALval x1) = (@x. T)) /\
(!x1. int_BASval_arg (int_CONval x1) = (@x. T)) /\
(!x1 x2. int_BASval_arg (int_APPCONval x1 x2) = (@x. T)) /\
(!x1. int_BASval_arg (int_EXVALval x1) = (@x. T)) /\
(!x1. int_BASval_arg (int_RECORDval x1) = (@x. T)) /\
(!x1. int_BASval_arg (int_ADDRval x1) = (@x. T)) /\
(!x1. int_BASval_arg (int_CLOSUREval x1) = (@x. T))
- int_CONval_arg_DEF
-
|- (!x1. int_CONval_arg (int_CONval x1) = x1) /\
(int_CONval_arg int_ASSGval = (@x. T)) /\
(!x1. int_CONval_arg (int_SVALval x1) = (@x. T)) /\
(!x1. int_CONval_arg (int_BASval x1) = (@x. T)) /\
(!x1 x2. int_CONval_arg (int_APPCONval x1 x2) = (@x. T)) /\
(!x1. int_CONval_arg (int_EXVALval x1) = (@x. T)) /\
(!x1. int_CONval_arg (int_RECORDval x1) = (@x. T)) /\
(!x1. int_CONval_arg (int_ADDRval x1) = (@x. T)) /\
(!x1. int_CONval_arg (int_CLOSUREval x1) = (@x. T))
- int_APPCONval_arg1_DEF
-
|- (!x1 x2. int_APPCONval_arg1 (int_APPCONval x1 x2) = x1) /\
(int_APPCONval_arg1 int_ASSGval = (@x. T)) /\
(!x1. int_APPCONval_arg1 (int_SVALval x1) = (@x. T)) /\
(!x1. int_APPCONval_arg1 (int_BASval x1) = (@x. T)) /\
(!x1. int_APPCONval_arg1 (int_CONval x1) = (@x. T)) /\
(!x1. int_APPCONval_arg1 (int_EXVALval x1) = (@x. T)) /\
(!x1. int_APPCONval_arg1 (int_RECORDval x1) = (@x. T)) /\
(!x1. int_APPCONval_arg1 (int_ADDRval x1) = (@x. T)) /\
(!x1. int_APPCONval_arg1 (int_CLOSUREval x1) = (@x. T))
- int_APPCONval_arg2_DEF
-
|- (!x1 x2. int_APPCONval_arg2 (int_APPCONval x1 x2) = x2) /\
(int_APPCONval_arg2 int_ASSGval = (@x. T)) /\
(!x1. int_APPCONval_arg2 (int_SVALval x1) = (@x. T)) /\
(!x1. int_APPCONval_arg2 (int_BASval x1) = (@x. T)) /\
(!x1. int_APPCONval_arg2 (int_CONval x1) = (@x. T)) /\
(!x1. int_APPCONval_arg2 (int_EXVALval x1) = (@x. T)) /\
(!x1. int_APPCONval_arg2 (int_RECORDval x1) = (@x. T)) /\
(!x1. int_APPCONval_arg2 (int_ADDRval x1) = (@x. T)) /\
(!x1. int_APPCONval_arg2 (int_CLOSUREval x1) = (@x. T))
- int_EXVALval_arg_DEF
-
|- (!x1. int_EXVALval_arg (int_EXVALval x1) = x1) /\
(int_EXVALval_arg int_ASSGval = (@x. T)) /\
(!x1. int_EXVALval_arg (int_SVALval x1) = (@x. T)) /\
(!x1. int_EXVALval_arg (int_BASval x1) = (@x. T)) /\
(!x1. int_EXVALval_arg (int_CONval x1) = (@x. T)) /\
(!x1 x2. int_EXVALval_arg (int_APPCONval x1 x2) = (@x. T)) /\
(!x1. int_EXVALval_arg (int_RECORDval x1) = (@x. T)) /\
(!x1. int_EXVALval_arg (int_ADDRval x1) = (@x. T)) /\
(!x1. int_EXVALval_arg (int_CLOSUREval x1) = (@x. T))
- int_RECORDval_arg_DEF
-
|- (!x1. int_RECORDval_arg (int_RECORDval x1) = x1) /\
(int_RECORDval_arg int_ASSGval = (@x. T)) /\
(!x1. int_RECORDval_arg (int_SVALval x1) = (@x. T)) /\
(!x1. int_RECORDval_arg (int_BASval x1) = (@x. T)) /\
(!x1. int_RECORDval_arg (int_CONval x1) = (@x. T)) /\
(!x1 x2. int_RECORDval_arg (int_APPCONval x1 x2) = (@x. T)) /\
(!x1. int_RECORDval_arg (int_EXVALval x1) = (@x. T)) /\
(!x1. int_RECORDval_arg (int_ADDRval x1) = (@x. T)) /\
(!x1. int_RECORDval_arg (int_CLOSUREval x1) = (@x. T))
- int_ADDRval_arg_DEF
-
|- (!x1. int_ADDRval_arg (int_ADDRval x1) = x1) /\
(int_ADDRval_arg int_ASSGval = (@x. T)) /\
(!x1. int_ADDRval_arg (int_SVALval x1) = (@x. T)) /\
(!x1. int_ADDRval_arg (int_BASval x1) = (@x. T)) /\
(!x1. int_ADDRval_arg (int_CONval x1) = (@x. T)) /\
(!x1 x2. int_ADDRval_arg (int_APPCONval x1 x2) = (@x. T)) /\
(!x1. int_ADDRval_arg (int_EXVALval x1) = (@x. T)) /\
(!x1. int_ADDRval_arg (int_RECORDval x1) = (@x. T)) /\
(!x1. int_ADDRval_arg (int_CLOSUREval x1) = (@x. T))
- int_CLOSUREval_arg_DEF
-
|- (!x1. int_CLOSUREval_arg (int_CLOSUREval x1) = x1) /\
(int_CLOSUREval_arg int_ASSGval = (@x. T)) /\
(!x1. int_CLOSUREval_arg (int_SVALval x1) = (@x. T)) /\
(!x1. int_CLOSUREval_arg (int_BASval x1) = (@x. T)) /\
(!x1. int_CLOSUREval_arg (int_CONval x1) = (@x. T)) /\
(!x1 x2. int_CLOSUREval_arg (int_APPCONval x1 x2) = (@x. T)) /\
(!x1. int_CLOSUREval_arg (int_EXVALval x1) = (@x. T)) /\
(!x1. int_CLOSUREval_arg (int_RECORDval x1) = (@x. T)) /\
(!x1. int_CLOSUREval_arg (int_ADDRval x1) = (@x. T))
- int_closure_env_exval_record_strenv_val_varenv_ch44_var_val_arg1_DEF
-
|- !x1 x2.
int_closure_env_exval_record_strenv_val_varenv_ch44_var_val_arg1
(int_closure_env_exval_record_strenv_val_varenv_ch44_var_val x1 x2) =
x1
- int_closure_env_exval_record_strenv_val_varenv_ch44_var_val_arg2_DEF
-
|- !x1 x2.
int_closure_env_exval_record_strenv_val_varenv_ch44_var_val_arg2
(int_closure_env_exval_record_strenv_val_varenv_ch44_var_val x1 x2) =
x2
- int_closure_env_exval_record_strenv_val_varenv_CONS_var_val_prod_closure_env_exval_record_strenv_val_varenv_arg1_DEF
-
|- (!x1 x2.
int_closure_env_exval_record_strenv_val_varenv_CONS_var_val_prod_closure_env_exval_record_strenv_val_varenv_arg1
(int_closure_env_exval_record_strenv_val_varenv_CONS_var_val_prod_closure_env_exval_record_strenv_val_varenv
x1
x2) =
x1) /\
(int_closure_env_exval_record_strenv_val_varenv_CONS_var_val_prod_closure_env_exval_record_strenv_val_varenv_arg1
int_closure_env_exval_record_strenv_val_varenv_NIL_var_val_prod_closure_env_exval_record_strenv_val_varenv =
(@x. T))
- int_closure_env_exval_record_strenv_val_varenv_CONS_var_val_prod_closure_env_exval_record_strenv_val_varenv_arg2_DEF
-
|- (!x1 x2.
int_closure_env_exval_record_strenv_val_varenv_CONS_var_val_prod_closure_env_exval_record_strenv_val_varenv_arg2
(int_closure_env_exval_record_strenv_val_varenv_CONS_var_val_prod_closure_env_exval_record_strenv_val_varenv
x1
x2) =
x2) /\
(int_closure_env_exval_record_strenv_val_varenv_CONS_var_val_prod_closure_env_exval_record_strenv_val_varenv_arg2
int_closure_env_exval_record_strenv_val_varenv_NIL_var_val_prod_closure_env_exval_record_strenv_val_varenv =
(@x. T))
- int_closure_env_exval_record_strenv_val_varenv_FINMAP_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_arg_DEF
-
|- !x1.
int_closure_env_exval_record_strenv_val_varenv_FINMAP_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv_arg
(int_closure_env_exval_record_strenv_val_varenv_FINMAP_var_val_prod_closure_env_exval_record_strenv_val_varenv_list_closure_env_exval_record_strenv_val_varenv
x1) =
x1
- int_VARENV_arg_DEF
-
|- !x1. int_VARENV_arg (int_VARENV x1) = x1
- is_ASSGval_DEF
-
|- is_ASSGval ASSGval /\
(!x1. ~(is_ASSGval (SVALval x1))) /\
(!x1. ~(is_ASSGval (BASval x1))) /\
(!x1. ~(is_ASSGval (CONval x1))) /\
(!x1 x2. ~(is_ASSGval (APPCONval x1 x2))) /\
(!x1. ~(is_ASSGval (EXVALval x1))) /\
(!x1. ~(is_ASSGval (RECORDval x1))) /\
(!x1. ~(is_ASSGval (ADDRval x1))) /\
(!x1. ~(is_ASSGval (CLOSUREval x1)))
- is_SVALval_DEF
-
|- (!x1. is_SVALval (SVALval x1)) /\
~(is_SVALval ASSGval) /\
(!x1. ~(is_SVALval (BASval x1))) /\
(!x1. ~(is_SVALval (CONval x1))) /\
(!x1 x2. ~(is_SVALval (APPCONval x1 x2))) /\
(!x1. ~(is_SVALval (EXVALval x1))) /\
(!x1. ~(is_SVALval (RECORDval x1))) /\
(!x1. ~(is_SVALval (ADDRval x1))) /\
(!x1. ~(is_SVALval (CLOSUREval x1)))
- is_BASval_DEF
-
|- (!x1. is_BASval (BASval x1)) /\
~(is_BASval ASSGval) /\
(!x1. ~(is_BASval (SVALval x1))) /\
(!x1. ~(is_BASval (CONval x1))) /\
(!x1 x2. ~(is_BASval (APPCONval x1 x2))) /\
(!x1. ~(is_BASval (EXVALval x1))) /\
(!x1. ~(is_BASval (RECORDval x1))) /\
(!x1. ~(is_BASval (ADDRval x1))) /\
(!x1. ~(is_BASval (CLOSUREval x1)))
- is_CONval_DEF
-
|- (!x1. is_CONval (CONval x1)) /\
~(is_CONval ASSGval) /\
(!x1. ~(is_CONval (SVALval x1))) /\
(!x1. ~(is_CONval (BASval x1))) /\
(!x1 x2. ~(is_CONval (APPCONval x1 x2))) /\
(!x1. ~(is_CONval (EXVALval x1))) /\
(!x1. ~(is_CONval (RECORDval x1))) /\
(!x1. ~(is_CONval (ADDRval x1))) /\
(!x1. ~(is_CONval (CLOSUREval x1)))
- is_APPCONval_DEF
-
|- (!x1 x2. is_APPCONval (APPCONval x1 x2)) /\
~(is_APPCONval ASSGval) /\
(!x1. ~(is_APPCONval (SVALval x1))) /\
(!x1. ~(is_APPCONval (BASval x1))) /\
(!x1. ~(is_APPCONval (CONval x1))) /\
(!x1. ~(is_APPCONval (EXVALval x1))) /\
(!x1. ~(is_APPCONval (RECORDval x1))) /\
(!x1. ~(is_APPCONval (ADDRval x1))) /\
(!x1. ~(is_APPCONval (CLOSUREval x1)))
- is_EXVALval_DEF
-
|- (!x1. is_EXVALval (EXVALval x1)) /\
~(is_EXVALval ASSGval) /\
(!x1. ~(is_EXVALval (SVALval x1))) /\
(!x1. ~(is_EXVALval (BASval x1))) /\
(!x1. ~(is_EXVALval (CONval x1))) /\
(!x1 x2. ~(is_EXVALval (APPCONval x1 x2))) /\
(!x1. ~(is_EXVALval (RECORDval x1))) /\
(!x1. ~(is_EXVALval (ADDRval x1))) /\
(!x1. ~(is_EXVALval (CLOSUREval x1)))
- is_RECORDval_DEF
-
|- (!x1. is_RECORDval (RECORDval x1)) /\
~(is_RECORDval ASSGval) /\
(!x1. ~(is_RECORDval (SVALval x1))) /\
(!x1. ~(is_RECORDval (BASval x1))) /\
(!x1. ~(is_RECORDval (CONval x1))) /\
(!x1 x2. ~(is_RECORDval (APPCONval x1 x2))) /\
(!x1. ~(is_RECORDval (EXVALval x1))) /\
(!x1. ~(is_RECORDval (ADDRval x1))) /\
(!x1. ~(is_RECORDval (CLOSUREval x1)))
- is_ADDRval_DEF
-
|- (!x1. is_ADDRval (ADDRval x1)) /\
~(is_ADDRval ASSGval) /\
(!x1. ~(is_ADDRval (SVALval x1))) /\
(!x1. ~(is_ADDRval (BASval x1))) /\
(!x1. ~(is_ADDRval (CONval x1))) /\
(!x1 x2. ~(is_ADDRval (APPCONval x1 x2))) /\
(!x1. ~(is_ADDRval (EXVALval x1))) /\
(!x1. ~(is_ADDRval (RECORDval x1))) /\
(!x1. ~(is_ADDRval (CLOSUREval x1)))
- is_CLOSUREval_DEF
-
|- (!x1. is_CLOSUREval (CLOSUREval x1)) /\
~(is_CLOSUREval ASSGval) /\
(!x1. ~(is_CLOSUREval (SVALval x1))) /\
(!x1. ~(is_CLOSUREval (BASval x1))) /\
(!x1. ~(is_CLOSUREval (CONval x1))) /\
(!x1 x2. ~(is_CLOSUREval (APPCONval x1 x2))) /\
(!x1. ~(is_CLOSUREval (EXVALval x1))) /\
(!x1. ~(is_CLOSUREval (RECORDval x1))) /\
(!x1. ~(is_CLOSUREval (ADDRval x1)))
- is_NAMEexval_DEF
-
|- (!x1. is_NAMEexval (NAMEexval x1)) /\
(!x1 x2. ~(is_NAMEexval (NAMEVALexval x1 x2)))
- is_NAMEVALexval_DEF
-
|- (!x1. ~(is_NAMEVALexval (NAMEexval x1))) /\
(!x1 x2. is_NAMEVALexval (NAMEVALexval x1 x2))
- RECORD_arg_DEF
-
|- !x1. RECORD_arg (RECORD x1) = x1
- SVALval_arg_DEF
-
|- (!x1. SVALval_arg (SVALval x1) = x1) /\
(SVALval_arg ASSGval = (@x. T)) /\
(!x1. SVALval_arg (BASval x1) = (@x. T)) /\
(!x1. SVALval_arg (CONval x1) = (@x. T)) /\
(!x1 x2. SVALval_arg (APPCONval x1 x2) = (@x. T)) /\
(!x1. SVALval_arg (EXVALval x1) = (@x. T)) /\
(!x1. SVALval_arg (RECORDval x1) = (@x. T)) /\
(!x1. SVALval_arg (ADDRval x1) = (@x. T)) /\
(!x1. SVALval_arg (CLOSUREval x1) = (@x. T))
- ENV_arg1_DEF
-
|- !x1 x2 x3. ENV_arg1 (ENV x1 x2 x3) = x1
- ENV_arg2_DEF
-
|- !x1 x2 x3. ENV_arg2 (ENV x1 x2 x3) = x2
- ENV_arg3_DEF
-
|- !x1 x2 x3. ENV_arg3 (ENV x1 x2 x3) = x3
- VARENV_arg_DEF
-
|- !x1. VARENV_arg (VARENV x1) = x1
- CLOSURE_arg1_DEF
-
|- !x1 x2 x3. CLOSURE_arg1 (CLOSURE x1 x2 x3) = x1
- CLOSURE_arg2_DEF
-
|- !x1 x2 x3. CLOSURE_arg2 (CLOSURE x1 x2 x3) = x2
- CLOSURE_arg3_DEF
-
|- !x1 x2 x3. CLOSURE_arg3 (CLOSURE x1 x2 x3) = x3
- CLOSUREval_arg_DEF
-
|- (!x1. CLOSUREval_arg (CLOSUREval x1) = x1) /\
(CLOSUREval_arg ASSGval = (@x. T)) /\
(!x1. CLOSUREval_arg (SVALval x1) = (@x. T)) /\
(!x1. CLOSUREval_arg (BASval x1) = (@x. T)) /\
(!x1. CLOSUREval_arg (CONval x1) = (@x. T)) /\
(!x1 x2. CLOSUREval_arg (APPCONval x1 x2) = (@x. T)) /\
(!x1. CLOSUREval_arg (EXVALval x1) = (@x. T)) /\
(!x1. CLOSUREval_arg (RECORDval x1) = (@x. T)) /\
(!x1. CLOSUREval_arg (ADDRval x1) = (@x. T))
- STRENV_arg_DEF
-
|- !x1. STRENV_arg (STRENV x1) = x1
- label_in_rec_DEF
-
|- !x1. label_in_rec (RECORD x1) = (\l. in_dom x1 l)
- lookup_label_DEF
-
|- !x1. lookup_label (RECORD x1) = (\l. finmap_lookup l x1)
- empty_record_DEF
-
|- empty_record = RECORD empty_finmap
- insert_into_record_DEF
-
|- !x1.
insert_into_record (RECORD x1) =
(\l v. RECORD (finmap_insert less_label l v x1))
- add_record_DEF
-
|- !rec1 rec2.
add_record rec1 rec2 =
RECORD (finmap_modify less_label (RECORD_arg rec1) (RECORD_arg rec2))
- field1_val_DEF
-
|- (!x1. field1_val (RECORDval x1) = lower (lookup_label x1 (LABEL "1"))) /\
(field1_val ASSGval = (@x. T)) /\
(!x1. field1_val (SVALval x1) = (@x. T)) /\
(!x1. field1_val (BASval x1) = (@x. T)) /\
(!x1. field1_val (CONval x1) = (@x. T)) /\
(!x1 x2. field1_val (APPCONval x1 x2) = (@x. T)) /\
(!x1. field1_val (EXVALval x1) = (@x. T)) /\
(!x1. field1_val (ADDRval x1) = (@x. T)) /\
(!x1. field1_val (CLOSUREval x1) = (@x. T))
- field2_val_DEF
-
|- (!x1. field2_val (RECORDval x1) = lower (lookup_label x1 (LABEL "2"))) /\
(field2_val ASSGval = (@x. T)) /\
(!x1. field2_val (SVALval x1) = (@x. T)) /\
(!x1. field2_val (BASval x1) = (@x. T)) /\
(!x1. field2_val (CONval x1) = (@x. T)) /\
(!x1 x2. field2_val (APPCONval x1 x2) = (@x. T)) /\
(!x1. field2_val (EXVALval x1) = (@x. T)) /\
(!x1. field2_val (ADDRval x1) = (@x. T)) /\
(!x1. field2_val (CLOSUREval x1) = (@x. T))
- intfield1_DEF
-
|- !v. intfield1 v = SVINT_arg (SVALval_arg (field1_val v))
- intfield2_DEF
-
|- !v. intfield2 v = SVINT_arg (SVALval_arg (field2_val v))
- strfield1_DEF
-
|- !v. strfield1 v = SVSTR_arg (SVALval_arg (field1_val v))
- strfield2_DEF
-
|- !v. strfield2 v = SVSTR_arg (SVALval_arg (field2_val v))
- lookupstrid_DEF
-
|- (!x1 x2 x3. lookupstrid_env (ENV x1 x2 x3) = lookupstrid_strenv x1) /\
(!x1. lookupstrid_strenv (STRENV x1) = (\strid. finmap_lookup strid x1))
- lookuplongstrid_env_DEF
-
|- (!E s.
lookuplongstrid_env E (BASE s) = lookupstrid_strenv (ENV_arg1 E) s) /\
(!E ls strid.
lookuplongstrid_env E (QUALIFIED strid ls) =
((lookupstrid_strenv (ENV_arg1 E) strid = undefined)
=> undefined
| (lookuplongstrid_env (lower (lookupstrid_strenv (ENV_arg1 E) strid))
ls)))
- lookupvar_DEF
-
|- (!x1 x2 x3. lookupvar_env (ENV x1 x2 x3) = lookupvar_varenv x2) /\
(!x1. lookupvar_varenv (VARENV x1) = (\v. finmap_lookup v x1))
- lookupexcon_DEF
-
|- !x1 x2 x3. lookupexcon_env (ENV x1 x2 x3) = lookupexcon_exconenv x3
- lookuplongvar_env_DEF
-
|- (!E v. lookuplongvar_env E (BASE v) = lookupvar_varenv (ENV_arg2 E) v) /\
(!E lv strid.
lookuplongvar_env E (QUALIFIED strid lv) =
((lookupstrid_strenv (ENV_arg1 E) strid = undefined)
=> undefined
| (lookuplongvar_env (lower (lookupstrid_strenv (ENV_arg1 E) strid))
lv)))
- lookuplongexcon_env_DEF
-
|- (!E ex.
lookuplongexcon_env E (BASE ex) =
lookupexcon_exconenv (ENV_arg3 E) ex) /\
(!E lex strid.
lookuplongexcon_env E (QUALIFIED strid lex) =
((lookupstrid_strenv (ENV_arg1 E) strid = undefined)
=> undefined
| (lookuplongexcon_env (lower (lookupstrid_strenv (ENV_arg1 E) strid))
lex)))
- empty_varenv_DEF
-
|- empty_varenv = VARENV empty_finmap
- insert_into_varenv_DEF
-
|- !x1.
insert_into_varenv (VARENV x1) =
(\var val. VARENV (finmap_insert less_var var val x1))
- add_varenv_DEF
-
|- !VE1 VE2.
add_varenv VE1 VE2 =
VARENV (finmap_modify less_var (VARENV_arg VE1) (VARENV_arg VE2))
- empty_strenv_DEF
-
|- empty_strenv = STRENV empty_finmap
- insert_into_strenv_DEF
-
|- !x1.
insert_into_strenv (STRENV x1) =
(\strid env. STRENV (finmap_insert less_strid strid env x1))
- add_strenv_DEF
-
|- !SE1 SE2.
add_strenv SE1 SE2 =
STRENV (finmap_modify less_strid (STRENV_arg SE1) (STRENV_arg SE2))
- add_env_DEF
-
|- !x1 x2 x3.
add_env (ENV x1 x2 x3) =
(\e.
ENV (add_strenv x1 (ENV_arg1 e)) (add_varenv x2 (ENV_arg2 e))
(add_exconenv x3 (ENV_arg3 e)))
- add_nonemptylist_env_DEF
-
|- (!E. add_nonemptylist_env (ONE E) = E) /\
(!Es E.
add_nonemptylist_env (MORE E Es) = add_env E (add_nonemptylist_env Es))
- rec_helper_DEF
-
|- (!VE. rec_helper [] VE = []) /\
(!h t VE.
rec_helper (CONS h t) VE =
((is_CLOSUREval (SND h))
=> (CONS
(FST h,
CLOSUREval
(CLOSURE (CLOSURE_arg1 (CLOSUREval_arg (SND h)))
(CLOSURE_arg2 (CLOSUREval_arg (SND h)))
VE))
(rec_helper t VE))
| (CONS h (rec_helper t VE))))
- rec_varenv_DEF
-
|- !VE.
rec_varenv VE =
VARENV (FINMAP (rec_helper (FINMAP_arg (VARENV_arg VE)) VE))
- vars_from_varenv_DEF
-
|- !x1. vars_from_varenv (VARENV x1) = finmap_dom x1
- cut_varenv_DEF
-
|- !x1. cut_varenv (VARENV x1) = (\vars. VARENV (restrict_finmap x1 vars))
- pack_TY_DEF
-
|- ?rep. TYPE_DEFINITION (TRP (\v tl. (?e. v = e) /\ (LENGTH tl = 0))) rep
- pack_ISO_DEF
-
|- (!a. ABS_pack (REP_pack a) = a) /\
(!r.
TRP (\v tl. (?e. v = e) /\ (LENGTH tl = 0)) r =
REP_pack (ABS_pack r) =
r)
- PACK_DEF
-
|- !e. PACK e = ABS_pack (Node e [])
- PACK_arg_DEF
-
|- !ev. PACK_arg (PACK ev) = ev
- val_pack_TY_DEF
-
|- ?rep.
TYPE_DEFINITION
(TRP
(\v tl.
(?v. v = INL v) /\ (LENGTH tl = 0) \/
(?p. v = INR p) /\ (LENGTH tl = 0)))
rep
- val_pack_ISO_DEF
-
|- (!a. ABS_val_pack (REP_val_pack a) = a) /\
(!r.
TRP
(\v tl.
(?v. v = INL v) /\ (LENGTH tl = 0) \/
(?p. v = INR p) /\ (LENGTH tl = 0))
r =
REP_val_pack (ABS_val_pack r) =
r)
- VALvp_DEF
-
|- !v'. VALvp v' = ABS_val_pack (Node (INL v') [])
- PACKvp_DEF
-
|- !p. PACKvp p = ABS_val_pack (Node (INR p) [])
- is_VALvp_DEF
-
|- (!v. is_VALvp (VALvp v) = T) /\ (!p. is_VALvp (PACKvp p) = F)
- is_PACKvp_DEF
-
|- (!p. is_PACKvp (PACKvp p) = T) /\ (!v. is_PACKvp (VALvp v) = F)
- VALvp_arg_DEF
-
|- !v. VALvp_arg (VALvp v) = v
- PACKvp_arg_DEF
-
|- !v. PACKvp_arg (PACKvp v) = v
- record_pack_TY_DEF
-
|- ?rep.
TYPE_DEFINITION
(TRP
(\v tl.
(?r. v = INL r) /\ (LENGTH tl = 0) \/
(?p. v = INR p) /\ (LENGTH tl = 0)))
rep
- record_pack_ISO_DEF
-
|- (!a. ABS_record_pack (REP_record_pack a) = a) /\
(!r.
TRP
(\v tl.
(?r. v = INL r) /\ (LENGTH tl = 0) \/
(?p. v = INR p) /\ (LENGTH tl = 0))
r =
REP_record_pack (ABS_record_pack r) =
r)
- RECORDrp_DEF
-
|- !r. RECORDrp r = ABS_record_pack (Node (INL r) [])
- PACKrp_DEF
-
|- !p. PACKrp p = ABS_record_pack (Node (INR p) [])
- is_RECORDrp_DEF
-
|- (!r. is_RECORDrp (RECORDrp r) = T) /\ (!p. is_RECORDrp (PACKrp p) = F)
- RECORDrp_arg_DEF
-
|- !r. RECORDrp_arg (RECORDrp r) = r
- PACKrp_arg_DEF
-
|- !p. PACKrp_arg (PACKrp p) = p
- val_pack_fail_TY_DEF
-
|- ?rep.
TYPE_DEFINITION
(TRP
(\v tl.
(?v. v = INL v) /\ (LENGTH tl = 0) \/
(?p. v = INR (INL p)) /\ (LENGTH tl = 0) \/
(v = INR (INR one)) /\ (LENGTH tl = 0)))
rep
- val_pack_fail_ISO_DEF
-
|- (!a. ABS_val_pack_fail (REP_val_pack_fail a) = a) /\
(!r.
TRP
(\v tl.
(?v. v = INL v) /\ (LENGTH tl = 0) \/
(?p. v = INR (INL p)) /\ (LENGTH tl = 0) \/
(v = INR (INR one)) /\ (LENGTH tl = 0))
r =
REP_val_pack_fail (ABS_val_pack_fail r) =
r)
- VALvpf_DEF
-
|- !v'. VALvpf v' = ABS_val_pack_fail (Node (INL v') [])
- PACKvpf_DEF
-
|- !p. PACKvpf p = ABS_val_pack_fail (Node (INR (INL p)) [])
- FAILvpf_DEF
-
|- FAILvpf = ABS_val_pack_fail (Node (INR (INR one)) [])
- is_VALvpf_DEF
-
|- (!v. is_VALvpf (VALvpf v) = T) /\
(!p. is_VALvpf (PACKvpf p) = F) /\
(is_VALvpf FAILvpf = F)
- is_PACKvpf_DEF
-
|- (!v. is_PACKvpf (VALvpf v) = F) /\
(!p. is_PACKvpf (PACKvpf p) = T) /\
(is_PACKvpf FAILvpf = F)
- VALvpf_arg_DEF
-
|- !v. VALvpf_arg (VALvpf v) = v
- PACKvpf_arg_DEF
-
|- !p. PACKvpf_arg (PACKvpf p) = p
- env_pack_TY_DEF
-
|- ?rep.
TYPE_DEFINITION
(TRP
(\v tl.
(?e. v = INL e) /\ (LENGTH tl = 0) \/
(?p. v = INR p) /\ (LENGTH tl = 0)))
rep
- env_pack_ISO_DEF
-
|- (!a. ABS_env_pack (REP_env_pack a) = a) /\
(!r.
TRP
(\v tl.
(?e. v = INL e) /\ (LENGTH tl = 0) \/
(?p. v = INR p) /\ (LENGTH tl = 0))
r =
REP_env_pack (ABS_env_pack r) =
r)
- ENVep_DEF
-
|- !e. ENVep e = ABS_env_pack (Node (INL e) [])
- PACKep_DEF
-
|- !p. PACKep p = ABS_env_pack (Node (INR p) [])
- is_ENVep_DEF
-
|- (!e. is_ENVep (ENVep e) = T) /\ (!p. is_ENVep (PACKep p) = F)
- ENVep_arg_DEF
-
|- !e. ENVep_arg (ENVep e) = e
- PACKep_arg_DEF
-
|- !p. PACKep_arg (PACKep p) = p
- varenv_pack_TY_DEF
-
|- ?rep.
TYPE_DEFINITION
(TRP
(\v tl.
(?v. v = INL v) /\ (LENGTH tl = 0) \/
(?p. v = INR p) /\ (LENGTH tl = 0)))
rep
- varenv_pack_ISO_DEF
-
|- (!a. ABS_varenv_pack (REP_varenv_pack a) = a) /\
(!r.
TRP
(\v tl.
(?v. v = INL v) /\ (LENGTH tl = 0) \/
(?p. v = INR p) /\ (LENGTH tl = 0))
r =
REP_varenv_pack (ABS_varenv_pack r) =
r)
- VARENVvep_DEF
-
|- !v'. VARENVvep v' = ABS_varenv_pack (Node (INL v') [])
- PACKvep_DEF
-
|- !p. PACKvep p = ABS_varenv_pack (Node (INR p) [])
- is_VARENVvep_DEF
-
|- (!ve. is_VARENVvep (VARENVvep ve) = T) /\
(!p. is_VARENVvep (PACKvep p) = F)
- VARENVvep_arg_DEF
-
|- !ve. VARENVvep_arg (VARENVvep ve) = ve
- PACKvep_arg_DEF
-
|- !ve. PACKvep_arg (PACKvep ve) = ve
- exconenv_pack_TY_DEF
-
|- ?rep.
TYPE_DEFINITION
(TRP
(\v tl.
(?e. v = INL e) /\ (LENGTH tl = 0) \/
(?p. v = INR p) /\ (LENGTH tl = 0)))
rep
- exconenv_pack_ISO_DEF
-
|- (!a. ABS_exconenv_pack (REP_exconenv_pack a) = a) /\
(!r.
TRP
(\v tl.
(?e. v = INL e) /\ (LENGTH tl = 0) \/
(?p. v = INR p) /\ (LENGTH tl = 0))
r =
REP_exconenv_pack (ABS_exconenv_pack r) =
r)
- EXCONENVeep_DEF
-
|- !e. EXCONENVeep e = ABS_exconenv_pack (Node (INL e) [])
- PACKeep_DEF
-
|- !p. PACKeep p = ABS_exconenv_pack (Node (INR p) [])
- is_EXCONENVeep_DEF
-
|- (!ee. is_EXCONENVeep (EXCONENVeep ee) = T) /\
(!p. is_EXCONENVeep (PACKeep p) = F)
- EXCONENVeep_arg_DEF
-
|- !ee. EXCONENVeep_arg (EXCONENVeep ee) = ee
- PACKeep_arg_DEF
-
|- !ee. PACKeep_arg (PACKeep ee) = ee
- varenv_fail_TY_DEF
-
|- ?rep.
TYPE_DEFINITION
(TRP
(\v tl.
(?v. v = INL v) /\ (LENGTH tl = 0) \/
(v = INR one) /\ (LENGTH tl = 0)))
rep
- varenv_fail_ISO_DEF
-
|- (!a. ABS_varenv_fail (REP_varenv_fail a) = a) /\
(!r.
TRP
(\v tl.
(?v. v = INL v) /\ (LENGTH tl = 0) \/
(v = INR one) /\ (LENGTH tl = 0))
r =
REP_varenv_fail (ABS_varenv_fail r) =
r)
- VARENVvef_DEF
-
|- !v'. VARENVvef v' = ABS_varenv_fail (Node (INL v') [])
- FAILvef_DEF
-
|- FAILvef = ABS_varenv_fail (Node (INR one) [])
- is_VARENVvef_DEF
-
|- (!ve. is_VARENVvef (VARENVvef ve) = T) /\ (is_VARENVvef FAILvef = F)
- is_FAILvef_DEF
-
|- (is_FAILvef FAILvef = T) /\ (!ve. is_FAILvef (VARENVvef ve) = F)
- VARENVvef_arg_DEF
-
|- !ve. VARENVvef_arg (VARENVvef ve) = ve
- mem_TY_DEF
-
|- ?rep. TYPE_DEFINITION (TRP (\v tl. (?f. v = f) /\ (LENGTH tl = 0))) rep
- mem_ISO_DEF
-
|- (!a. ABS_mem (REP_mem a) = a) /\
(!r.
TRP (\v tl. (?f. v = f) /\ (LENGTH tl = 0)) r = REP_mem (ABS_mem r) = r)
- MEM_DEF
-
|- !f'. MEM f' = ABS_mem (Node f' [])
- lookupaddr_mem_DEF
-
|- !fm a. lookupaddr_mem (MEM fm) a = finmap_lookup a fm
- MEM_arg_DEF
-
|- !fm. MEM_arg (MEM fm) = fm
- state_TY_DEF
-
|- ?rep.
TYPE_DEFINITION (TRP (\v tl. (?m e. v = (m,e)) /\ (LENGTH tl = 0))) rep
- state_ISO_DEF
-
|- (!a. ABS_state (REP_state a) = a) /\
(!r.
TRP (\v tl. (?m e. v = (m,e)) /\ (LENGTH tl = 0)) r =
REP_state (ABS_state r) =
r)
- STATE_DEF
-
|- !m e. STATE m e = ABS_state (Node (m,e) [])
- STATE_arg1_DEF
-
|- !ens m. STATE_arg1 (STATE m ens) = m
- STATE_arg2_DEF
-
|- !ens m. STATE_arg2 (STATE m ens) = ens
- lookupaddr_DEF
-
|- !m ens a. lookupaddr_state (STATE m ens) a = lookupaddr_mem m a
- new_exname_DEF
-
|- !es.
new_exname (EXNAMESET es) =
(@en. ~(en IN es) /\ (!en'. less_exname en' en ==> en' IN es))
- add_exname_DEF
-
|- !exname ens m.
add_exname exname (STATE m ens) =
STATE m (EXNAMESET (exname INSERT EXNAMESET_arg ens))
- new_addr_DEF
-
|- !ens m. new_addr (STATE m ens) = next_dom less_addr (MEM_arg m)
- insert_into_mem_DEF
-
|- !f a v. insert_into_mem (MEM f) a v = MEM (finmap_insert less_addr a v f)
- insert_into_state_mem_DEF
-
|- !m ens a v.
insert_into_state_mem (STATE m ens) a v =
STATE (insert_into_mem m a v) ens
- explode_str_DEF
-
|- (explode_str "" = CONval (CON "nil")) /\
(!s a.
explode_str (STRING a s) =
APPCONval (CON "::")
(RECORDval
(insert_into_record
(insert_into_record empty_record (LABEL "1")
(SVALval (SVSTR (STRING a ""))))
(LABEL "2")
(explode_str s))))
- implode_DEF
-
|- (!x1. implode_str (CONval x1) = "") /\
(!x1 x2.
implode_str (APPCONval x1 x2) =
STRING (first_char (strfield1 x2)) (implode_str x2)) /\
(!x1. implode_str (RECORDval x1) = implode10 x1) /\
(implode_str ASSGval = (@x. T)) /\
(!x1. implode_str (SVALval x1) = (@x. T)) /\
(!x1. implode_str (BASval x1) = (@x. T)) /\
(!x1. implode_str (EXVALval x1) = (@x. T)) /\
(!x1. implode_str (ADDRval x1) = (@x. T)) /\
(!x1. implode_str (CLOSUREval x1) = (@x. T)) /\
(!x1. implode10 (RECORD x1) = implode11 x1) /\
(!x1. implode11 (FINMAP x1) = implode12 x1) /\
(!x1 x2.
implode12 (CONS x1 x2) =
((FST x1 = LABEL "2") => (implode13 x1) | (implode12 x2))) /\
(implode12 [] = "") /\
(!x1 x2. implode13 (x1,x2) = implode_str x2)
- initial_varenv_DEF
-
|- initial_varenv =
insert_into_varenv
(insert_into_varenv
(insert_into_varenv
(insert_into_varenv
(insert_into_varenv
(insert_into_varenv
(insert_into_varenv
(insert_into_varenv
(insert_into_varenv
(insert_into_varenv
(insert_into_varenv
(insert_into_varenv
(insert_into_varenv
(insert_into_varenv
(insert_into_varenv
(insert_into_varenv
(insert_into_varenv
(insert_into_varenv
(insert_into_varenv
empty_varenv
(VAR ">=")
(BASval Greatereql))
(VAR "<=")
(BASval Lesseql))
(VAR ">")
(BASval Greater))
(VAR "<")
(BASval Less))
(VAR "<>")
(BASval Noteql))
(VAR "=")
(BASval Eql))
(VAR "-")
(BASval Minus))
(VAR "+")
(BASval Plus))
(VAR "*")
(BASval Times))
(VAR "~")
(BASval Neg))
(VAR "mod")
(BASval Mod))
(VAR "div")
(BASval Div))
(VAR "abs")
(BASval Abs))
(VAR "implode")
(BASval Implode))
(VAR "explode")
(BASval Explode))
(VAR "ord")
(BASval Ord))
(VAR "chr")
(BASval Chr))
(VAR "size")
(BASval Size))
(VAR ":=")
ASSGval
- initial_exconenv_DEF
-
|- initial_exconenv =
insert_into_exconenv
(insert_into_exconenv
(insert_into_exconenv
(insert_into_exconenv
(insert_into_exconenv
(insert_into_exconenv
(insert_into_exconenv
(insert_into_exconenv
(insert_into_exconenv empty_exconenv (EXCON "Abs")
(EXNAME 0))
(EXCON "Div")
(EXNAME 1))
(EXCON "Mod")
(EXNAME 2))
(EXCON "Prod")
(EXNAME 3))
(EXCON "Neg")
(EXNAME 4))
(EXCON "Sum")
(EXNAME 5))
(EXCON "Diff")
(EXNAME 6))
(EXCON "Match")
(EXNAME 7))
(EXCON "Bind")
(EXNAME 8)
- initial_strenv_DEF
-
|- initial_strenv = empty_strenv
- initial_env_DEF
-
|- initial_env = ENV initial_strenv initial_varenv initial_exconenv
- initial_state_DEF
-
|- initial_state =
STATE (MEM empty_finmap)
(EXNAMESET
{EXNAME 0; EXNAME 1; EXNAME 2; EXNAME 3; EXNAME 4; EXNAME 5; EXNAME 6;
EXNAME 7; EXNAME 8})
- apply_DEF
-
|- (!v.
apply Size v =
VALvp (SVALval (SVINT (string_size (SVSTR_arg (SVALval_arg v)))))) /\
(!v.
apply Chr v =
VALvp (SVALval (SVSTR (getchar (SVINT_arg (SVALval_arg v)))))) /\
(!v.
apply Ord v =
VALvp (SVALval (SVINT (ord_str (SVSTR_arg (SVALval_arg v)))))) /\
(!v. apply Explode v = VALvp (explode_str (SVSTR_arg (SVALval_arg v)))) /\
(!v. apply Implode v = VALvp (SVALval (SVSTR (implode_str v)))) /\
(!v.
apply Abs v =
VALvp (SVALval (SVINT (integer_abs (SVINT_arg (SVALval_arg v)))))) /\
(!v.
apply Div v =
((intfield2 v = INT 0)
=> (PACKvp (PACK (NAMEexval (EXNAME 1))))
| (VALvp (SVALval (SVINT (intfield1 v div intfield2 v)))))) /\
(!v.
apply Mod v =
((intfield2 v = INT 0)
=> (PACKvp (PACK (NAMEexval (EXNAME 2))))
| (VALvp (SVALval (SVINT (intfield1 v mod intfield2 v)))))) /\
(!v.
apply Neg v =
((SVINT_arg (SVALval_arg v) = INT 0)
=> (VALvp v)
| (VALvp (SVALval (SVINT (neg (SVINT_arg (SVALval_arg v)))))))) /\
(!v.
apply Times v =
VALvp (SVALval (SVINT (intfield1 v times intfield2 v)))) /\
(!v.
apply Plus v = VALvp (SVALval (SVINT (intfield1 v plus intfield2 v)))) /\
(!v.
apply Minus v =
VALvp (SVALval (SVINT (intfield1 v minus intfield2 v)))) /\
(!v.
apply Eql v =
((field1_val v = field2_val v)
=> (VALvp (CONval (CON "true")))
| (VALvp (CONval (CON "false"))))) /\
(!v.
apply Noteql v =
((field1_val v = field2_val v)
=> (VALvp (CONval (CON "false")))
| (VALvp (CONval (CON "true"))))) /\
(!v.
apply Less v =
((is_SVINT (SVALval_arg (field1_val v)))
=> ((intfield1 v below intfield2 v)
=> (VALvp (CONval (CON "true")))
| (VALvp (CONval (CON "false"))))
| ((ltstring (strfield1 v) (strfield2 v))
=> (VALvp (CONval (CON "true")))
| (VALvp (CONval (CON "false")))))) /\
(!v.
apply Greater v =
((is_SVINT (SVALval_arg (field1_val v)))
=> ((intfield2 v below intfield2 v)
=> (VALvp (CONval (CON "true")))
| (VALvp (CONval (CON "false"))))
| ((ltstring (strfield2 v) (strfield1 v))
=> (VALvp (CONval (CON "true")))
| (VALvp (CONval (CON "false")))))) /\
(!v.
apply Lesseql v =
((is_SVINT (SVALval_arg (field1_val v)))
=> ((intfield2 v below intfield1 v)
=> (VALvp (CONval (CON "false")))
| (VALvp (CONval (CON "true"))))
| ((ltstring (strfield2 v) (strfield1 v))
=> (VALvp (CONval (CON "false")))
| (VALvp (CONval (CON "true")))))) /\
(!v.
apply Greatereql v =
((is_SVINT (SVALval_arg (field1_val v)))
=> ((intfield1 v below intfield2 v)
=> (VALvp (CONval (CON "false")))
| (VALvp (CONval (CON "true"))))
| ((ltstring (strfield1 v) (strfield2 v))
=> (VALvp (CONval (CON "false")))
| (VALvp (CONval (CON "true"))))))
- eval_exbind_pred_DEF
-
|- !eval_exbind.
eval_exbind_pred eval_exbind =
(!excon s E s' en.
(en = new_exname (STATE_arg2 s)) /\ (s' = add_exname en s) ==>
eval_exbind (EXBIND1 excon NONE) s E s'
(EXCONENVeep (insert_into_exconenv empty_exconenv excon en))) /\
(!excon eb s E s'' en EE.
(?s'.
(en = new_exname (STATE_arg2 s)) /\
(s' = add_exname en s) /\
eval_exbind eb s' E s'' (EXCONENVeep EE)) ==>
eval_exbind (EXBIND1 excon (SOME eb)) s E s''
(EXCONENVeep
(add_exconenv (insert_into_exconenv empty_exconenv excon en)
EE))) /\
(!excon eb s E s'' p.
(?en s'.
(en = new_exname (STATE_arg2 s)) /\
(s' = add_exname en s) /\
eval_exbind eb s' E s'' (PACKeep p)) ==>
eval_exbind (EXBIND1 excon (SOME eb)) s E s'' (PACKeep p)) /\
(!excon longexcon s E en.
(lookuplongexcon_env E longexcon = lift en) ==>
eval_exbind (EXBIND2 excon longexcon NONE) s E s
(EXCONENVeep (insert_into_exconenv empty_exconenv excon en))) /\
(!excon longexcon eb s E s' en EE.
(lookuplongexcon_env E longexcon = lift en) /\
eval_exbind eb s E s' (EXCONENVeep EE) ==>
eval_exbind (EXBIND2 excon longexcon (SOME eb)) s E s'
(EXCONENVeep
(add_exconenv (insert_into_exconenv empty_exconenv excon en)
EE))) /\
(!excon longexcon eb s E s' p.
(?en.
(lookuplongexcon_env E longexcon = lift en) /\
eval_exbind eb s E s' (PACKeep p)) ==>
eval_exbind (EXBIND2 excon longexcon (SOME eb)) s E s' (PACKeep p))
- eval_exbind_DEF
-
|- !eb s E s' eep.
eval_exbind eb s E s' eep =
(!poss_eval_exbind.
eval_exbind_pred poss_eval_exbind ==> poss_eval_exbind eb s E s' eep)
- eval_pat_pred_DEF
-
|- !eval_atpat eval_patrow eval_pat.
eval_pat_pred eval_atpat eval_patrow eval_pat =
(!s E v. eval_atpat WILDCARDatpat s E v s (VARENVvef empty_varenv)) /\
(!s E scon v.
(v = SVALval (value_of scon)) ==>
eval_atpat (SCONatpat scon) s E v s (VARENVvef empty_varenv)) /\
(!s E scon v.
~(v = SVALval (value_of scon)) ==>
eval_atpat (SCONatpat scon) s E v s FAILvef) /\
(!s E var v.
eval_atpat (VARatpat var) s E v s
(VARENVvef (insert_into_varenv empty_varenv var v))) /\
(!s E longcon v.
(v = CONval (long_base longcon)) ==>
eval_atpat (CONatpat longcon) s E v s (VARENVvef empty_varenv)) /\
(!s E longcon v.
~(v = CONval (long_base longcon)) ==>
eval_atpat (CONatpat longcon) s E v s FAILvef) /\
(!s E longexcon en.
(lookuplongexcon_env E longexcon = lift en) ==>
eval_atpat (EXCONatpat longexcon) s E (EXVALval (NAMEexval en)) s
(VARENVvef empty_varenv)) /\
(!s E longexcon en.
(?en'. (lookuplongexcon_env E longexcon = lift en') /\ ~(en = en')) ==>
eval_atpat (EXCONatpat longexcon) s E (EXVALval (NAMEexval en)) s
FAILvef) /\
(!s E v.
(v = RECORDval empty_record) ==>
eval_atpat (RECORDatpat NONE) s E v s (VARENVvef empty_varenv)) /\
(!s1 s2 E v VE patrow.
(?r.
(v = RECORDval (add_record empty_record r)) /\
eval_patrow patrow s1 E r s2 (VARENVvef VE)) ==>
eval_atpat (RECORDatpat (SOME patrow)) s1 E v s2
(VARENVvef (add_varenv empty_varenv VE))) /\
(!s1 s2 E v patrow.
(?r.
(v = RECORDval (add_record empty_record r)) /\
eval_patrow patrow s1 E r s2 FAILvef) ==>
eval_atpat (RECORDatpat (SOME patrow)) s1 E v s2 FAILvef) /\
(!s1 s2 E v vef pat.
eval_pat pat s1 E v s2 vef ==>
eval_atpat (PARatpat pat) s1 E v s2 vef) /\
(!s E r. eval_patrow DOTDOTDOT s E r s (VARENVvef empty_varenv)) /\
(!s1 s2 E r lab pat.
eval_pat pat s1 E (lower (lookup_label r lab)) s2 FAILvef ==>
eval_patrow (PATROW lab pat NONE) s1 E r s2 FAILvef) /\
(!s1 s2 E r lab pat patrow.
eval_pat pat s1 E (lower (lookup_label r lab)) s2 FAILvef ==>
eval_patrow (PATROW lab pat (SOME patrow)) s1 E r s2 FAILvef) /\
(!s1 s2 E r lab pat VE.
eval_pat pat s1 E (lower (lookup_label r lab)) s2 (VARENVvef VE) ==>
eval_patrow (PATROW lab pat NONE) s1 E r s2 (VARENVvef VE)) /\
(!s1 s2 E r lab pat patrow VE VE'.
(?s'.
eval_pat pat s1 E (lower (lookup_label r lab)) s' (VARENVvef VE) /\
eval_patrow patrow s' E r s2 (VARENVvef VE')) ==>
eval_patrow (PATROW lab pat (SOME patrow)) s1 E r s2
(VARENVvef (add_varenv VE VE'))) /\
(!s1 s2 E r lab pat patrow.
(?s' VE.
eval_pat pat s1 E (lower (lookup_label r lab)) s' (VARENVvef VE) /\
eval_patrow patrow s' E r s2 FAILvef) ==>
eval_patrow (PATROW lab pat (SOME patrow)) s1 E r s2 FAILvef) /\
(!s1 s2 E v atpat vef.
eval_atpat atpat s1 E v s2 vef ==>
eval_pat (ATPATpat atpat) s1 E v s2 vef) /\
(!s1 s2 E v longcon atpat vef.
(?con v'.
(long_base longcon = con) /\
~(con = CON "ref") /\
(v = APPCONval con v') /\
eval_atpat atpat s1 E v' s2 vef) ==>
eval_pat (CONpat longcon atpat) s1 E v s2 vef) /\
(!s E v longcon atpat.
(?con.
(long_base longcon = con) /\
~(con = CON "ref") /\
(!v'. ~(v = APPCONval con v'))) ==>
eval_pat (CONpat longcon atpat) s E v s FAILvef) /\
(!s1 s2 E v longexcon atpat vef.
(?v' en.
(lookuplongexcon_env E longexcon = lift en) /\
(v = EXVALval (NAMEVALexval en v')) /\
eval_atpat atpat s1 E v' s2 vef) ==>
eval_pat (EXCONpat longexcon atpat) s1 E v s2 vef) /\
(!s E v longexcon atpat.
(?en.
(lookuplongexcon_env E longexcon = lift en) /\
(!v'. ~(v = EXVALval (NAMEVALexval en v')))) ==>
eval_pat (EXCONpat longexcon atpat) s E v s FAILvef) /\
(!s E a atpat vef.
(?v.
(lookupaddr_state s a = lift v) /\ eval_atpat atpat s E v s vef) ==>
eval_pat (CONpat (BASE (CON "ref")) atpat) s E (ADDRval a) s vef) /\
(!s1 s2 E v var pat VE.
eval_pat pat s1 E v s2 (VARENVvef VE) ==>
eval_pat (LAYEREDpat var pat) s1 E v s2
(VARENVvef
(add_varenv (insert_into_varenv empty_varenv var v) VE))) /\
(!s1 s2 E v var pat.
eval_pat pat s1 E v s2 FAILvef ==>
eval_pat (LAYEREDpat var pat) s1 E v s2 FAILvef)
- eval_atpat_DEF
-
|- !ap s1 v e s2 vef.
eval_atpat ap s1 v e s2 vef =
(!poss_eval_atpat poss_eval_patrow poss_eval_pat.
eval_pat_pred poss_eval_atpat poss_eval_patrow poss_eval_pat ==>
poss_eval_atpat ap s1 v e s2 vef)
- eval_patrow_DEF
-
|- !pr s1 r e s2 vef.
eval_patrow pr s1 r e s2 vef =
(!poss_eval_atpat poss_eval_patrow poss_eval_pat.
eval_pat_pred poss_eval_atpat poss_eval_patrow poss_eval_pat ==>
poss_eval_patrow pr s1 r e s2 vef)
- eval_pat_DEF
-
|- !p s1 v e s2 vef.
eval_pat p s1 v e s2 vef =
(!poss_eval_atpat poss_eval_patrow poss_eval_pat.
eval_pat_pred poss_eval_atpat poss_eval_patrow poss_eval_pat ==>
poss_eval_pat p s1 v e s2 vef)
- eval_pred_DEF
-
|- !eval_atexp eval_exprow eval_exp eval_match eval_mrule eval_dec
eval_valbind.
eval_pred eval_atexp eval_exprow eval_exp eval_match eval_mrule eval_dec
eval_valbind =
(!s E scon.
eval_atexp (SCONatexp scon) s E s (VALvp (SVALval (value_of scon)))) /\
(!s E longvar v.
(lookuplongvar_env E longvar = lift v) ==>
eval_atexp (VARatexp longvar) s E s (VALvp v)) /\
(!s E longcon con.
(long_base longcon = con) ==>
eval_atexp (CONatexp longcon) s E s (VALvp (CONval con))) /\
(!s E en longexcon.
(lookuplongexcon_env E longexcon = lift en) ==>
eval_atexp (EXCONatexp longexcon) s E s
(VALvp (EXVALval (NAMEexval en)))) /\
(!s E.
eval_atexp (RECORDatexp NONE) s E s
(VALvp (RECORDval empty_record))) /\
(!s1 E s2 exprow r.
eval_exprow exprow s1 E s2 (RECORDrp r) ==>
eval_atexp (RECORDatexp (SOME exprow)) s1 E s2
(VALvp (RECORDval (add_record empty_record r)))) /\
(!s1 E s2 exprow p.
eval_exprow exprow s1 E s2 (PACKrp p) ==>
eval_atexp (RECORDatexp (SOME exprow)) s1 E s2 (PACKvp p)) /\
(!s1 E s2 dec exp v.
(?s' E'.
eval_dec dec s1 E s' (ENVep E') /\
eval_exp exp s' (add_env E E') s2 (VALvp v)) ==>
eval_atexp (LETatexp dec exp) s1 E s2 (VALvp v)) /\
(!s1 E s2 dec exp p.
eval_dec dec s1 E s2 (PACKep p) ==>
eval_atexp (LETatexp dec exp) s1 E s2 (PACKvp p)) /\
(!s1 E s2 dec exp p.
(?s' E'.
eval_dec dec s1 E s' (ENVep E') /\
eval_exp exp s' (add_env E E') s2 (PACKvp p)) ==>
eval_atexp (LETatexp dec exp) s1 E s2 (PACKvp p)) /\
(!s1 E s2 exp vp.
eval_exp exp s1 E s2 vp ==> eval_atexp (PARatexp exp) s1 E s2 vp) /\
(!s1 E s2 lab exp v.
eval_exp exp s1 E s2 (VALvp v) ==>
eval_exprow (EXPROW lab exp NONE) s1 E s2
(RECORDrp (insert_into_record empty_record lab v))) /\
(!s1 E s2 lab exp exprow_op p.
eval_exp exp s1 E s2 (PACKvp p) ==>
eval_exprow (EXPROW lab exp exprow_op) s1 E s2 (PACKrp p)) /\
(!s1 E s2 lab exp exprow v r.
(?s'.
eval_exp exp s1 E s' (VALvp v) /\
eval_exprow exprow s' E s2 (RECORDrp r)) ==>
eval_exprow (EXPROW lab exp (SOME exprow)) s1 E s2
(RECORDrp (add_record (insert_into_record empty_record lab v) r))) /\
(!s1 E s2 lab exp exprow p.
(?s' v.
eval_exp exp s1 E s' (VALvp v) /\
eval_exprow exprow s' E s2 (PACKrp p)) ==>
eval_exprow (EXPROW lab exp (SOME exprow)) s1 E s2 (PACKrp p)) /\
(!s1 E s2 atexp vp.
eval_atexp atexp s1 E s2 vp ==>
eval_exp (ATEXPexp atexp) s1 E s2 vp) /\
(!s1 E s2 exp atexp c v.
(?s'.
eval_exp exp s1 E s' (VALvp (CONval c)) /\
~(c = CON "ref") /\
eval_atexp atexp s' E s2 (VALvp v)) ==>
eval_exp (APPexp exp atexp) s1 E s2 (VALvp (APPCONval c v))) /\
(!s1 E s2 exp atexp p.
eval_exp exp s1 E s2 (PACKvp p) ==>
eval_exp (APPexp exp atexp) s1 E s2 (PACKvp p)) /\
(!s1 E s2 exp atexp p.
(?s' c.
eval_exp exp s1 E s' (VALvp (CONval c)) /\
~(c = CON "ref") /\
eval_atexp atexp s' E s2 (PACKvp p)) ==>
eval_exp (APPexp exp atexp) s1 E s2 (PACKvp p)) /\
(!s1 E s2 exp atexp en v.
(?s'.
eval_exp exp s1 E s' (VALvp (EXVALval (NAMEexval en))) /\
eval_atexp atexp s' E s2 (VALvp v)) ==>
eval_exp (APPexp exp atexp) s1 E s2
(VALvp (EXVALval (NAMEVALexval en v)))) /\
(!s1 E s2 exp atexp p.
(?s' en.
eval_exp exp s1 E s' (VALvp (EXVALval (NAMEexval en))) /\
eval_atexp atexp s' E s2 (PACKvp p)) ==>
eval_exp (APPexp exp atexp) s1 E s2 (PACKvp p)) /\
(!s E s'' exp atexp a v.
(?s'.
eval_exp exp s E s' (VALvp (CONval (CON "ref"))) /\
eval_atexp atexp s' E s'' (VALvp v) /\
(a = new_addr s'')) ==>
eval_exp (APPexp exp atexp) s E (insert_into_state_mem s'' a v)
(VALvp (ADDRval a))) /\
(!s E s'' exp atexp p.
(?s'.
eval_exp exp s E s' (VALvp (CONval (CON "ref"))) /\
eval_atexp atexp s' E s'' (PACKvp p)) ==>
eval_exp (APPexp exp atexp) s E s'' (PACKvp p)) /\
(!s E s'' exp atexp a v.
(?s'.
eval_exp exp s E s' (VALvp ASSGval) /\
eval_atexp atexp s' E s''
(VALvp
(RECORDval
(insert_into_record
(insert_into_record empty_record (LABEL "1") (ADDRval a))
(LABEL "2")
v)))) ==>
eval_exp (APPexp exp atexp) s E (insert_into_state_mem s'' a v)
(VALvp (RECORDval empty_record))) /\
(!s E s'' exp atexp p.
(?s'.
eval_exp exp s E s' (VALvp ASSGval) /\
eval_atexp atexp s' E s'' (PACKvp p)) ==>
eval_exp (APPexp exp atexp) s E s'' (PACKvp p)) /\
(!s1 E s2 exp atexp v'.
(?s' b v.
eval_exp exp s1 E s' (VALvp (BASval b)) /\
eval_atexp atexp s' E s2 (VALvp v) /\
(apply b v = v')) ==>
eval_exp (APPexp exp atexp) s1 E s2 v') /\
(!s1 E s2 exp atexp p.
(?s' b.
eval_exp exp s1 E s' (VALvp (BASval b)) /\
eval_atexp atexp s' E s2 (PACKvp p)) ==>
eval_exp (APPexp exp atexp) s1 E s2 (PACKvp p)) /\
(!s1 E s4 exp atexp v'.
(?s2 s3 match E' VE v.
eval_exp exp s1 E s2 (VALvp (CLOSUREval (CLOSURE match E' VE))) /\
eval_atexp atexp s2 E s3 (VALvp v) /\
eval_match match s3
(add_env E' (ENV empty_strenv (rec_varenv VE) empty_exconenv))
v
s4
(VALvpf v')) ==>
eval_exp (APPexp exp atexp) s1 E s4 (VALvp v')) /\
(!s1 E s3 exp atexp p.
(?s2 match E' VE.
eval_exp exp s1 E s2 (VALvp (CLOSUREval (CLOSURE match E' VE))) /\
eval_atexp atexp s2 E s3 (PACKvp p)) ==>
eval_exp (APPexp exp atexp) s1 E s3 (PACKvp p)) /\
(!s1 E s4 exp atexp p.
(?s2 s3 match E' VE v.
eval_exp exp s1 E s2 (VALvp (CLOSUREval (CLOSURE match E' VE))) /\
eval_atexp atexp s2 E s3 (VALvp v) /\
eval_match match s3
(add_env E' (ENV empty_strenv (rec_varenv VE) empty_exconenv))
v
s4
(PACKvpf p)) ==>
eval_exp (APPexp exp atexp) s1 E s4 (PACKvp p)) /\
(!s1 E s4 exp atexp.
(?s2 s3 match E' VE v.
eval_exp exp s1 E s2 (VALvp (CLOSUREval (CLOSURE match E' VE))) /\
eval_atexp atexp s2 E s3 (VALvp v) /\
eval_match match s3
(add_env E' (ENV empty_strenv (rec_varenv VE) empty_exconenv))
v
s4
FAILvpf) ==>
eval_exp (APPexp exp atexp) s1 E s4
(PACKvp (PACK (NAMEexval (EXNAME 7))))) /\
(!s1 E s2 exp match v.
eval_exp exp s1 E s2 (VALvp v) ==>
eval_exp (HANDLEexp exp match) s1 E s2 (VALvp v)) /\
(!s1 E s2 exp match v.
(?s' e.
eval_exp exp s1 E s' (PACKvp (PACK e)) /\
eval_match match s' E (EXVALval e) s2 (VALvpf v)) ==>
eval_exp (HANDLEexp exp match) s1 E s2 (VALvp v)) /\
(!s1 E s2 exp match p.
(?s' e.
eval_exp exp s1 E s' (PACKvp (PACK e)) /\
eval_match match s' E (EXVALval e) s2 (PACKvpf p)) ==>
eval_exp (HANDLEexp exp match) s1 E s2 (PACKvp p)) /\
(!s1 E s2 exp match e.
(?s'.
eval_exp exp s1 E s' (PACKvp (PACK e)) /\
eval_match match s' E (EXVALval e) s2 FAILvpf) ==>
eval_exp (HANDLEexp exp match) s1 E s2 (PACKvp (PACK e))) /\
(!s1 E s2 exp e.
eval_exp exp s1 E s2 (VALvp (EXVALval e)) ==>
eval_exp (RAISEexp exp) s1 E s2 (PACKvp (PACK e))) /\
(!s1 E s2 exp p.
eval_exp exp s1 E s2 (PACKvp p) ==>
eval_exp (RAISEexp exp) s1 E s2 (PACKvp p)) /\
(!s E match.
eval_exp (FNexp match) s E s
(VALvp (CLOSUREval (CLOSURE match E empty_varenv)))) /\
(!s1 E s2 mrule match_op v v'.
eval_mrule mrule s1 E v s2 (VALvpf v') ==>
eval_match (MATCH mrule match_op) s1 E v s2 (VALvpf v')) /\
(!s1 E s2 mrule match_op v p.
eval_mrule mrule s1 E v s2 (PACKvpf p) ==>
eval_match (MATCH mrule match_op) s1 E v s2 (PACKvpf p)) /\
(!s1 E s2 mrule v.
eval_mrule mrule s1 E v s2 FAILvpf ==>
eval_match (MATCH mrule NONE) s1 E v s2 FAILvpf) /\
(!s1 E s2 mrule match v vpf.
(?s'.
eval_mrule mrule s1 E v s' FAILvpf /\
eval_match match s' E v s2 vpf) ==>
eval_match (MATCH mrule (SOME match)) s1 E v s2 vpf) /\
(!s1 E s2 pat exp v v'.
(?s' VE.
eval_pat pat s1 E v s' (VARENVvef VE) /\
eval_exp exp s' (add_env E (ENV empty_strenv VE empty_exconenv)) s2
(VALvp v')) ==>
eval_mrule (MRULE pat exp) s1 E v s2 (VALvpf v')) /\
(!s1 E s2 pat exp v p.
(?s' VE.
eval_pat pat s1 E v s' (VARENVvef VE) /\
eval_exp exp s' (add_env E (ENV empty_strenv VE empty_exconenv)) s2
(PACKvp p)) ==>
eval_mrule (MRULE pat exp) s1 E v s2 (PACKvpf p)) /\
(!s1 E s2 pat exp v.
eval_pat pat s1 E v s2 FAILvef ==>
eval_mrule (MRULE pat exp) s1 E v s2 FAILvpf) /\
(!s1 E s2 valbind VE.
eval_valbind valbind s1 E s2 (VARENVvep VE) ==>
eval_dec (VALdec valbind) s1 E s2
(ENVep (ENV empty_strenv VE empty_exconenv))) /\
(!s1 E s2 valbind p.
eval_valbind valbind s1 E s2 (PACKvep p) ==>
eval_dec (VALdec valbind) s1 E s2 (PACKep p)) /\
(!s1 E s2 exbind EE.
eval_exbind exbind s1 E s2 (EXCONENVeep EE) ==>
eval_dec (EXCEPTdec exbind) s1 E s2
(ENVep (ENV empty_strenv empty_varenv EE))) /\
(!s1 E s2 exbind p.
eval_exbind exbind s1 E s2 (PACKeep p) ==>
eval_dec (EXCEPTdec exbind) s1 E s2 (PACKep p)) /\
(!s1 E s2 dec1 dec2 E2.
(?E1 s'.
eval_dec dec1 s1 E s' (ENVep E1) /\
eval_dec dec2 s' (add_env E E1) s2 (ENVep E2)) ==>
eval_dec (LOCALdec dec1 dec2) s1 E s2 (ENVep E2)) /\
(!s1 E s2 dec1 dec2 p.
eval_dec dec1 s1 E s2 (PACKep p) ==>
eval_dec (LOCALdec dec1 dec2) s1 E s2 (PACKep p)) /\
(!s1 E s2 dec1 dec2 p.
(?E1 s'.
eval_dec dec1 s1 E s' (ENVep E1) /\
eval_dec dec2 s' (add_env E E1) s2 (PACKep p)) ==>
eval_dec (LOCALdec dec1 dec2) s1 E s2 (PACKep p)) /\
(!s E longstrid_1_n E_1_n.
(nonempty_MAP (lookuplongstrid_env E) longstrid_1_n =
nonempty_MAP lift E_1_n) ==>
eval_dec (OPENdec longstrid_1_n) s E s
(ENVep (add_nonemptylist_env E_1_n))) /\
(!s E.
eval_dec EMPTYdec s E s
(ENVep (ENV empty_strenv empty_varenv empty_exconenv))) /\
(!s1 E s2 dec1 dec2 E1 E2.
(?s'.
eval_dec dec1 s1 E s' (ENVep E1) /\
eval_dec dec2 s' (add_env E E1) s2 (ENVep E2)) ==>
eval_dec (SEQdec dec1 dec2) s1 E s2 (ENVep (add_env E1 E2))) /\
(!s1 E s2 dec1 dec2 p.
eval_dec dec1 s1 E s2 (PACKep p) ==>
eval_dec (SEQdec dec1 dec2) s1 E s2 (PACKep p)) /\
(!s1 E s2 dec1 dec2 p.
(?E1 s'.
eval_dec dec1 s1 E s' (ENVep E1) /\
eval_dec dec2 s' (add_env E E1) s2 (PACKep p)) ==>
eval_dec (SEQdec dec1 dec2) s1 E s2 (PACKep p)) /\
(!s1 E s2 pat exp VE.
(?v s'.
eval_exp exp s1 E s' (VALvp v) /\
eval_pat pat s' E v s2 (VARENVvef VE)) ==>
eval_valbind (PLAINvalbind pat exp NONE) s1 E s2 (VARENVvep VE)) /\
(!s1 E s2 pat exp p.
eval_exp exp s1 E s2 (PACKvp p) ==>
eval_valbind (PLAINvalbind pat exp NONE) s1 E s2 (PACKvep p)) /\
(!s1 E s4 pat exp valbind VE VE'.
(?v s2 s3.
eval_exp exp s1 E s2 (VALvp v) /\
eval_pat pat s2 E v s3 (VARENVvef VE) /\
eval_valbind valbind s3 E s4 (VARENVvep VE')) ==>
eval_valbind (PLAINvalbind pat exp (SOME valbind)) s1 E s4
(VARENVvep (add_varenv VE VE'))) /\
(!s1 E s2 pat exp valbind p.
eval_exp exp s1 E s2 (PACKvp p) ==>
eval_valbind (PLAINvalbind pat exp (SOME valbind)) s1 E s2
(PACKvep p)) /\
(!s1 E s4 pat exp valbind p.
(?v VE s2 s3.
eval_exp exp s1 E s2 (VALvp v) /\
eval_pat pat s2 E v s3 (VARENVvef VE) /\
eval_valbind valbind s3 E s4 (PACKvep p)) ==>
eval_valbind (PLAINvalbind pat exp (SOME valbind)) s1 E s4
(PACKvep p)) /\
(!s1 E s2 pat exp.
(?v s'.
eval_exp exp s1 E s' (VALvp v) /\ eval_pat pat s' E v s2 FAILvef) ==>
eval_valbind (PLAINvalbind pat exp NONE) s1 E s2
(PACKvep (PACK (NAMEexval (EXNAME 8))))) /\
(!s1 E s2 pat exp valbind.
(?v s'.
eval_exp exp s1 E s' (VALvp v) /\ eval_pat pat s' E v s2 FAILvef) ==>
eval_valbind (PLAINvalbind pat exp (SOME valbind)) s1 E s2
(PACKvep (PACK (NAMEexval (EXNAME 8))))) /\
(!s1 E s2 valbind VE.
eval_valbind valbind s1 E s2 (VARENVvep VE) ==>
eval_valbind (RECvalbind valbind) s1 E s2
(VARENVvep (rec_varenv VE))) /\
(!s1 E s2 valbind p.
eval_valbind valbind s1 E s2 (PACKvep p) ==>
eval_valbind (RECvalbind valbind) s1 E s2 (PACKvep p))
- eval_atexp_DEF
-
|- !ae s1 e s2 vp.
eval_atexp ae s1 e s2 vp =
(!poss_eval_atexp poss_eval_exprow poss_eval_exp poss_eval_match
poss_eval_mrule poss_eval_dec poss_eval_valbind.
eval_pred poss_eval_atexp poss_eval_exprow poss_eval_exp
poss_eval_match
poss_eval_mrule
poss_eval_dec
poss_eval_valbind ==>
poss_eval_atexp ae s1 e s2 vp)
- eval_exprow_DEF
-
|- !er s1 e s2 rp.
eval_exprow er s1 e s2 rp =
(!poss_eval_atexp poss_eval_exprow poss_eval_exp poss_eval_match
poss_eval_mrule poss_eval_dec poss_eval_valbind.
eval_pred poss_eval_atexp poss_eval_exprow poss_eval_exp
poss_eval_match
poss_eval_mrule
poss_eval_dec
poss_eval_valbind ==>
poss_eval_exprow er s1 e s2 rp)
- eval_exp_DEF
-
|- !ex s1 e s2 vp.
eval_exp ex s1 e s2 vp =
(!poss_eval_atexp poss_eval_exprow poss_eval_exp poss_eval_match
poss_eval_mrule poss_eval_dec poss_eval_valbind.
eval_pred poss_eval_atexp poss_eval_exprow poss_eval_exp
poss_eval_match
poss_eval_mrule
poss_eval_dec
poss_eval_valbind ==>
poss_eval_exp ex s1 e s2 vp)
- eval_match_DEF
-
|- !mat s1 v e s2 vpf.
eval_match mat s1 v e s2 vpf =
(!poss_eval_atexp poss_eval_exprow poss_eval_exp poss_eval_match
poss_eval_mrule poss_eval_dec poss_eval_valbind.
eval_pred poss_eval_atexp poss_eval_exprow poss_eval_exp
poss_eval_match
poss_eval_mrule
poss_eval_dec
poss_eval_valbind ==>
poss_eval_match mat s1 v e s2 vpf)
- eval_mrule_DEF
-
|- !mr s1 v e s2 vpf.
eval_mrule mr s1 v e s2 vpf =
(!poss_eval_atexp poss_eval_exprow poss_eval_exp poss_eval_match
poss_eval_mrule poss_eval_dec poss_eval_valbind.
eval_pred poss_eval_atexp poss_eval_exprow poss_eval_exp
poss_eval_match
poss_eval_mrule
poss_eval_dec
poss_eval_valbind ==>
poss_eval_mrule mr s1 v e s2 vpf)
- eval_dec_DEF
-
|- !d s1 e s2 ep.
eval_dec d s1 e s2 ep =
(!poss_eval_atexp poss_eval_exprow poss_eval_exp poss_eval_match
poss_eval_mrule poss_eval_dec poss_eval_valbind.
eval_pred poss_eval_atexp poss_eval_exprow poss_eval_exp
poss_eval_match
poss_eval_mrule
poss_eval_dec
poss_eval_valbind ==>
poss_eval_dec d s1 e s2 ep)
- eval_valbind_DEF
-
|- !vb s1 e s2 vep.
eval_valbind vb s1 e s2 vep =
(!poss_eval_atexp poss_eval_exprow poss_eval_exp poss_eval_match
poss_eval_mrule poss_eval_dec poss_eval_valbind.
eval_pred poss_eval_atexp poss_eval_exprow poss_eval_exp
poss_eval_match
poss_eval_mrule
poss_eval_dec
poss_eval_valbind ==>
poss_eval_valbind vb s1 e s2 vep)