- joint_ty_sigexp_h_spec_h_strdesc_h_strdesc_h_option_sigexp_h_spec_h_strdesc_h_TY_DEF
-
|- ?rep.
TYPE_DEFINITION
(TRP
(\v tl.
(v = INL one) /\ (LENGTH tl = SUC 0) \/
(?s. v = INR (INL s)) /\ (LENGTH tl = 0) \/
(?v. v = INR (INR (INL v))) /\ (LENGTH tl = 0) \/
(?e. v = INR (INR (INR (INL e)))) /\ (LENGTH tl = 0) \/
(v = INR (INR (INR (INR (INL one))))) /\ (LENGTH tl = SUC 0) \/
(v = INR (INR (INR (INR (INR (INL one)))))) /\
(LENGTH tl = SUC (SUC 0)) \/
(?n. v = INR (INR (INR (INR (INR (INR (INL n))))))) /\
(LENGTH tl = 0) \/
(?n. v = INR (INR (INR (INR (INR (INR (INR (INL n)))))))) /\
(LENGTH tl = 0) \/
(v = INR (INR (INR (INR (INR (INR (INR (INR (INL one))))))))) /\
(LENGTH tl = 0) \/
(v =
INR (INR (INR (INR (INR (INR (INR (INR (INR (INL one)))))))))) /\
(LENGTH tl = SUC (SUC 0)) \/
(?f s.
v =
INR
(INR
(INR
(INR (INR (INR (INR (INR (INR (INR (INL (f,s)))))))))))) /\
(LENGTH tl = SUC (SUC 0)) \/
(?s.
v =
INR
(INR
(INR
(INR
(INR (INR (INR (INR (INR (INR (INR (INL s)))))))))))) /\
(LENGTH tl = SUC (SUC 0)) \/
(v =
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 one))))))))))))) /\
(LENGTH tl = SUC 0)))
rep
- joint_ty_sigexp_h_spec_h_strdesc_h_strdesc_h_option_sigexp_h_spec_h_strdesc_h_ISO_DEF
-
|- (!a.
ABS_joint_ty_sigexp_h_spec_h_strdesc_h_strdesc_h_option_sigexp_h_spec_h_strdesc_h
(REP_joint_ty_sigexp_h_spec_h_strdesc_h_strdesc_h_option_sigexp_h_spec_h_strdesc_h
a) =
a) /\
(!r.
TRP
(\v tl.
(v = INL one) /\ (LENGTH tl = SUC 0) \/
(?s. v = INR (INL s)) /\ (LENGTH tl = 0) \/
(?v. v = INR (INR (INL v))) /\ (LENGTH tl = 0) \/
(?e. v = INR (INR (INR (INL e)))) /\ (LENGTH tl = 0) \/
(v = INR (INR (INR (INR (INL one))))) /\ (LENGTH tl = SUC 0) \/
(v = INR (INR (INR (INR (INR (INL one)))))) /\
(LENGTH tl = SUC (SUC 0)) \/
(?n. v = INR (INR (INR (INR (INR (INR (INL n))))))) /\
(LENGTH tl = 0) \/
(?n. v = INR (INR (INR (INR (INR (INR (INR (INL n)))))))) /\
(LENGTH tl = 0) \/
(v = INR (INR (INR (INR (INR (INR (INR (INR (INL one))))))))) /\
(LENGTH tl = 0) \/
(v =
INR (INR (INR (INR (INR (INR (INR (INR (INR (INL one)))))))))) /\
(LENGTH tl = SUC (SUC 0)) \/
(?f s.
v =
INR
(INR
(INR
(INR (INR (INR (INR (INR (INR (INR (INL (f,s)))))))))))) /\
(LENGTH tl = SUC (SUC 0)) \/
(?s.
v =
INR
(INR
(INR
(INR (INR (INR (INR (INR (INR (INR (INR (INL s)))))))))))) /\
(LENGTH tl = SUC (SUC 0)) \/
(v =
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 one))))))))))))) /\
(LENGTH tl = SUC 0))
r =
REP_joint_ty_sigexp_h_spec_h_strdesc_h_strdesc_h_option_sigexp_h_spec_h_strdesc_h
(ABS_joint_ty_sigexp_h_spec_h_strdesc_h_strdesc_h_option_sigexp_h_spec_h_strdesc_h
r) =
r)
- JOINT_int_SIGsigexp_h_DEF
-
|- !j.
JOINT_int_SIGsigexp_h j =
ABS_joint_ty_sigexp_h_spec_h_strdesc_h_strdesc_h_option_sigexp_h_spec_h_strdesc_h
(Node (INL one)
[REP_joint_ty_sigexp_h_spec_h_strdesc_h_strdesc_h_option_sigexp_h_spec_h_strdesc_h
j])
- JOINT_int_SIGIDsigexp_h_DEF
-
|- !s.
JOINT_int_SIGIDsigexp_h s =
ABS_joint_ty_sigexp_h_spec_h_strdesc_h_strdesc_h_option_sigexp_h_spec_h_strdesc_h
(Node (INR (INL s)) [])
- JOINT_int_VALspec_h_DEF
-
|- !v'.
JOINT_int_VALspec_h v' =
ABS_joint_ty_sigexp_h_spec_h_strdesc_h_strdesc_h_option_sigexp_h_spec_h_strdesc_h
(Node (INR (INR (INL v'))) [])
- JOINT_int_EXCEPTIONspec_h_DEF
-
|- !e.
JOINT_int_EXCEPTIONspec_h e =
ABS_joint_ty_sigexp_h_spec_h_strdesc_h_strdesc_h_option_sigexp_h_spec_h_strdesc_h
(Node (INR (INR (INR (INL e)))) [])
- JOINT_int_STRUCTUREspec_h_DEF
-
|- !j.
JOINT_int_STRUCTUREspec_h j =
ABS_joint_ty_sigexp_h_spec_h_strdesc_h_strdesc_h_option_sigexp_h_spec_h_strdesc_h
(Node (INR (INR (INR (INR (INL one)))))
[REP_joint_ty_sigexp_h_spec_h_strdesc_h_strdesc_h_option_sigexp_h_spec_h_strdesc_h
j])
- JOINT_int_LOCALspec_h_DEF
-
|- !j1 j2.
JOINT_int_LOCALspec_h j1 j2 =
ABS_joint_ty_sigexp_h_spec_h_strdesc_h_strdesc_h_option_sigexp_h_spec_h_strdesc_h
(Node (INR (INR (INR (INR (INR (INL one))))))
[REP_joint_ty_sigexp_h_spec_h_strdesc_h_strdesc_h_option_sigexp_h_spec_h_strdesc_h
j1;
REP_joint_ty_sigexp_h_spec_h_strdesc_h_strdesc_h_option_sigexp_h_spec_h_strdesc_h
j2])
- JOINT_int_OPENspec_h_DEF
-
|- !n.
JOINT_int_OPENspec_h n =
ABS_joint_ty_sigexp_h_spec_h_strdesc_h_strdesc_h_option_sigexp_h_spec_h_strdesc_h
(Node (INR (INR (INR (INR (INR (INR (INL n))))))) [])
- JOINT_int_INCLUDEspec_h_DEF
-
|- !n.
JOINT_int_INCLUDEspec_h n =
ABS_joint_ty_sigexp_h_spec_h_strdesc_h_strdesc_h_option_sigexp_h_spec_h_strdesc_h
(Node (INR (INR (INR (INR (INR (INR (INR (INL n)))))))) [])
- JOINT_int_EMPTYspec_h_DEF
-
|- JOINT_int_EMPTYspec_h =
ABS_joint_ty_sigexp_h_spec_h_strdesc_h_strdesc_h_option_sigexp_h_spec_h_strdesc_h
(Node (INR (INR (INR (INR (INR (INR (INR (INR (INL one))))))))) [])
- JOINT_int_SEQspec_h_DEF
-
|- !j1 j2.
JOINT_int_SEQspec_h j1 j2 =
ABS_joint_ty_sigexp_h_spec_h_strdesc_h_strdesc_h_option_sigexp_h_spec_h_strdesc_h
(Node (INR (INR (INR (INR (INR (INR (INR (INR (INR (INL one))))))))))
[REP_joint_ty_sigexp_h_spec_h_strdesc_h_strdesc_h_option_sigexp_h_spec_h_strdesc_h
j1;
REP_joint_ty_sigexp_h_spec_h_strdesc_h_strdesc_h_option_sigexp_h_spec_h_strdesc_h
j2])
- JOINT_int_FUNCTORspec_h_DEF
-
|- !f' s j1 j2.
JOINT_int_FUNCTORspec_h f' s j1 j2 =
ABS_joint_ty_sigexp_h_spec_h_strdesc_h_strdesc_h_option_sigexp_h_spec_h_strdesc_h
(Node
(INR
(INR
(INR (INR (INR (INR (INR (INR (INR (INR (INL (f',s))))))))))))
[REP_joint_ty_sigexp_h_spec_h_strdesc_h_strdesc_h_option_sigexp_h_spec_h_strdesc_h
j1;
REP_joint_ty_sigexp_h_spec_h_strdesc_h_strdesc_h_option_sigexp_h_spec_h_strdesc_h
j2])
- JOINT_int_STRIDstrdesc_h_DEF
-
|- !s j1 j2.
JOINT_int_STRIDstrdesc_h s j1 j2 =
ABS_joint_ty_sigexp_h_spec_h_strdesc_h_strdesc_h_option_sigexp_h_spec_h_strdesc_h
(Node
(INR
(INR
(INR (INR (INR (INR (INR (INR (INR (INR (INR (INL s))))))))))))
[REP_joint_ty_sigexp_h_spec_h_strdesc_h_strdesc_h_option_sigexp_h_spec_h_strdesc_h
j1;
REP_joint_ty_sigexp_h_spec_h_strdesc_h_strdesc_h_option_sigexp_h_spec_h_strdesc_h
j2])
- JOINT_int_sigexp_h_spec_h_strdesc_h_NONE_strdesc_h_DEF
-
|- JOINT_int_sigexp_h_spec_h_strdesc_h_NONE_strdesc_h =
ABS_joint_ty_sigexp_h_spec_h_strdesc_h_strdesc_h_option_sigexp_h_spec_h_strdesc_h
(Node
(INR
(INR
(INR
(INR
(INR (INR (INR (INR (INR (INR (INR (INR (INL one)))))))))))))
[])
- JOINT_int_sigexp_h_spec_h_strdesc_h_SOME_strdesc_h_DEF
-
|- !j.
JOINT_int_sigexp_h_spec_h_strdesc_h_SOME_strdesc_h j =
ABS_joint_ty_sigexp_h_spec_h_strdesc_h_strdesc_h_option_sigexp_h_spec_h_strdesc_h
(Node
(INR
(INR
(INR
(INR
(INR
(INR (INR (INR (INR (INR (INR (INR (INR one)))))))))))))
[REP_joint_ty_sigexp_h_spec_h_strdesc_h_strdesc_h_option_sigexp_h_spec_h_strdesc_h
j])
- joint_ty_sigexp_h_spec_h_strdesc_h_strdesc_h_option_sigexp_h_spec_h_strdesc_h_select_DEF
-
|- (!j.
joint_ty_sigexp_h_spec_h_strdesc_h_strdesc_h_option_sigexp_h_spec_h_strdesc_h_select
(JOINT_int_SIGsigexp_h j) =
((joint_ty_sigexp_h_spec_h_strdesc_h_strdesc_h_option_sigexp_h_spec_h_strdesc_h_select
j =
2)
=> 1
| 0)) /\
(!s.
joint_ty_sigexp_h_spec_h_strdesc_h_strdesc_h_option_sigexp_h_spec_h_strdesc_h_select
(JOINT_int_SIGIDsigexp_h s) =
1) /\
(!v'.
joint_ty_sigexp_h_spec_h_strdesc_h_strdesc_h_option_sigexp_h_spec_h_strdesc_h_select
(JOINT_int_VALspec_h v') =
2) /\
(!e.
joint_ty_sigexp_h_spec_h_strdesc_h_strdesc_h_option_sigexp_h_spec_h_strdesc_h_select
(JOINT_int_EXCEPTIONspec_h e) =
2) /\
(!j.
joint_ty_sigexp_h_spec_h_strdesc_h_strdesc_h_option_sigexp_h_spec_h_strdesc_h_select
(JOINT_int_STRUCTUREspec_h j) =
((joint_ty_sigexp_h_spec_h_strdesc_h_strdesc_h_option_sigexp_h_spec_h_strdesc_h_select
j =
3)
=> 2
| 0)) /\
(!j1 j2.
joint_ty_sigexp_h_spec_h_strdesc_h_strdesc_h_option_sigexp_h_spec_h_strdesc_h_select
(JOINT_int_LOCALspec_h j1 j2) =
(((joint_ty_sigexp_h_spec_h_strdesc_h_strdesc_h_option_sigexp_h_spec_h_strdesc_h_select
j1 =
2) /\
(joint_ty_sigexp_h_spec_h_strdesc_h_strdesc_h_option_sigexp_h_spec_h_strdesc_h_select
j2 =
2))
=> 2
| 0)) /\
(!n.
joint_ty_sigexp_h_spec_h_strdesc_h_strdesc_h_option_sigexp_h_spec_h_strdesc_h_select
(JOINT_int_OPENspec_h n) =
2) /\
(!n.
joint_ty_sigexp_h_spec_h_strdesc_h_strdesc_h_option_sigexp_h_spec_h_strdesc_h_select
(JOINT_int_INCLUDEspec_h n) =
2) /\
(joint_ty_sigexp_h_spec_h_strdesc_h_strdesc_h_option_sigexp_h_spec_h_strdesc_h_select
JOINT_int_EMPTYspec_h =
2) /\
(!j1 j2.
joint_ty_sigexp_h_spec_h_strdesc_h_strdesc_h_option_sigexp_h_spec_h_strdesc_h_select
(JOINT_int_SEQspec_h j1 j2) =
(((joint_ty_sigexp_h_spec_h_strdesc_h_strdesc_h_option_sigexp_h_spec_h_strdesc_h_select
j1 =
2) /\
(joint_ty_sigexp_h_spec_h_strdesc_h_strdesc_h_option_sigexp_h_spec_h_strdesc_h_select
j2 =
2))
=> 2
| 0)) /\
(!f' s j1 j2.
joint_ty_sigexp_h_spec_h_strdesc_h_strdesc_h_option_sigexp_h_spec_h_strdesc_h_select
(JOINT_int_FUNCTORspec_h f' s j1 j2) =
(((joint_ty_sigexp_h_spec_h_strdesc_h_strdesc_h_option_sigexp_h_spec_h_strdesc_h_select
j1 =
1) /\
(joint_ty_sigexp_h_spec_h_strdesc_h_strdesc_h_option_sigexp_h_spec_h_strdesc_h_select
j2 =
1))
=> 2
| 0)) /\
(!s j1 j2.
joint_ty_sigexp_h_spec_h_strdesc_h_strdesc_h_option_sigexp_h_spec_h_strdesc_h_select
(JOINT_int_STRIDstrdesc_h s j1 j2) =
(((joint_ty_sigexp_h_spec_h_strdesc_h_strdesc_h_option_sigexp_h_spec_h_strdesc_h_select
j1 =
1) /\
(joint_ty_sigexp_h_spec_h_strdesc_h_strdesc_h_option_sigexp_h_spec_h_strdesc_h_select
j2 =
4))
=> 3
| 0)) /\
(joint_ty_sigexp_h_spec_h_strdesc_h_strdesc_h_option_sigexp_h_spec_h_strdesc_h_select
JOINT_int_sigexp_h_spec_h_strdesc_h_NONE_strdesc_h =
4) /\
(!j.
joint_ty_sigexp_h_spec_h_strdesc_h_strdesc_h_option_sigexp_h_spec_h_strdesc_h_select
(JOINT_int_sigexp_h_spec_h_strdesc_h_SOME_strdesc_h j) =
((joint_ty_sigexp_h_spec_h_strdesc_h_strdesc_h_option_sigexp_h_spec_h_strdesc_h_select
j =
3)
=> 4
| 0))
- strdesc_h_TY_DEF
-
|- ?rep.
TYPE_DEFINITION
(\x.
joint_ty_sigexp_h_spec_h_strdesc_h_strdesc_h_option_sigexp_h_spec_h_strdesc_h_select
x =
3)
rep
- strdesc_h_REP_ABS
-
|- (!a. strdesc_h_abs (strdesc_h_rep a) = a) /\
(!r.
(\x.
joint_ty_sigexp_h_spec_h_strdesc_h_strdesc_h_option_sigexp_h_spec_h_strdesc_h_select
x =
3)
r =
strdesc_h_rep (strdesc_h_abs r) =
r)
- strdesc_h_option_sigexp_h_spec_h_strdesc_h_TY_DEF
-
|- ?rep.
TYPE_DEFINITION
(\x.
joint_ty_sigexp_h_spec_h_strdesc_h_strdesc_h_option_sigexp_h_spec_h_strdesc_h_select
x =
4)
rep
- strdesc_h_option_sigexp_h_spec_h_strdesc_h_REP_ABS
-
|- (!a.
strdesc_h_option_sigexp_h_spec_h_strdesc_h_abs
(strdesc_h_option_sigexp_h_spec_h_strdesc_h_rep a) =
a) /\
(!r.
(\x.
joint_ty_sigexp_h_spec_h_strdesc_h_strdesc_h_option_sigexp_h_spec_h_strdesc_h_select
x =
4)
r =
strdesc_h_option_sigexp_h_spec_h_strdesc_h_rep
(strdesc_h_option_sigexp_h_spec_h_strdesc_h_abs r) =
r)
- spec_h_TY_DEF
-
|- ?rep.
TYPE_DEFINITION
(\x.
joint_ty_sigexp_h_spec_h_strdesc_h_strdesc_h_option_sigexp_h_spec_h_strdesc_h_select
x =
2)
rep
- spec_h_REP_ABS
-
|- (!a. spec_h_abs (spec_h_rep a) = a) /\
(!r.
(\x.
joint_ty_sigexp_h_spec_h_strdesc_h_strdesc_h_option_sigexp_h_spec_h_strdesc_h_select
x =
2)
r =
spec_h_rep (spec_h_abs r) =
r)
- sigexp_h_TY_DEF
-
|- ?rep.
TYPE_DEFINITION
(\x.
joint_ty_sigexp_h_spec_h_strdesc_h_strdesc_h_option_sigexp_h_spec_h_strdesc_h_select
x =
1)
rep
- sigexp_h_REP_ABS
-
|- (!a. sigexp_h_abs (sigexp_h_rep a) = a) /\
(!r.
(\x.
joint_ty_sigexp_h_spec_h_strdesc_h_strdesc_h_option_sigexp_h_spec_h_strdesc_h_select
x =
1)
r =
sigexp_h_rep (sigexp_h_abs r) =
r)
- int_SIGsigexp_h_DEF
-
|- !x1.
int_SIGsigexp_h x1 = sigexp_h_abs (JOINT_int_SIGsigexp_h (spec_h_rep x1))
- int_SIGIDsigexp_h_DEF
-
|- !x1. int_SIGIDsigexp_h x1 = sigexp_h_abs (JOINT_int_SIGIDsigexp_h x1)
- int_VALspec_h_DEF
-
|- !x1. int_VALspec_h x1 = spec_h_abs (JOINT_int_VALspec_h x1)
- int_EXCEPTIONspec_h_DEF
-
|- !x1. int_EXCEPTIONspec_h x1 = spec_h_abs (JOINT_int_EXCEPTIONspec_h x1)
- int_STRUCTUREspec_h_DEF
-
|- !x1.
int_STRUCTUREspec_h x1 =
spec_h_abs (JOINT_int_STRUCTUREspec_h (strdesc_h_rep x1))
- int_LOCALspec_h_DEF
-
|- !x1 x2.
int_LOCALspec_h x1 x2 =
spec_h_abs (JOINT_int_LOCALspec_h (spec_h_rep x1) (spec_h_rep x2))
- int_OPENspec_h_DEF
-
|- !x1. int_OPENspec_h x1 = spec_h_abs (JOINT_int_OPENspec_h x1)
- int_INCLUDEspec_h_DEF
-
|- !x1. int_INCLUDEspec_h x1 = spec_h_abs (JOINT_int_INCLUDEspec_h x1)
- int_EMPTYspec_h_DEF
-
|- int_EMPTYspec_h = spec_h_abs JOINT_int_EMPTYspec_h
- int_SEQspec_h_DEF
-
|- !x1 x2.
int_SEQspec_h x1 x2 =
spec_h_abs (JOINT_int_SEQspec_h (spec_h_rep x1) (spec_h_rep x2))
- int_FUNCTORspec_h_DEF
-
|- !x1 x2 x3 x4.
int_FUNCTORspec_h x1 x2 x3 x4 =
spec_h_abs
(JOINT_int_FUNCTORspec_h x1 x2 (sigexp_h_rep x3) (sigexp_h_rep x4))
- int_STRIDstrdesc_h_DEF
-
|- !x1 x2 x3.
int_STRIDstrdesc_h x1 x2 x3 =
strdesc_h_abs
(JOINT_int_STRIDstrdesc_h x1 (sigexp_h_rep x2)
(strdesc_h_option_sigexp_h_spec_h_strdesc_h_rep x3))
- int_sigexp_h_spec_h_strdesc_h_NONE_strdesc_h_DEF
-
|- int_sigexp_h_spec_h_strdesc_h_NONE_strdesc_h =
strdesc_h_option_sigexp_h_spec_h_strdesc_h_abs
JOINT_int_sigexp_h_spec_h_strdesc_h_NONE_strdesc_h
- int_sigexp_h_spec_h_strdesc_h_SOME_strdesc_h_DEF
-
|- !x1.
int_sigexp_h_spec_h_strdesc_h_SOME_strdesc_h x1 =
strdesc_h_option_sigexp_h_spec_h_strdesc_h_abs
(JOINT_int_sigexp_h_spec_h_strdesc_h_SOME_strdesc_h (strdesc_h_rep x1))
- SIGsigexp_h
-
|- SIGsigexp_h = (\x0. int_SIGsigexp_h x0)
- SIGIDsigexp_h
-
|- SIGIDsigexp_h = (\x0. int_SIGIDsigexp_h x0)
- VALspec_h
-
|- VALspec_h = (\x0. int_VALspec_h x0)
- EXCEPTIONspec_h
-
|- EXCEPTIONspec_h = (\x0. int_EXCEPTIONspec_h x0)
- STRUCTUREspec_h
-
|- STRUCTUREspec_h = (\x0. int_STRUCTUREspec_h x0)
- LOCALspec_h
-
|- LOCALspec_h = (\x0 x1. int_LOCALspec_h x0 x1)
- OPENspec_h
-
|- OPENspec_h = (\x0. int_OPENspec_h x0)
- INCLUDEspec_h
-
|- INCLUDEspec_h = (\x0. int_INCLUDEspec_h x0)
- EMPTYspec_h
-
|- EMPTYspec_h = int_EMPTYspec_h
- SEQspec_h
-
|- SEQspec_h = (\x0 x1. int_SEQspec_h x0 x1)
- FUNCTORspec_h
-
|- FUNCTORspec_h = (\x0 x1 x2 x3. int_FUNCTORspec_h x0 x1 x2 x3)
- int_inj_strdesc_h_option_sigexp_h_spec_h_strdesc_h
-
|- (int_inj_strdesc_h_option_sigexp_h_spec_h_strdesc_h NONE =
int_sigexp_h_spec_h_strdesc_h_NONE_strdesc_h) /\
(!x0.
int_inj_strdesc_h_option_sigexp_h_spec_h_strdesc_h (SOME x0) =
int_sigexp_h_spec_h_strdesc_h_SOME_strdesc_h x0)
- int_inv_strdesc_h_option_sigexp_h_spec_h_strdesc_h
-
|- (int_inv_strdesc_h_option_sigexp_h_spec_h_strdesc_h
int_sigexp_h_spec_h_strdesc_h_NONE_strdesc_h =
NONE) /\
(!x1.
int_inv_strdesc_h_option_sigexp_h_spec_h_strdesc_h
(int_sigexp_h_spec_h_strdesc_h_SOME_strdesc_h x1) =
SOME x1)
- STRIDstrdesc_h
-
|- STRIDstrdesc_h =
(\x0 x1 x2.
int_STRIDstrdesc_h x0 x1
(int_inj_strdesc_h_option_sigexp_h_spec_h_strdesc_h x2))
- dist_aux_ftn_sigexp_h_DEF
-
|- (!x1. dist_aux_ftn_sigexp_h (int_SIGsigexp_h x1) = 0) /\
(!x1. dist_aux_ftn_sigexp_h (int_SIGIDsigexp_h x1) = 1) /\
(!x1. dist_aux_ftn_spec_h (int_VALspec_h x1) = 2) /\
(!x1. dist_aux_ftn_spec_h (int_EXCEPTIONspec_h x1) = 3) /\
(!x1. dist_aux_ftn_spec_h (int_STRUCTUREspec_h x1) = 4) /\
(!x1 x2. dist_aux_ftn_spec_h (int_LOCALspec_h x1 x2) = 5) /\
(!x1. dist_aux_ftn_spec_h (int_OPENspec_h x1) = 6) /\
(!x1. dist_aux_ftn_spec_h (int_INCLUDEspec_h x1) = 7) /\
(dist_aux_ftn_spec_h int_EMPTYspec_h = 8) /\
(!x1 x2. dist_aux_ftn_spec_h (int_SEQspec_h x1 x2) = 9) /\
(!x1 x2 x3 x4. dist_aux_ftn_spec_h (int_FUNCTORspec_h x1 x2 x3 x4) = 10) /\
(!x1 x2 x3. dist_aux_ftn_strdesc_h (int_STRIDstrdesc_h x1 x2 x3) = 11) /\
(dist_aux_ftn_strdesc_h_option_sigexp_h_spec_h_strdesc_h
int_sigexp_h_spec_h_strdesc_h_NONE_strdesc_h =
12) /\
(!x1.
dist_aux_ftn_strdesc_h_option_sigexp_h_spec_h_strdesc_h
(int_sigexp_h_spec_h_strdesc_h_SOME_strdesc_h x1) =
13)
- int_SIGsigexp_h_arg_DEF
-
|- (!x1. int_SIGsigexp_h_arg (int_SIGsigexp_h x1) = x1) /\
(!x1. int_SIGsigexp_h_arg (int_SIGIDsigexp_h x1) = (@x. T))
- int_SIGIDsigexp_h_arg_DEF
-
|- (!x1. int_SIGIDsigexp_h_arg (int_SIGIDsigexp_h x1) = x1) /\
(!x1. int_SIGIDsigexp_h_arg (int_SIGsigexp_h x1) = (@x. T))
- int_VALspec_h_arg_DEF
-
|- (!x1. int_VALspec_h_arg (int_VALspec_h x1) = x1) /\
(!x1. int_VALspec_h_arg (int_EXCEPTIONspec_h x1) = (@x. T)) /\
(!x1. int_VALspec_h_arg (int_STRUCTUREspec_h x1) = (@x. T)) /\
(!x1 x2. int_VALspec_h_arg (int_LOCALspec_h x1 x2) = (@x. T)) /\
(!x1. int_VALspec_h_arg (int_OPENspec_h x1) = (@x. T)) /\
(!x1. int_VALspec_h_arg (int_INCLUDEspec_h x1) = (@x. T)) /\
(int_VALspec_h_arg int_EMPTYspec_h = (@x. T)) /\
(!x1 x2. int_VALspec_h_arg (int_SEQspec_h x1 x2) = (@x. T)) /\
(!x1 x2 x3 x4. int_VALspec_h_arg (int_FUNCTORspec_h x1 x2 x3 x4) = (@x. T))
- int_EXCEPTIONspec_h_arg_DEF
-
|- (!x1. int_EXCEPTIONspec_h_arg (int_EXCEPTIONspec_h x1) = x1) /\
(!x1. int_EXCEPTIONspec_h_arg (int_VALspec_h x1) = (@x. T)) /\
(!x1. int_EXCEPTIONspec_h_arg (int_STRUCTUREspec_h x1) = (@x. T)) /\
(!x1 x2. int_EXCEPTIONspec_h_arg (int_LOCALspec_h x1 x2) = (@x. T)) /\
(!x1. int_EXCEPTIONspec_h_arg (int_OPENspec_h x1) = (@x. T)) /\
(!x1. int_EXCEPTIONspec_h_arg (int_INCLUDEspec_h x1) = (@x. T)) /\
(int_EXCEPTIONspec_h_arg int_EMPTYspec_h = (@x. T)) /\
(!x1 x2. int_EXCEPTIONspec_h_arg (int_SEQspec_h x1 x2) = (@x. T)) /\
(!x1 x2 x3 x4.
int_EXCEPTIONspec_h_arg (int_FUNCTORspec_h x1 x2 x3 x4) = (@x. T))
- int_STRUCTUREspec_h_arg_DEF
-
|- (!x1. int_STRUCTUREspec_h_arg (int_STRUCTUREspec_h x1) = x1) /\
(!x1. int_STRUCTUREspec_h_arg (int_VALspec_h x1) = (@x. T)) /\
(!x1. int_STRUCTUREspec_h_arg (int_EXCEPTIONspec_h x1) = (@x. T)) /\
(!x1 x2. int_STRUCTUREspec_h_arg (int_LOCALspec_h x1 x2) = (@x. T)) /\
(!x1. int_STRUCTUREspec_h_arg (int_OPENspec_h x1) = (@x. T)) /\
(!x1. int_STRUCTUREspec_h_arg (int_INCLUDEspec_h x1) = (@x. T)) /\
(int_STRUCTUREspec_h_arg int_EMPTYspec_h = (@x. T)) /\
(!x1 x2. int_STRUCTUREspec_h_arg (int_SEQspec_h x1 x2) = (@x. T)) /\
(!x1 x2 x3 x4.
int_STRUCTUREspec_h_arg (int_FUNCTORspec_h x1 x2 x3 x4) = (@x. T))
- int_LOCALspec_h_arg1_DEF
-
|- (!x1 x2. int_LOCALspec_h_arg1 (int_LOCALspec_h x1 x2) = x1) /\
(!x1. int_LOCALspec_h_arg1 (int_VALspec_h x1) = (@x. T)) /\
(!x1. int_LOCALspec_h_arg1 (int_EXCEPTIONspec_h x1) = (@x. T)) /\
(!x1. int_LOCALspec_h_arg1 (int_STRUCTUREspec_h x1) = (@x. T)) /\
(!x1. int_LOCALspec_h_arg1 (int_OPENspec_h x1) = (@x. T)) /\
(!x1. int_LOCALspec_h_arg1 (int_INCLUDEspec_h x1) = (@x. T)) /\
(int_LOCALspec_h_arg1 int_EMPTYspec_h = (@x. T)) /\
(!x1 x2. int_LOCALspec_h_arg1 (int_SEQspec_h x1 x2) = (@x. T)) /\
(!x1 x2 x3 x4.
int_LOCALspec_h_arg1 (int_FUNCTORspec_h x1 x2 x3 x4) = (@x. T))
- int_LOCALspec_h_arg2_DEF
-
|- (!x1 x2. int_LOCALspec_h_arg2 (int_LOCALspec_h x1 x2) = x2) /\
(!x1. int_LOCALspec_h_arg2 (int_VALspec_h x1) = (@x. T)) /\
(!x1. int_LOCALspec_h_arg2 (int_EXCEPTIONspec_h x1) = (@x. T)) /\
(!x1. int_LOCALspec_h_arg2 (int_STRUCTUREspec_h x1) = (@x. T)) /\
(!x1. int_LOCALspec_h_arg2 (int_OPENspec_h x1) = (@x. T)) /\
(!x1. int_LOCALspec_h_arg2 (int_INCLUDEspec_h x1) = (@x. T)) /\
(int_LOCALspec_h_arg2 int_EMPTYspec_h = (@x. T)) /\
(!x1 x2. int_LOCALspec_h_arg2 (int_SEQspec_h x1 x2) = (@x. T)) /\
(!x1 x2 x3 x4.
int_LOCALspec_h_arg2 (int_FUNCTORspec_h x1 x2 x3 x4) = (@x. T))
- int_OPENspec_h_arg_DEF
-
|- (!x1. int_OPENspec_h_arg (int_OPENspec_h x1) = x1) /\
(!x1. int_OPENspec_h_arg (int_VALspec_h x1) = (@x. T)) /\
(!x1. int_OPENspec_h_arg (int_EXCEPTIONspec_h x1) = (@x. T)) /\
(!x1. int_OPENspec_h_arg (int_STRUCTUREspec_h x1) = (@x. T)) /\
(!x1 x2. int_OPENspec_h_arg (int_LOCALspec_h x1 x2) = (@x. T)) /\
(!x1. int_OPENspec_h_arg (int_INCLUDEspec_h x1) = (@x. T)) /\
(int_OPENspec_h_arg int_EMPTYspec_h = (@x. T)) /\
(!x1 x2. int_OPENspec_h_arg (int_SEQspec_h x1 x2) = (@x. T)) /\
(!x1 x2 x3 x4.
int_OPENspec_h_arg (int_FUNCTORspec_h x1 x2 x3 x4) = (@x. T))
- int_INCLUDEspec_h_arg_DEF
-
|- (!x1. int_INCLUDEspec_h_arg (int_INCLUDEspec_h x1) = x1) /\
(!x1. int_INCLUDEspec_h_arg (int_VALspec_h x1) = (@x. T)) /\
(!x1. int_INCLUDEspec_h_arg (int_EXCEPTIONspec_h x1) = (@x. T)) /\
(!x1. int_INCLUDEspec_h_arg (int_STRUCTUREspec_h x1) = (@x. T)) /\
(!x1 x2. int_INCLUDEspec_h_arg (int_LOCALspec_h x1 x2) = (@x. T)) /\
(!x1. int_INCLUDEspec_h_arg (int_OPENspec_h x1) = (@x. T)) /\
(int_INCLUDEspec_h_arg int_EMPTYspec_h = (@x. T)) /\
(!x1 x2. int_INCLUDEspec_h_arg (int_SEQspec_h x1 x2) = (@x. T)) /\
(!x1 x2 x3 x4.
int_INCLUDEspec_h_arg (int_FUNCTORspec_h x1 x2 x3 x4) = (@x. T))
- int_SEQspec_h_arg1_DEF
-
|- (!x1 x2. int_SEQspec_h_arg1 (int_SEQspec_h x1 x2) = x1) /\
(!x1. int_SEQspec_h_arg1 (int_VALspec_h x1) = (@x. T)) /\
(!x1. int_SEQspec_h_arg1 (int_EXCEPTIONspec_h x1) = (@x. T)) /\
(!x1. int_SEQspec_h_arg1 (int_STRUCTUREspec_h x1) = (@x. T)) /\
(!x1 x2. int_SEQspec_h_arg1 (int_LOCALspec_h x1 x2) = (@x. T)) /\
(!x1. int_SEQspec_h_arg1 (int_OPENspec_h x1) = (@x. T)) /\
(!x1. int_SEQspec_h_arg1 (int_INCLUDEspec_h x1) = (@x. T)) /\
(int_SEQspec_h_arg1 int_EMPTYspec_h = (@x. T)) /\
(!x1 x2 x3 x4.
int_SEQspec_h_arg1 (int_FUNCTORspec_h x1 x2 x3 x4) = (@x. T))
- int_SEQspec_h_arg2_DEF
-
|- (!x1 x2. int_SEQspec_h_arg2 (int_SEQspec_h x1 x2) = x2) /\
(!x1. int_SEQspec_h_arg2 (int_VALspec_h x1) = (@x. T)) /\
(!x1. int_SEQspec_h_arg2 (int_EXCEPTIONspec_h x1) = (@x. T)) /\
(!x1. int_SEQspec_h_arg2 (int_STRUCTUREspec_h x1) = (@x. T)) /\
(!x1 x2. int_SEQspec_h_arg2 (int_LOCALspec_h x1 x2) = (@x. T)) /\
(!x1. int_SEQspec_h_arg2 (int_OPENspec_h x1) = (@x. T)) /\
(!x1. int_SEQspec_h_arg2 (int_INCLUDEspec_h x1) = (@x. T)) /\
(int_SEQspec_h_arg2 int_EMPTYspec_h = (@x. T)) /\
(!x1 x2 x3 x4.
int_SEQspec_h_arg2 (int_FUNCTORspec_h x1 x2 x3 x4) = (@x. T))
- int_FUNCTORspec_h_arg1_DEF
-
|- (!x1 x2 x3 x4.
int_FUNCTORspec_h_arg1 (int_FUNCTORspec_h x1 x2 x3 x4) = x1) /\
(!x1. int_FUNCTORspec_h_arg1 (int_VALspec_h x1) = (@x. T)) /\
(!x1. int_FUNCTORspec_h_arg1 (int_EXCEPTIONspec_h x1) = (@x. T)) /\
(!x1. int_FUNCTORspec_h_arg1 (int_STRUCTUREspec_h x1) = (@x. T)) /\
(!x1 x2. int_FUNCTORspec_h_arg1 (int_LOCALspec_h x1 x2) = (@x. T)) /\
(!x1. int_FUNCTORspec_h_arg1 (int_OPENspec_h x1) = (@x. T)) /\
(!x1. int_FUNCTORspec_h_arg1 (int_INCLUDEspec_h x1) = (@x. T)) /\
(int_FUNCTORspec_h_arg1 int_EMPTYspec_h = (@x. T)) /\
(!x1 x2. int_FUNCTORspec_h_arg1 (int_SEQspec_h x1 x2) = (@x. T))
- int_FUNCTORspec_h_arg2_DEF
-
|- (!x1 x2 x3 x4.
int_FUNCTORspec_h_arg2 (int_FUNCTORspec_h x1 x2 x3 x4) = x2) /\
(!x1. int_FUNCTORspec_h_arg2 (int_VALspec_h x1) = (@x. T)) /\
(!x1. int_FUNCTORspec_h_arg2 (int_EXCEPTIONspec_h x1) = (@x. T)) /\
(!x1. int_FUNCTORspec_h_arg2 (int_STRUCTUREspec_h x1) = (@x. T)) /\
(!x1 x2. int_FUNCTORspec_h_arg2 (int_LOCALspec_h x1 x2) = (@x. T)) /\
(!x1. int_FUNCTORspec_h_arg2 (int_OPENspec_h x1) = (@x. T)) /\
(!x1. int_FUNCTORspec_h_arg2 (int_INCLUDEspec_h x1) = (@x. T)) /\
(int_FUNCTORspec_h_arg2 int_EMPTYspec_h = (@x. T)) /\
(!x1 x2. int_FUNCTORspec_h_arg2 (int_SEQspec_h x1 x2) = (@x. T))
- int_FUNCTORspec_h_arg3_DEF
-
|- (!x1 x2 x3 x4.
int_FUNCTORspec_h_arg3 (int_FUNCTORspec_h x1 x2 x3 x4) = x3) /\
(!x1. int_FUNCTORspec_h_arg3 (int_VALspec_h x1) = (@x. T)) /\
(!x1. int_FUNCTORspec_h_arg3 (int_EXCEPTIONspec_h x1) = (@x. T)) /\
(!x1. int_FUNCTORspec_h_arg3 (int_STRUCTUREspec_h x1) = (@x. T)) /\
(!x1 x2. int_FUNCTORspec_h_arg3 (int_LOCALspec_h x1 x2) = (@x. T)) /\
(!x1. int_FUNCTORspec_h_arg3 (int_OPENspec_h x1) = (@x. T)) /\
(!x1. int_FUNCTORspec_h_arg3 (int_INCLUDEspec_h x1) = (@x. T)) /\
(int_FUNCTORspec_h_arg3 int_EMPTYspec_h = (@x. T)) /\
(!x1 x2. int_FUNCTORspec_h_arg3 (int_SEQspec_h x1 x2) = (@x. T))
- int_FUNCTORspec_h_arg4_DEF
-
|- (!x1 x2 x3 x4.
int_FUNCTORspec_h_arg4 (int_FUNCTORspec_h x1 x2 x3 x4) = x4) /\
(!x1. int_FUNCTORspec_h_arg4 (int_VALspec_h x1) = (@x. T)) /\
(!x1. int_FUNCTORspec_h_arg4 (int_EXCEPTIONspec_h x1) = (@x. T)) /\
(!x1. int_FUNCTORspec_h_arg4 (int_STRUCTUREspec_h x1) = (@x. T)) /\
(!x1 x2. int_FUNCTORspec_h_arg4 (int_LOCALspec_h x1 x2) = (@x. T)) /\
(!x1. int_FUNCTORspec_h_arg4 (int_OPENspec_h x1) = (@x. T)) /\
(!x1. int_FUNCTORspec_h_arg4 (int_INCLUDEspec_h x1) = (@x. T)) /\
(int_FUNCTORspec_h_arg4 int_EMPTYspec_h = (@x. T)) /\
(!x1 x2. int_FUNCTORspec_h_arg4 (int_SEQspec_h x1 x2) = (@x. T))
- int_STRIDstrdesc_h_arg1_DEF
-
|- !x1 x2 x3. int_STRIDstrdesc_h_arg1 (int_STRIDstrdesc_h x1 x2 x3) = x1
- int_STRIDstrdesc_h_arg2_DEF
-
|- !x1 x2 x3. int_STRIDstrdesc_h_arg2 (int_STRIDstrdesc_h x1 x2 x3) = x2
- int_STRIDstrdesc_h_arg3_DEF
-
|- !x1 x2 x3. int_STRIDstrdesc_h_arg3 (int_STRIDstrdesc_h x1 x2 x3) = x3
- int_sigexp_h_spec_h_strdesc_h_SOME_strdesc_h_arg_DEF
-
|- (!x1.
int_sigexp_h_spec_h_strdesc_h_SOME_strdesc_h_arg
(int_sigexp_h_spec_h_strdesc_h_SOME_strdesc_h x1) =
x1) /\
(int_sigexp_h_spec_h_strdesc_h_SOME_strdesc_h_arg
int_sigexp_h_spec_h_strdesc_h_NONE_strdesc_h =
(@x. T))
- joint_ty_sigbind_h_sigbind_h_option_sigbind_h_TY_DEF
-
|- ?rep.
TYPE_DEFINITION
(TRP
(\v tl.
(?s0 s1. v = INL (s0,s1)) /\ (LENGTH tl = SUC 0) \/
(v = INR (INL one)) /\ (LENGTH tl = 0) \/
(v = INR (INR one)) /\ (LENGTH tl = SUC 0)))
rep
- joint_ty_sigbind_h_sigbind_h_option_sigbind_h_ISO_DEF
-
|- (!a.
ABS_joint_ty_sigbind_h_sigbind_h_option_sigbind_h
(REP_joint_ty_sigbind_h_sigbind_h_option_sigbind_h a) =
a) /\
(!r.
TRP
(\v tl.
(?s0 s1. v = INL (s0,s1)) /\ (LENGTH tl = SUC 0) \/
(v = INR (INL one)) /\ (LENGTH tl = 0) \/
(v = INR (INR one)) /\ (LENGTH tl = SUC 0))
r =
REP_joint_ty_sigbind_h_sigbind_h_option_sigbind_h
(ABS_joint_ty_sigbind_h_sigbind_h_option_sigbind_h r) =
r)
- JOINT_int_BINDsigbind_h_DEF
-
|- !s0 s1 j.
JOINT_int_BINDsigbind_h s0 s1 j =
ABS_joint_ty_sigbind_h_sigbind_h_option_sigbind_h
(Node (INL (s0,s1))
[REP_joint_ty_sigbind_h_sigbind_h_option_sigbind_h j])
- JOINT_int_sigbind_h_NONE_sigbind_h_DEF
-
|- JOINT_int_sigbind_h_NONE_sigbind_h =
ABS_joint_ty_sigbind_h_sigbind_h_option_sigbind_h (Node (INR (INL one)) [])
- JOINT_int_sigbind_h_SOME_sigbind_h_DEF
-
|- !j.
JOINT_int_sigbind_h_SOME_sigbind_h j =
ABS_joint_ty_sigbind_h_sigbind_h_option_sigbind_h
(Node (INR (INR one))
[REP_joint_ty_sigbind_h_sigbind_h_option_sigbind_h j])
- joint_ty_sigbind_h_sigbind_h_option_sigbind_h_select_DEF
-
|- (!s0 s1 j.
joint_ty_sigbind_h_sigbind_h_option_sigbind_h_select
(JOINT_int_BINDsigbind_h s0 s1 j) =
((joint_ty_sigbind_h_sigbind_h_option_sigbind_h_select j = 2)
=> 1
| 0)) /\
(joint_ty_sigbind_h_sigbind_h_option_sigbind_h_select
JOINT_int_sigbind_h_NONE_sigbind_h =
2) /\
(!j.
joint_ty_sigbind_h_sigbind_h_option_sigbind_h_select
(JOINT_int_sigbind_h_SOME_sigbind_h j) =
((joint_ty_sigbind_h_sigbind_h_option_sigbind_h_select j = 1) => 2 | 0))
- sigbind_h_TY_DEF
-
|- ?rep.
TYPE_DEFINITION
(\x. joint_ty_sigbind_h_sigbind_h_option_sigbind_h_select x = 1)
rep
- sigbind_h_REP_ABS
-
|- (!a. sigbind_h_abs (sigbind_h_rep a) = a) /\
(!r.
(\x. joint_ty_sigbind_h_sigbind_h_option_sigbind_h_select x = 1) r =
sigbind_h_rep (sigbind_h_abs r) =
r)
- sigbind_h_option_sigbind_h_TY_DEF
-
|- ?rep.
TYPE_DEFINITION
(\x. joint_ty_sigbind_h_sigbind_h_option_sigbind_h_select x = 2)
rep
- sigbind_h_option_sigbind_h_REP_ABS
-
|- (!a.
sigbind_h_option_sigbind_h_abs (sigbind_h_option_sigbind_h_rep a) = a) /\
(!r.
(\x. joint_ty_sigbind_h_sigbind_h_option_sigbind_h_select x = 2) r =
sigbind_h_option_sigbind_h_rep (sigbind_h_option_sigbind_h_abs r) =
r)
- int_BINDsigbind_h_DEF
-
|- !x1 x2 x3.
int_BINDsigbind_h x1 x2 x3 =
sigbind_h_abs
(JOINT_int_BINDsigbind_h x1 x2 (sigbind_h_option_sigbind_h_rep x3))
- int_sigbind_h_NONE_sigbind_h_DEF
-
|- int_sigbind_h_NONE_sigbind_h =
sigbind_h_option_sigbind_h_abs JOINT_int_sigbind_h_NONE_sigbind_h
- int_sigbind_h_SOME_sigbind_h_DEF
-
|- !x1.
int_sigbind_h_SOME_sigbind_h x1 =
sigbind_h_option_sigbind_h_abs
(JOINT_int_sigbind_h_SOME_sigbind_h (sigbind_h_rep x1))
- int_inj_sigbind_h_option_sigbind_h
-
|- (int_inj_sigbind_h_option_sigbind_h NONE = int_sigbind_h_NONE_sigbind_h) /\
(!x0.
int_inj_sigbind_h_option_sigbind_h (SOME x0) =
int_sigbind_h_SOME_sigbind_h x0)
- int_inv_sigbind_h_option_sigbind_h
-
|- (int_inv_sigbind_h_option_sigbind_h int_sigbind_h_NONE_sigbind_h = NONE) /\
(!x1.
int_inv_sigbind_h_option_sigbind_h (int_sigbind_h_SOME_sigbind_h x1) =
SOME x1)
- BINDsigbind_h
-
|- BINDsigbind_h =
(\x0 x1 x2.
int_BINDsigbind_h x0 x1 (int_inj_sigbind_h_option_sigbind_h x2))
- dist_aux_ftn_sigbind_h_DEF
-
|- (!x1 x2 x3. dist_aux_ftn_sigbind_h (int_BINDsigbind_h x1 x2 x3) = 0) /\
(dist_aux_ftn_sigbind_h_option_sigbind_h int_sigbind_h_NONE_sigbind_h =
1) /\
(!x1.
dist_aux_ftn_sigbind_h_option_sigbind_h
(int_sigbind_h_SOME_sigbind_h x1) =
2)
- int_BINDsigbind_h_arg1_DEF
-
|- !x1 x2 x3. int_BINDsigbind_h_arg1 (int_BINDsigbind_h x1 x2 x3) = x1
- int_BINDsigbind_h_arg2_DEF
-
|- !x1 x2 x3. int_BINDsigbind_h_arg2 (int_BINDsigbind_h x1 x2 x3) = x2
- int_BINDsigbind_h_arg3_DEF
-
|- !x1 x2 x3. int_BINDsigbind_h_arg3 (int_BINDsigbind_h x1 x2 x3) = x3
- int_sigbind_h_SOME_sigbind_h_arg_DEF
-
|- (!x1.
int_sigbind_h_SOME_sigbind_h_arg (int_sigbind_h_SOME_sigbind_h x1) =
x1) /\
(int_sigbind_h_SOME_sigbind_h_arg int_sigbind_h_NONE_sigbind_h = (@x. T))
- sigdec_h_TY_DEF
-
|- ?rep.
TYPE_DEFINITION
(TRP
(\v tl.
(?s. v = INL s) /\ (LENGTH tl = 0) \/
(v = INR (INL one)) /\ (LENGTH tl = 0) \/
(v = INR (INR one)) /\ (LENGTH tl = SUC (SUC 0))))
rep
- sigdec_h_ISO_DEF
-
|- (!a. ABS_sigdec_h (REP_sigdec_h a) = a) /\
(!r.
TRP
(\v tl.
(?s. v = INL s) /\ (LENGTH tl = 0) \/
(v = INR (INL one)) /\ (LENGTH tl = 0) \/
(v = INR (INR one)) /\ (LENGTH tl = SUC (SUC 0)))
r =
REP_sigdec_h (ABS_sigdec_h r) =
r)
- SIGNATUREsigdec_h_DEF
-
|- !s. SIGNATUREsigdec_h s = ABS_sigdec_h (Node (INL s) [])
- EMPTYsigdec_h_DEF
-
|- EMPTYsigdec_h = ABS_sigdec_h (Node (INR (INL one)) [])
- SEQsigdec_h_DEF
-
|- !s1 s2.
SEQsigdec_h s1 s2 =
ABS_sigdec_h (Node (INR (INR one)) [REP_sigdec_h s1; REP_sigdec_h s2])
- joint_ty_funbind_h_funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_moddec_h_sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strbind_h_strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strexp_h_TY_DEF
-
|- ?rep.
TYPE_DEFINITION
(TRP
(\v tl.
(?f s0 s1. v = INL (f,s0,s1)) /\ (LENGTH tl = SUC (SUC (SUC 0))) \/
(?f l. v = INR (INL (f,l))) /\ (LENGTH tl = 0) \/
(v = INR (INR (INL one))) /\ (LENGTH tl = 0) \/
(v = INR (INR (INR (INL one)))) /\ (LENGTH tl = SUC 0) \/
(?d. v = INR (INR (INR (INR (INL d))))) /\ (LENGTH tl = 0) \/
(v = INR (INR (INR (INR (INR (INL one)))))) /\
(LENGTH tl = SUC 0) \/
(v = INR (INR (INR (INR (INR (INR (INL one))))))) /\
(LENGTH tl = SUC (SUC 0)) \/
(?n. v = INR (INR (INR (INR (INR (INR (INR (INL n)))))))) /\
(LENGTH tl = 0) \/
(v = INR (INR (INR (INR (INR (INR (INR (INR (INL one))))))))) /\
(LENGTH tl = 0) \/
(v =
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 (INL one))))))))))) /\
(LENGTH tl = SUC 0) \/
(v =
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 (INL s))))))))))))) /\
(LENGTH tl = 0) \/
(?s.
v =
INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR (INR (INR (INR (INR (INL s)))))))))))))) /\
(LENGTH tl = SUC (SUC (SUC 0))) \/
(v =
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 (INL one)))))))))))))))) /\
(LENGTH tl = SUC 0) \/
(v =
INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR (INR (INL one))))))))))))))))) /\
(LENGTH tl = SUC 0) \/
(?l.
v =
INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR (INL l)))))))))))))))))) /\
(LENGTH tl = 0) \/
(?l.
v =
INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INL l))))))))))))))))))) /\
(LENGTH tl = SUC 0) \/
(v =
INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR one))))))))))))))))))) /\
(LENGTH tl = SUC (SUC 0))))
rep
- joint_ty_funbind_h_funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_moddec_h_sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strbind_h_strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strexp_h_ISO_DEF
-
|- (!a.
ABS_joint_ty_funbind_h_funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_moddec_h_sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strbind_h_strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strexp_h
(REP_joint_ty_funbind_h_funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_moddec_h_sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strbind_h_strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strexp_h
a) =
a) /\
(!r.
TRP
(\v tl.
(?f s0 s1. v = INL (f,s0,s1)) /\ (LENGTH tl = SUC (SUC (SUC 0))) \/
(?f l. v = INR (INL (f,l))) /\ (LENGTH tl = 0) \/
(v = INR (INR (INL one))) /\ (LENGTH tl = 0) \/
(v = INR (INR (INR (INL one)))) /\ (LENGTH tl = SUC 0) \/
(?d. v = INR (INR (INR (INR (INL d))))) /\ (LENGTH tl = 0) \/
(v = INR (INR (INR (INR (INR (INL one)))))) /\ (LENGTH tl = SUC 0) \/
(v = INR (INR (INR (INR (INR (INR (INL one))))))) /\
(LENGTH tl = SUC (SUC 0)) \/
(?n. v = INR (INR (INR (INR (INR (INR (INR (INL n)))))))) /\
(LENGTH tl = 0) \/
(v = INR (INR (INR (INR (INR (INR (INR (INR (INL one))))))))) /\
(LENGTH tl = 0) \/
(v =
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 (INL one))))))))))) /\
(LENGTH tl = SUC 0) \/
(v =
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 (INL s))))))))))))) /\
(LENGTH tl = 0) \/
(?s.
v =
INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR (INR (INR (INR (INR (INR (INL s)))))))))))))) /\
(LENGTH tl = SUC (SUC (SUC 0))) \/
(v =
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 (INL one)))))))))))))))) /\
(LENGTH tl = SUC 0) \/
(v =
INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR (INR (INL one))))))))))))))))) /\
(LENGTH tl = SUC 0) \/
(?l.
v =
INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR (INR (INL l)))))))))))))))))) /\
(LENGTH tl = 0) \/
(?l.
v =
INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR (INL l))))))))))))))))))) /\
(LENGTH tl = SUC 0) \/
(v =
INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR one))))))))))))))))))) /\
(LENGTH tl = SUC (SUC 0)))
r =
REP_joint_ty_funbind_h_funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_moddec_h_sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strbind_h_strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strexp_h
(ABS_joint_ty_funbind_h_funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_moddec_h_sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strbind_h_strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strexp_h
r) =
r)
- JOINT_int_BINDfunbind_h_DEF
-
|- !f' s0 s1 j1 j2 j3.
JOINT_int_BINDfunbind_h f' s0 s1 j1 j2 j3 =
ABS_joint_ty_funbind_h_funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_moddec_h_sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strbind_h_strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strexp_h
(Node (INL (f',s0,s1))
[REP_joint_ty_funbind_h_funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_moddec_h_sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strbind_h_strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strexp_h
j1;
REP_joint_ty_funbind_h_funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_moddec_h_sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strbind_h_strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strexp_h
j2;
REP_joint_ty_funbind_h_funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_moddec_h_sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strbind_h_strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strexp_h
j3])
- JOINT_int_REBINDfunbind_h_DEF
-
|- !f' l.
JOINT_int_REBINDfunbind_h f' l =
ABS_joint_ty_funbind_h_funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_moddec_h_sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strbind_h_strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strexp_h
(Node (INR (INL (f',l))) [])
- JOINT_int_funbind_h_moddec_h_strbind_h_strexp_h_NONE_funbind_h_DEF
-
|- JOINT_int_funbind_h_moddec_h_strbind_h_strexp_h_NONE_funbind_h =
ABS_joint_ty_funbind_h_funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_moddec_h_sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strbind_h_strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strexp_h
(Node (INR (INR (INL one))) [])
- JOINT_int_funbind_h_moddec_h_strbind_h_strexp_h_SOME_funbind_h_DEF
-
|- !j.
JOINT_int_funbind_h_moddec_h_strbind_h_strexp_h_SOME_funbind_h j =
ABS_joint_ty_funbind_h_funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_moddec_h_sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strbind_h_strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strexp_h
(Node (INR (INR (INR (INL one))))
[REP_joint_ty_funbind_h_funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_moddec_h_sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strbind_h_strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strexp_h
j])
- JOINT_int_DECmoddec_h_DEF
-
|- !d.
JOINT_int_DECmoddec_h d =
ABS_joint_ty_funbind_h_funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_moddec_h_sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strbind_h_strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strexp_h
(Node (INR (INR (INR (INR (INL d))))) [])
- JOINT_int_STRUCTUREmoddec_h_DEF
-
|- !j.
JOINT_int_STRUCTUREmoddec_h j =
ABS_joint_ty_funbind_h_funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_moddec_h_sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strbind_h_strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strexp_h
(Node (INR (INR (INR (INR (INR (INL one))))))
[REP_joint_ty_funbind_h_funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_moddec_h_sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strbind_h_strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strexp_h
j])
- JOINT_int_LOCALmoddec_h_DEF
-
|- !j1 j2.
JOINT_int_LOCALmoddec_h j1 j2 =
ABS_joint_ty_funbind_h_funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_moddec_h_sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strbind_h_strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strexp_h
(Node (INR (INR (INR (INR (INR (INR (INL one)))))))
[REP_joint_ty_funbind_h_funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_moddec_h_sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strbind_h_strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strexp_h
j1;
REP_joint_ty_funbind_h_funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_moddec_h_sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strbind_h_strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strexp_h
j2])
- JOINT_int_OPENmoddec_h_DEF
-
|- !n.
JOINT_int_OPENmoddec_h n =
ABS_joint_ty_funbind_h_funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_moddec_h_sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strbind_h_strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strexp_h
(Node (INR (INR (INR (INR (INR (INR (INR (INL n)))))))) [])
- JOINT_int_EMPTYmoddec_h_DEF
-
|- JOINT_int_EMPTYmoddec_h =
ABS_joint_ty_funbind_h_funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_moddec_h_sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strbind_h_strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strexp_h
(Node (INR (INR (INR (INR (INR (INR (INR (INR (INL one))))))))) [])
- JOINT_int_SEQmoddec_h_DEF
-
|- !j1 j2.
JOINT_int_SEQmoddec_h j1 j2 =
ABS_joint_ty_funbind_h_funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_moddec_h_sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strbind_h_strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strexp_h
(Node (INR (INR (INR (INR (INR (INR (INR (INR (INR (INL one))))))))))
[REP_joint_ty_funbind_h_funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_moddec_h_sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strbind_h_strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strexp_h
j1;
REP_joint_ty_funbind_h_funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_moddec_h_sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strbind_h_strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strexp_h
j2])
- JOINT_int_FUNCTORmoddec_h_DEF
-
|- !j.
JOINT_int_FUNCTORmoddec_h j =
ABS_joint_ty_funbind_h_funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_moddec_h_sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strbind_h_strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strexp_h
(Node
(INR
(INR (INR (INR (INR (INR (INR (INR (INR (INR (INL one)))))))))))
[REP_joint_ty_funbind_h_funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_moddec_h_sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strbind_h_strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strexp_h
j])
- JOINT_int_funbind_h_moddec_h_strbind_h_strexp_h_NONE_sigexp_h_DEF
-
|- JOINT_int_funbind_h_moddec_h_strbind_h_strexp_h_NONE_sigexp_h =
ABS_joint_ty_funbind_h_funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_moddec_h_sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strbind_h_strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strexp_h
(Node
(INR
(INR
(INR (INR (INR (INR (INR (INR (INR (INR (INR (INL one))))))))))))
[])
- JOINT_int_funbind_h_moddec_h_strbind_h_strexp_h_SOME_sigexp_h_DEF
-
|- !s.
JOINT_int_funbind_h_moddec_h_strbind_h_strexp_h_SOME_sigexp_h s =
ABS_joint_ty_funbind_h_funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_moddec_h_sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strbind_h_strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strexp_h
(Node
(INR
(INR
(INR
(INR
(INR (INR (INR (INR (INR (INR (INR (INR (INL s)))))))))))))
[])
- JOINT_int_BINDstrbind_h_DEF
-
|- !s j1 j2 j3.
JOINT_int_BINDstrbind_h s j1 j2 j3 =
ABS_joint_ty_funbind_h_funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_moddec_h_sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strbind_h_strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strexp_h
(Node
(INR
(INR
(INR
(INR
(INR
(INR
(INR (INR (INR (INR (INR (INR (INR (INL s))))))))))))))
[REP_joint_ty_funbind_h_funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_moddec_h_sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strbind_h_strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strexp_h
j1;
REP_joint_ty_funbind_h_funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_moddec_h_sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strbind_h_strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strexp_h
j2;
REP_joint_ty_funbind_h_funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_moddec_h_sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strbind_h_strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strexp_h
j3])
- JOINT_int_funbind_h_moddec_h_strbind_h_strexp_h_NONE_strbind_h_DEF
-
|- JOINT_int_funbind_h_moddec_h_strbind_h_strexp_h_NONE_strbind_h =
ABS_joint_ty_funbind_h_funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_moddec_h_sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strbind_h_strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strexp_h
(Node
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR (INR (INR (INR (INR (INR (INL one)))))))))))))))
[])
- JOINT_int_funbind_h_moddec_h_strbind_h_strexp_h_SOME_strbind_h_DEF
-
|- !j.
JOINT_int_funbind_h_moddec_h_strbind_h_strexp_h_SOME_strbind_h j =
ABS_joint_ty_funbind_h_funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_moddec_h_sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strbind_h_strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strexp_h
(Node
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR (INR (INR (INR (INL one))))))))))))))))
[REP_joint_ty_funbind_h_funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_moddec_h_sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strbind_h_strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strexp_h
j])
- JOINT_int_STRUCTstrexp_h_DEF
-
|- !j.
JOINT_int_STRUCTstrexp_h j =
ABS_joint_ty_funbind_h_funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_moddec_h_sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strbind_h_strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strexp_h
(Node
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR (INR (INR (INL one)))))))))))))))))
[REP_joint_ty_funbind_h_funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_moddec_h_sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strbind_h_strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strexp_h
j])
- JOINT_int_LONGSTRIDstrexp_h_DEF
-
|- !l.
JOINT_int_LONGSTRIDstrexp_h l =
ABS_joint_ty_funbind_h_funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_moddec_h_sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strbind_h_strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strexp_h
(Node
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR (INR (INR (INL l))))))))))))))))))
[])
- JOINT_int_APPstrexp_h_DEF
-
|- !l' j.
JOINT_int_APPstrexp_h l' j =
ABS_joint_ty_funbind_h_funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_moddec_h_sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strbind_h_strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strexp_h
(Node
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR (INR (INL l')))))))))))))))))))
[REP_joint_ty_funbind_h_funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_moddec_h_sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strbind_h_strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strexp_h
j])
- JOINT_int_LETstrexp_h_DEF
-
|- !j1 j2.
JOINT_int_LETstrexp_h j1 j2 =
ABS_joint_ty_funbind_h_funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_moddec_h_sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strbind_h_strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strexp_h
(Node
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR (INR one)))))))))))))))))))
[REP_joint_ty_funbind_h_funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_moddec_h_sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strbind_h_strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strexp_h
j1;
REP_joint_ty_funbind_h_funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_moddec_h_sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strbind_h_strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strexp_h
j2])
- joint_ty_funbind_h_funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_moddec_h_sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strbind_h_strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strexp_h_select_DEF
-
|- (!f' s0 s1 j1 j2 j3.
joint_ty_funbind_h_funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_moddec_h_sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strbind_h_strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strexp_h_select
(JOINT_int_BINDfunbind_h f' s0 s1 j1 j2 j3) =
(((joint_ty_funbind_h_funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_moddec_h_sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strbind_h_strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strexp_h_select
j1 =
4) /\
(joint_ty_funbind_h_funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_moddec_h_sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strbind_h_strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strexp_h_select
j2 =
7) /\
(joint_ty_funbind_h_funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_moddec_h_sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strbind_h_strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strexp_h_select
j3 =
2))
=> 1
| 0)) /\
(!f' l.
joint_ty_funbind_h_funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_moddec_h_sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strbind_h_strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strexp_h_select
(JOINT_int_REBINDfunbind_h f' l) =
1) /\
(joint_ty_funbind_h_funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_moddec_h_sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strbind_h_strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strexp_h_select
JOINT_int_funbind_h_moddec_h_strbind_h_strexp_h_NONE_funbind_h =
2) /\
(!j.
joint_ty_funbind_h_funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_moddec_h_sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strbind_h_strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strexp_h_select
(JOINT_int_funbind_h_moddec_h_strbind_h_strexp_h_SOME_funbind_h j) =
((joint_ty_funbind_h_funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_moddec_h_sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strbind_h_strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strexp_h_select
j =
1)
=> 2
| 0)) /\
(!d.
joint_ty_funbind_h_funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_moddec_h_sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strbind_h_strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strexp_h_select
(JOINT_int_DECmoddec_h d) =
3) /\
(!j.
joint_ty_funbind_h_funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_moddec_h_sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strbind_h_strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strexp_h_select
(JOINT_int_STRUCTUREmoddec_h j) =
((joint_ty_funbind_h_funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_moddec_h_sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strbind_h_strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strexp_h_select
j =
5)
=> 3
| 0)) /\
(!j1 j2.
joint_ty_funbind_h_funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_moddec_h_sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strbind_h_strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strexp_h_select
(JOINT_int_LOCALmoddec_h j1 j2) =
(((joint_ty_funbind_h_funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_moddec_h_sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strbind_h_strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strexp_h_select
j1 =
3) /\
(joint_ty_funbind_h_funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_moddec_h_sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strbind_h_strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strexp_h_select
j2 =
3))
=> 3
| 0)) /\
(!n.
joint_ty_funbind_h_funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_moddec_h_sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strbind_h_strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strexp_h_select
(JOINT_int_OPENmoddec_h n) =
3) /\
(joint_ty_funbind_h_funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_moddec_h_sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strbind_h_strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strexp_h_select
JOINT_int_EMPTYmoddec_h =
3) /\
(!j1 j2.
joint_ty_funbind_h_funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_moddec_h_sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strbind_h_strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strexp_h_select
(JOINT_int_SEQmoddec_h j1 j2) =
(((joint_ty_funbind_h_funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_moddec_h_sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strbind_h_strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strexp_h_select
j1 =
3) /\
(joint_ty_funbind_h_funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_moddec_h_sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strbind_h_strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strexp_h_select
j2 =
3))
=> 3
| 0)) /\
(!j.
joint_ty_funbind_h_funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_moddec_h_sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strbind_h_strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strexp_h_select
(JOINT_int_FUNCTORmoddec_h j) =
((joint_ty_funbind_h_funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_moddec_h_sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strbind_h_strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strexp_h_select
j =
1)
=> 3
| 0)) /\
(joint_ty_funbind_h_funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_moddec_h_sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strbind_h_strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strexp_h_select
JOINT_int_funbind_h_moddec_h_strbind_h_strexp_h_NONE_sigexp_h =
4) /\
(!s.
joint_ty_funbind_h_funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_moddec_h_sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strbind_h_strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strexp_h_select
(JOINT_int_funbind_h_moddec_h_strbind_h_strexp_h_SOME_sigexp_h s) =
4) /\
(!s j1 j2 j3.
joint_ty_funbind_h_funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_moddec_h_sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strbind_h_strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strexp_h_select
(JOINT_int_BINDstrbind_h s j1 j2 j3) =
(((joint_ty_funbind_h_funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_moddec_h_sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strbind_h_strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strexp_h_select
j1 =
4) /\
(joint_ty_funbind_h_funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_moddec_h_sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strbind_h_strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strexp_h_select
j2 =
7) /\
(joint_ty_funbind_h_funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_moddec_h_sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strbind_h_strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strexp_h_select
j3 =
6))
=> 5
| 0)) /\
(joint_ty_funbind_h_funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_moddec_h_sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strbind_h_strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strexp_h_select
JOINT_int_funbind_h_moddec_h_strbind_h_strexp_h_NONE_strbind_h =
6) /\
(!j.
joint_ty_funbind_h_funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_moddec_h_sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strbind_h_strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strexp_h_select
(JOINT_int_funbind_h_moddec_h_strbind_h_strexp_h_SOME_strbind_h j) =
((joint_ty_funbind_h_funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_moddec_h_sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strbind_h_strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strexp_h_select
j =
5)
=> 6
| 0)) /\
(!j.
joint_ty_funbind_h_funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_moddec_h_sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strbind_h_strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strexp_h_select
(JOINT_int_STRUCTstrexp_h j) =
((joint_ty_funbind_h_funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_moddec_h_sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strbind_h_strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strexp_h_select
j =
3)
=> 7
| 0)) /\
(!l.
joint_ty_funbind_h_funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_moddec_h_sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strbind_h_strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strexp_h_select
(JOINT_int_LONGSTRIDstrexp_h l) =
7) /\
(!l' j.
joint_ty_funbind_h_funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_moddec_h_sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strbind_h_strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strexp_h_select
(JOINT_int_APPstrexp_h l' j) =
((joint_ty_funbind_h_funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_moddec_h_sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strbind_h_strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strexp_h_select
j =
7)
=> 7
| 0)) /\
(!j1 j2.
joint_ty_funbind_h_funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_moddec_h_sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strbind_h_strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strexp_h_select
(JOINT_int_LETstrexp_h j1 j2) =
(((joint_ty_funbind_h_funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_moddec_h_sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strbind_h_strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strexp_h_select
j1 =
3) /\
(joint_ty_funbind_h_funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_moddec_h_sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strbind_h_strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strexp_h_select
j2 =
7))
=> 7
| 0))
- strbind_h_TY_DEF
-
|- ?rep.
TYPE_DEFINITION
(\x.
joint_ty_funbind_h_funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_moddec_h_sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strbind_h_strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strexp_h_select
x =
5)
rep
- strbind_h_REP_ABS
-
|- (!a. strbind_h_abs (strbind_h_rep a) = a) /\
(!r.
(\x.
joint_ty_funbind_h_funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_moddec_h_sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strbind_h_strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strexp_h_select
x =
5)
r =
strbind_h_rep (strbind_h_abs r) =
r)
- strexp_h_TY_DEF
-
|- ?rep.
TYPE_DEFINITION
(\x.
joint_ty_funbind_h_funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_moddec_h_sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strbind_h_strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strexp_h_select
x =
7)
rep
- strexp_h_REP_ABS
-
|- (!a. strexp_h_abs (strexp_h_rep a) = a) /\
(!r.
(\x.
joint_ty_funbind_h_funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_moddec_h_sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strbind_h_strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strexp_h_select
x =
7)
r =
strexp_h_rep (strexp_h_abs r) =
r)
- strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_TY_DEF
-
|- ?rep.
TYPE_DEFINITION
(\x.
joint_ty_funbind_h_funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_moddec_h_sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strbind_h_strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strexp_h_select
x =
6)
rep
- strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_REP_ABS
-
|- (!a.
strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_abs
(strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_rep a) =
a) /\
(!r.
(\x.
joint_ty_funbind_h_funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_moddec_h_sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strbind_h_strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strexp_h_select
x =
6)
r =
strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_rep
(strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_abs r) =
r)
- sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h_TY_DEF
-
|- ?rep.
TYPE_DEFINITION
(\x.
joint_ty_funbind_h_funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_moddec_h_sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strbind_h_strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strexp_h_select
x =
4)
rep
- sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h_REP_ABS
-
|- (!a.
sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h_abs
(sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h_rep a) =
a) /\
(!r.
(\x.
joint_ty_funbind_h_funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_moddec_h_sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strbind_h_strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strexp_h_select
x =
4)
r =
sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h_rep
(sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h_abs r) =
r)
- moddec_h_TY_DEF
-
|- ?rep.
TYPE_DEFINITION
(\x.
joint_ty_funbind_h_funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_moddec_h_sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strbind_h_strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strexp_h_select
x =
3)
rep
- moddec_h_REP_ABS
-
|- (!a. moddec_h_abs (moddec_h_rep a) = a) /\
(!r.
(\x.
joint_ty_funbind_h_funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_moddec_h_sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strbind_h_strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strexp_h_select
x =
3)
r =
moddec_h_rep (moddec_h_abs r) =
r)
- funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_TY_DEF
-
|- ?rep.
TYPE_DEFINITION
(\x.
joint_ty_funbind_h_funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_moddec_h_sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strbind_h_strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strexp_h_select
x =
2)
rep
- funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_REP_ABS
-
|- (!a.
funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_abs
(funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_rep a) =
a) /\
(!r.
(\x.
joint_ty_funbind_h_funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_moddec_h_sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strbind_h_strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strexp_h_select
x =
2)
r =
funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_rep
(funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_abs r) =
r)
- funbind_h_TY_DEF
-
|- ?rep.
TYPE_DEFINITION
(\x.
joint_ty_funbind_h_funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_moddec_h_sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strbind_h_strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strexp_h_select
x =
1)
rep
- funbind_h_REP_ABS
-
|- (!a. funbind_h_abs (funbind_h_rep a) = a) /\
(!r.
(\x.
joint_ty_funbind_h_funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_moddec_h_sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strbind_h_strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_strexp_h_select
x =
1)
r =
funbind_h_rep (funbind_h_abs r) =
r)
- int_BINDfunbind_h_DEF
-
|- !x1 x2 x3 x4 x5 x6.
int_BINDfunbind_h x1 x2 x3 x4 x5 x6 =
funbind_h_abs
(JOINT_int_BINDfunbind_h x1 x2 x3
(sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h_rep x4)
(strexp_h_rep x5)
(funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_rep x6))
- int_REBINDfunbind_h_DEF
-
|- !x1 x2.
int_REBINDfunbind_h x1 x2 =
funbind_h_abs (JOINT_int_REBINDfunbind_h x1 x2)
- int_funbind_h_moddec_h_strbind_h_strexp_h_NONE_funbind_h_DEF
-
|- int_funbind_h_moddec_h_strbind_h_strexp_h_NONE_funbind_h =
funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_abs
JOINT_int_funbind_h_moddec_h_strbind_h_strexp_h_NONE_funbind_h
- int_funbind_h_moddec_h_strbind_h_strexp_h_SOME_funbind_h_DEF
-
|- !x1.
int_funbind_h_moddec_h_strbind_h_strexp_h_SOME_funbind_h x1 =
funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_abs
(JOINT_int_funbind_h_moddec_h_strbind_h_strexp_h_SOME_funbind_h
(funbind_h_rep x1))
- int_DECmoddec_h_DEF
-
|- !x1. int_DECmoddec_h x1 = moddec_h_abs (JOINT_int_DECmoddec_h x1)
- int_STRUCTUREmoddec_h_DEF
-
|- !x1.
int_STRUCTUREmoddec_h x1 =
moddec_h_abs (JOINT_int_STRUCTUREmoddec_h (strbind_h_rep x1))
- int_LOCALmoddec_h_DEF
-
|- !x1 x2.
int_LOCALmoddec_h x1 x2 =
moddec_h_abs
(JOINT_int_LOCALmoddec_h (moddec_h_rep x1) (moddec_h_rep x2))
- int_OPENmoddec_h_DEF
-
|- !x1. int_OPENmoddec_h x1 = moddec_h_abs (JOINT_int_OPENmoddec_h x1)
- int_EMPTYmoddec_h_DEF
-
|- int_EMPTYmoddec_h = moddec_h_abs JOINT_int_EMPTYmoddec_h
- int_SEQmoddec_h_DEF
-
|- !x1 x2.
int_SEQmoddec_h x1 x2 =
moddec_h_abs (JOINT_int_SEQmoddec_h (moddec_h_rep x1) (moddec_h_rep x2))
- int_FUNCTORmoddec_h_DEF
-
|- !x1.
int_FUNCTORmoddec_h x1 =
moddec_h_abs (JOINT_int_FUNCTORmoddec_h (funbind_h_rep x1))
- int_funbind_h_moddec_h_strbind_h_strexp_h_NONE_sigexp_h_DEF
-
|- int_funbind_h_moddec_h_strbind_h_strexp_h_NONE_sigexp_h =
sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h_abs
JOINT_int_funbind_h_moddec_h_strbind_h_strexp_h_NONE_sigexp_h
- int_funbind_h_moddec_h_strbind_h_strexp_h_SOME_sigexp_h_DEF
-
|- !x1.
int_funbind_h_moddec_h_strbind_h_strexp_h_SOME_sigexp_h x1 =
sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h_abs
(JOINT_int_funbind_h_moddec_h_strbind_h_strexp_h_SOME_sigexp_h x1)
- int_BINDstrbind_h_DEF
-
|- !x1 x2 x3 x4.
int_BINDstrbind_h x1 x2 x3 x4 =
strbind_h_abs
(JOINT_int_BINDstrbind_h x1
(sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h_rep x2)
(strexp_h_rep x3)
(strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_rep x4))
- int_funbind_h_moddec_h_strbind_h_strexp_h_NONE_strbind_h_DEF
-
|- int_funbind_h_moddec_h_strbind_h_strexp_h_NONE_strbind_h =
strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_abs
JOINT_int_funbind_h_moddec_h_strbind_h_strexp_h_NONE_strbind_h
- int_funbind_h_moddec_h_strbind_h_strexp_h_SOME_strbind_h_DEF
-
|- !x1.
int_funbind_h_moddec_h_strbind_h_strexp_h_SOME_strbind_h x1 =
strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h_abs
(JOINT_int_funbind_h_moddec_h_strbind_h_strexp_h_SOME_strbind_h
(strbind_h_rep x1))
- int_STRUCTstrexp_h_DEF
-
|- !x1.
int_STRUCTstrexp_h x1 =
strexp_h_abs (JOINT_int_STRUCTstrexp_h (moddec_h_rep x1))
- int_LONGSTRIDstrexp_h_DEF
-
|- !x1.
int_LONGSTRIDstrexp_h x1 = strexp_h_abs (JOINT_int_LONGSTRIDstrexp_h x1)
- int_APPstrexp_h_DEF
-
|- !x1 x2.
int_APPstrexp_h x1 x2 =
strexp_h_abs (JOINT_int_APPstrexp_h x1 (strexp_h_rep x2))
- int_LETstrexp_h_DEF
-
|- !x1 x2.
int_LETstrexp_h x1 x2 =
strexp_h_abs (JOINT_int_LETstrexp_h (moddec_h_rep x1) (strexp_h_rep x2))
- int_inj_funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h
-
|- (int_inj_funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h NONE =
int_funbind_h_moddec_h_strbind_h_strexp_h_NONE_funbind_h) /\
(!x0.
int_inj_funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h
(SOME x0) =
int_funbind_h_moddec_h_strbind_h_strexp_h_SOME_funbind_h x0)
- int_inv_funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h
-
|- (int_inv_funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h
int_funbind_h_moddec_h_strbind_h_strexp_h_NONE_funbind_h =
NONE) /\
(!x1.
int_inv_funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h
(int_funbind_h_moddec_h_strbind_h_strexp_h_SOME_funbind_h x1) =
SOME x1)
- DECmoddec_h
-
|- DECmoddec_h = (\x0. int_DECmoddec_h x0)
- STRUCTUREmoddec_h
-
|- STRUCTUREmoddec_h = (\x0. int_STRUCTUREmoddec_h x0)
- LOCALmoddec_h
-
|- LOCALmoddec_h = (\x0 x1. int_LOCALmoddec_h x0 x1)
- OPENmoddec_h
-
|- OPENmoddec_h = (\x0. int_OPENmoddec_h x0)
- EMPTYmoddec_h
-
|- EMPTYmoddec_h = int_EMPTYmoddec_h
- SEQmoddec_h
-
|- SEQmoddec_h = (\x0 x1. int_SEQmoddec_h x0 x1)
- FUNCTORmoddec_h
-
|- FUNCTORmoddec_h = (\x0. int_FUNCTORmoddec_h x0)
- int_inj_sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h
-
|- (int_inj_sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h NONE =
int_funbind_h_moddec_h_strbind_h_strexp_h_NONE_sigexp_h) /\
(!x0.
int_inj_sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h (SOME x0) =
int_funbind_h_moddec_h_strbind_h_strexp_h_SOME_sigexp_h x0)
- int_inv_sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h
-
|- (int_inv_sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h
int_funbind_h_moddec_h_strbind_h_strexp_h_NONE_sigexp_h =
NONE) /\
(!x1.
int_inv_sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h
(int_funbind_h_moddec_h_strbind_h_strexp_h_SOME_sigexp_h x1) =
SOME x1)
- BINDfunbind_h
-
|- BINDfunbind_h =
(\x0 x1 x2 x3 x4 x5.
int_BINDfunbind_h x0 x1 x2
(int_inj_sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h x3)
x4
(int_inj_funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h x5))
- REBINDfunbind_h
-
|- REBINDfunbind_h = (\x0 x1. int_REBINDfunbind_h x0 x1)
- int_inj_strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h
-
|- (int_inj_strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h NONE =
int_funbind_h_moddec_h_strbind_h_strexp_h_NONE_strbind_h) /\
(!x0.
int_inj_strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h
(SOME x0) =
int_funbind_h_moddec_h_strbind_h_strexp_h_SOME_strbind_h x0)
- int_inv_strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h
-
|- (int_inv_strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h
int_funbind_h_moddec_h_strbind_h_strexp_h_NONE_strbind_h =
NONE) /\
(!x1.
int_inv_strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h
(int_funbind_h_moddec_h_strbind_h_strexp_h_SOME_strbind_h x1) =
SOME x1)
- BINDstrbind_h
-
|- BINDstrbind_h =
(\x0 x1 x2 x3.
int_BINDstrbind_h x0
(int_inj_sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h x1)
x2
(int_inj_strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h x3))
- STRUCTstrexp_h
-
|- STRUCTstrexp_h = (\x0. int_STRUCTstrexp_h x0)
- LONGSTRIDstrexp_h
-
|- LONGSTRIDstrexp_h = (\x0. int_LONGSTRIDstrexp_h x0)
- APPstrexp_h
-
|- APPstrexp_h = (\x0 x1. int_APPstrexp_h x0 x1)
- LETstrexp_h
-
|- LETstrexp_h = (\x0 x1. int_LETstrexp_h x0 x1)
- dist_aux_ftn_funbind_h_DEF
-
|- (!x1 x2 x3 x4 x5 x6.
dist_aux_ftn_funbind_h (int_BINDfunbind_h x1 x2 x3 x4 x5 x6) = 0) /\
(!x1 x2. dist_aux_ftn_funbind_h (int_REBINDfunbind_h x1 x2) = 1) /\
(dist_aux_ftn_funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h
int_funbind_h_moddec_h_strbind_h_strexp_h_NONE_funbind_h =
2) /\
(!x1.
dist_aux_ftn_funbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h
(int_funbind_h_moddec_h_strbind_h_strexp_h_SOME_funbind_h x1) =
3) /\
(!x1. dist_aux_ftn_moddec_h (int_DECmoddec_h x1) = 4) /\
(!x1. dist_aux_ftn_moddec_h (int_STRUCTUREmoddec_h x1) = 5) /\
(!x1 x2. dist_aux_ftn_moddec_h (int_LOCALmoddec_h x1 x2) = 6) /\
(!x1. dist_aux_ftn_moddec_h (int_OPENmoddec_h x1) = 7) /\
(dist_aux_ftn_moddec_h int_EMPTYmoddec_h = 8) /\
(!x1 x2. dist_aux_ftn_moddec_h (int_SEQmoddec_h x1 x2) = 9) /\
(!x1. dist_aux_ftn_moddec_h (int_FUNCTORmoddec_h x1) = 10) /\
(dist_aux_ftn_sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h
int_funbind_h_moddec_h_strbind_h_strexp_h_NONE_sigexp_h =
11) /\
(!x1.
dist_aux_ftn_sigexp_h_option_funbind_h_moddec_h_strbind_h_strexp_h
(int_funbind_h_moddec_h_strbind_h_strexp_h_SOME_sigexp_h x1) =
12) /\
(!x1 x2 x3 x4.
dist_aux_ftn_strbind_h (int_BINDstrbind_h x1 x2 x3 x4) = 13) /\
(dist_aux_ftn_strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h
int_funbind_h_moddec_h_strbind_h_strexp_h_NONE_strbind_h =
14) /\
(!x1.
dist_aux_ftn_strbind_h_option_funbind_h_moddec_h_strbind_h_strexp_h
(int_funbind_h_moddec_h_strbind_h_strexp_h_SOME_strbind_h x1) =
15) /\
(!x1. dist_aux_ftn_strexp_h (int_STRUCTstrexp_h x1) = 16) /\
(!x1. dist_aux_ftn_strexp_h (int_LONGSTRIDstrexp_h x1) = 17) /\
(!x1 x2. dist_aux_ftn_strexp_h (int_APPstrexp_h x1 x2) = 18) /\
(!x1 x2. dist_aux_ftn_strexp_h (int_LETstrexp_h x1 x2) = 19)
- int_BINDfunbind_h_arg1_DEF
-
|- (!x1 x2 x3 x4 x5 x6.
int_BINDfunbind_h_arg1 (int_BINDfunbind_h x1 x2 x3 x4 x5 x6) = x1) /\
(!x1 x2. int_BINDfunbind_h_arg1 (int_REBINDfunbind_h x1 x2) = (@x. T))
- int_BINDfunbind_h_arg2_DEF
-
|- (!x1 x2 x3 x4 x5 x6.
int_BINDfunbind_h_arg2 (int_BINDfunbind_h x1 x2 x3 x4 x5 x6) = x2) /\
(!x1 x2. int_BINDfunbind_h_arg2 (int_REBINDfunbind_h x1 x2) = (@x. T))
- int_BINDfunbind_h_arg3_DEF
-
|- (!x1 x2 x3 x4 x5 x6.
int_BINDfunbind_h_arg3 (int_BINDfunbind_h x1 x2 x3 x4 x5 x6) = x3) /\
(!x1 x2. int_BINDfunbind_h_arg3 (int_REBINDfunbind_h x1 x2) = (@x. T))
- int_BINDfunbind_h_arg4_DEF
-
|- (!x1 x2 x3 x4 x5 x6.
int_BINDfunbind_h_arg4 (int_BINDfunbind_h x1 x2 x3 x4 x5 x6) = x4) /\
(!x1 x2. int_BINDfunbind_h_arg4 (int_REBINDfunbind_h x1 x2) = (@x. T))
- int_BINDfunbind_h_arg5_DEF
-
|- (!x1 x2 x3 x4 x5 x6.
int_BINDfunbind_h_arg5 (int_BINDfunbind_h x1 x2 x3 x4 x5 x6) = x5) /\
(!x1 x2. int_BINDfunbind_h_arg5 (int_REBINDfunbind_h x1 x2) = (@x. T))
- int_BINDfunbind_h_arg6_DEF
-
|- (!x1 x2 x3 x4 x5 x6.
int_BINDfunbind_h_arg6 (int_BINDfunbind_h x1 x2 x3 x4 x5 x6) = x6) /\
(!x1 x2. int_BINDfunbind_h_arg6 (int_REBINDfunbind_h x1 x2) = (@x. T))
- int_REBINDfunbind_h_arg1_DEF
-
|- (!x1 x2. int_REBINDfunbind_h_arg1 (int_REBINDfunbind_h x1 x2) = x1) /\
(!x1 x2 x3 x4 x5 x6.
int_REBINDfunbind_h_arg1 (int_BINDfunbind_h x1 x2 x3 x4 x5 x6) = (@x. T))
- int_REBINDfunbind_h_arg2_DEF
-
|- (!x1 x2. int_REBINDfunbind_h_arg2 (int_REBINDfunbind_h x1 x2) = x2) /\
(!x1 x2 x3 x4 x5 x6.
int_REBINDfunbind_h_arg2 (int_BINDfunbind_h x1 x2 x3 x4 x5 x6) = (@x. T))
- int_funbind_h_moddec_h_strbind_h_strexp_h_SOME_funbind_h_arg_DEF
-
|- (!x1.
int_funbind_h_moddec_h_strbind_h_strexp_h_SOME_funbind_h_arg
(int_funbind_h_moddec_h_strbind_h_strexp_h_SOME_funbind_h x1) =
x1) /\
(int_funbind_h_moddec_h_strbind_h_strexp_h_SOME_funbind_h_arg
int_funbind_h_moddec_h_strbind_h_strexp_h_NONE_funbind_h =
(@x. T))
- int_DECmoddec_h_arg_DEF
-
|- (!x1. int_DECmoddec_h_arg (int_DECmoddec_h x1) = x1) /\
(!x1. int_DECmoddec_h_arg (int_STRUCTUREmoddec_h x1) = (@x. T)) /\
(!x1 x2. int_DECmoddec_h_arg (int_LOCALmoddec_h x1 x2) = (@x. T)) /\
(!x1. int_DECmoddec_h_arg (int_OPENmoddec_h x1) = (@x. T)) /\
(int_DECmoddec_h_arg int_EMPTYmoddec_h = (@x. T)) /\
(!x1 x2. int_DECmoddec_h_arg (int_SEQmoddec_h x1 x2) = (@x. T)) /\
(!x1. int_DECmoddec_h_arg (int_FUNCTORmoddec_h x1) = (@x. T))
- int_STRUCTUREmoddec_h_arg_DEF
-
|- (!x1. int_STRUCTUREmoddec_h_arg (int_STRUCTUREmoddec_h x1) = x1) /\
(!x1. int_STRUCTUREmoddec_h_arg (int_DECmoddec_h x1) = (@x. T)) /\
(!x1 x2. int_STRUCTUREmoddec_h_arg (int_LOCALmoddec_h x1 x2) = (@x. T)) /\
(!x1. int_STRUCTUREmoddec_h_arg (int_OPENmoddec_h x1) = (@x. T)) /\
(int_STRUCTUREmoddec_h_arg int_EMPTYmoddec_h = (@x. T)) /\
(!x1 x2. int_STRUCTUREmoddec_h_arg (int_SEQmoddec_h x1 x2) = (@x. T)) /\
(!x1. int_STRUCTUREmoddec_h_arg (int_FUNCTORmoddec_h x1) = (@x. T))
- int_LOCALmoddec_h_arg1_DEF
-
|- (!x1 x2. int_LOCALmoddec_h_arg1 (int_LOCALmoddec_h x1 x2) = x1) /\
(!x1. int_LOCALmoddec_h_arg1 (int_DECmoddec_h x1) = (@x. T)) /\
(!x1. int_LOCALmoddec_h_arg1 (int_STRUCTUREmoddec_h x1) = (@x. T)) /\
(!x1. int_LOCALmoddec_h_arg1 (int_OPENmoddec_h x1) = (@x. T)) /\
(int_LOCALmoddec_h_arg1 int_EMPTYmoddec_h = (@x. T)) /\
(!x1 x2. int_LOCALmoddec_h_arg1 (int_SEQmoddec_h x1 x2) = (@x. T)) /\
(!x1. int_LOCALmoddec_h_arg1 (int_FUNCTORmoddec_h x1) = (@x. T))
- int_LOCALmoddec_h_arg2_DEF
-
|- (!x1 x2. int_LOCALmoddec_h_arg2 (int_LOCALmoddec_h x1 x2) = x2) /\
(!x1. int_LOCALmoddec_h_arg2 (int_DECmoddec_h x1) = (@x. T)) /\
(!x1. int_LOCALmoddec_h_arg2 (int_STRUCTUREmoddec_h x1) = (@x. T)) /\
(!x1. int_LOCALmoddec_h_arg2 (int_OPENmoddec_h x1) = (@x. T)) /\
(int_LOCALmoddec_h_arg2 int_EMPTYmoddec_h = (@x. T)) /\
(!x1 x2. int_LOCALmoddec_h_arg2 (int_SEQmoddec_h x1 x2) = (@x. T)) /\
(!x1. int_LOCALmoddec_h_arg2 (int_FUNCTORmoddec_h x1) = (@x. T))
- int_OPENmoddec_h_arg_DEF
-
|- (!x1. int_OPENmoddec_h_arg (int_OPENmoddec_h x1) = x1) /\
(!x1. int_OPENmoddec_h_arg (int_DECmoddec_h x1) = (@x. T)) /\
(!x1. int_OPENmoddec_h_arg (int_STRUCTUREmoddec_h x1) = (@x. T)) /\
(!x1 x2. int_OPENmoddec_h_arg (int_LOCALmoddec_h x1 x2) = (@x. T)) /\
(int_OPENmoddec_h_arg int_EMPTYmoddec_h = (@x. T)) /\
(!x1 x2. int_OPENmoddec_h_arg (int_SEQmoddec_h x1 x2) = (@x. T)) /\
(!x1. int_OPENmoddec_h_arg (int_FUNCTORmoddec_h x1) = (@x. T))
- int_SEQmoddec_h_arg1_DEF
-
|- (!x1 x2. int_SEQmoddec_h_arg1 (int_SEQmoddec_h x1 x2) = x1) /\
(!x1. int_SEQmoddec_h_arg1 (int_DECmoddec_h x1) = (@x. T)) /\
(!x1. int_SEQmoddec_h_arg1 (int_STRUCTUREmoddec_h x1) = (@x. T)) /\
(!x1 x2. int_SEQmoddec_h_arg1 (int_LOCALmoddec_h x1 x2) = (@x. T)) /\
(!x1. int_SEQmoddec_h_arg1 (int_OPENmoddec_h x1) = (@x. T)) /\
(int_SEQmoddec_h_arg1 int_EMPTYmoddec_h = (@x. T)) /\
(!x1. int_SEQmoddec_h_arg1 (int_FUNCTORmoddec_h x1) = (@x. T))
- int_SEQmoddec_h_arg2_DEF
-
|- (!x1 x2. int_SEQmoddec_h_arg2 (int_SEQmoddec_h x1 x2) = x2) /\
(!x1. int_SEQmoddec_h_arg2 (int_DECmoddec_h x1) = (@x. T)) /\
(!x1. int_SEQmoddec_h_arg2 (int_STRUCTUREmoddec_h x1) = (@x. T)) /\
(!x1 x2. int_SEQmoddec_h_arg2 (int_LOCALmoddec_h x1 x2) = (@x. T)) /\
(!x1. int_SEQmoddec_h_arg2 (int_OPENmoddec_h x1) = (@x. T)) /\
(int_SEQmoddec_h_arg2 int_EMPTYmoddec_h = (@x. T)) /\
(!x1. int_SEQmoddec_h_arg2 (int_FUNCTORmoddec_h x1) = (@x. T))
- int_FUNCTORmoddec_h_arg_DEF
-
|- (!x1. int_FUNCTORmoddec_h_arg (int_FUNCTORmoddec_h x1) = x1) /\
(!x1. int_FUNCTORmoddec_h_arg (int_DECmoddec_h x1) = (@x. T)) /\
(!x1. int_FUNCTORmoddec_h_arg (int_STRUCTUREmoddec_h x1) = (@x. T)) /\
(!x1 x2. int_FUNCTORmoddec_h_arg (int_LOCALmoddec_h x1 x2) = (@x. T)) /\
(!x1. int_FUNCTORmoddec_h_arg (int_OPENmoddec_h x1) = (@x. T)) /\
(int_FUNCTORmoddec_h_arg int_EMPTYmoddec_h = (@x. T)) /\
(!x1 x2. int_FUNCTORmoddec_h_arg (int_SEQmoddec_h x1 x2) = (@x. T))
- int_funbind_h_moddec_h_strbind_h_strexp_h_SOME_sigexp_h_arg_DEF
-
|- (!x1.
int_funbind_h_moddec_h_strbind_h_strexp_h_SOME_sigexp_h_arg
(int_funbind_h_moddec_h_strbind_h_strexp_h_SOME_sigexp_h x1) =
x1) /\
(int_funbind_h_moddec_h_strbind_h_strexp_h_SOME_sigexp_h_arg
int_funbind_h_moddec_h_strbind_h_strexp_h_NONE_sigexp_h =
(@x. T))
- int_BINDstrbind_h_arg1_DEF
-
|- !x1 x2 x3 x4. int_BINDstrbind_h_arg1 (int_BINDstrbind_h x1 x2 x3 x4) = x1
- int_BINDstrbind_h_arg2_DEF
-
|- !x1 x2 x3 x4. int_BINDstrbind_h_arg2 (int_BINDstrbind_h x1 x2 x3 x4) = x2
- int_BINDstrbind_h_arg3_DEF
-
|- !x1 x2 x3 x4. int_BINDstrbind_h_arg3 (int_BINDstrbind_h x1 x2 x3 x4) = x3
- int_BINDstrbind_h_arg4_DEF
-
|- !x1 x2 x3 x4. int_BINDstrbind_h_arg4 (int_BINDstrbind_h x1 x2 x3 x4) = x4
- int_funbind_h_moddec_h_strbind_h_strexp_h_SOME_strbind_h_arg_DEF
-
|- (!x1.
int_funbind_h_moddec_h_strbind_h_strexp_h_SOME_strbind_h_arg
(int_funbind_h_moddec_h_strbind_h_strexp_h_SOME_strbind_h x1) =
x1) /\
(int_funbind_h_moddec_h_strbind_h_strexp_h_SOME_strbind_h_arg
int_funbind_h_moddec_h_strbind_h_strexp_h_NONE_strbind_h =
(@x. T))
- int_STRUCTstrexp_h_arg_DEF
-
|- (!x1. int_STRUCTstrexp_h_arg (int_STRUCTstrexp_h x1) = x1) /\
(!x1. int_STRUCTstrexp_h_arg (int_LONGSTRIDstrexp_h x1) = (@x. T)) /\
(!x1 x2. int_STRUCTstrexp_h_arg (int_APPstrexp_h x1 x2) = (@x. T)) /\
(!x1 x2. int_STRUCTstrexp_h_arg (int_LETstrexp_h x1 x2) = (@x. T))
- int_LONGSTRIDstrexp_h_arg_DEF
-
|- (!x1. int_LONGSTRIDstrexp_h_arg (int_LONGSTRIDstrexp_h x1) = x1) /\
(!x1. int_LONGSTRIDstrexp_h_arg (int_STRUCTstrexp_h x1) = (@x. T)) /\
(!x1 x2. int_LONGSTRIDstrexp_h_arg (int_APPstrexp_h x1 x2) = (@x. T)) /\
(!x1 x2. int_LONGSTRIDstrexp_h_arg (int_LETstrexp_h x1 x2) = (@x. T))
- int_APPstrexp_h_arg1_DEF
-
|- (!x1 x2. int_APPstrexp_h_arg1 (int_APPstrexp_h x1 x2) = x1) /\
(!x1. int_APPstrexp_h_arg1 (int_STRUCTstrexp_h x1) = (@x. T)) /\
(!x1. int_APPstrexp_h_arg1 (int_LONGSTRIDstrexp_h x1) = (@x. T)) /\
(!x1 x2. int_APPstrexp_h_arg1 (int_LETstrexp_h x1 x2) = (@x. T))
- int_APPstrexp_h_arg2_DEF
-
|- (!x1 x2. int_APPstrexp_h_arg2 (int_APPstrexp_h x1 x2) = x2) /\
(!x1. int_APPstrexp_h_arg2 (int_STRUCTstrexp_h x1) = (@x. T)) /\
(!x1. int_APPstrexp_h_arg2 (int_LONGSTRIDstrexp_h x1) = (@x. T)) /\
(!x1 x2. int_APPstrexp_h_arg2 (int_LETstrexp_h x1 x2) = (@x. T))
- int_LETstrexp_h_arg1_DEF
-
|- (!x1 x2. int_LETstrexp_h_arg1 (int_LETstrexp_h x1 x2) = x1) /\
(!x1. int_LETstrexp_h_arg1 (int_STRUCTstrexp_h x1) = (@x. T)) /\
(!x1. int_LETstrexp_h_arg1 (int_LONGSTRIDstrexp_h x1) = (@x. T)) /\
(!x1 x2. int_LETstrexp_h_arg1 (int_APPstrexp_h x1 x2) = (@x. T))
- int_LETstrexp_h_arg2_DEF
-
|- (!x1 x2. int_LETstrexp_h_arg2 (int_LETstrexp_h x1 x2) = x2) /\
(!x1. int_LETstrexp_h_arg2 (int_STRUCTstrexp_h x1) = (@x. T)) /\
(!x1. int_LETstrexp_h_arg2 (int_LONGSTRIDstrexp_h x1) = (@x. T)) /\
(!x1 x2. int_LETstrexp_h_arg2 (int_APPstrexp_h x1 x2) = (@x. T))
- topdec_h_TY_DEF
-
|- ?rep.
TYPE_DEFINITION
(TRP
(\v tl.
(?m. v = INL m) /\ (LENGTH tl = 0) \/
(?s. v = INR s) /\ (LENGTH tl = 0)))
rep
- topdec_h_ISO_DEF
-
|- (!a. ABS_topdec_h (REP_topdec_h a) = a) /\
(!r.
TRP
(\v tl.
(?m. v = INL m) /\ (LENGTH tl = 0) \/
(?s. v = INR s) /\ (LENGTH tl = 0))
r =
REP_topdec_h (ABS_topdec_h r) =
r)
- MODDEC_H_DEF
-
|- !m. MODDEC_H m = ABS_topdec_h (Node (INL m) [])
- SIGDEC_H_DEF
-
|- !s. SIGDEC_H s = ABS_topdec_h (Node (INR s) [])
- joint_ty_funid_int_h_prod_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_funintenv_h_int_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_strintenv_h_TY_DEF
-
|- ?rep.
TYPE_DEFINITION
(TRP
(\v tl.
(?f. v = INL f) /\ (LENGTH tl = SUC 0) \/
(v = INR (INL one)) /\ (LENGTH tl = 0) \/
(v = INR (INR (INL one))) /\ (LENGTH tl = SUC (SUC 0)) \/
(v = INR (INR (INR (INL one)))) /\ (LENGTH tl = SUC 0) \/
(v = INR (INR (INR (INR (INL one))))) /\ (LENGTH tl = SUC 0) \/
(?s0 s1. v = INR (INR (INR (INR (INR (INL (s0,s1))))))) /\
(LENGTH tl = SUC (SUC 0)) \/
(?s. v = INR (INR (INR (INR (INR (INR (INL s))))))) /\
(LENGTH tl = SUC 0) \/
(v = INR (INR (INR (INR (INR (INR (INR (INL one)))))))) /\
(LENGTH tl = 0) \/
(v = 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 (INL one)))))))))) /\
(LENGTH tl = SUC 0) \/
(v =
INR (INR (INR (INR (INR (INR (INR (INR (INR (INR one)))))))))) /\
(LENGTH tl = SUC 0)))
rep
- joint_ty_funid_int_h_prod_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_funintenv_h_int_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_strintenv_h_ISO_DEF
-
|- (!a.
ABS_joint_ty_funid_int_h_prod_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_funintenv_h_int_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_strintenv_h
(REP_joint_ty_funid_int_h_prod_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_funintenv_h_int_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_strintenv_h
a) =
a) /\
(!r.
TRP
(\v tl.
(?f. v = INL f) /\ (LENGTH tl = SUC 0) \/
(v = INR (INL one)) /\ (LENGTH tl = 0) \/
(v = INR (INR (INL one))) /\ (LENGTH tl = SUC (SUC 0)) \/
(v = INR (INR (INR (INL one)))) /\ (LENGTH tl = SUC 0) \/
(v = INR (INR (INR (INR (INL one))))) /\ (LENGTH tl = SUC 0) \/
(?s0 s1. v = INR (INR (INR (INR (INR (INL (s0,s1))))))) /\
(LENGTH tl = SUC (SUC 0)) \/
(?s. v = INR (INR (INR (INR (INR (INR (INL s))))))) /\
(LENGTH tl = SUC 0) \/
(v = INR (INR (INR (INR (INR (INR (INR (INL one)))))))) /\
(LENGTH tl = 0) \/
(v = 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 (INL one)))))))))) /\
(LENGTH tl = SUC 0) \/
(v =
INR (INR (INR (INR (INR (INR (INR (INR (INR (INR one)))))))))) /\
(LENGTH tl = SUC 0))
r =
REP_joint_ty_funid_int_h_prod_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_funintenv_h_int_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_strintenv_h
(ABS_joint_ty_funid_int_h_prod_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_funintenv_h_int_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_strintenv_h
r) =
r)
- JOINT_int_funintenv_h_int_h_strintenv_h_ch44_funid_int_h_DEF
-
|- !f' j.
JOINT_int_funintenv_h_int_h_strintenv_h_ch44_funid_int_h f' j =
ABS_joint_ty_funid_int_h_prod_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_funintenv_h_int_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_strintenv_h
(Node (INL f')
[REP_joint_ty_funid_int_h_prod_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_funintenv_h_int_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_strintenv_h
j])
- JOINT_int_funintenv_h_int_h_strintenv_h_NIL_funid_int_h_prod_funintenv_h_int_h_strintenv_h_DEF
-
|- JOINT_int_funintenv_h_int_h_strintenv_h_NIL_funid_int_h_prod_funintenv_h_int_h_strintenv_h =
ABS_joint_ty_funid_int_h_prod_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_funintenv_h_int_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_strintenv_h
(Node (INR (INL one)) [])
- JOINT_int_funintenv_h_int_h_strintenv_h_CONS_funid_int_h_prod_funintenv_h_int_h_strintenv_h_DEF
-
|- !j1 j2.
JOINT_int_funintenv_h_int_h_strintenv_h_CONS_funid_int_h_prod_funintenv_h_int_h_strintenv_h
j1
j2 =
ABS_joint_ty_funid_int_h_prod_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_funintenv_h_int_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_strintenv_h
(Node (INR (INR (INL one)))
[REP_joint_ty_funid_int_h_prod_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_funintenv_h_int_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_strintenv_h
j1;
REP_joint_ty_funid_int_h_prod_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_funintenv_h_int_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_strintenv_h
j2])
- JOINT_int_funintenv_h_int_h_strintenv_h_FINMAP_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_DEF
-
|- !j.
JOINT_int_funintenv_h_int_h_strintenv_h_FINMAP_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h
j =
ABS_joint_ty_funid_int_h_prod_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_funintenv_h_int_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_strintenv_h
(Node (INR (INR (INR (INL one))))
[REP_joint_ty_funid_int_h_prod_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_funintenv_h_int_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_strintenv_h
j])
- JOINT_int_FUNINTENV_H_DEF
-
|- !j.
JOINT_int_FUNINTENV_H j =
ABS_joint_ty_funid_int_h_prod_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_funintenv_h_int_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_strintenv_h
(Node (INR (INR (INR (INR (INL one)))))
[REP_joint_ty_funid_int_h_prod_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_funintenv_h_int_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_strintenv_h
j])
- JOINT_int_INT_H_DEF
-
|- !j1 j2 s0 s1.
JOINT_int_INT_H j1 j2 s0 s1 =
ABS_joint_ty_funid_int_h_prod_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_funintenv_h_int_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_strintenv_h
(Node (INR (INR (INR (INR (INR (INL (s0,s1)))))))
[REP_joint_ty_funid_int_h_prod_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_funintenv_h_int_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_strintenv_h
j1;
REP_joint_ty_funid_int_h_prod_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_funintenv_h_int_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_strintenv_h
j2])
- JOINT_int_funintenv_h_int_h_strintenv_h_ch44_strid_int_h_DEF
-
|- !s j.
JOINT_int_funintenv_h_int_h_strintenv_h_ch44_strid_int_h s j =
ABS_joint_ty_funid_int_h_prod_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_funintenv_h_int_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_strintenv_h
(Node (INR (INR (INR (INR (INR (INR (INL s)))))))
[REP_joint_ty_funid_int_h_prod_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_funintenv_h_int_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_strintenv_h
j])
- JOINT_int_funintenv_h_int_h_strintenv_h_NIL_strid_int_h_prod_funintenv_h_int_h_strintenv_h_DEF
-
|- JOINT_int_funintenv_h_int_h_strintenv_h_NIL_strid_int_h_prod_funintenv_h_int_h_strintenv_h =
ABS_joint_ty_funid_int_h_prod_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_funintenv_h_int_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_strintenv_h
(Node (INR (INR (INR (INR (INR (INR (INR (INL one)))))))) [])
- JOINT_int_funintenv_h_int_h_strintenv_h_CONS_strid_int_h_prod_funintenv_h_int_h_strintenv_h_DEF
-
|- !j1 j2.
JOINT_int_funintenv_h_int_h_strintenv_h_CONS_strid_int_h_prod_funintenv_h_int_h_strintenv_h
j1
j2 =
ABS_joint_ty_funid_int_h_prod_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_funintenv_h_int_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_strintenv_h
(Node (INR (INR (INR (INR (INR (INR (INR (INR (INL one)))))))))
[REP_joint_ty_funid_int_h_prod_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_funintenv_h_int_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_strintenv_h
j1;
REP_joint_ty_funid_int_h_prod_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_funintenv_h_int_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_strintenv_h
j2])
- JOINT_int_funintenv_h_int_h_strintenv_h_FINMAP_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_DEF
-
|- !j.
JOINT_int_funintenv_h_int_h_strintenv_h_FINMAP_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h
j =
ABS_joint_ty_funid_int_h_prod_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_funintenv_h_int_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_strintenv_h
(Node (INR (INR (INR (INR (INR (INR (INR (INR (INR (INL one))))))))))
[REP_joint_ty_funid_int_h_prod_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_funintenv_h_int_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_strintenv_h
j])
- JOINT_int_STRINTENV_H_DEF
-
|- !j.
JOINT_int_STRINTENV_H j =
ABS_joint_ty_funid_int_h_prod_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_funintenv_h_int_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_strintenv_h
(Node (INR (INR (INR (INR (INR (INR (INR (INR (INR (INR one))))))))))
[REP_joint_ty_funid_int_h_prod_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_funintenv_h_int_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_strintenv_h
j])
- joint_ty_funid_int_h_prod_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_funintenv_h_int_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_strintenv_h_select_DEF
-
|- (!f' j.
joint_ty_funid_int_h_prod_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_funintenv_h_int_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_strintenv_h_select
(JOINT_int_funintenv_h_int_h_strintenv_h_ch44_funid_int_h f' j) =
((joint_ty_funid_int_h_prod_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_funintenv_h_int_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_strintenv_h_select
j =
5)
=> 1
| 0)) /\
(joint_ty_funid_int_h_prod_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_funintenv_h_int_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_strintenv_h_select
JOINT_int_funintenv_h_int_h_strintenv_h_NIL_funid_int_h_prod_funintenv_h_int_h_strintenv_h =
2) /\
(!j1 j2.
joint_ty_funid_int_h_prod_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_funintenv_h_int_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_strintenv_h_select
(JOINT_int_funintenv_h_int_h_strintenv_h_CONS_funid_int_h_prod_funintenv_h_int_h_strintenv_h
j1
j2) =
(((joint_ty_funid_int_h_prod_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_funintenv_h_int_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_strintenv_h_select
j1 =
1) /\
(joint_ty_funid_int_h_prod_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_funintenv_h_int_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_strintenv_h_select
j2 =
2))
=> 2
| 0)) /\
(!j.
joint_ty_funid_int_h_prod_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_funintenv_h_int_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_strintenv_h_select
(JOINT_int_funintenv_h_int_h_strintenv_h_FINMAP_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h
j) =
((joint_ty_funid_int_h_prod_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_funintenv_h_int_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_strintenv_h_select
j =
2)
=> 3
| 0)) /\
(!j.
joint_ty_funid_int_h_prod_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_funintenv_h_int_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_strintenv_h_select
(JOINT_int_FUNINTENV_H j) =
((joint_ty_funid_int_h_prod_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_funintenv_h_int_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_strintenv_h_select
j =
3)
=> 4
| 0)) /\
(!j1 j2 s0 s1.
joint_ty_funid_int_h_prod_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_funintenv_h_int_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_strintenv_h_select
(JOINT_int_INT_H j1 j2 s0 s1) =
(((joint_ty_funid_int_h_prod_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_funintenv_h_int_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_strintenv_h_select
j1 =
4) /\
(joint_ty_funid_int_h_prod_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_funintenv_h_int_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_strintenv_h_select
j2 =
9))
=> 5
| 0)) /\
(!s j.
joint_ty_funid_int_h_prod_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_funintenv_h_int_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_strintenv_h_select
(JOINT_int_funintenv_h_int_h_strintenv_h_ch44_strid_int_h s j) =
((joint_ty_funid_int_h_prod_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_funintenv_h_int_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_strintenv_h_select
j =
5)
=> 6
| 0)) /\
(joint_ty_funid_int_h_prod_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_funintenv_h_int_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_strintenv_h_select
JOINT_int_funintenv_h_int_h_strintenv_h_NIL_strid_int_h_prod_funintenv_h_int_h_strintenv_h =
7) /\
(!j1 j2.
joint_ty_funid_int_h_prod_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_funintenv_h_int_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_strintenv_h_select
(JOINT_int_funintenv_h_int_h_strintenv_h_CONS_strid_int_h_prod_funintenv_h_int_h_strintenv_h
j1
j2) =
(((joint_ty_funid_int_h_prod_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_funintenv_h_int_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_strintenv_h_select
j1 =
6) /\
(joint_ty_funid_int_h_prod_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_funintenv_h_int_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_strintenv_h_select
j2 =
7))
=> 7
| 0)) /\
(!j.
joint_ty_funid_int_h_prod_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_funintenv_h_int_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_strintenv_h_select
(JOINT_int_funintenv_h_int_h_strintenv_h_FINMAP_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h
j) =
((joint_ty_funid_int_h_prod_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_funintenv_h_int_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_strintenv_h_select
j =
7)
=> 8
| 0)) /\
(!j.
joint_ty_funid_int_h_prod_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_funintenv_h_int_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_strintenv_h_select
(JOINT_int_STRINTENV_H j) =
((joint_ty_funid_int_h_prod_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_funintenv_h_int_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_strintenv_h_select
j =
8)
=> 9
| 0))
- strid_int_h_prod_funintenv_h_int_h_strintenv_h_TY_DEF
-
|- ?rep.
TYPE_DEFINITION
(\x.
joint_ty_funid_int_h_prod_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_funintenv_h_int_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_strintenv_h_select
x =
6)
rep
- strid_int_h_prod_funintenv_h_int_h_strintenv_h_REP_ABS
-
|- (!a.
strid_int_h_prod_funintenv_h_int_h_strintenv_h_abs
(strid_int_h_prod_funintenv_h_int_h_strintenv_h_rep a) =
a) /\
(!r.
(\x.
joint_ty_funid_int_h_prod_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_funintenv_h_int_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_strintenv_h_select
x =
6)
r =
strid_int_h_prod_funintenv_h_int_h_strintenv_h_rep
(strid_int_h_prod_funintenv_h_int_h_strintenv_h_abs r) =
r)
- funid_int_h_prod_funintenv_h_int_h_strintenv_h_TY_DEF
-
|- ?rep.
TYPE_DEFINITION
(\x.
joint_ty_funid_int_h_prod_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_funintenv_h_int_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_strintenv_h_select
x =
1)
rep
- funid_int_h_prod_funintenv_h_int_h_strintenv_h_REP_ABS
-
|- (!a.
funid_int_h_prod_funintenv_h_int_h_strintenv_h_abs
(funid_int_h_prod_funintenv_h_int_h_strintenv_h_rep a) =
a) /\
(!r.
(\x.
joint_ty_funid_int_h_prod_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_funintenv_h_int_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_strintenv_h_select
x =
1)
r =
funid_int_h_prod_funintenv_h_int_h_strintenv_h_rep
(funid_int_h_prod_funintenv_h_int_h_strintenv_h_abs r) =
r)
- int_h_TY_DEF
-
|- ?rep.
TYPE_DEFINITION
(\x.
joint_ty_funid_int_h_prod_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_funintenv_h_int_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_strintenv_h_select
x =
5)
rep
- int_h_REP_ABS
-
|- (!a. int_h_abs (int_h_rep a) = a) /\
(!r.
(\x.
joint_ty_funid_int_h_prod_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_funintenv_h_int_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_strintenv_h_select
x =
5)
r =
int_h_rep (int_h_abs r) =
r)
- strintenv_h_TY_DEF
-
|- ?rep.
TYPE_DEFINITION
(\x.
joint_ty_funid_int_h_prod_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_funintenv_h_int_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_strintenv_h_select
x =
9)
rep
- strintenv_h_REP_ABS
-
|- (!a. strintenv_h_abs (strintenv_h_rep a) = a) /\
(!r.
(\x.
joint_ty_funid_int_h_prod_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_funintenv_h_int_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_strintenv_h_select
x =
9)
r =
strintenv_h_rep (strintenv_h_abs r) =
r)
- strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_TY_DEF
-
|- ?rep.
TYPE_DEFINITION
(\x.
joint_ty_funid_int_h_prod_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_funintenv_h_int_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_strintenv_h_select
x =
8)
rep
- strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_REP_ABS
-
|- (!a.
strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_abs
(strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_rep
a) =
a) /\
(!r.
(\x.
joint_ty_funid_int_h_prod_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_funintenv_h_int_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_strintenv_h_select
x =
8)
r =
strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_rep
(strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_abs
r) =
r)
- strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_TY_DEF
-
|- ?rep.
TYPE_DEFINITION
(\x.
joint_ty_funid_int_h_prod_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_funintenv_h_int_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_strintenv_h_select
x =
7)
rep
- strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_REP_ABS
-
|- (!a.
strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_abs
(strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_rep
a) =
a) /\
(!r.
(\x.
joint_ty_funid_int_h_prod_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_funintenv_h_int_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_strintenv_h_select
x =
7)
r =
strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_rep
(strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_abs
r) =
r)
- funintenv_h_TY_DEF
-
|- ?rep.
TYPE_DEFINITION
(\x.
joint_ty_funid_int_h_prod_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_funintenv_h_int_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_strintenv_h_select
x =
4)
rep
- funintenv_h_REP_ABS
-
|- (!a. funintenv_h_abs (funintenv_h_rep a) = a) /\
(!r.
(\x.
joint_ty_funid_int_h_prod_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_funintenv_h_int_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_strintenv_h_select
x =
4)
r =
funintenv_h_rep (funintenv_h_abs r) =
r)
- funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_TY_DEF
-
|- ?rep.
TYPE_DEFINITION
(\x.
joint_ty_funid_int_h_prod_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_funintenv_h_int_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_strintenv_h_select
x =
3)
rep
- funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_REP_ABS
-
|- (!a.
funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_abs
(funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_rep
a) =
a) /\
(!r.
(\x.
joint_ty_funid_int_h_prod_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_funintenv_h_int_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_strintenv_h_select
x =
3)
r =
funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_rep
(funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_abs
r) =
r)
- funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_TY_DEF
-
|- ?rep.
TYPE_DEFINITION
(\x.
joint_ty_funid_int_h_prod_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_funintenv_h_int_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_strintenv_h_select
x =
2)
rep
- funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_REP_ABS
-
|- (!a.
funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_abs
(funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_rep
a) =
a) /\
(!r.
(\x.
joint_ty_funid_int_h_prod_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_funintenv_h_int_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_strintenv_h_select
x =
2)
r =
funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_rep
(funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_abs
r) =
r)
- int_funintenv_h_int_h_strintenv_h_ch44_funid_int_h_DEF
-
|- !x1 x2.
int_funintenv_h_int_h_strintenv_h_ch44_funid_int_h x1 x2 =
funid_int_h_prod_funintenv_h_int_h_strintenv_h_abs
(JOINT_int_funintenv_h_int_h_strintenv_h_ch44_funid_int_h x1
(int_h_rep x2))
- int_funintenv_h_int_h_strintenv_h_NIL_funid_int_h_prod_funintenv_h_int_h_strintenv_h_DEF
-
|- int_funintenv_h_int_h_strintenv_h_NIL_funid_int_h_prod_funintenv_h_int_h_strintenv_h =
funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_abs
JOINT_int_funintenv_h_int_h_strintenv_h_NIL_funid_int_h_prod_funintenv_h_int_h_strintenv_h
- int_funintenv_h_int_h_strintenv_h_CONS_funid_int_h_prod_funintenv_h_int_h_strintenv_h_DEF
-
|- !x1 x2.
int_funintenv_h_int_h_strintenv_h_CONS_funid_int_h_prod_funintenv_h_int_h_strintenv_h
x1
x2 =
funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_abs
(JOINT_int_funintenv_h_int_h_strintenv_h_CONS_funid_int_h_prod_funintenv_h_int_h_strintenv_h
(funid_int_h_prod_funintenv_h_int_h_strintenv_h_rep x1)
(funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_rep
x2))
- int_funintenv_h_int_h_strintenv_h_FINMAP_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_DEF
-
|- !x1.
int_funintenv_h_int_h_strintenv_h_FINMAP_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h
x1 =
funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_abs
(JOINT_int_funintenv_h_int_h_strintenv_h_FINMAP_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h
(funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_rep
x1))
- int_FUNINTENV_H_DEF
-
|- !x1.
int_FUNINTENV_H x1 =
funintenv_h_abs
(JOINT_int_FUNINTENV_H
(funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_rep
x1))
- int_INT_H_DEF
-
|- !x1 x2 x3 x4.
int_INT_H x1 x2 x3 x4 =
int_h_abs
(JOINT_int_INT_H (funintenv_h_rep x1) (strintenv_h_rep x2) x3 x4)
- int_funintenv_h_int_h_strintenv_h_ch44_strid_int_h_DEF
-
|- !x1 x2.
int_funintenv_h_int_h_strintenv_h_ch44_strid_int_h x1 x2 =
strid_int_h_prod_funintenv_h_int_h_strintenv_h_abs
(JOINT_int_funintenv_h_int_h_strintenv_h_ch44_strid_int_h x1
(int_h_rep x2))
- int_funintenv_h_int_h_strintenv_h_NIL_strid_int_h_prod_funintenv_h_int_h_strintenv_h_DEF
-
|- int_funintenv_h_int_h_strintenv_h_NIL_strid_int_h_prod_funintenv_h_int_h_strintenv_h =
strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_abs
JOINT_int_funintenv_h_int_h_strintenv_h_NIL_strid_int_h_prod_funintenv_h_int_h_strintenv_h
- int_funintenv_h_int_h_strintenv_h_CONS_strid_int_h_prod_funintenv_h_int_h_strintenv_h_DEF
-
|- !x1 x2.
int_funintenv_h_int_h_strintenv_h_CONS_strid_int_h_prod_funintenv_h_int_h_strintenv_h
x1
x2 =
strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_abs
(JOINT_int_funintenv_h_int_h_strintenv_h_CONS_strid_int_h_prod_funintenv_h_int_h_strintenv_h
(strid_int_h_prod_funintenv_h_int_h_strintenv_h_rep x1)
(strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_rep
x2))
- int_funintenv_h_int_h_strintenv_h_FINMAP_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_DEF
-
|- !x1.
int_funintenv_h_int_h_strintenv_h_FINMAP_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h
x1 =
strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_abs
(JOINT_int_funintenv_h_int_h_strintenv_h_FINMAP_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h
(strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_rep
x1))
- int_STRINTENV_H_DEF
-
|- !x1.
int_STRINTENV_H x1 =
strintenv_h_abs
(JOINT_int_STRINTENV_H
(strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h_rep
x1))
- int_inj_funid_int_h_prod_funintenv_h_int_h_strintenv_h
-
|- !x1 x0.
int_inj_funid_int_h_prod_funintenv_h_int_h_strintenv_h (x0,x1) =
int_funintenv_h_int_h_strintenv_h_ch44_funid_int_h x0 x1
- int_inv_funid_int_h_prod_funintenv_h_int_h_strintenv_h
-
|- !x1 x2.
int_inv_funid_int_h_prod_funintenv_h_int_h_strintenv_h
(int_funintenv_h_int_h_strintenv_h_ch44_funid_int_h x1 x2) =
(x1,x2)
- int_inj_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h
-
|- (int_inj_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h
[] =
int_funintenv_h_int_h_strintenv_h_NIL_funid_int_h_prod_funintenv_h_int_h_strintenv_h) /\
(!x1 x0.
int_inj_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h
(CONS x0 x1) =
int_funintenv_h_int_h_strintenv_h_CONS_funid_int_h_prod_funintenv_h_int_h_strintenv_h
(int_inj_funid_int_h_prod_funintenv_h_int_h_strintenv_h x0)
(int_inj_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h
x1))
- int_inv_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h
-
|- (int_inv_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h
int_funintenv_h_int_h_strintenv_h_NIL_funid_int_h_prod_funintenv_h_int_h_strintenv_h =
[]) /\
(!x1 x2.
int_inv_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h
(int_funintenv_h_int_h_strintenv_h_CONS_funid_int_h_prod_funintenv_h_int_h_strintenv_h
x1
x2) =
CONS (int_inv_funid_int_h_prod_funintenv_h_int_h_strintenv_h x1)
(int_inv_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h
x2))
- int_inj_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h
-
|- !x0.
int_inj_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h
(FINMAP x0) =
int_funintenv_h_int_h_strintenv_h_FINMAP_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h
(int_inj_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h
x0)
- int_inv_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h
-
|- !x1.
int_inv_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h
(int_funintenv_h_int_h_strintenv_h_FINMAP_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h
x1) =
FINMAP
(int_inv_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h
x1)
- FUNINTENV_H
-
|- FUNINTENV_H =
(\x0.
int_FUNINTENV_H
(int_inj_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h
x0))
- INT_H
-
|- INT_H = (\x0 x1 x2 x3. int_INT_H x0 x1 x2 x3)
- int_inj_strid_int_h_prod_funintenv_h_int_h_strintenv_h
-
|- !x1 x0.
int_inj_strid_int_h_prod_funintenv_h_int_h_strintenv_h (x0,x1) =
int_funintenv_h_int_h_strintenv_h_ch44_strid_int_h x0 x1
- int_inv_strid_int_h_prod_funintenv_h_int_h_strintenv_h
-
|- !x1 x2.
int_inv_strid_int_h_prod_funintenv_h_int_h_strintenv_h
(int_funintenv_h_int_h_strintenv_h_ch44_strid_int_h x1 x2) =
(x1,x2)
- int_inj_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h
-
|- (int_inj_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h
[] =
int_funintenv_h_int_h_strintenv_h_NIL_strid_int_h_prod_funintenv_h_int_h_strintenv_h) /\
(!x1 x0.
int_inj_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h
(CONS x0 x1) =
int_funintenv_h_int_h_strintenv_h_CONS_strid_int_h_prod_funintenv_h_int_h_strintenv_h
(int_inj_strid_int_h_prod_funintenv_h_int_h_strintenv_h x0)
(int_inj_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h
x1))
- int_inv_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h
-
|- (int_inv_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h
int_funintenv_h_int_h_strintenv_h_NIL_strid_int_h_prod_funintenv_h_int_h_strintenv_h =
[]) /\
(!x1 x2.
int_inv_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h
(int_funintenv_h_int_h_strintenv_h_CONS_strid_int_h_prod_funintenv_h_int_h_strintenv_h
x1
x2) =
CONS (int_inv_strid_int_h_prod_funintenv_h_int_h_strintenv_h x1)
(int_inv_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h
x2))
- int_inj_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h
-
|- !x0.
int_inj_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h
(FINMAP x0) =
int_funintenv_h_int_h_strintenv_h_FINMAP_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h
(int_inj_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h
x0)
- int_inv_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h
-
|- !x1.
int_inv_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h
(int_funintenv_h_int_h_strintenv_h_FINMAP_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h
x1) =
FINMAP
(int_inv_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h
x1)
- STRINTENV_H
-
|- STRINTENV_H =
(\x0.
int_STRINTENV_H
(int_inj_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h
x0))
- dist_aux_ftn_funid_int_h_prod_funintenv_h_int_h_strintenv_h_DEF
-
|- (!x1 x2.
dist_aux_ftn_funid_int_h_prod_funintenv_h_int_h_strintenv_h
(int_funintenv_h_int_h_strintenv_h_ch44_funid_int_h x1 x2) =
0) /\
(dist_aux_ftn_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h
int_funintenv_h_int_h_strintenv_h_NIL_funid_int_h_prod_funintenv_h_int_h_strintenv_h =
1) /\
(!x1 x2.
dist_aux_ftn_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h
(int_funintenv_h_int_h_strintenv_h_CONS_funid_int_h_prod_funintenv_h_int_h_strintenv_h
x1
x2) =
2) /\
(!x1.
dist_aux_ftn_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h
(int_funintenv_h_int_h_strintenv_h_FINMAP_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h
x1) =
3) /\
(!x1. dist_aux_ftn_funintenv_h (int_FUNINTENV_H x1) = 4) /\
(!x1 x2 x3 x4. dist_aux_ftn_int_h (int_INT_H x1 x2 x3 x4) = 5) /\
(!x1 x2.
dist_aux_ftn_strid_int_h_prod_funintenv_h_int_h_strintenv_h
(int_funintenv_h_int_h_strintenv_h_ch44_strid_int_h x1 x2) =
6) /\
(dist_aux_ftn_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h
int_funintenv_h_int_h_strintenv_h_NIL_strid_int_h_prod_funintenv_h_int_h_strintenv_h =
7) /\
(!x1 x2.
dist_aux_ftn_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h
(int_funintenv_h_int_h_strintenv_h_CONS_strid_int_h_prod_funintenv_h_int_h_strintenv_h
x1
x2) =
8) /\
(!x1.
dist_aux_ftn_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_finmap_funintenv_h_int_h_strintenv_h
(int_funintenv_h_int_h_strintenv_h_FINMAP_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h
x1) =
9) /\
(!x1. dist_aux_ftn_strintenv_h (int_STRINTENV_H x1) = 10)
- int_funintenv_h_int_h_strintenv_h_ch44_funid_int_h_arg1_DEF
-
|- !x1 x2.
int_funintenv_h_int_h_strintenv_h_ch44_funid_int_h_arg1
(int_funintenv_h_int_h_strintenv_h_ch44_funid_int_h x1 x2) =
x1
- int_funintenv_h_int_h_strintenv_h_ch44_funid_int_h_arg2_DEF
-
|- !x1 x2.
int_funintenv_h_int_h_strintenv_h_ch44_funid_int_h_arg2
(int_funintenv_h_int_h_strintenv_h_ch44_funid_int_h x1 x2) =
x2
- int_funintenv_h_int_h_strintenv_h_CONS_funid_int_h_prod_funintenv_h_int_h_strintenv_h_arg1_DEF
-
|- (!x1 x2.
int_funintenv_h_int_h_strintenv_h_CONS_funid_int_h_prod_funintenv_h_int_h_strintenv_h_arg1
(int_funintenv_h_int_h_strintenv_h_CONS_funid_int_h_prod_funintenv_h_int_h_strintenv_h
x1
x2) =
x1) /\
(int_funintenv_h_int_h_strintenv_h_CONS_funid_int_h_prod_funintenv_h_int_h_strintenv_h_arg1
int_funintenv_h_int_h_strintenv_h_NIL_funid_int_h_prod_funintenv_h_int_h_strintenv_h =
(@x. T))
- int_funintenv_h_int_h_strintenv_h_CONS_funid_int_h_prod_funintenv_h_int_h_strintenv_h_arg2_DEF
-
|- (!x1 x2.
int_funintenv_h_int_h_strintenv_h_CONS_funid_int_h_prod_funintenv_h_int_h_strintenv_h_arg2
(int_funintenv_h_int_h_strintenv_h_CONS_funid_int_h_prod_funintenv_h_int_h_strintenv_h
x1
x2) =
x2) /\
(int_funintenv_h_int_h_strintenv_h_CONS_funid_int_h_prod_funintenv_h_int_h_strintenv_h_arg2
int_funintenv_h_int_h_strintenv_h_NIL_funid_int_h_prod_funintenv_h_int_h_strintenv_h =
(@x. T))
- int_funintenv_h_int_h_strintenv_h_FINMAP_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_arg_DEF
-
|- !x1.
int_funintenv_h_int_h_strintenv_h_FINMAP_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_arg
(int_funintenv_h_int_h_strintenv_h_FINMAP_funid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h
x1) =
x1
- int_FUNINTENV_H_arg_DEF
-
|- !x1. int_FUNINTENV_H_arg (int_FUNINTENV_H x1) = x1
- int_INT_H_arg1_DEF
-
|- !x1 x2 x3 x4. int_INT_H_arg1 (int_INT_H x1 x2 x3 x4) = x1
- int_INT_H_arg2_DEF
-
|- !x1 x2 x3 x4. int_INT_H_arg2 (int_INT_H x1 x2 x3 x4) = x2
- int_INT_H_arg3_DEF
-
|- !x1 x2 x3 x4. int_INT_H_arg3 (int_INT_H x1 x2 x3 x4) = x3
- int_INT_H_arg4_DEF
-
|- !x1 x2 x3 x4. int_INT_H_arg4 (int_INT_H x1 x2 x3 x4) = x4
- int_funintenv_h_int_h_strintenv_h_ch44_strid_int_h_arg1_DEF
-
|- !x1 x2.
int_funintenv_h_int_h_strintenv_h_ch44_strid_int_h_arg1
(int_funintenv_h_int_h_strintenv_h_ch44_strid_int_h x1 x2) =
x1
- int_funintenv_h_int_h_strintenv_h_ch44_strid_int_h_arg2_DEF
-
|- !x1 x2.
int_funintenv_h_int_h_strintenv_h_ch44_strid_int_h_arg2
(int_funintenv_h_int_h_strintenv_h_ch44_strid_int_h x1 x2) =
x2
- int_funintenv_h_int_h_strintenv_h_CONS_strid_int_h_prod_funintenv_h_int_h_strintenv_h_arg1_DEF
-
|- (!x1 x2.
int_funintenv_h_int_h_strintenv_h_CONS_strid_int_h_prod_funintenv_h_int_h_strintenv_h_arg1
(int_funintenv_h_int_h_strintenv_h_CONS_strid_int_h_prod_funintenv_h_int_h_strintenv_h
x1
x2) =
x1) /\
(int_funintenv_h_int_h_strintenv_h_CONS_strid_int_h_prod_funintenv_h_int_h_strintenv_h_arg1
int_funintenv_h_int_h_strintenv_h_NIL_strid_int_h_prod_funintenv_h_int_h_strintenv_h =
(@x. T))
- int_funintenv_h_int_h_strintenv_h_CONS_strid_int_h_prod_funintenv_h_int_h_strintenv_h_arg2_DEF
-
|- (!x1 x2.
int_funintenv_h_int_h_strintenv_h_CONS_strid_int_h_prod_funintenv_h_int_h_strintenv_h_arg2
(int_funintenv_h_int_h_strintenv_h_CONS_strid_int_h_prod_funintenv_h_int_h_strintenv_h
x1
x2) =
x2) /\
(int_funintenv_h_int_h_strintenv_h_CONS_strid_int_h_prod_funintenv_h_int_h_strintenv_h_arg2
int_funintenv_h_int_h_strintenv_h_NIL_strid_int_h_prod_funintenv_h_int_h_strintenv_h =
(@x. T))
- int_funintenv_h_int_h_strintenv_h_FINMAP_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_arg_DEF
-
|- !x1.
int_funintenv_h_int_h_strintenv_h_FINMAP_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h_arg
(int_funintenv_h_int_h_strintenv_h_FINMAP_strid_int_h_prod_funintenv_h_int_h_strintenv_h_list_funintenv_h_int_h_strintenv_h
x1) =
x1
- int_STRINTENV_H_arg_DEF
-
|- !x1. int_STRINTENV_H_arg (int_STRINTENV_H x1) = x1
- sigenv_h_TY_DEF
-
|- ?rep. TYPE_DEFINITION (TRP (\v tl. (?f. v = f) /\ (LENGTH tl = 0))) rep
- sigenv_h_ISO_DEF
-
|- (!a. ABS_sigenv_h (REP_sigenv_h a) = a) /\
(!r.
TRP (\v tl. (?f. v = f) /\ (LENGTH tl = 0)) r =
REP_sigenv_h (ABS_sigenv_h r) =
r)
- SIGENV_H_DEF
-
|- !f'. SIGENV_H f' = ABS_sigenv_h (Node f' [])
- intbasis_h_TY_DEF
-
|- ?rep.
TYPE_DEFINITION
(TRP (\v tl. (?s0 s1 f. v = (s0,s1,f)) /\ (LENGTH tl = 0)))
rep
- intbasis_h_ISO_DEF
-
|- (!a. ABS_intbasis_h (REP_intbasis_h a) = a) /\
(!r.
TRP (\v tl. (?s0 s1 f. v = (s0,s1,f)) /\ (LENGTH tl = 0)) r =
REP_intbasis_h (ABS_intbasis_h r) =
r)
- INTBASIS_H_DEF
-
|- !s0 s1 f'. INTBASIS_H s0 s1 f' = ABS_intbasis_h (Node (s0,s1,f') [])
- joint_ty_basis_h_env_h_funclos_h_funenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_int_h_option_basis_h_env_h_funclos_h_funenv_h_strenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_TY_DEF
-
|- ?rep.
TYPE_DEFINITION
(TRP
(\v tl.
(?s. v = INL s) /\ (LENGTH tl = SUC 0) \/
(?v e. v = INR (INL (v,e))) /\ (LENGTH tl = SUC (SUC 0)) \/
(?s0 i s1. v = INR (INR (INL (s0,i,s1)))) /\
(LENGTH tl = SUC (SUC 0)) \/
(v = INR (INR (INR (INL one)))) /\ (LENGTH tl = SUC 0) \/
(?f. v = INR (INR (INR (INR (INL f))))) /\ (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 = 0) \/
(?i.
v =
INR (INR (INR (INR (INR (INR (INR (INR (INR (INL i)))))))))) /\
(LENGTH tl = 0) \/
(v =
INR
(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 (INR (INL s)))))))))))) /\
(LENGTH tl = SUC 0) \/
(v =
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 (INL one)))))))))))))) /\
(LENGTH tl = SUC (SUC 0)) \/
(v =
INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR (INR (INR (INR (INR (INR one)))))))))))))) /\
(LENGTH tl = SUC 0)))
rep
- joint_ty_basis_h_env_h_funclos_h_funenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_int_h_option_basis_h_env_h_funclos_h_funenv_h_strenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_ISO_DEF
-
|- (!a.
ABS_joint_ty_basis_h_env_h_funclos_h_funenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_int_h_option_basis_h_env_h_funclos_h_funenv_h_strenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h
(REP_joint_ty_basis_h_env_h_funclos_h_funenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_int_h_option_basis_h_env_h_funclos_h_funenv_h_strenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h
a) =
a) /\
(!r.
TRP
(\v tl.
(?s. v = INL s) /\ (LENGTH tl = SUC 0) \/
(?v e. v = INR (INL (v,e))) /\ (LENGTH tl = SUC (SUC 0)) \/
(?s0 i s1. v = INR (INR (INL (s0,i,s1)))) /\
(LENGTH tl = SUC (SUC 0)) \/
(v = INR (INR (INR (INL one)))) /\ (LENGTH tl = SUC 0) \/
(?f. v = INR (INR (INR (INR (INL f))))) /\ (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 = 0) \/
(?i.
v = INR (INR (INR (INR (INR (INR (INR (INR (INR (INL i)))))))))) /\
(LENGTH tl = 0) \/
(v =
INR
(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 (INR (INL s)))))))))))) /\
(LENGTH tl = SUC 0) \/
(v =
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 (INL one)))))))))))))) /\
(LENGTH tl = SUC (SUC 0)) \/
(v =
INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR (INR (INR (INR (INR (INR one)))))))))))))) /\
(LENGTH tl = SUC 0))
r =
REP_joint_ty_basis_h_env_h_funclos_h_funenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_int_h_option_basis_h_env_h_funclos_h_funenv_h_strenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h
(ABS_joint_ty_basis_h_env_h_funclos_h_funenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_int_h_option_basis_h_env_h_funclos_h_funenv_h_strenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h
r) =
r)
- JOINT_int_BASIS_H_DEF
-
|- !s j.
JOINT_int_BASIS_H s j =
ABS_joint_ty_basis_h_env_h_funclos_h_funenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_int_h_option_basis_h_env_h_funclos_h_funenv_h_strenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h
(Node (INL s)
[REP_joint_ty_basis_h_env_h_funclos_h_funenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_int_h_option_basis_h_env_h_funclos_h_funenv_h_strenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h
j])
- JOINT_int_ENV_H_DEF
-
|- !j1 j2 v' e.
JOINT_int_ENV_H j1 j2 v' e =
ABS_joint_ty_basis_h_env_h_funclos_h_funenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_int_h_option_basis_h_env_h_funclos_h_funenv_h_strenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h
(Node (INR (INL (v',e)))
[REP_joint_ty_basis_h_env_h_funclos_h_funenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_int_h_option_basis_h_env_h_funclos_h_funenv_h_strenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h
j1;
REP_joint_ty_basis_h_env_h_funclos_h_funenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_int_h_option_basis_h_env_h_funclos_h_funenv_h_strenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h
j2])
- JOINT_int_FUNCLOS_H_DEF
-
|- !s0 i s1 j1 j2.
JOINT_int_FUNCLOS_H s0 i s1 j1 j2 =
ABS_joint_ty_basis_h_env_h_funclos_h_funenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_int_h_option_basis_h_env_h_funclos_h_funenv_h_strenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h
(Node (INR (INR (INL (s0,i,s1))))
[REP_joint_ty_basis_h_env_h_funclos_h_funenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_int_h_option_basis_h_env_h_funclos_h_funenv_h_strenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h
j1;
REP_joint_ty_basis_h_env_h_funclos_h_funenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_int_h_option_basis_h_env_h_funclos_h_funenv_h_strenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h
j2])
- JOINT_int_FUNENV_H_DEF
-
|- !j.
JOINT_int_FUNENV_H j =
ABS_joint_ty_basis_h_env_h_funclos_h_funenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_int_h_option_basis_h_env_h_funclos_h_funenv_h_strenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h
(Node (INR (INR (INR (INL one))))
[REP_joint_ty_basis_h_env_h_funclos_h_funenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_int_h_option_basis_h_env_h_funclos_h_funenv_h_strenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h
j])
- JOINT_int_basis_h_env_h_funclos_h_funenv_h_strenv_h_ch44_funid_funclos_h_DEF
-
|- !f' j.
JOINT_int_basis_h_env_h_funclos_h_funenv_h_strenv_h_ch44_funid_funclos_h
f'
j =
ABS_joint_ty_basis_h_env_h_funclos_h_funenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_int_h_option_basis_h_env_h_funclos_h_funenv_h_strenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h
(Node (INR (INR (INR (INR (INL f')))))
[REP_joint_ty_basis_h_env_h_funclos_h_funenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_int_h_option_basis_h_env_h_funclos_h_funenv_h_strenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h
j])
- JOINT_int_basis_h_env_h_funclos_h_funenv_h_strenv_h_NIL_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_DEF
-
|- JOINT_int_basis_h_env_h_funclos_h_funenv_h_strenv_h_NIL_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h =
ABS_joint_ty_basis_h_env_h_funclos_h_funenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_int_h_option_basis_h_env_h_funclos_h_funenv_h_strenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h
(Node (INR (INR (INR (INR (INR (INL one)))))) [])
- JOINT_int_basis_h_env_h_funclos_h_funenv_h_strenv_h_CONS_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_DEF
-
|- !j1 j2.
JOINT_int_basis_h_env_h_funclos_h_funenv_h_strenv_h_CONS_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h
j1
j2 =
ABS_joint_ty_basis_h_env_h_funclos_h_funenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_int_h_option_basis_h_env_h_funclos_h_funenv_h_strenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h
(Node (INR (INR (INR (INR (INR (INR (INL one)))))))
[REP_joint_ty_basis_h_env_h_funclos_h_funenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_int_h_option_basis_h_env_h_funclos_h_funenv_h_strenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h
j1;
REP_joint_ty_basis_h_env_h_funclos_h_funenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_int_h_option_basis_h_env_h_funclos_h_funenv_h_strenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h
j2])
- JOINT_int_basis_h_env_h_funclos_h_funenv_h_strenv_h_FINMAP_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_DEF
-
|- !j.
JOINT_int_basis_h_env_h_funclos_h_funenv_h_strenv_h_FINMAP_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h
j =
ABS_joint_ty_basis_h_env_h_funclos_h_funenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_int_h_option_basis_h_env_h_funclos_h_funenv_h_strenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h
(Node (INR (INR (INR (INR (INR (INR (INR (INL one))))))))
[REP_joint_ty_basis_h_env_h_funclos_h_funenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_int_h_option_basis_h_env_h_funclos_h_funenv_h_strenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h
j])
- JOINT_int_basis_h_env_h_funclos_h_funenv_h_strenv_h_NONE_int_h_DEF
-
|- JOINT_int_basis_h_env_h_funclos_h_funenv_h_strenv_h_NONE_int_h =
ABS_joint_ty_basis_h_env_h_funclos_h_funenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_int_h_option_basis_h_env_h_funclos_h_funenv_h_strenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h
(Node (INR (INR (INR (INR (INR (INR (INR (INR (INL one))))))))) [])
- JOINT_int_basis_h_env_h_funclos_h_funenv_h_strenv_h_SOME_int_h_DEF
-
|- !i.
JOINT_int_basis_h_env_h_funclos_h_funenv_h_strenv_h_SOME_int_h i =
ABS_joint_ty_basis_h_env_h_funclos_h_funenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_int_h_option_basis_h_env_h_funclos_h_funenv_h_strenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h
(Node (INR (INR (INR (INR (INR (INR (INR (INR (INR (INL i)))))))))) [])
- JOINT_int_STRENV_H_DEF
-
|- !j.
JOINT_int_STRENV_H j =
ABS_joint_ty_basis_h_env_h_funclos_h_funenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_int_h_option_basis_h_env_h_funclos_h_funenv_h_strenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h
(Node
(INR
(INR (INR (INR (INR (INR (INR (INR (INR (INR (INL one)))))))))))
[REP_joint_ty_basis_h_env_h_funclos_h_funenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_int_h_option_basis_h_env_h_funclos_h_funenv_h_strenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h
j])
- JOINT_int_basis_h_env_h_funclos_h_funenv_h_strenv_h_ch44_strid_env_h_DEF
-
|- !s j.
JOINT_int_basis_h_env_h_funclos_h_funenv_h_strenv_h_ch44_strid_env_h s
j =
ABS_joint_ty_basis_h_env_h_funclos_h_funenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_int_h_option_basis_h_env_h_funclos_h_funenv_h_strenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h
(Node
(INR
(INR
(INR (INR (INR (INR (INR (INR (INR (INR (INR (INL s))))))))))))
[REP_joint_ty_basis_h_env_h_funclos_h_funenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_int_h_option_basis_h_env_h_funclos_h_funenv_h_strenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h
j])
- JOINT_int_basis_h_env_h_funclos_h_funenv_h_strenv_h_NIL_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_DEF
-
|- JOINT_int_basis_h_env_h_funclos_h_funenv_h_strenv_h_NIL_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h =
ABS_joint_ty_basis_h_env_h_funclos_h_funenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_int_h_option_basis_h_env_h_funclos_h_funenv_h_strenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h
(Node
(INR
(INR
(INR
(INR
(INR (INR (INR (INR (INR (INR (INR (INR (INL one)))))))))))))
[])
- JOINT_int_basis_h_env_h_funclos_h_funenv_h_strenv_h_CONS_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_DEF
-
|- !j1 j2.
JOINT_int_basis_h_env_h_funclos_h_funenv_h_strenv_h_CONS_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h
j1
j2 =
ABS_joint_ty_basis_h_env_h_funclos_h_funenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_int_h_option_basis_h_env_h_funclos_h_funenv_h_strenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h
(Node
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR (INR (INR (INR (INR (INR (INL one))))))))))))))
[REP_joint_ty_basis_h_env_h_funclos_h_funenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_int_h_option_basis_h_env_h_funclos_h_funenv_h_strenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h
j1;
REP_joint_ty_basis_h_env_h_funclos_h_funenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_int_h_option_basis_h_env_h_funclos_h_funenv_h_strenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h
j2])
- JOINT_int_basis_h_env_h_funclos_h_funenv_h_strenv_h_FINMAP_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_DEF
-
|- !j.
JOINT_int_basis_h_env_h_funclos_h_funenv_h_strenv_h_FINMAP_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h
j =
ABS_joint_ty_basis_h_env_h_funclos_h_funenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_int_h_option_basis_h_env_h_funclos_h_funenv_h_strenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h
(Node
(INR
(INR
(INR
(INR
(INR
(INR
(INR
(INR (INR (INR (INR (INR (INR (INR one))))))))))))))
[REP_joint_ty_basis_h_env_h_funclos_h_funenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_int_h_option_basis_h_env_h_funclos_h_funenv_h_strenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h
j])
- joint_ty_basis_h_env_h_funclos_h_funenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_int_h_option_basis_h_env_h_funclos_h_funenv_h_strenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_select_DEF
-
|- (!s j.
joint_ty_basis_h_env_h_funclos_h_funenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_int_h_option_basis_h_env_h_funclos_h_funenv_h_strenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_select
(JOINT_int_BASIS_H s j) =
((joint_ty_basis_h_env_h_funclos_h_funenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_int_h_option_basis_h_env_h_funclos_h_funenv_h_strenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_select
j =
2)
=> 1
| 0)) /\
(!j1 j2 v' e.
joint_ty_basis_h_env_h_funclos_h_funenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_int_h_option_basis_h_env_h_funclos_h_funenv_h_strenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_select
(JOINT_int_ENV_H j1 j2 v' e) =
(((joint_ty_basis_h_env_h_funclos_h_funenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_int_h_option_basis_h_env_h_funclos_h_funenv_h_strenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_select
j1 =
4) /\
(joint_ty_basis_h_env_h_funclos_h_funenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_int_h_option_basis_h_env_h_funclos_h_funenv_h_strenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_select
j2 =
9))
=> 2
| 0)) /\
(!s0 i s1 j1 j2.
joint_ty_basis_h_env_h_funclos_h_funenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_int_h_option_basis_h_env_h_funclos_h_funenv_h_strenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_select
(JOINT_int_FUNCLOS_H s0 i s1 j1 j2) =
(((joint_ty_basis_h_env_h_funclos_h_funenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_int_h_option_basis_h_env_h_funclos_h_funenv_h_strenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_select
j1 =
8) /\
(joint_ty_basis_h_env_h_funclos_h_funenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_int_h_option_basis_h_env_h_funclos_h_funenv_h_strenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_select
j2 =
1))
=> 3
| 0)) /\
(!j.
joint_ty_basis_h_env_h_funclos_h_funenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_int_h_option_basis_h_env_h_funclos_h_funenv_h_strenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_select
(JOINT_int_FUNENV_H j) =
((joint_ty_basis_h_env_h_funclos_h_funenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_int_h_option_basis_h_env_h_funclos_h_funenv_h_strenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_select
j =
7)
=> 4
| 0)) /\
(!f' j.
joint_ty_basis_h_env_h_funclos_h_funenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_int_h_option_basis_h_env_h_funclos_h_funenv_h_strenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_select
(JOINT_int_basis_h_env_h_funclos_h_funenv_h_strenv_h_ch44_funid_funclos_h
f'
j) =
((joint_ty_basis_h_env_h_funclos_h_funenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_int_h_option_basis_h_env_h_funclos_h_funenv_h_strenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_select
j =
3)
=> 5
| 0)) /\
(joint_ty_basis_h_env_h_funclos_h_funenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_int_h_option_basis_h_env_h_funclos_h_funenv_h_strenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_select
JOINT_int_basis_h_env_h_funclos_h_funenv_h_strenv_h_NIL_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h =
6) /\
(!j1 j2.
joint_ty_basis_h_env_h_funclos_h_funenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_int_h_option_basis_h_env_h_funclos_h_funenv_h_strenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_select
(JOINT_int_basis_h_env_h_funclos_h_funenv_h_strenv_h_CONS_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h
j1
j2) =
(((joint_ty_basis_h_env_h_funclos_h_funenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_int_h_option_basis_h_env_h_funclos_h_funenv_h_strenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_select
j1 =
5) /\
(joint_ty_basis_h_env_h_funclos_h_funenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_int_h_option_basis_h_env_h_funclos_h_funenv_h_strenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_select
j2 =
6))
=> 6
| 0)) /\
(!j.
joint_ty_basis_h_env_h_funclos_h_funenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_int_h_option_basis_h_env_h_funclos_h_funenv_h_strenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_select
(JOINT_int_basis_h_env_h_funclos_h_funenv_h_strenv_h_FINMAP_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h
j) =
((joint_ty_basis_h_env_h_funclos_h_funenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_int_h_option_basis_h_env_h_funclos_h_funenv_h_strenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_select
j =
6)
=> 7
| 0)) /\
(joint_ty_basis_h_env_h_funclos_h_funenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_int_h_option_basis_h_env_h_funclos_h_funenv_h_strenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_select
JOINT_int_basis_h_env_h_funclos_h_funenv_h_strenv_h_NONE_int_h =
8) /\
(!i.
joint_ty_basis_h_env_h_funclos_h_funenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_int_h_option_basis_h_env_h_funclos_h_funenv_h_strenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_select
(JOINT_int_basis_h_env_h_funclos_h_funenv_h_strenv_h_SOME_int_h i) =
8) /\
(!j.
joint_ty_basis_h_env_h_funclos_h_funenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_int_h_option_basis_h_env_h_funclos_h_funenv_h_strenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_select
(JOINT_int_STRENV_H j) =
((joint_ty_basis_h_env_h_funclos_h_funenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_int_h_option_basis_h_env_h_funclos_h_funenv_h_strenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_select
j =
12)
=> 9
| 0)) /\
(!s j.
joint_ty_basis_h_env_h_funclos_h_funenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_int_h_option_basis_h_env_h_funclos_h_funenv_h_strenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_select
(JOINT_int_basis_h_env_h_funclos_h_funenv_h_strenv_h_ch44_strid_env_h s
j) =
((joint_ty_basis_h_env_h_funclos_h_funenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_int_h_option_basis_h_env_h_funclos_h_funenv_h_strenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_select
j =
2)
=> 10
| 0)) /\
(joint_ty_basis_h_env_h_funclos_h_funenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_int_h_option_basis_h_env_h_funclos_h_funenv_h_strenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_select
JOINT_int_basis_h_env_h_funclos_h_funenv_h_strenv_h_NIL_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h =
11) /\
(!j1 j2.
joint_ty_basis_h_env_h_funclos_h_funenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_int_h_option_basis_h_env_h_funclos_h_funenv_h_strenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_select
(JOINT_int_basis_h_env_h_funclos_h_funenv_h_strenv_h_CONS_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h
j1
j2) =
(((joint_ty_basis_h_env_h_funclos_h_funenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_int_h_option_basis_h_env_h_funclos_h_funenv_h_strenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_select
j1 =
10) /\
(joint_ty_basis_h_env_h_funclos_h_funenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_int_h_option_basis_h_env_h_funclos_h_funenv_h_strenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_select
j2 =
11))
=> 11
| 0)) /\
(!j.
joint_ty_basis_h_env_h_funclos_h_funenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_int_h_option_basis_h_env_h_funclos_h_funenv_h_strenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_select
(JOINT_int_basis_h_env_h_funclos_h_funenv_h_strenv_h_FINMAP_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h
j) =
((joint_ty_basis_h_env_h_funclos_h_funenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_int_h_option_basis_h_env_h_funclos_h_funenv_h_strenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_select
j =
11)
=> 12
| 0))
- strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_TY_DEF
-
|- ?rep.
TYPE_DEFINITION
(\x.
joint_ty_basis_h_env_h_funclos_h_funenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_int_h_option_basis_h_env_h_funclos_h_funenv_h_strenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_select
x =
10)
rep
- strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_REP_ABS
-
|- (!a.
strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_abs
(strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_rep a) =
a) /\
(!r.
(\x.
joint_ty_basis_h_env_h_funclos_h_funenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_int_h_option_basis_h_env_h_funclos_h_funenv_h_strenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_select
x =
10)
r =
strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_rep
(strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_abs r) =
r)
- funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_TY_DEF
-
|- ?rep.
TYPE_DEFINITION
(\x.
joint_ty_basis_h_env_h_funclos_h_funenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_int_h_option_basis_h_env_h_funclos_h_funenv_h_strenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_select
x =
5)
rep
- funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_REP_ABS
-
|- (!a.
funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_abs
(funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_rep
a) =
a) /\
(!r.
(\x.
joint_ty_basis_h_env_h_funclos_h_funenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_int_h_option_basis_h_env_h_funclos_h_funenv_h_strenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_select
x =
5)
r =
funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_rep
(funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_abs
r) =
r)
- funclos_h_TY_DEF
-
|- ?rep.
TYPE_DEFINITION
(\x.
joint_ty_basis_h_env_h_funclos_h_funenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_int_h_option_basis_h_env_h_funclos_h_funenv_h_strenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_select
x =
3)
rep
- funclos_h_REP_ABS
-
|- (!a. funclos_h_abs (funclos_h_rep a) = a) /\
(!r.
(\x.
joint_ty_basis_h_env_h_funclos_h_funenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_int_h_option_basis_h_env_h_funclos_h_funenv_h_strenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_select
x =
3)
r =
funclos_h_rep (funclos_h_abs r) =
r)
- basis_h_TY_DEF
-
|- ?rep.
TYPE_DEFINITION
(\x.
joint_ty_basis_h_env_h_funclos_h_funenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_int_h_option_basis_h_env_h_funclos_h_funenv_h_strenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_select
x =
1)
rep
- basis_h_REP_ABS
-
|- (!a. basis_h_abs (basis_h_rep a) = a) /\
(!r.
(\x.
joint_ty_basis_h_env_h_funclos_h_funenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_int_h_option_basis_h_env_h_funclos_h_funenv_h_strenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_select
x =
1)
r =
basis_h_rep (basis_h_abs r) =
r)
- env_h_TY_DEF
-
|- ?rep.
TYPE_DEFINITION
(\x.
joint_ty_basis_h_env_h_funclos_h_funenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_int_h_option_basis_h_env_h_funclos_h_funenv_h_strenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_select
x =
2)
rep
- env_h_REP_ABS
-
|- (!a. env_h_abs (env_h_rep a) = a) /\
(!r.
(\x.
joint_ty_basis_h_env_h_funclos_h_funenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_int_h_option_basis_h_env_h_funclos_h_funenv_h_strenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_select
x =
2)
r =
env_h_rep (env_h_abs r) =
r)
- funenv_h_TY_DEF
-
|- ?rep.
TYPE_DEFINITION
(\x.
joint_ty_basis_h_env_h_funclos_h_funenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_int_h_option_basis_h_env_h_funclos_h_funenv_h_strenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_select
x =
4)
rep
- funenv_h_REP_ABS
-
|- (!a. funenv_h_abs (funenv_h_rep a) = a) /\
(!r.
(\x.
joint_ty_basis_h_env_h_funclos_h_funenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_int_h_option_basis_h_env_h_funclos_h_funenv_h_strenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_select
x =
4)
r =
funenv_h_rep (funenv_h_abs r) =
r)
- strenv_h_TY_DEF
-
|- ?rep.
TYPE_DEFINITION
(\x.
joint_ty_basis_h_env_h_funclos_h_funenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_int_h_option_basis_h_env_h_funclos_h_funenv_h_strenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_select
x =
9)
rep
- strenv_h_REP_ABS
-
|- (!a. strenv_h_abs (strenv_h_rep a) = a) /\
(!r.
(\x.
joint_ty_basis_h_env_h_funclos_h_funenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_int_h_option_basis_h_env_h_funclos_h_funenv_h_strenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_select
x =
9)
r =
strenv_h_rep (strenv_h_abs r) =
r)
- strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_TY_DEF
-
|- ?rep.
TYPE_DEFINITION
(\x.
joint_ty_basis_h_env_h_funclos_h_funenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_int_h_option_basis_h_env_h_funclos_h_funenv_h_strenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_select
x =
12)
rep
- strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_REP_ABS
-
|- (!a.
strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_abs
(strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_rep
a) =
a) /\
(!r.
(\x.
joint_ty_basis_h_env_h_funclos_h_funenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_int_h_option_basis_h_env_h_funclos_h_funenv_h_strenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_select
x =
12)
r =
strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_rep
(strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_abs
r) =
r)
- strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_TY_DEF
-
|- ?rep.
TYPE_DEFINITION
(\x.
joint_ty_basis_h_env_h_funclos_h_funenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_int_h_option_basis_h_env_h_funclos_h_funenv_h_strenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_select
x =
11)
rep
- strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_REP_ABS
-
|- (!a.
strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_abs
(strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_rep
a) =
a) /\
(!r.
(\x.
joint_ty_basis_h_env_h_funclos_h_funenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_int_h_option_basis_h_env_h_funclos_h_funenv_h_strenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_select
x =
11)
r =
strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_rep
(strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_abs
r) =
r)
- int_h_option_basis_h_env_h_funclos_h_funenv_h_strenv_h_TY_DEF
-
|- ?rep.
TYPE_DEFINITION
(\x.
joint_ty_basis_h_env_h_funclos_h_funenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_int_h_option_basis_h_env_h_funclos_h_funenv_h_strenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_select
x =
8)
rep
- int_h_option_basis_h_env_h_funclos_h_funenv_h_strenv_h_REP_ABS
-
|- (!a.
int_h_option_basis_h_env_h_funclos_h_funenv_h_strenv_h_abs
(int_h_option_basis_h_env_h_funclos_h_funenv_h_strenv_h_rep a) =
a) /\
(!r.
(\x.
joint_ty_basis_h_env_h_funclos_h_funenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_int_h_option_basis_h_env_h_funclos_h_funenv_h_strenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_select
x =
8)
r =
int_h_option_basis_h_env_h_funclos_h_funenv_h_strenv_h_rep
(int_h_option_basis_h_env_h_funclos_h_funenv_h_strenv_h_abs r) =
r)
- funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_TY_DEF
-
|- ?rep.
TYPE_DEFINITION
(\x.
joint_ty_basis_h_env_h_funclos_h_funenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_int_h_option_basis_h_env_h_funclos_h_funenv_h_strenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_select
x =
7)
rep
- funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_REP_ABS
-
|- (!a.
funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_abs
(funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_rep
a) =
a) /\
(!r.
(\x.
joint_ty_basis_h_env_h_funclos_h_funenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_int_h_option_basis_h_env_h_funclos_h_funenv_h_strenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_select
x =
7)
r =
funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_rep
(funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_abs
r) =
r)
- funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_TY_DEF
-
|- ?rep.
TYPE_DEFINITION
(\x.
joint_ty_basis_h_env_h_funclos_h_funenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_int_h_option_basis_h_env_h_funclos_h_funenv_h_strenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_select
x =
6)
rep
- funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_REP_ABS
-
|- (!a.
funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_abs
(funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_rep
a) =
a) /\
(!r.
(\x.
joint_ty_basis_h_env_h_funclos_h_funenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_int_h_option_basis_h_env_h_funclos_h_funenv_h_strenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_select
x =
6)
r =
funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_rep
(funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_abs
r) =
r)
- int_BASIS_H_DEF
-
|- !x1 x2.
int_BASIS_H x1 x2 = basis_h_abs (JOINT_int_BASIS_H x1 (env_h_rep x2))
- int_ENV_H_DEF
-
|- !x1 x2 x3 x4.
int_ENV_H x1 x2 x3 x4 =
env_h_abs (JOINT_int_ENV_H (funenv_h_rep x1) (strenv_h_rep x2) x3 x4)
- int_FUNCLOS_H_DEF
-
|- !x1 x2 x3 x4 x5.
int_FUNCLOS_H x1 x2 x3 x4 x5 =
funclos_h_abs
(JOINT_int_FUNCLOS_H x1 x2 x3
(int_h_option_basis_h_env_h_funclos_h_funenv_h_strenv_h_rep x4)
(basis_h_rep x5))
- int_FUNENV_H_DEF
-
|- !x1.
int_FUNENV_H x1 =
funenv_h_abs
(JOINT_int_FUNENV_H
(funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_rep
x1))
- int_basis_h_env_h_funclos_h_funenv_h_strenv_h_ch44_funid_funclos_h_DEF
-
|- !x1 x2.
int_basis_h_env_h_funclos_h_funenv_h_strenv_h_ch44_funid_funclos_h x1
x2 =
funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_abs
(JOINT_int_basis_h_env_h_funclos_h_funenv_h_strenv_h_ch44_funid_funclos_h
x1
(funclos_h_rep x2))
- int_basis_h_env_h_funclos_h_funenv_h_strenv_h_NIL_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_DEF
-
|- int_basis_h_env_h_funclos_h_funenv_h_strenv_h_NIL_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h =
funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_abs
JOINT_int_basis_h_env_h_funclos_h_funenv_h_strenv_h_NIL_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h
- int_basis_h_env_h_funclos_h_funenv_h_strenv_h_CONS_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_DEF
-
|- !x1 x2.
int_basis_h_env_h_funclos_h_funenv_h_strenv_h_CONS_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h
x1
x2 =
funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_abs
(JOINT_int_basis_h_env_h_funclos_h_funenv_h_strenv_h_CONS_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h
(funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_rep
x1)
(funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_rep
x2))
- int_basis_h_env_h_funclos_h_funenv_h_strenv_h_FINMAP_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_DEF
-
|- !x1.
int_basis_h_env_h_funclos_h_funenv_h_strenv_h_FINMAP_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h
x1 =
funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_abs
(JOINT_int_basis_h_env_h_funclos_h_funenv_h_strenv_h_FINMAP_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h
(funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_rep
x1))
- int_basis_h_env_h_funclos_h_funenv_h_strenv_h_NONE_int_h_DEF
-
|- int_basis_h_env_h_funclos_h_funenv_h_strenv_h_NONE_int_h =
int_h_option_basis_h_env_h_funclos_h_funenv_h_strenv_h_abs
JOINT_int_basis_h_env_h_funclos_h_funenv_h_strenv_h_NONE_int_h
- int_basis_h_env_h_funclos_h_funenv_h_strenv_h_SOME_int_h_DEF
-
|- !x1.
int_basis_h_env_h_funclos_h_funenv_h_strenv_h_SOME_int_h x1 =
int_h_option_basis_h_env_h_funclos_h_funenv_h_strenv_h_abs
(JOINT_int_basis_h_env_h_funclos_h_funenv_h_strenv_h_SOME_int_h x1)
- int_STRENV_H_DEF
-
|- !x1.
int_STRENV_H x1 =
strenv_h_abs
(JOINT_int_STRENV_H
(strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_rep
x1))
- int_basis_h_env_h_funclos_h_funenv_h_strenv_h_ch44_strid_env_h_DEF
-
|- !x1 x2.
int_basis_h_env_h_funclos_h_funenv_h_strenv_h_ch44_strid_env_h x1 x2 =
strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_abs
(JOINT_int_basis_h_env_h_funclos_h_funenv_h_strenv_h_ch44_strid_env_h
x1
(env_h_rep x2))
- int_basis_h_env_h_funclos_h_funenv_h_strenv_h_NIL_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_DEF
-
|- int_basis_h_env_h_funclos_h_funenv_h_strenv_h_NIL_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h =
strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_abs
JOINT_int_basis_h_env_h_funclos_h_funenv_h_strenv_h_NIL_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h
- int_basis_h_env_h_funclos_h_funenv_h_strenv_h_CONS_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_DEF
-
|- !x1 x2.
int_basis_h_env_h_funclos_h_funenv_h_strenv_h_CONS_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h
x1
x2 =
strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_abs
(JOINT_int_basis_h_env_h_funclos_h_funenv_h_strenv_h_CONS_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h
(strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_rep x1)
(strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_rep
x2))
- int_basis_h_env_h_funclos_h_funenv_h_strenv_h_FINMAP_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_DEF
-
|- !x1.
int_basis_h_env_h_funclos_h_funenv_h_strenv_h_FINMAP_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h
x1 =
strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h_abs
(JOINT_int_basis_h_env_h_funclos_h_funenv_h_strenv_h_FINMAP_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h
(strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_rep
x1))
- BASIS_H
-
|- BASIS_H = (\x0 x1. int_BASIS_H x0 x1)
- ENV_H
-
|- ENV_H = (\x0 x1 x2 x3. int_ENV_H x0 x1 x2 x3)
- int_inj_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h
-
|- !x1 x0.
int_inj_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h
(x0,x1) =
int_basis_h_env_h_funclos_h_funenv_h_strenv_h_ch44_funid_funclos_h x0 x1
- int_inv_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h
-
|- !x1 x2.
int_inv_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h
(int_basis_h_env_h_funclos_h_funenv_h_strenv_h_ch44_funid_funclos_h x1
x2) =
(x1,x2)
- int_inj_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h
-
|- (int_inj_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h
[] =
int_basis_h_env_h_funclos_h_funenv_h_strenv_h_NIL_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h) /\
(!x1 x0.
int_inj_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h
(CONS x0 x1) =
int_basis_h_env_h_funclos_h_funenv_h_strenv_h_CONS_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h
(int_inj_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h
x0)
(int_inj_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h
x1))
- int_inv_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h
-
|- (int_inv_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h
int_basis_h_env_h_funclos_h_funenv_h_strenv_h_NIL_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h =
[]) /\
(!x1 x2.
int_inv_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h
(int_basis_h_env_h_funclos_h_funenv_h_strenv_h_CONS_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h
x1
x2) =
CONS
(int_inv_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h
x1)
(int_inv_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h
x2))
- int_inj_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h
-
|- !x0.
int_inj_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h
(FINMAP x0) =
int_basis_h_env_h_funclos_h_funenv_h_strenv_h_FINMAP_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h
(int_inj_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h
x0)
- int_inv_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h
-
|- !x1.
int_inv_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h
(int_basis_h_env_h_funclos_h_funenv_h_strenv_h_FINMAP_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h
x1) =
FINMAP
(int_inv_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h
x1)
- FUNENV_H
-
|- FUNENV_H =
(\x0.
int_FUNENV_H
(int_inj_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h
x0))
- int_inj_int_h_option_basis_h_env_h_funclos_h_funenv_h_strenv_h
-
|- (int_inj_int_h_option_basis_h_env_h_funclos_h_funenv_h_strenv_h NONE =
int_basis_h_env_h_funclos_h_funenv_h_strenv_h_NONE_int_h) /\
(!x0.
int_inj_int_h_option_basis_h_env_h_funclos_h_funenv_h_strenv_h
(SOME x0) =
int_basis_h_env_h_funclos_h_funenv_h_strenv_h_SOME_int_h x0)
- int_inv_int_h_option_basis_h_env_h_funclos_h_funenv_h_strenv_h
-
|- (int_inv_int_h_option_basis_h_env_h_funclos_h_funenv_h_strenv_h
int_basis_h_env_h_funclos_h_funenv_h_strenv_h_NONE_int_h =
NONE) /\
(!x1.
int_inv_int_h_option_basis_h_env_h_funclos_h_funenv_h_strenv_h
(int_basis_h_env_h_funclos_h_funenv_h_strenv_h_SOME_int_h x1) =
SOME x1)
- FUNCLOS_H
-
|- FUNCLOS_H =
(\x0 x1 x2 x3 x4.
int_FUNCLOS_H x0 x1 x2
(int_inj_int_h_option_basis_h_env_h_funclos_h_funenv_h_strenv_h x3)
x4)
- int_inj_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h
-
|- !x1 x0.
int_inj_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h
(x0,x1) =
int_basis_h_env_h_funclos_h_funenv_h_strenv_h_ch44_strid_env_h x0 x1
- int_inv_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h
-
|- !x1 x2.
int_inv_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h
(int_basis_h_env_h_funclos_h_funenv_h_strenv_h_ch44_strid_env_h x1
x2) =
(x1,x2)
- int_inj_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h
-
|- (int_inj_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h
[] =
int_basis_h_env_h_funclos_h_funenv_h_strenv_h_NIL_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h) /\
(!x1 x0.
int_inj_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h
(CONS x0 x1) =
int_basis_h_env_h_funclos_h_funenv_h_strenv_h_CONS_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h
(int_inj_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h x0)
(int_inj_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h
x1))
- int_inv_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h
-
|- (int_inv_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h
int_basis_h_env_h_funclos_h_funenv_h_strenv_h_NIL_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h =
[]) /\
(!x1 x2.
int_inv_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h
(int_basis_h_env_h_funclos_h_funenv_h_strenv_h_CONS_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h
x1
x2) =
CONS
(int_inv_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h x1)
(int_inv_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h
x2))
- int_inj_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h
-
|- !x0.
int_inj_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h
(FINMAP x0) =
int_basis_h_env_h_funclos_h_funenv_h_strenv_h_FINMAP_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h
(int_inj_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h
x0)
- int_inv_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h
-
|- !x1.
int_inv_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h
(int_basis_h_env_h_funclos_h_funenv_h_strenv_h_FINMAP_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h
x1) =
FINMAP
(int_inv_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h
x1)
- STRENV_H
-
|- STRENV_H =
(\x0.
int_STRENV_H
(int_inj_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h
x0))
- dist_aux_ftn_basis_h_DEF
-
|- (!x1 x2. dist_aux_ftn_basis_h (int_BASIS_H x1 x2) = 0) /\
(!x1 x2 x3 x4. dist_aux_ftn_env_h (int_ENV_H x1 x2 x3 x4) = 1) /\
(!x1 x2 x3 x4 x5.
dist_aux_ftn_funclos_h (int_FUNCLOS_H x1 x2 x3 x4 x5) = 2) /\
(!x1. dist_aux_ftn_funenv_h (int_FUNENV_H x1) = 3) /\
(!x1 x2.
dist_aux_ftn_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h
(int_basis_h_env_h_funclos_h_funenv_h_strenv_h_ch44_funid_funclos_h x1
x2) =
4) /\
(dist_aux_ftn_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h
int_basis_h_env_h_funclos_h_funenv_h_strenv_h_NIL_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h =
5) /\
(!x1 x2.
dist_aux_ftn_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h
(int_basis_h_env_h_funclos_h_funenv_h_strenv_h_CONS_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h
x1
x2) =
6) /\
(!x1.
dist_aux_ftn_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h
(int_basis_h_env_h_funclos_h_funenv_h_strenv_h_FINMAP_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h
x1) =
7) /\
(dist_aux_ftn_int_h_option_basis_h_env_h_funclos_h_funenv_h_strenv_h
int_basis_h_env_h_funclos_h_funenv_h_strenv_h_NONE_int_h =
8) /\
(!x1.
dist_aux_ftn_int_h_option_basis_h_env_h_funclos_h_funenv_h_strenv_h
(int_basis_h_env_h_funclos_h_funenv_h_strenv_h_SOME_int_h x1) =
9) /\
(!x1. dist_aux_ftn_strenv_h (int_STRENV_H x1) = 10) /\
(!x1 x2.
dist_aux_ftn_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h
(int_basis_h_env_h_funclos_h_funenv_h_strenv_h_ch44_strid_env_h x1
x2) =
11) /\
(dist_aux_ftn_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h
int_basis_h_env_h_funclos_h_funenv_h_strenv_h_NIL_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h =
12) /\
(!x1 x2.
dist_aux_ftn_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h
(int_basis_h_env_h_funclos_h_funenv_h_strenv_h_CONS_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h
x1
x2) =
13) /\
(!x1.
dist_aux_ftn_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_finmap_basis_h_env_h_funclos_h_funenv_h_strenv_h
(int_basis_h_env_h_funclos_h_funenv_h_strenv_h_FINMAP_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h
x1) =
14)
- int_BASIS_H_arg1_DEF
-
|- !x1 x2. int_BASIS_H_arg1 (int_BASIS_H x1 x2) = x1
- int_BASIS_H_arg2_DEF
-
|- !x1 x2. int_BASIS_H_arg2 (int_BASIS_H x1 x2) = x2
- int_ENV_H_arg1_DEF
-
|- !x1 x2 x3 x4. int_ENV_H_arg1 (int_ENV_H x1 x2 x3 x4) = x1
- int_ENV_H_arg2_DEF
-
|- !x1 x2 x3 x4. int_ENV_H_arg2 (int_ENV_H x1 x2 x3 x4) = x2
- int_ENV_H_arg3_DEF
-
|- !x1 x2 x3 x4. int_ENV_H_arg3 (int_ENV_H x1 x2 x3 x4) = x3
- int_ENV_H_arg4_DEF
-
|- !x1 x2 x3 x4. int_ENV_H_arg4 (int_ENV_H x1 x2 x3 x4) = x4
- int_FUNCLOS_H_arg1_DEF
-
|- !x1 x2 x3 x4 x5. int_FUNCLOS_H_arg1 (int_FUNCLOS_H x1 x2 x3 x4 x5) = x1
- int_FUNCLOS_H_arg2_DEF
-
|- !x1 x2 x3 x4 x5. int_FUNCLOS_H_arg2 (int_FUNCLOS_H x1 x2 x3 x4 x5) = x2
- int_FUNCLOS_H_arg3_DEF
-
|- !x1 x2 x3 x4 x5. int_FUNCLOS_H_arg3 (int_FUNCLOS_H x1 x2 x3 x4 x5) = x3
- int_FUNCLOS_H_arg4_DEF
-
|- !x1 x2 x3 x4 x5. int_FUNCLOS_H_arg4 (int_FUNCLOS_H x1 x2 x3 x4 x5) = x4
- int_FUNCLOS_H_arg5_DEF
-
|- !x1 x2 x3 x4 x5. int_FUNCLOS_H_arg5 (int_FUNCLOS_H x1 x2 x3 x4 x5) = x5
- int_FUNENV_H_arg_DEF
-
|- !x1. int_FUNENV_H_arg (int_FUNENV_H x1) = x1
- int_basis_h_env_h_funclos_h_funenv_h_strenv_h_ch44_funid_funclos_h_arg1_DEF
-
|- !x1 x2.
int_basis_h_env_h_funclos_h_funenv_h_strenv_h_ch44_funid_funclos_h_arg1
(int_basis_h_env_h_funclos_h_funenv_h_strenv_h_ch44_funid_funclos_h x1
x2) =
x1
- int_basis_h_env_h_funclos_h_funenv_h_strenv_h_ch44_funid_funclos_h_arg2_DEF
-
|- !x1 x2.
int_basis_h_env_h_funclos_h_funenv_h_strenv_h_ch44_funid_funclos_h_arg2
(int_basis_h_env_h_funclos_h_funenv_h_strenv_h_ch44_funid_funclos_h x1
x2) =
x2
- int_basis_h_env_h_funclos_h_funenv_h_strenv_h_CONS_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_arg1_DEF
-
|- (!x1 x2.
int_basis_h_env_h_funclos_h_funenv_h_strenv_h_CONS_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_arg1
(int_basis_h_env_h_funclos_h_funenv_h_strenv_h_CONS_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h
x1
x2) =
x1) /\
(int_basis_h_env_h_funclos_h_funenv_h_strenv_h_CONS_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_arg1
int_basis_h_env_h_funclos_h_funenv_h_strenv_h_NIL_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h =
(@x. T))
- int_basis_h_env_h_funclos_h_funenv_h_strenv_h_CONS_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_arg2_DEF
-
|- (!x1 x2.
int_basis_h_env_h_funclos_h_funenv_h_strenv_h_CONS_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_arg2
(int_basis_h_env_h_funclos_h_funenv_h_strenv_h_CONS_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h
x1
x2) =
x2) /\
(int_basis_h_env_h_funclos_h_funenv_h_strenv_h_CONS_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_arg2
int_basis_h_env_h_funclos_h_funenv_h_strenv_h_NIL_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h =
(@x. T))
- int_basis_h_env_h_funclos_h_funenv_h_strenv_h_FINMAP_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_arg_DEF
-
|- !x1.
int_basis_h_env_h_funclos_h_funenv_h_strenv_h_FINMAP_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_arg
(int_basis_h_env_h_funclos_h_funenv_h_strenv_h_FINMAP_funid_funclos_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h
x1) =
x1
- int_basis_h_env_h_funclos_h_funenv_h_strenv_h_SOME_int_h_arg_DEF
-
|- (!x1.
int_basis_h_env_h_funclos_h_funenv_h_strenv_h_SOME_int_h_arg
(int_basis_h_env_h_funclos_h_funenv_h_strenv_h_SOME_int_h x1) =
x1) /\
(int_basis_h_env_h_funclos_h_funenv_h_strenv_h_SOME_int_h_arg
int_basis_h_env_h_funclos_h_funenv_h_strenv_h_NONE_int_h =
(@x. T))
- int_STRENV_H_arg_DEF
-
|- !x1. int_STRENV_H_arg (int_STRENV_H x1) = x1
- int_basis_h_env_h_funclos_h_funenv_h_strenv_h_ch44_strid_env_h_arg1_DEF
-
|- !x1 x2.
int_basis_h_env_h_funclos_h_funenv_h_strenv_h_ch44_strid_env_h_arg1
(int_basis_h_env_h_funclos_h_funenv_h_strenv_h_ch44_strid_env_h x1
x2) =
x1
- int_basis_h_env_h_funclos_h_funenv_h_strenv_h_ch44_strid_env_h_arg2_DEF
-
|- !x1 x2.
int_basis_h_env_h_funclos_h_funenv_h_strenv_h_ch44_strid_env_h_arg2
(int_basis_h_env_h_funclos_h_funenv_h_strenv_h_ch44_strid_env_h x1
x2) =
x2
- int_basis_h_env_h_funclos_h_funenv_h_strenv_h_CONS_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_arg1_DEF
-
|- (!x1 x2.
int_basis_h_env_h_funclos_h_funenv_h_strenv_h_CONS_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_arg1
(int_basis_h_env_h_funclos_h_funenv_h_strenv_h_CONS_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h
x1
x2) =
x1) /\
(int_basis_h_env_h_funclos_h_funenv_h_strenv_h_CONS_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_arg1
int_basis_h_env_h_funclos_h_funenv_h_strenv_h_NIL_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h =
(@x. T))
- int_basis_h_env_h_funclos_h_funenv_h_strenv_h_CONS_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_arg2_DEF
-
|- (!x1 x2.
int_basis_h_env_h_funclos_h_funenv_h_strenv_h_CONS_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_arg2
(int_basis_h_env_h_funclos_h_funenv_h_strenv_h_CONS_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h
x1
x2) =
x2) /\
(int_basis_h_env_h_funclos_h_funenv_h_strenv_h_CONS_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_arg2
int_basis_h_env_h_funclos_h_funenv_h_strenv_h_NIL_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h =
(@x. T))
- int_basis_h_env_h_funclos_h_funenv_h_strenv_h_FINMAP_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_arg_DEF
-
|- !x1.
int_basis_h_env_h_funclos_h_funenv_h_strenv_h_FINMAP_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h_arg
(int_basis_h_env_h_funclos_h_funenv_h_strenv_h_FINMAP_strid_env_h_prod_basis_h_env_h_funclos_h_funenv_h_strenv_h_list_basis_h_env_h_funclos_h_funenv_h_strenv_h
x1) =
x1
- basis_pack_h_TY_DEF
-
|- ?rep.
TYPE_DEFINITION
(TRP
(\v tl.
(?b. v = INL b) /\ (LENGTH tl = 0) \/
(?p. v = INR p) /\ (LENGTH tl = 0)))
rep
- basis_pack_h_ISO_DEF
-
|- (!a. ABS_basis_pack_h (REP_basis_pack_h a) = a) /\
(!r.
TRP
(\v tl.
(?b. v = INL b) /\ (LENGTH tl = 0) \/
(?p. v = INR p) /\ (LENGTH tl = 0))
r =
REP_basis_pack_h (ABS_basis_pack_h r) =
r)
- BASISbp_h_DEF
-
|- !b. BASISbp_h b = ABS_basis_pack_h (Node (INL b) [])
- PACKbp_h_DEF
-
|- !p. PACKbp_h p = ABS_basis_pack_h (Node (INR p) [])
- strenv_pack_h_TY_DEF
-
|- ?rep.
TYPE_DEFINITION
(TRP
(\v tl.
(?s. v = INL s) /\ (LENGTH tl = 0) \/
(?p. v = INR p) /\ (LENGTH tl = 0)))
rep
- strenv_pack_h_ISO_DEF
-
|- (!a. ABS_strenv_pack_h (REP_strenv_pack_h a) = a) /\
(!r.
TRP
(\v tl.
(?s. v = INL s) /\ (LENGTH tl = 0) \/
(?p. v = INR p) /\ (LENGTH tl = 0))
r =
REP_strenv_pack_h (ABS_strenv_pack_h r) =
r)
- STRENVsp_h_DEF
-
|- !s. STRENVsp_h s = ABS_strenv_pack_h (Node (INL s) [])
- PACKsp_h_DEF
-
|- !p. PACKsp_h p = ABS_strenv_pack_h (Node (INR p) [])
- env_pack_h_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_h_ISO_DEF
-
|- (!a. ABS_env_pack_h (REP_env_pack_h a) = a) /\
(!r.
TRP
(\v tl.
(?e. v = INL e) /\ (LENGTH tl = 0) \/
(?p. v = INR p) /\ (LENGTH tl = 0))
r =
REP_env_pack_h (ABS_env_pack_h r) =
r)
- ENVep_h_DEF
-
|- !e. ENVep_h e = ABS_env_pack_h (Node (INL e) [])
- PACKep_h_DEF
-
|- !p. PACKep_h p = ABS_env_pack_h (Node (INR p) [])
- STRENV_H_arg_DEF
-
|- !x1. STRENV_H_arg (STRENV_H x1) = x1
- FUNENV_H_arg_DEF
-
|- !x1. FUNENV_H_arg (FUNENV_H x1) = x1
- SIGENV_H_arg_DEF
-
|- !se. SIGENV_H_arg (SIGENV_H se) = se
- STRINTENV_H_arg_DEF
-
|- !x1. STRINTENV_H_arg (STRINTENV_H x1) = x1
- FUNINTENV_H_arg_DEF
-
|- !x1. FUNINTENV_H_arg (FUNINTENV_H x1) = x1
- funenv_h_of_env_h_DEF
-
|- !x1 x2 x3 x4. funenv_h_of_env_h (ENV_H x1 x2 x3 x4) = x1
- strenv_h_of_env_h_DEF
-
|- !x1 x2 x3 x4. strenv_h_of_env_h (ENV_H x1 x2 x3 x4) = x2
- varenv_of_env_h_DEF
-
|- !x1 x2 x3 x4. varenv_of_env_h (ENV_H x1 x2 x3 x4) = x3
- exconenv_of_env_h_DEF
-
|- !x1 x2 x3 x4. exconenv_of_env_h (ENV_H x1 x2 x3 x4) = x4
- sigenv_h_of_basis_h_DEF
-
|- !x1 x2. sigenv_h_of_basis_h (BASIS_H x1 x2) = x1
- env_h_of_basis_h_DEF
-
|- !x1 x2. env_h_of_basis_h (BASIS_H x1 x2) = x2
- funintenv_h_of_int_h_DEF
-
|- !x1 x2 x3 x4. funintenv_h_of_int_h (INT_H x1 x2 x3 x4) = x1
- strintenv_h_of_int_h_DEF
-
|- !x1 x2 x3 x4. strintenv_h_of_int_h (INT_H x1 x2 x3 x4) = x2
- vars_of_int_h_DEF
-
|- !x1 x2 x3 x4. vars_of_int_h (INT_H x1 x2 x3 x4) = x3
- excons_of_int_h_DEF
-
|- !x1 x2 x3 x4. excons_of_int_h (INT_H x1 x2 x3 x4) = x4
- funintenv_h_of_intbasis_h_DEF
-
|- !f st si. funintenv_h_of_intbasis_h (INTBASIS_H si st f) = f
- sigenv_h_of_intbasis_h_DEF
-
|- !f st si. sigenv_h_of_intbasis_h (INTBASIS_H si st f) = si
- strintenv_h_of_intbasis_h_DEF
-
|- !f st si. strintenv_h_of_intbasis_h (INTBASIS_H si st f) = st
- empty_sigenv_h_DEF
-
|- empty_sigenv_h = SIGENV_H (\x. undefined)
- empty_strenv_h_DEF
-
|- empty_strenv_h = STRENV_H empty_finmap
- empty_funenv_h_DEF
-
|- empty_funenv_h = FUNENV_H empty_finmap
- empty_env_h_DEF
-
|- empty_env_h =
ENV_H empty_funenv_h empty_strenv_h empty_varenv empty_exconenv
- empty_strintenv_h_DEF
-
|- empty_strintenv_h = STRINTENV_H empty_finmap
- empty_funintenv_h_DEF
-
|- empty_funintenv_h = FUNINTENV_H empty_finmap
- empty_int_h_DEF
-
|- empty_int_h = INT_H empty_funintenv_h empty_strintenv_h {} {}
- insert_into_funenv_h_DEF
-
|- !x1.
insert_into_funenv_h (FUNENV_H x1) =
(\funid fcl. FUNENV_H (finmap_insert less_funid funid fcl x1))
- insert_into_strenv_h_DEF
-
|- !x1.
insert_into_strenv_h (STRENV_H x1) =
(\strid e. STRENV_H (finmap_insert less_strid strid e x1))
- insert_into_strintenv_h_DEF
-
|- !x1.
insert_into_strintenv_h (STRINTENV_H x1) =
(\strid int_h. STRINTENV_H (finmap_insert less_strid strid int_h x1))
- insert_into_funintenv_h_DEF
-
|- !x1.
insert_into_funintenv_h (FUNINTENV_H x1) =
(\funid int_h. FUNINTENV_H (finmap_insert less_funid funid int_h x1))
- insert_into_sigenv_h_DEF
-
|- !se sigid int_h.
insert_into_sigenv_h (SIGENV_H se) sigid int_h =
SIGENV_H (\x. (x = sigid) => (lift int_h) | (se x))
- funenv_h_map_DEF
-
|- !fi fc. funenv_h_map fi fc = FUNENV_H (FINMAP [fi,fc])
- funintenv_h_map_DEF
-
|- !fi i. funintenv_h_map fi i = FUNINTENV_H (FINMAP [fi,i])
- strintenv_h_map_DEF
-
|- !si i. strintenv_h_map si i = STRINTENV_H (FINMAP [si,i])
- sigenv_h_map_DEF
-
|- !si i. sigenv_h_map si i = SIGENV_H (\x. (x = si) => (lift i) | undefined)
- strenv_h_map_DEF
-
|- !si e. strenv_h_map si e = STRENV_H (FINMAP [si,e])
- add_funenv_h_DEF
-
|- !fe1 fe2.
add_funenv_h fe1 fe2 =
FUNENV_H (finmap_modify less_funid (FUNENV_H_arg fe1) (FUNENV_H_arg fe2))
- add_strenv_h_DEF
-
|- !se1 se2.
add_strenv_h se1 se2 =
STRENV_H (finmap_modify less_strid (STRENV_H_arg se1) (STRENV_H_arg se2))
- add_sigenv_DEF
-
|- !s1 s2.
add_sigenv_h s1 s2 =
SIGENV_H
(\x.
(SIGENV_H_arg s1 x = undefined)
=> (SIGENV_H_arg s2 x)
| (SIGENV_H_arg s1 x))
- add_env_h_DEF
-
|- !x1 x2 x3 x4.
add_env_h (ENV_H x1 x2 x3 x4) =
(\E.
ENV_H (add_funenv_h x1 (funenv_h_of_env_h E))
(add_strenv_h x2 (strenv_h_of_env_h E))
(add_varenv x3 (varenv_of_env_h E))
(add_exconenv x4 (exconenv_of_env_h E)))
- add_basis_h_DEF
-
|- !x1 x2.
add_basis_h (BASIS_H x1 x2) =
(\B.
BASIS_H (add_sigenv_h x1 (sigenv_h_of_basis_h B))
(add_env_h x2 (env_h_of_basis_h B)))
- add_strintenv_h_DEF
-
|- !SIE1 SIE2.
add_strintenv_h SIE1 SIE2 =
STRINTENV_H
(finmap_modify less_strid (STRINTENV_H_arg SIE2)
(STRINTENV_H_arg SIE1))
- add_funintenv_h_DEF
-
|- !int_h int_h'.
add_funintenv_h int_h int_h' =
FUNINTENV_H
(finmap_modify less_funid (FUNINTENV_H_arg int_h)
(FUNINTENV_H_arg int_h'))
- add_int_h_DEF
-
|- !x1 x2 x3 x4.
add_int_h (INT_H x1 x2 x3 x4) =
(\int_h.
INT_H (add_funintenv_h x1 (funintenv_h_of_int_h int_h))
(add_strintenv_h x2 (strintenv_h_of_int_h int_h))
(x3 UNION vars_of_int_h int_h)
(x4 UNION excons_of_int_h int_h))
- add_env_h_to_basis_h_DEF
-
|- !b e.
add_env_h_to_basis_h b e =
BASIS_H (sigenv_h_of_basis_h b) (add_env_h (env_h_of_basis_h b) e)
- add_funenv_h_to_env_h_DEF
-
|- !e f.
add_funenv_h_to_env_h e f =
ENV_H (add_funenv_h (funenv_h_of_env_h e) f) (strenv_h_of_env_h e)
(varenv_of_env_h e)
(exconenv_of_env_h e)
- add_funenv_h_to_basis_h_DEF
-
|- !b f.
add_funenv_h_to_basis_h b f =
BASIS_H (sigenv_h_of_basis_h b)
(add_funenv_h_to_env_h (env_h_of_basis_h b) f)
- add_funintenv_h_to_intbasis_h_DEF
-
|- !s i f f'.
add_funintenv_h_to_intbasis_h (INTBASIS_H s i f) f' =
INTBASIS_H s i (add_funintenv_h f f')
- add_sigenv_h_to_intbasis_h_DEF
-
|- !s i f s'.
add_sigenv_h_to_intbasis_h (INTBASIS_H s i f) s' =
INTBASIS_H (add_sigenv_h s s') i f
- add_strintenv_h_to_intbasis_h_DEF
-
|- !s sie f sie'.
add_strintenv_h_to_intbasis_h (INTBASIS_H s sie f) sie' =
INTBASIS_H s (add_strintenv_h sie sie') f
- strenv_h_in_env_h_DEF
-
|- !s.
strenv_h_in_env_h s = ENV_H empty_funenv_h s empty_varenv empty_exconenv
- funenv_h_in_env_h_DEF
-
|- !f.
funenv_h_in_env_h f = ENV_H f empty_strenv_h empty_varenv empty_exconenv
- vars_in_int_h_DEF
-
|- !x. vars_in_int_h x = INT_H empty_funintenv_h empty_strintenv_h x {}
- excons_in_int_h_DEF
-
|- !x. excons_in_int_h x = INT_H empty_funintenv_h empty_strintenv_h {} x
- funintenv_h_in_int_h_DEF
-
|- !x. funintenv_h_in_int_h x = INT_H x empty_strintenv_h {} {}
- strintenv_h_in_int_h_DEF
-
|- !x. strintenv_h_in_int_h x = INT_H empty_funintenv_h x {} {}
- env_h_in_basis_h_DEF
-
|- !e. env_h_in_basis_h e = BASIS_H (SIGENV_H (\x. undefined)) e
- strenv_h_in_basis_h_DEF
-
|- !s. strenv_h_in_basis_h s = env_h_in_basis_h (strenv_h_in_env_h s)
- sigenv_h_in_basis_h_DEF
-
|- !s. sigenv_h_in_basis_h s = BASIS_H s empty_env_h
- funenv_h_in_basis_h_DEF
-
|- !f.
funenv_h_in_basis_h f =
BASIS_H (SIGENV_H (\x. undefined)) (funenv_h_in_env_h f)
- lookupstrid_env_h_DEF
-
|- (!x1 x2 x3 x4.
lookupstrid_env_h (ENV_H x1 x2 x3 x4) =
(\strid. lookupstrid_strenv_h x2 strid)) /\
(!x1.
lookupstrid_strenv_h (STRENV_H x1) = (\strid. finmap_lookup strid x1))
- lookuplongstrid_env_h_DEF
-
|- (!E s.
lookuplongstrid_env_h E (BASE s) =
lookupstrid_strenv_h (strenv_h_of_env_h E) s) /\
(!E ls strid.
lookuplongstrid_env_h E (QUALIFIED strid ls) =
((lookupstrid_strenv_h (strenv_h_of_env_h E) strid = undefined)
=> undefined
| (lookuplongstrid_env_h
(lower (lookupstrid_strenv_h (strenv_h_of_env_h E) strid))
ls)))
- lookupvar_env_h_DEF
-
|- !x1 x2 x3 x4.
lookupvar_env_h (ENV_H x1 x2 x3 x4) = (\v. lookupvar_varenv x3 v)
- lookupexcon_env_h_DEF
-
|- !x1 x2 x3 x4.
lookupexcon_env_h (ENV_H x1 x2 x3 x4) = (\ec. lookupexcon_exconenv x4 ec)
- lookuplongvar_env_h_DEF
-
|- (!E v.
lookuplongvar_env_h E (BASE v) =
lookupvar_varenv (varenv_of_env_h E) v) /\
(!E lv strid.
lookuplongvar_env_h E (QUALIFIED strid lv) =
((lookupstrid_strenv_h (strenv_h_of_env_h E) strid = undefined)
=> undefined
| (lookuplongvar_env_h
(lower (lookupstrid_strenv_h (strenv_h_of_env_h E) strid))
lv)))
- lookuplongexcon_env_h_DEF
-
|- (!E ex.
lookuplongexcon_env_h E (BASE ex) =
lookupexcon_exconenv (exconenv_of_env_h E) ex) /\
(!E lex strid.
lookuplongexcon_env_h E (QUALIFIED strid lex) =
((lookupstrid_strenv_h (strenv_h_of_env_h E) strid = undefined)
=> undefined
| (lookuplongexcon_env_h
(lower (lookupstrid_strenv_h (strenv_h_of_env_h E) strid))
lex)))
- lookup_longstrid_basis_h_DEF
-
|- !x1 x2.
lookup_longstrid_basis_h (BASIS_H x1 x2) =
(\ls. lookuplongstrid_env_h x2 ls)
- lookup_strid_int_h_DEF
-
|- (!x1 x2 x3 x4.
lookup_strid_int_h (INT_H x1 x2 x3 x4) =
(\strid. lookup_strid_strintenv_h x2 strid)) /\
(!x1.
lookup_strid_strintenv_h (STRINTENV_H x1) =
(\strid. finmap_lookup strid x1))
- lookup_longstrid_strintenv_h_DEF
-
|- (!i s.
lookup_longstrid_strintenv_h i (BASE s) =
lookup_strid_strintenv_h i s) /\
(!i ls strid.
lookup_longstrid_strintenv_h i (QUALIFIED strid ls) =
((lookup_strid_strintenv_h i strid = undefined)
=> undefined
| (lookup_longstrid_strintenv_h
(strintenv_h_of_int_h (lower (lookup_strid_strintenv_h i strid)))
ls)))
- lookup_longstrid_intbasis_h_DEF
-
|- !s i f ls.
lookup_longstrid_intbasis_h (INTBASIS_H s i f) ls =
lookup_longstrid_strintenv_h i ls
- lookup_funid_funenv_h_DEF
-
|- !x1. lookup_funid_funenv_h (FUNENV_H x1) = (\funid. finmap_lookup funid x1)
- lookup_funid_funintenv_h_DEF
-
|- !x1.
lookup_funid_funintenv_h (FUNINTENV_H x1) =
(\funid. finmap_lookup funid x1)
- lookup_longfunid_int_h_DEF
-
|- (!i funid.
lookup_longfunid_int_h i (BASE funid) =
lookup_funid_funintenv_h (funintenv_h_of_int_h i) funid) /\
(!i lf strid.
lookup_longfunid_int_h i (QUALIFIED strid lf) =
((lookup_strid_strintenv_h (strintenv_h_of_int_h i) strid = undefined)
=> undefined
| (lookup_longfunid_int_h
(lower (lookup_strid_strintenv_h (strintenv_h_of_int_h i) strid))
lf)))
- lookup_longfunid_intbasis_h_DEF
-
|- (!IB funid.
lookup_longfunid_intbasis_h IB (BASE funid) =
lookup_funid_funintenv_h (funintenv_h_of_intbasis_h IB) funid) /\
(!IB lf strid.
lookup_longfunid_intbasis_h IB (QUALIFIED strid lf) =
((lookup_strid_strintenv_h (strintenv_h_of_intbasis_h IB) strid =
undefined)
=> undefined
| (lookup_longfunid_int_h
(lower
(lookup_strid_strintenv_h (strintenv_h_of_intbasis_h IB) strid))
lf)))
- lookup_funid_env_h_DEF
-
|- !x1 x2 x3 x4.
lookup_funid_env_h (ENV_H x1 x2 x3 x4) =
(\funid. lookup_funid_funenv_h x1 funid)
- lookup_longfunid_env_h_DEF
-
|- (!E funid.
lookup_longfunid_env_h E (BASE funid) =
lookup_funid_funenv_h (funenv_h_of_env_h E) funid) /\
(!E lf strid.
lookup_longfunid_env_h E (QUALIFIED strid lf) =
((lookupstrid_strenv_h (strenv_h_of_env_h E) strid = undefined)
=> undefined
| (lookup_longfunid_env_h
(lower (lookupstrid_strenv_h (strenv_h_of_env_h E) strid))
lf)))
- lookup_longfunid_basis_h_DEF
-
|- !x1 x2.
lookup_longfunid_basis_h (BASIS_H x1 x2) =
(\funid. lookup_longfunid_env_h x2 funid)
- lookup_sigid_sigenv_h_DEF
-
|- !l sigid. lookup_sigid_sigenv_h (SIGENV_H l) sigid = l sigid
- lookup_sigid_intbasis_h_DEF
-
|- !si st f sigid.
lookup_sigid_intbasis_h (INTBASIS_H si st f) sigid =
lookup_sigid_sigenv_h si sigid
- Inter_exbind_DEF
-
|- (!x1 x2.
Inter_exbind (EXBIND1 x1 x2) = {x1} UNION Inter_exbind_option x2) /\
(!x1 x2 x3.
Inter_exbind (EXBIND2 x1 x2 x3) = {x1} UNION Inter_exbind_option x3) /\
(Inter_exbind_option NONE = {}) /\
(!x1. Inter_exbind_option (SOME x1) = Inter_exbind x1)
- Inter_pat_DEF
-
|- (!x1. Inter_pat (ATPATpat x1) = Inter_atpat x1) /\
(!x1 x2. Inter_pat (CONpat x1 x2) = Inter_atpat x2) /\
(!x1 x2. Inter_pat (EXCONpat x1 x2) = Inter_atpat x2) /\
(!x1 x2. Inter_pat (LAYEREDpat x1 x2) = {x1} UNION Inter_pat x2) /\
(Inter_atpat WILDCARDatpat = {}) /\
(!x1. Inter_atpat (SCONatpat x1) = {}) /\
(!x1. Inter_atpat (VARatpat x1) = {x1}) /\
(!x1. Inter_atpat (CONatpat x1) = {}) /\
(!x1. Inter_atpat (EXCONatpat x1) = {}) /\
(!x1. Inter_atpat (RECORDatpat x1) = Inter_patrow_option x1) /\
(!x1. Inter_atpat (PARatpat x1) = Inter_pat x1) /\
(Inter_patrow DOTDOTDOT = {}) /\
(!x1 x2 x3.
Inter_patrow (PATROW x1 x2 x3) =
Inter_pat x2 UNION Inter_patrow_option x3) /\
(Inter_patrow_option NONE = {}) /\
(!x1. Inter_patrow_option (SOME x1) = Inter_patrow x1)
- Inter_dec_DEF
-
|- (!x1. Inter_dec (VALdec x1) = (\IB. vars_in_int_h (Inter_valbind x1))) /\
(!x1.
Inter_dec (EXCEPTdec x1) = (\IB. excons_in_int_h (Inter_exbind x1))) /\
(!x1 x2. Inter_dec (LOCALdec x1 x2) = (\IB. Inter_dec x2 IB)) /\
(!x1.
Inter_dec (OPENdec x1) =
(\IB.
nonempty_FOLDL_WITH_INIT add_int_h
(nonempty_MAP lower
(nonempty_MAP (lookup_longstrid_intbasis_h IB) x1)))) /\
(!x1 x2.
Inter_dec (SEQdec x1 x2) =
(\IB. add_int_h (Inter_dec x1 IB) (Inter_dec x2 IB))) /\
(Inter_dec EMPTYdec = (\IB. empty_int_h)) /\
(!x1 x2 x3.
Inter_valbind (PLAINvalbind x1 x2 x3) =
Inter_pat x1 UNION Inter_valbind_option x3) /\
(!x1. Inter_valbind (RECvalbind x1) = Inter_valbind x1) /\
(Inter_valbind_option NONE = {}) /\
(!x1. Inter_valbind_option (SOME x1) = Inter_valbind x1)
- Inter_valdesc_DEF
-
|- (!x1 x2.
Inter_valdesc (VARvaldesc x1 x2) = {x1} UNION Inter_valdesc_option x2) /\
(Inter_valdesc_option NONE = {}) /\
(!x1. Inter_valdesc_option (SOME x1) = Inter_valdesc x1)
- Inter_exdesc_DEF
-
|- (!x1 x2.
Inter_exdesc (EXCONexdesc x1 x2) = {x1} UNION Inter_exdesc_option x2) /\
(Inter_exdesc_option NONE = {}) /\
(!x1. Inter_exdesc_option (SOME x1) = Inter_exdesc x1)
- Inter_sigexp_h_DEF
-
|- (!x1. Inter_sigexp_h (SIGsigexp_h x1) = (\IB. Inter_spec_h x1 IB)) /\
(!x1.
Inter_sigexp_h (SIGIDsigexp_h x1) =
(\IB. lower (lookup_sigid_intbasis_h IB x1))) /\
(!x1.
Inter_spec_h (VALspec_h x1) = (\IB. vars_in_int_h (Inter_valdesc x1))) /\
(!x1.
Inter_spec_h (EXCEPTIONspec_h x1) =
(\IB. excons_in_int_h (Inter_exdesc x1))) /\
(!x1.
Inter_spec_h (STRUCTUREspec_h x1) =
(\IB. strintenv_h_in_int_h (Inter_strdesc_h x1 IB))) /\
(!x1 x2.
Inter_spec_h (LOCALspec_h x1 x2) =
(\IB.
Inter_spec_h x2
(add_funintenv_h_to_intbasis_h
(add_strintenv_h_to_intbasis_h IB
(strintenv_h_of_int_h (Inter_spec_h x1 IB)))
(funintenv_h_of_int_h (Inter_spec_h x1 IB))))) /\
(!x1.
Inter_spec_h (OPENspec_h x1) =
(\IB.
nonempty_FOLDL_WITH_INIT add_int_h
(nonempty_MAP lower
(nonempty_MAP (lookup_longstrid_intbasis_h IB) x1)))) /\
(!x1.
Inter_spec_h (INCLUDEspec_h x1) =
(\IB.
nonempty_FOLDL_WITH_INIT add_int_h
(nonempty_MAP lower
(nonempty_MAP (lookup_sigid_intbasis_h IB) x1)))) /\
(Inter_spec_h EMPTYspec_h = (\IB. empty_int_h)) /\
(!x1 x2.
Inter_spec_h (SEQspec_h x1 x2) =
(\IB.
add_int_h (Inter_spec_h x1 IB)
(Inter_spec_h x2
(add_funintenv_h_to_intbasis_h
(add_strintenv_h_to_intbasis_h IB
(strintenv_h_of_int_h (Inter_spec_h x1 IB)))
(funintenv_h_of_int_h (Inter_spec_h x1 IB)))))) /\
(!x1 x2 x3 x4.
Inter_spec_h (FUNCTORspec_h x1 x2 x3 x4) =
(\IB.
funintenv_h_in_int_h
(funintenv_h_map x1
(Inter_sigexp_h x4
(add_strintenv_h_to_intbasis_h IB
(strintenv_h_map x2 (Inter_sigexp_h x3 IB))))))) /\
(!x1 x2 x3.
Inter_strdesc_h (STRIDstrdesc_h x1 x2 x3) =
(\IB.
add_strintenv_h (strintenv_h_map x1 (Inter_sigexp_h x2 IB))
(Inter_strdesc_h_option x3 IB))) /\
(Inter_strdesc_h_option NONE = (\IB. empty_strintenv_h)) /\
(!x1. Inter_strdesc_h_option (SOME x1) = Inter_strdesc_h x1)
- Inter_strexp_h_DEF
-
|- (!x1. Inter_strexp_h (STRUCTstrexp_h x1) = (\IB. Inter_moddec_h x1 IB)) /\
(!x1.
Inter_strexp_h (LONGSTRIDstrexp_h x1) =
(\IB. lower (lookup_longstrid_intbasis_h IB x1))) /\
(!x1 x2.
Inter_strexp_h (APPstrexp_h x1 x2) =
(\IB. lower (lookup_longfunid_intbasis_h IB x1))) /\
(!x1 x2.
Inter_strexp_h (LETstrexp_h x1 x2) =
(\IB.
Inter_strexp_h x2
(add_funintenv_h_to_intbasis_h
(add_strintenv_h_to_intbasis_h IB
(strintenv_h_of_int_h (Inter_moddec_h x1 IB)))
(funintenv_h_of_int_h (Inter_moddec_h x1 IB))))) /\
(!x1. Inter_moddec_h (DECmoddec_h x1) = (\IB. Inter_dec x1 IB)) /\
(!x1.
Inter_moddec_h (STRUCTUREmoddec_h x1) =
(\IB. strintenv_h_in_int_h (Inter_strbind_h x1 IB))) /\
(!x1 x2.
Inter_moddec_h (LOCALmoddec_h x1 x2) =
(\IB.
Inter_moddec_h x2
(add_funintenv_h_to_intbasis_h
(add_strintenv_h_to_intbasis_h IB
(strintenv_h_of_int_h (Inter_moddec_h x1 IB)))
(funintenv_h_of_int_h (Inter_moddec_h x1 IB))))) /\
(!x1.
Inter_moddec_h (OPENmoddec_h x1) =
(\IB.
nonempty_FOLDL_WITH_INIT add_int_h
(nonempty_MAP lower
(nonempty_MAP (lookup_longstrid_intbasis_h IB) x1)))) /\
(Inter_moddec_h EMPTYmoddec_h = (\IB. empty_int_h)) /\
(!x1 x2.
Inter_moddec_h (SEQmoddec_h x1 x2) =
(\IB.
add_int_h (Inter_moddec_h x1 IB)
(Inter_moddec_h x2
(add_funintenv_h_to_intbasis_h
(add_strintenv_h_to_intbasis_h IB
(strintenv_h_of_int_h (Inter_moddec_h x1 IB)))
(funintenv_h_of_int_h (Inter_moddec_h x1 IB)))))) /\
(!x1.
Inter_moddec_h (FUNCTORmoddec_h x1) =
(\IB. funintenv_h_in_int_h (Inter_funbind_h x1 IB))) /\
(!x1 x2 x3 x4.
Inter_strbind_h (BINDstrbind_h x1 x2 x3 x4) =
(\IB.
add_strintenv_h (strintenv_h_map x1 (Inter_sigexp_h_option x2 IB))
(Inter_strbind_h_option x4 IB))) /\
(!x1 x2 x3 x4 x5 x6.
Inter_funbind_h (BINDfunbind_h x1 x2 x3 x4 x5 x6) =
(\IB.
add_funintenv_h (Inter_funbind_h_option x6 IB)
(funintenv_h_map x1
(Inter_sigexp_h_option x4
(add_strintenv_h_to_intbasis_h IB
(strintenv_h_map x2 (Inter_sigexp_h x3 IB))))))) /\
(!x1 x2.
Inter_funbind_h (REBINDfunbind_h x1 x2) =
(\IB. funintenv_h_map x1 (lower (lookup_longfunid_intbasis_h IB x2)))) /\
(Inter_sigexp_h_option NONE = (\IB. empty_int_h)) /\
(!x1. Inter_sigexp_h_option (SOME x1) = Inter_sigexp_h x1) /\
(Inter_strbind_h_option NONE = (\IB. empty_strintenv_h)) /\
(!x1. Inter_strbind_h_option (SOME x1) = Inter_strbind_h x1) /\
(Inter_funbind_h_option NONE = (\IB. empty_funintenv_h)) /\
(!x1. Inter_funbind_h_option (SOME x1) = Inter_funbind_h x1)
- Inter_h_DEF
-
|- (!x1.
strintenv_h_from_strenv_h (STRENV_H x1) =
STRINTENV_H (strint_h_finmap_from_strenv_h_finmap x1)) /\
(!x1.
strint_h_finmap_from_strenv_h_finmap (FINMAP x1) =
FINMAP (strint_h_list_from_strenv_h_list x1)) /\
(strint_h_list_from_strenv_h_list [] = []) /\
(!x1 x2.
strint_h_list_from_strenv_h_list (CONS x1 x2) =
CONS (strid_int_h_from_strenv_h_pair x1)
(strint_h_list_from_strenv_h_list x2)) /\
(!x1 x2. strid_int_h_from_strenv_h_pair (x1,x2) = (x1,Inter_h x2)) /\
(!x1.
funintenv_h_from_funenv_h (FUNENV_H x1) =
FUNINTENV_H (funint_h_finmap_from_funenv_finmap x1)) /\
(!x1.
funint_h_finmap_from_funenv_finmap (FINMAP x1) =
FINMAP (funint_h_list_from_funenv_list x1)) /\
(funint_h_list_from_funenv_list [] = []) /\
(!x1 x2.
funint_h_list_from_funenv_list (CONS x1 x2) =
CONS (funid_int_h_from_funid_funclos_h_pair x1)
(funint_h_list_from_funenv_list x2)) /\
(!x1 x2.
funid_int_h_from_funid_funclos_h_pair (x1,x2) =
(x1,Inter_funclos_h x2)) /\
(!x1 x2 x3 x4 x5.
Inter_funclos_h (FUNCLOS_H x1 x2 x3 x4 x5) =
((x4 = NONE)
=> (Inter_strexp_h x3 (Inter_basis_h x5))
| (SOME_arg x4))) /\
(!x1 x2 x3 x4.
Inter_h (ENV_H x1 x2 x3 x4) =
INT_H (funintenv_h_from_funenv_h x1) (strintenv_h_from_strenv_h x2)
(vars_from_varenv x3)
(excons_from_exconenv x4)) /\
(!x1 x2.
Inter_basis_h (BASIS_H x1 x2) =
INTBASIS_H x1 (strintenv_h_of_int_h (Inter_h x2))
(funintenv_h_of_int_h (Inter_h x2)))
- cut_env_h_DEF
-
|- (!x1 x2 x3 x4.
cut_env_h (ENV_H x1 x2 x3 x4) =
(\int_h.
ENV_H (cut_funenv_h x1 (funintenv_h_of_int_h int_h))
(cut_strenv_h x2 (strintenv_h_of_int_h int_h))
(cut_varenv x3 (vars_of_int_h int_h))
(cut_exconenv x4 (excons_of_int_h int_h)))) /\
(!x1.
cut_strenv_h (STRENV_H x1) =
(\strintenv_h. STRENV_H (cut_strenv_h_finmap x1 strintenv_h))) /\
(!x1.
cut_strenv_h_finmap (FINMAP x1) =
(\strintenv_h. FINMAP (cut_strenv_h_list x1 strintenv_h))) /\
(cut_strenv_h_list [] = (\strintenv_h. [])) /\
(!x1 x2.
cut_strenv_h_list (CONS x1 x2) =
(\strintenv_h.
(cut_strenv_h_pair x1 strintenv_h = undefined)
=> (cut_strenv_h_list x2 strintenv_h)
| (CONS (lower (cut_strenv_h_pair x1 strintenv_h))
(cut_strenv_h_list x2 strintenv_h)))) /\
(!x1 x2.
cut_strenv_h_pair (x1,x2) =
(\strintenv_h.
(lookup_strid_strintenv_h strintenv_h x1 = undefined)
=> undefined
| (lift
(x1,
cut_env_h x2
(lower (lookup_strid_strintenv_h strintenv_h x1)))))) /\
(!x1.
cut_funenv_h (FUNENV_H x1) =
(\funintenv_h. FUNENV_H (cut_funenv_h_finmap x1 funintenv_h))) /\
(!x1.
cut_funenv_h_finmap (FINMAP x1) =
(\funintenv_h. FINMAP (cut_funenv_h_list x1 funintenv_h))) /\
(cut_funenv_h_list [] = (\funintenv_h. [])) /\
(!x1 x2.
cut_funenv_h_list (CONS x1 x2) =
(\funintenv_h.
(cut_funenv_h_pair x1 funintenv_h = undefined)
=> (cut_funenv_h_list x2 funintenv_h)
| (CONS (lower (cut_funenv_h_pair x1 funintenv_h))
(cut_funenv_h_list x2 funintenv_h)))) /\
(!x1 x2.
cut_funenv_h_pair (x1,x2) =
(\funintenv_h.
(lookup_funid_funintenv_h funintenv_h x1 = undefined)
=> undefined
| (lift
(x1,
cut_funclos_h x2
(lower (lookup_funid_funintenv_h funintenv_h x1)))))) /\
(!x1 x2 x3 x4 x5.
cut_funclos_h (FUNCLOS_H x1 x2 x3 x4 x5) =
(\i. FUNCLOS_H x1 x2 x3 (SOME i) x5))
- cut_env_h_to_env_DEF
-
|- (!x1 x2 x3 x4.
cut_env_h_to_env (ENV_H x1 x2 x3 x4) =
ENV (cut_strenv_h_to_strenv x2) x3 x4) /\
(!x1.
cut_strenv_h_to_strenv (STRENV_H x1) =
STRENV (cut_strenv_h_finmap_to_strenv_finmap x1)) /\
(!x1.
cut_strenv_h_finmap_to_strenv_finmap (FINMAP x1) =
FINMAP (cut_strenv_h_list_to_strenv_list x1)) /\
(cut_strenv_h_list_to_strenv_list [] = []) /\
(!x1 x2.
cut_strenv_h_list_to_strenv_list (CONS x1 x2) =
CONS (cut_strenv_h_pair_to_strenv_pair x1)
(cut_strenv_h_list_to_strenv_list x2)) /\
(!x1 x2.
cut_strenv_h_pair_to_strenv_pair (x1,x2) = (x1,cut_env_h_to_env x2))
- env_in_env_h_DEF
-
|- (!x1 x2 x3.
env_in_env_h (ENV x1 x2 x3) =
ENV_H empty_funenv_h (strenv_in_strenv_h x1) x2 x3) /\
(!x1.
strenv_in_strenv_h (STRENV x1) =
STRENV_H (strenv_finmap_in_strenv_h_finmap x1)) /\
(!x1.
strenv_finmap_in_strenv_h_finmap (FINMAP x1) =
FINMAP (strenv_list_in_strenv_h_list x1)) /\
(strenv_list_in_strenv_h_list [] = []) /\
(!x1 x2.
strenv_list_in_strenv_h_list (CONS x1 x2) =
CONS (strenv_pair_in_strenv_h_pair x1)
(strenv_list_in_strenv_h_list x2)) /\
(!x1 x2. strenv_pair_in_strenv_h_pair (x1,x2) = (x1,env_in_env_h x2))
- HOFML_eval_signatures_pred_DEF
-
|- !eval_sigexp_h eval_spec_h eval_strdesc_h.
HOFML_eval_signatures_pred eval_sigexp_h eval_spec_h eval_strdesc_h =
(!i IB spec s1 s2.
eval_spec_h spec s1 IB s2 i ==>
eval_sigexp_h (SIGsigexp_h spec) s1 IB s2 i) /\
(!i IB s sigid.
(lookup_sigid_intbasis_h IB sigid = lift i) ==>
eval_sigexp_h (SIGIDsigexp_h sigid) s IB s i) /\
(!IB valdesc vars s1 s2.
eval_valdesc valdesc s1 s2 vars ==>
eval_spec_h (VALspec_h valdesc) s1 IB s2 (vars_in_int_h vars)) /\
(!IB excons exdesc s1 s2.
eval_exdesc exdesc s1 s2 excons ==>
eval_spec_h (EXCEPTIONspec_h exdesc) s1 IB s2
(excons_in_int_h excons)) /\
(!IB SIE strdesc_h s1 s2.
eval_strdesc_h strdesc_h s1 IB s2 SIE ==>
eval_spec_h (STRUCTUREspec_h strdesc_h) s1 IB s2
(strintenv_h_in_int_h SIE)) /\
(!IB I1 I2 spec_h1 spec_h2 s1 s2 s3.
eval_spec_h spec_h1 s1 IB s2 I1 /\
eval_spec_h spec_h2 s2
(add_strintenv_h_to_intbasis_h IB (strintenv_h_of_int_h I1))
s3
I2 ==>
eval_spec_h (LOCALspec_h spec_h1 spec_h2) s1 IB s3 I2) /\
(!IB nonempty_int_h_list nonempty_lift_int_h_list nonempty_longstrid_list
s.
(nonempty_MAP (lookup_longstrid_intbasis_h IB)
nonempty_longstrid_list =
nonempty_lift_int_h_list) /\
(nonempty_MAP lift nonempty_int_h_list = nonempty_lift_int_h_list) ==>
eval_spec_h (OPENspec_h nonempty_longstrid_list) s IB s
(nonempty_FOLDL_WITH_INIT add_int_h nonempty_int_h_list)) /\
(!IB nonempty_int_h_list nonempty_lift_int_h_list nonempty_sigid_list s.
(nonempty_MAP (lookup_sigid_intbasis_h IB) nonempty_sigid_list =
nonempty_lift_int_h_list) /\
(nonempty_MAP lift nonempty_int_h_list = nonempty_lift_int_h_list) ==>
eval_spec_h (INCLUDEspec_h nonempty_sigid_list) s IB s
(nonempty_FOLDL_WITH_INIT add_int_h nonempty_int_h_list)) /\
(!IB s. eval_spec_h EMPTYspec_h s IB s empty_int_h) /\
(!IB I1 I2 spec_h1 spec_h2 s1 s2 s3.
eval_spec_h spec_h1 s1 IB s2 I1 /\
eval_spec_h spec_h2 s2
(add_strintenv_h_to_intbasis_h IB (strintenv_h_of_int_h I1))
s3
I2 ==>
eval_spec_h (SEQspec_h spec_h1 spec_h2) s1 IB s3 (add_int_h I1 I2)) /\
(!IB I1 I2 funid sigexp_h sigexp_h' strid s1 s2 s3.
eval_sigexp_h sigexp_h s1 IB s2 I1 /\
eval_sigexp_h sigexp_h' s2
(add_strintenv_h_to_intbasis_h IB (strintenv_h_map strid I1))
s3
I2 ==>
eval_spec_h (FUNCTORspec_h funid strid sigexp_h sigexp_h') s1 IB s3
(funintenv_h_in_int_h (funintenv_h_map funid I1))) /\
(!i IB sigexp_h strid s1 s2.
eval_sigexp_h sigexp_h s1 IB s2 i ==>
eval_strdesc_h (STRIDstrdesc_h strid sigexp_h NONE) s1 IB s2
(strintenv_h_map strid i)) /\
(!i IB SIE sigexp_h strdesc_h strid s1 s2 s3.
eval_sigexp_h sigexp_h s1 IB s2 i /\
eval_strdesc_h strdesc_h s2 IB s3 SIE ==>
eval_strdesc_h (STRIDstrdesc_h strid sigexp_h (SOME strdesc_h)) s1 IB
s3
(add_strintenv_h (strintenv_h_map strid i) SIE))
- eval_sigexp_h_DEF
-
|- !sigexp_h s1 IB s2 i.
eval_sigexp_h sigexp_h s1 IB s2 i =
(!poss_eval_sigexp_h poss_eval_spec_h poss_eval_strdesc_h.
HOFML_eval_signatures_pred poss_eval_sigexp_h poss_eval_spec_h
poss_eval_strdesc_h ==>
poss_eval_sigexp_h sigexp_h s1 IB s2 i)
- eval_spec_h_DEF
-
|- !spec_h s1 IB s2 i.
eval_spec_h spec_h s1 IB s2 i =
(!poss_eval_sigexp_h poss_eval_spec_h poss_eval_strdesc_h.
HOFML_eval_signatures_pred poss_eval_sigexp_h poss_eval_spec_h
poss_eval_strdesc_h ==>
poss_eval_spec_h spec_h s1 IB s2 i)
- eval_strdesc_h_DEF
-
|- !strdesc_h s1 IB s2 int_h.
eval_strdesc_h strdesc_h s1 IB s2 int_h =
(!poss_eval_sigexp_h poss_eval_spec_h poss_eval_strdesc_h.
HOFML_eval_signatures_pred poss_eval_sigexp_h poss_eval_spec_h
poss_eval_strdesc_h ==>
poss_eval_strdesc_h strdesc_h s1 IB s2 int_h)
- eval_sigbind_h_DEF
-
|- ((!sigexp_h s1 IB s2 i.
eval_sigexp_h sigexp_h s1 IB s2 i ==>
(!sigid.
eval_sigbind_h (BINDsigbind_h sigid sigexp_h NONE) s1 IB s2
(sigenv_h_map sigid i))) /\
(!sigbind_h IB s3 G sigexp_h s1 i.
(?s2.
eval_sigbind_h sigbind_h s2 IB s3 G /\
eval_sigexp_h sigexp_h s1 IB s2 i) ==>
(!sigid.
eval_sigbind_h (BINDsigbind_h sigid sigexp_h (SOME sigbind_h)) s1 IB
s3
(add_sigenv_h (sigenv_h_map sigid i) G)))) /\
(!P.
(!sigexp_h s1 IB s2 i.
eval_sigexp_h sigexp_h s1 IB s2 i ==>
(!sigid.
P (BINDsigbind_h sigid sigexp_h NONE) s1 IB s2
(sigenv_h_map sigid i))) /\
(!sigbind_h IB s3 G sigexp_h s1 i.
(?s2. P sigbind_h s2 IB s3 G /\ eval_sigexp_h sigexp_h s1 IB s2 i) ==>
(!sigid.
P (BINDsigbind_h sigid sigexp_h (SOME sigbind_h)) s1 IB s3
(add_sigenv_h (sigenv_h_map sigid i) G))) ==>
(!sigbind_h s1 IB s2 G.
eval_sigbind_h sigbind_h s1 IB s2 G ==> P sigbind_h s1 IB s2 G))
- eval_sigdec_h_DEF
-
|- ((!sigbind_h s1 IB s2 G.
eval_sigbind_h sigbind_h s1 IB s2 G ==>
eval_sigdec_h (SIGNATUREsigdec_h sigbind_h) s1 IB s2 G) /\
(!s IB. eval_sigdec_h EMPTYsigdec_h s IB s empty_sigenv_h) /\
(!sigdec_h1 s1 IB G1 sigdec_h2 s3 G2.
(?s2.
eval_sigdec_h sigdec_h1 s1 IB s2 G1 /\
eval_sigdec_h sigdec_h2 s2 (add_sigenv_h_to_intbasis_h IB G1) s3
G2) ==>
eval_sigdec_h (SEQsigdec_h sigdec_h1 sigdec_h2) s1 IB s3
(add_sigenv_h G1 G2))) /\
(!P.
(!sigbind_h s1 IB s2 G.
eval_sigbind_h sigbind_h s1 IB s2 G ==>
P (SIGNATUREsigdec_h sigbind_h) s1 IB s2 G) /\
(!s IB. P EMPTYsigdec_h s IB s empty_sigenv_h) /\
(!sigdec_h1 s1 IB G1 sigdec_h2 s3 G2.
(?s2.
P sigdec_h1 s1 IB s2 G1 /\
P sigdec_h2 s2 (add_sigenv_h_to_intbasis_h IB G1) s3 G2) ==>
P (SEQsigdec_h sigdec_h1 sigdec_h2) s1 IB s3 (add_sigenv_h G1 G2)) ==>
(!sigdec_h s1 IB s2 G.
eval_sigdec_h sigdec_h s1 IB s2 G ==> P sigdec_h s1 IB s2 G))
- HOFML_eval_structures_pred_DEF
-
|- !eval_strexp_h eval_moddec_h eval_strbind_h eval_funbind_h.
HOFML_eval_structures_pred eval_strexp_h eval_moddec_h eval_strbind_h
eval_funbind_h =
(!B E moddec_h s1 s2.
eval_moddec_h moddec_h s1 B s2 (ENVep_h E) ==>
eval_strexp_h (STRUCTstrexp_h moddec_h) s1 B s2 (ENVep_h E)) /\
(!B p moddec_h s1 s2.
eval_moddec_h moddec_h s1 B s2 (PACKep_h p) ==>
eval_strexp_h (STRUCTstrexp_h moddec_h) s1 B s2 (PACKep_h p)) /\
(!B E longstrid s.
(lift E = lookup_longstrid_basis_h B longstrid) ==>
eval_strexp_h (LONGSTRIDstrexp_h longstrid) s B s (ENVep_h E)) /\
(!B B' E E' i longfunid strexp_h strexp_h' strid s1 s2 s3.
(lift (FUNCLOS_H strid i strexp_h' NONE B') =
lookup_longfunid_basis_h B longfunid) /\
eval_strexp_h strexp_h s1 B s2 (ENVep_h E) /\
eval_strexp_h strexp_h' s2
(add_basis_h B'
(strenv_h_in_basis_h (strenv_h_map strid (cut_env_h E i))))
s3
(ENVep_h E') ==>
eval_strexp_h (APPstrexp_h longfunid strexp_h) s1 B s3 (ENVep_h E')) /\
(!B B' i longfunid p strexp_h strexp_h' strid s1 s2.
(lift (FUNCLOS_H strid i strexp_h' NONE B') =
lookup_longfunid_basis_h B longfunid) /\
eval_strexp_h strexp_h s1 B s2 (PACKep_h p) ==>
eval_strexp_h (APPstrexp_h longfunid strexp_h) s1 B s2 (PACKep_h p)) /\
(!B B' E i longfunid p strexp_h strexp_h' strid s1 s2 s3.
(lift (FUNCLOS_H strid i strexp_h' NONE B') =
lookup_longfunid_basis_h B longfunid) /\
eval_strexp_h strexp_h s1 B s2 (ENVep_h E) /\
eval_strexp_h strexp_h' s2
(add_basis_h B'
(strenv_h_in_basis_h (strenv_h_map strid (cut_env_h E i))))
s3
(PACKep_h p) ==>
eval_strexp_h (APPstrexp_h longfunid strexp_h) s1 B s3 (PACKep_h p)) /\
(!B B' E E' i i' longfunid strexp_h strexp_h' strid s1 s2 s3.
(lift (FUNCLOS_H strid i strexp_h' (SOME i') B') =
lookup_longfunid_basis_h B longfunid) /\
eval_strexp_h strexp_h s1 B s2 (ENVep_h E) /\
eval_strexp_h strexp_h' s2
(add_basis_h B'
(strenv_h_in_basis_h (strenv_h_map strid (cut_env_h E i))))
s3
(ENVep_h E') ==>
eval_strexp_h (APPstrexp_h longfunid strexp_h) s1 B s3
(ENVep_h (cut_env_h E' i'))) /\
(!B B' i i' longfunid p strexp_h strexp_h' strid s1 s2.
(lift (FUNCLOS_H strid i strexp_h' (SOME i') B') =
lookup_longfunid_basis_h B longfunid) /\
eval_strexp_h strexp_h s1 B s2 (PACKep_h p) ==>
eval_strexp_h (APPstrexp_h longfunid strexp_h) s1 B s2 (PACKep_h p)) /\
(!B B' E i i' longfunid p strexp_h strexp_h' strid s1 s2 s3.
(lift (FUNCLOS_H strid i strexp_h' (SOME i') B') =
lookup_longfunid_basis_h B longfunid) /\
eval_strexp_h strexp_h s1 B s2 (ENVep_h E) /\
eval_strexp_h strexp_h' s2
(add_basis_h B'
(strenv_h_in_basis_h (strenv_h_map strid (cut_env_h E i))))
s3
(PACKep_h p) ==>
eval_strexp_h (APPstrexp_h longfunid strexp_h) s1 B s3 (PACKep_h p)) /\
(!B E E' moddec_h strexp_h s1 s2 s3.
eval_moddec_h moddec_h s1 B s2 (ENVep_h E) /\
eval_strexp_h strexp_h s2 (add_env_h_to_basis_h B E) s3
(ENVep_h E') ==>
eval_strexp_h (LETstrexp_h moddec_h strexp_h) s1 B s3 (ENVep_h E')) /\
(!B p moddec_h strexp_h s1 s2.
eval_moddec_h moddec_h s1 B s2 (PACKep_h p) ==>
eval_strexp_h (LETstrexp_h moddec_h strexp_h) s1 B s2 (PACKep_h p)) /\
(!B E p moddec_h strexp_h s1 s2 s3.
eval_moddec_h moddec_h s1 B s2 (ENVep_h E) /\
eval_strexp_h strexp_h s2 (add_env_h_to_basis_h B E) s3
(PACKep_h p) ==>
eval_strexp_h (LETstrexp_h moddec_h strexp_h) s1 B s3 (PACKep_h p)) /\
(!B E' dec s1 s2.
eval_dec dec s1 (cut_env_h_to_env (env_h_of_basis_h B)) s2
(ENVep E') ==>
eval_moddec_h (DECmoddec_h dec) s1 B s2 (ENVep_h (env_in_env_h E'))) /\
(!B dec p s1 s2.
eval_dec dec s1 (cut_env_h_to_env (env_h_of_basis_h B)) s2
(PACKep p) ==>
eval_moddec_h (DECmoddec_h dec) s1 B s2 (PACKep_h p)) /\
(!B SE strbind_h s1 s2.
eval_strbind_h strbind_h s1 B s2 (STRENVsp_h SE) ==>
eval_moddec_h (STRUCTUREmoddec_h strbind_h) s1 B s2
(ENVep_h (strenv_h_in_env_h SE))) /\
(!B p strbind_h s1 s2.
eval_strbind_h strbind_h s1 B s2 (PACKsp_h p) ==>
eval_moddec_h (STRUCTUREmoddec_h strbind_h) s1 B s2 (PACKep_h p)) /\
(!B E1 E2 moddec_h1 moddec_h2 s1 s2 s3.
eval_moddec_h moddec_h1 s1 B s2 (ENVep_h E1) /\
eval_moddec_h moddec_h2 s2 (add_env_h_to_basis_h B E1) s3
(ENVep_h E2) ==>
eval_moddec_h (LOCALmoddec_h moddec_h1 moddec_h2) s1 B s3
(ENVep_h E2)) /\
(!B p moddec_h1 moddec_h2 s1 s2.
eval_moddec_h moddec_h1 s1 B s2 (PACKep_h p) ==>
eval_moddec_h (LOCALmoddec_h moddec_h1 moddec_h2) s1 B s2
(PACKep_h p)) /\
(!B E p moddec_h1 moddec_h2 s1 s2 s3.
eval_moddec_h moddec_h1 s1 B s2 (ENVep_h E) /\
eval_moddec_h moddec_h2 s2 (add_env_h_to_basis_h B E) s3
(PACKep_h p) ==>
eval_moddec_h (LOCALmoddec_h moddec_h1 moddec_h2) s1 B s3
(PACKep_h p)) /\
(!B E_1_n longstrid_1_n s.
(nonempty_MAP (lookup_longstrid_basis_h B) longstrid_1_n =
nonempty_MAP lift E_1_n) ==>
eval_moddec_h (OPENmoddec_h longstrid_1_n) s B s
(ENVep_h (nonempty_FOLDL_WITH_INIT add_env_h E_1_n))) /\
(!B s. eval_moddec_h EMPTYmoddec_h s B s (ENVep_h empty_env_h)) /\
(!B E1 E2 moddec_h1 moddec_h2 s1 s2 s3.
eval_moddec_h moddec_h1 s1 B s2 (ENVep_h E1) /\
eval_moddec_h moddec_h2 s2 (add_env_h_to_basis_h B E1) s3
(ENVep_h E2) ==>
eval_moddec_h (SEQmoddec_h moddec_h1 moddec_h2) s1 B s3
(ENVep_h (add_env_h E1 E2))) /\
(!B p moddec_h1 moddec_h2 s1 s2.
eval_moddec_h moddec_h1 s1 B s2 (PACKep_h p) ==>
eval_moddec_h (SEQmoddec_h moddec_h1 moddec_h2) s1 B s2
(PACKep_h p)) /\
(!B E p moddec_h1 moddec_h2 s1 s2 s3.
eval_moddec_h moddec_h1 s1 B s2 (ENVep_h E) /\
eval_moddec_h moddec_h2 s2 (add_env_h_to_basis_h B E) s3
(PACKep_h p) ==>
eval_moddec_h (SEQmoddec_h moddec_h1 moddec_h2) s1 B s3
(PACKep_h p)) /\
(!B f funbind_h s1 s2.
eval_funbind_h funbind_h s1 B s2 f ==>
eval_moddec_h (FUNCTORmoddec_h funbind_h) s1 B s2
(ENVep_h (funenv_h_in_env_h f))) /\
(!B E strexp_h strid s1 s2.
eval_strexp_h strexp_h s1 B s2 (ENVep_h E) ==>
eval_strbind_h (BINDstrbind_h strid NONE strexp_h NONE) s1 B s2
(STRENVsp_h (strenv_h_map strid E))) /\
(!B p strexp_h strid s1 s2.
eval_strexp_h strexp_h s1 B s2 (PACKep_h p) ==>
eval_strbind_h (BINDstrbind_h strid NONE strexp_h NONE) s1 B s2
(PACKsp_h p)) /\
(!B E i sigexp_h strexp_h strid s1 s2 s3.
eval_strexp_h strexp_h s1 B s2 (ENVep_h E) /\
eval_sigexp_h sigexp_h s2 (Inter_basis_h B) s3 i ==>
eval_strbind_h (BINDstrbind_h strid (SOME sigexp_h) strexp_h NONE) s1 B
s3
(STRENVsp_h (strenv_h_map strid (cut_env_h E i)))) /\
(!B p sigexp_h strexp_h strid s1 s2.
eval_strexp_h strexp_h s1 B s2 (PACKep_h p) ==>
eval_strbind_h (BINDstrbind_h strid (SOME sigexp_h) strexp_h NONE) s1 B
s2
(PACKsp_h p)) /\
(!B E SE strbind_h strexp_h strid s1 s2 s3.
eval_strexp_h strexp_h s1 B s2 (ENVep_h E) /\
eval_strbind_h strbind_h s2 B s3 (STRENVsp_h SE) ==>
eval_strbind_h (BINDstrbind_h strid NONE strexp_h (SOME strbind_h)) s1
B
s3
(STRENVsp_h (add_strenv_h (strenv_h_map strid E) SE))) /\
(!B p strbind_h strexp_h strid s1 s2.
eval_strexp_h strexp_h s1 B s2 (PACKep_h p) ==>
eval_strbind_h (BINDstrbind_h strid NONE strexp_h (SOME strbind_h)) s1
B
s2
(PACKsp_h p)) /\
(!B E p strbind_h strexp_h strid s1 s2 s3.
eval_strexp_h strexp_h s1 B s2 (ENVep_h E) /\
eval_strbind_h strbind_h s2 B s3 (PACKsp_h p) ==>
eval_strbind_h (BINDstrbind_h strid NONE strexp_h (SOME strbind_h)) s1
B
s3
(PACKsp_h p)) /\
(!B E i SE sigexp_h strbind_h strexp_h strid s1 s2 s3 s4.
eval_strexp_h strexp_h s1 B s2 (ENVep_h E) /\
eval_sigexp_h sigexp_h s2 (Inter_basis_h B) s3 i /\
eval_strbind_h strbind_h s3 B s4 (STRENVsp_h SE) ==>
eval_strbind_h
(BINDstrbind_h strid (SOME sigexp_h) strexp_h (SOME strbind_h))
s1
B
s4
(STRENVsp_h
(add_strenv_h (strenv_h_map strid (cut_env_h E i)) SE))) /\
(!B p sigexp_h strbind_h strexp_h strid s1 s2.
eval_strexp_h strexp_h s1 B s2 (PACKep_h p) ==>
eval_strbind_h
(BINDstrbind_h strid (SOME sigexp_h) strexp_h (SOME strbind_h))
s1
B
s2
(PACKsp_h p)) /\
(!B E i p sigexp_h strbind_h strexp_h strid s1 s2 s3 s4.
eval_strexp_h strexp_h s1 B s2 (ENVep_h E) /\
eval_sigexp_h sigexp_h s2 (Inter_basis_h B) s3 i /\
eval_strbind_h strbind_h s3 B s4 (PACKsp_h p) ==>
eval_strbind_h
(BINDstrbind_h strid (SOME sigexp_h) strexp_h (SOME strbind_h))
s1
B
s4
(PACKsp_h p)) /\
(!B funid i sigexp_h strexp_h strid s1 s2.
eval_sigexp_h sigexp_h s1 (Inter_basis_h B) s2 i ==>
eval_funbind_h (BINDfunbind_h funid strid sigexp_h NONE strexp_h NONE)
s1
B
s2
(funenv_h_map funid (FUNCLOS_H strid i strexp_h NONE B))) /\
(!B funid i i' sigexp_h sigexp_h' strexp_h strid s1 s2 s3.
eval_sigexp_h sigexp_h s1 (Inter_basis_h B) s2 i /\
eval_sigexp_h sigexp_h' s2
(add_strintenv_h_to_intbasis_h (Inter_basis_h B)
(strintenv_h_map strid i))
s3
i' ==>
eval_funbind_h
(BINDfunbind_h funid strid sigexp_h (SOME sigexp_h') strexp_h NONE)
s1
B
s3
(funenv_h_map funid (FUNCLOS_H strid i strexp_h (SOME i') B))) /\
(!B funbind_h funid f i sigexp_h strexp_h strid s1 s2 s3.
eval_sigexp_h sigexp_h s1 (Inter_basis_h B) s2 i /\
eval_funbind_h funbind_h s2 B s3 f ==>
eval_funbind_h
(BINDfunbind_h funid strid sigexp_h NONE strexp_h (SOME funbind_h))
s1
B
s3
(add_funenv_h
(funenv_h_map funid (FUNCLOS_H strid i strexp_h NONE B))
f)) /\
(!B funbind_h funid f i i' sigexp_h sigexp_h' strexp_h strid s1 s2 s3 s4.
eval_sigexp_h sigexp_h s1 (Inter_basis_h B) s2 i /\
eval_sigexp_h sigexp_h' s2
(add_strintenv_h_to_intbasis_h (Inter_basis_h B)
(strintenv_h_map strid i))
s3
i' /\
eval_funbind_h funbind_h s3 B s4 f ==>
eval_funbind_h
(BINDfunbind_h funid strid sigexp_h (SOME sigexp_h') strexp_h
(SOME funbind_h))
s1
B
s4
(add_funenv_h
(funenv_h_map funid (FUNCLOS_H strid i strexp_h (SOME i') B))
f)) /\
(!B funclos_h funid longfunid s.
(lookup_longfunid_basis_h B longfunid = lift funclos_h) ==>
eval_funbind_h (REBINDfunbind_h funid longfunid) s B s
(funenv_h_map funid funclos_h))
- eval_strexp_h_DEF
-
|- !strexp_h s1 B s2 ep.
eval_strexp_h strexp_h s1 B s2 ep =
(!poss_eval_strexp_h poss_eval_moddec_h poss_eval_strbind_h
poss_eval_funbind_h.
HOFML_eval_structures_pred poss_eval_strexp_h poss_eval_moddec_h
poss_eval_strbind_h
poss_eval_funbind_h ==>
poss_eval_strexp_h strexp_h s1 B s2 ep)
- eval_moddec_h_DEF
-
|- !moddec_h s1 B s2 ep.
eval_moddec_h moddec_h s1 B s2 ep =
(!poss_eval_strexp_h poss_eval_moddec_h poss_eval_strbind_h
poss_eval_funbind_h.
HOFML_eval_structures_pred poss_eval_strexp_h poss_eval_moddec_h
poss_eval_strbind_h
poss_eval_funbind_h ==>
poss_eval_moddec_h moddec_h s1 B s2 ep)
- eval_strbind_h_DEF
-
|- !strbind_h s1 B s2 sep.
eval_strbind_h strbind_h s1 B s2 sep =
(!poss_eval_strexp_h poss_eval_moddec_h poss_eval_strbind_h
poss_eval_funbind_h.
HOFML_eval_structures_pred poss_eval_strexp_h poss_eval_moddec_h
poss_eval_strbind_h
poss_eval_funbind_h ==>
poss_eval_strbind_h strbind_h s1 B s2 sep)
- eval_funbind_h_DEF
-
|- !funbind_h s1 B s2 fe.
eval_funbind_h funbind_h s1 B s2 fe =
(!poss_eval_strexp_h poss_eval_moddec_h poss_eval_strbind_h
poss_eval_funbind_h.
HOFML_eval_structures_pred poss_eval_strexp_h poss_eval_moddec_h
poss_eval_strbind_h
poss_eval_funbind_h ==>
poss_eval_funbind_h funbind_h s1 B s2 fe)
- eval_topdec_h_DEF
-
|- ((!moddec_h s1 B s2 E.
eval_moddec_h moddec_h s1 B s2 (ENVep_h E) ==>
eval_topdec_h (MODDEC_H moddec_h) s1 B s2
(BASISbp_h (env_h_in_basis_h E))) /\
(!moddec_h s1 B s2 p.
eval_moddec_h moddec_h s1 B s2 (PACKep_h p) ==>
eval_topdec_h (MODDEC_H moddec_h) s1 B s2 (PACKbp_h p)) /\
(!sigdec_h s1 B s2 G.
eval_sigdec_h sigdec_h s1 (Inter_basis_h B) s2 G ==>
eval_topdec_h (SIGDEC_H sigdec_h) s1 B s2
(BASISbp_h (sigenv_h_in_basis_h G)))) /\
(!P.
(!moddec_h s1 B s2 E.
eval_moddec_h moddec_h s1 B s2 (ENVep_h E) ==>
P (MODDEC_H moddec_h) s1 B s2 (BASISbp_h (env_h_in_basis_h E))) /\
(!moddec_h s1 B s2 p.
eval_moddec_h moddec_h s1 B s2 (PACKep_h p) ==>
P (MODDEC_H moddec_h) s1 B s2 (PACKbp_h p)) /\
(!sigdec_h s1 B s2 G.
eval_sigdec_h sigdec_h s1 (Inter_basis_h B) s2 G ==>
P (SIGDEC_H sigdec_h) s1 B s2 (BASISbp_h (sigenv_h_in_basis_h G))) ==>
(!topdec_h s1 B s2 bp.
eval_topdec_h topdec_h s1 B s2 bp ==> P topdec_h s1 B s2 bp))