TPTP Problem File: SWW928+1.p
View Solutions
- Solve Problem
%------------------------------------------------------------------------------
% File : SWW928+1 : TPTP v8.2.0. Released v7.3.0.
% Domain : Software Verification
% Problem : bvl_inlineProof__14__tick_code_rel_insert__dep
% Version : Especial.
% English :
% Refs : [Kum18] Kumar (2018), Email to Geoff Sutcliffe
% Source : [Kum18]
% Names : bvl_inlineProof__14__tick_code_rel_insert__dep [Kum18]
% Status : Theorem
% Rating : 1.00 v7.3.0
% Syntax : Number of formulae : 35 ( 4 unt; 0 def)
% Number of atoms : 171 ( 78 equ)
% Maximal formula atoms : 25 ( 4 avg)
% Number of connectives : 150 ( 14 ~; 9 |; 65 &)
% ( 32 <=>; 30 =>; 0 <=; 0 <~>)
% Maximal formula depth : 29 ( 8 avg)
% Maximal term depth : 16 ( 2 avg)
% Number of predicates : 2 ( 1 usr; 0 prp; 1-2 aty)
% Number of functors : 48 ( 48 usr; 10 con; 0-4 aty)
% Number of variables : 191 ( 187 !; 4 ?)
% SPC : FOF_THM_RFO_SEQ
% Comments :
%------------------------------------------------------------------------------
fof('HL_TRUTH',axiom,
p__01(s__02(cbool__00,cT__00)) ).
fof('HL_FALSITY',axiom,
~ p__01(s__02(cbool__00,cF__00)) ).
fof('HL_BOOL_CASES',axiom,
! [Vt] :
( s__02(cbool__00,Vt) = s__02(cbool__00,cT__00)
| s__02(cbool__00,Vt) = s__02(cbool__00,cF__00) ) ).
fof('HL_EXT',axiom,
! [V_3f2384,V_3f2380,Vf,Vg] :
( ! [Vx] : s__02(V_3f2380,chapp__02(s__02(cfun__02(V_3f2384,V_3f2380),Vf),s__02(V_3f2384,Vx))) = s__02(V_3f2380,chapp__02(s__02(cfun__02(V_3f2384,V_3f2380),Vg),s__02(V_3f2384,Vx)))
=> s__02(cfun__02(V_3f2384,V_3f2380),Vf) = s__02(cfun__02(V_3f2384,V_3f2380),Vg) ) ).
fof('thm.bool.TRUTH',axiom,
p__01(s__02(cbool__00,cT__00)) ).
fof('thm.bool.IMP_ANTISYM_AX',axiom,
! [V_27t1_27,V_27t2_27] :
( ( p__01(s__02(cbool__00,V_27t1_27))
=> p__01(s__02(cbool__00,V_27t2_27)) )
=> ( ( p__01(s__02(cbool__00,V_27t2_27))
=> p__01(s__02(cbool__00,V_27t1_27)) )
=> s__02(cbool__00,V_27t1_27) = s__02(cbool__00,V_27t2_27) ) ) ).
fof('thm.bool.FALSITY',axiom,
! [V_27t_27] :
( p__01(s__02(cbool__00,cF__00))
=> p__01(s__02(cbool__00,V_27t_27)) ) ).
fof('thm.bool.EXCLUDED_MIDDLE',axiom,
! [V_27t_27] :
( p__01(s__02(cbool__00,V_27t_27))
| ~ p__01(s__02(cbool__00,V_27t_27)) ) ).
fof('thm.bool.AND_CLAUSES',axiom,
! [V_27t_27] :
( ( ( p__01(s__02(cbool__00,cT__00))
& p__01(s__02(cbool__00,V_27t_27)) )
<=> p__01(s__02(cbool__00,V_27t_27)) )
& ( ( p__01(s__02(cbool__00,V_27t_27))
& p__01(s__02(cbool__00,cT__00)) )
<=> p__01(s__02(cbool__00,V_27t_27)) )
& ( ( p__01(s__02(cbool__00,cF__00))
& p__01(s__02(cbool__00,V_27t_27)) )
<=> p__01(s__02(cbool__00,cF__00)) )
& ( ( p__01(s__02(cbool__00,V_27t_27))
& p__01(s__02(cbool__00,cF__00)) )
<=> p__01(s__02(cbool__00,cF__00)) )
& ( ( p__01(s__02(cbool__00,V_27t_27))
& p__01(s__02(cbool__00,V_27t_27)) )
<=> p__01(s__02(cbool__00,V_27t_27)) ) ) ).
fof('thm.bool.IMP_CLAUSES',axiom,
! [V_27t_27] :
( ( ( p__01(s__02(cbool__00,cT__00))
=> p__01(s__02(cbool__00,V_27t_27)) )
<=> p__01(s__02(cbool__00,V_27t_27)) )
& ( ( p__01(s__02(cbool__00,V_27t_27))
=> p__01(s__02(cbool__00,cT__00)) )
<=> p__01(s__02(cbool__00,cT__00)) )
& ( ( p__01(s__02(cbool__00,cF__00))
=> p__01(s__02(cbool__00,V_27t_27)) )
<=> p__01(s__02(cbool__00,cT__00)) )
& ( ( p__01(s__02(cbool__00,V_27t_27))
=> p__01(s__02(cbool__00,V_27t_27)) )
<=> p__01(s__02(cbool__00,cT__00)) )
& ( ( p__01(s__02(cbool__00,V_27t_27))
=> p__01(s__02(cbool__00,cF__00)) )
<=> ~ p__01(s__02(cbool__00,V_27t_27)) ) ) ).
fof('thm.bool.NOT_CLAUSES',axiom,
( ! [V_27t_27] :
( ~ ~ p__01(s__02(cbool__00,V_27t_27))
<=> p__01(s__02(cbool__00,V_27t_27)) )
& ( ~ p__01(s__02(cbool__00,cT__00))
<=> p__01(s__02(cbool__00,cF__00)) )
& ( ~ p__01(s__02(cbool__00,cF__00))
<=> p__01(s__02(cbool__00,cT__00)) ) ) ).
fof('thm.bool.REFL_CLAUSE',axiom,
! [V_27A_27,V_27x_27] :
( s__02(V_27A_27,V_27x_27) = s__02(V_27A_27,V_27x_27)
<=> p__01(s__02(cbool__00,cT__00)) ) ).
fof('thm.bool.EQ_SYM_EQ',axiom,
! [V_27A_27,V_27x_27,V_27y_27] :
( s__02(V_27A_27,V_27x_27) = s__02(V_27A_27,V_27y_27)
<=> s__02(V_27A_27,V_27y_27) = s__02(V_27A_27,V_27x_27) ) ).
fof('thm.bool.EQ_CLAUSES',axiom,
! [V_27t_27] :
( ( s__02(cbool__00,cT__00) = s__02(cbool__00,V_27t_27)
<=> p__01(s__02(cbool__00,V_27t_27)) )
& ( s__02(cbool__00,V_27t_27) = s__02(cbool__00,cT__00)
<=> p__01(s__02(cbool__00,V_27t_27)) )
& ( s__02(cbool__00,cF__00) = s__02(cbool__00,V_27t_27)
<=> ~ p__01(s__02(cbool__00,V_27t_27)) )
& ( s__02(cbool__00,V_27t_27) = s__02(cbool__00,cF__00)
<=> ~ p__01(s__02(cbool__00,V_27t_27)) ) ) ).
fof('thm.bool.COND_CLAUSES',axiom,
! [V_27A_27,V_27t1_27,V_27t2_27] :
( s__02(V_27A_27,c_27const_2ebool_2eCOND_27__03(s__02(cbool__00,cT__00),s__02(V_27A_27,V_27t1_27),s__02(V_27A_27,V_27t2_27))) = s__02(V_27A_27,V_27t1_27)
& s__02(V_27A_27,c_27const_2ebool_2eCOND_27__03(s__02(cbool__00,cF__00),s__02(V_27A_27,V_27t1_27),s__02(V_27A_27,V_27t2_27))) = s__02(V_27A_27,V_27t2_27) ) ).
fof('thm.bool.LEFT_FORALL_IMP_THM',axiom,
! [V_27A_27,V_27P_27,V_27Q_27] :
( ! [V_27x_27] :
( p__01(s__02(cbool__00,chapp__02(s__02(cfun__02(V_27A_27,cbool__00),V_27P_27),s__02(V_27A_27,V_27x_27))))
=> p__01(s__02(cbool__00,V_27Q_27)) )
<=> ( ? [V_27x_27] : p__01(s__02(cbool__00,chapp__02(s__02(cfun__02(V_27A_27,cbool__00),V_27P_27),s__02(V_27A_27,V_27x_27))))
=> p__01(s__02(cbool__00,V_27Q_27)) ) ) ).
fof('thm.bool.DISJ_ASSOC',axiom,
! [V_27A_270,V_27B_270,V_27C_270] :
( ( p__01(s__02(cbool__00,V_27A_270))
| p__01(s__02(cbool__00,V_27B_270))
| p__01(s__02(cbool__00,V_27C_270)) )
<=> ( p__01(s__02(cbool__00,V_27A_270))
| p__01(s__02(cbool__00,V_27B_270))
| p__01(s__02(cbool__00,V_27C_270)) ) ) ).
fof('thm.bool.DISJ_COMM',axiom,
! [V_27A_270,V_27B_270] :
( ( p__01(s__02(cbool__00,V_27A_270))
| p__01(s__02(cbool__00,V_27B_270)) )
<=> ( p__01(s__02(cbool__00,V_27B_270))
| p__01(s__02(cbool__00,V_27A_270)) ) ) ).
fof('thm.bool.IMP_DISJ_THM',axiom,
! [V_27A_270,V_27B_270] :
( ( p__01(s__02(cbool__00,V_27A_270))
=> p__01(s__02(cbool__00,V_27B_270)) )
<=> ( ~ p__01(s__02(cbool__00,V_27A_270))
| p__01(s__02(cbool__00,V_27B_270)) ) ) ).
fof('thm.bool.AND_IMP_INTRO',axiom,
! [V_27t1_27,V_27t2_27,V_27t3_27] :
( ( p__01(s__02(cbool__00,V_27t1_27))
=> ( p__01(s__02(cbool__00,V_27t2_27))
=> p__01(s__02(cbool__00,V_27t3_27)) ) )
<=> ( ( p__01(s__02(cbool__00,V_27t1_27))
& p__01(s__02(cbool__00,V_27t2_27)) )
=> p__01(s__02(cbool__00,V_27t3_27)) ) ) ).
fof('thm.bool.IMP_CONG',axiom,
! [V_27x_27,V_27x_7c39_7c_27,V_27y_27,V_27y_7c39_7c_27] :
( ( s__02(cbool__00,V_27x_27) = s__02(cbool__00,V_27x_7c39_7c_27)
& ( p__01(s__02(cbool__00,V_27x_7c39_7c_27))
=> s__02(cbool__00,V_27y_27) = s__02(cbool__00,V_27y_7c39_7c_27) ) )
=> ( ( p__01(s__02(cbool__00,V_27x_27))
=> p__01(s__02(cbool__00,V_27y_27)) )
<=> ( p__01(s__02(cbool__00,V_27x_7c39_7c_27))
=> p__01(s__02(cbool__00,V_27y_7c39_7c_27)) ) ) ) ).
fof('thm.bool.COND_CONG',axiom,
! [V_27A_27,V_27P_27,V_27Q_27,V_27x_27,V_27x_7c39_7c_27,V_27y_27,V_27y_7c39_7c_27] :
( ( s__02(cbool__00,V_27P_27) = s__02(cbool__00,V_27Q_27)
& ( p__01(s__02(cbool__00,V_27Q_27))
=> s__02(V_27A_27,V_27x_27) = s__02(V_27A_27,V_27x_7c39_7c_27) )
& ( ~ p__01(s__02(cbool__00,V_27Q_27))
=> s__02(V_27A_27,V_27y_27) = s__02(V_27A_27,V_27y_7c39_7c_27) ) )
=> s__02(V_27A_27,c_27const_2ebool_2eCOND_27__03(s__02(cbool__00,V_27P_27),s__02(V_27A_27,V_27x_27),s__02(V_27A_27,V_27y_27))) = s__02(V_27A_27,c_27const_2ebool_2eCOND_27__03(s__02(cbool__00,V_27Q_27),s__02(V_27A_27,V_27x_7c39_7c_27),s__02(V_27A_27,V_27y_7c39_7c_27))) ) ).
fof('thm.bool.UNWIND_THM2',axiom,
! [V_27A_27,V_27P_27,V_27a_27] :
( ? [V_27x_27] :
( s__02(V_27A_27,V_27x_27) = s__02(V_27A_27,V_27a_27)
& p__01(s__02(cbool__00,chapp__02(s__02(cfun__02(V_27A_27,cbool__00),V_27P_27),s__02(V_27A_27,V_27x_27)))) )
<=> p__01(s__02(cbool__00,chapp__02(s__02(cfun__02(V_27A_27,cbool__00),V_27P_27),s__02(V_27A_27,V_27a_27)))) ) ).
fof('thm.bool.UNWIND_FORALL_THM2',axiom,
! [V_27A_27,V_27f_27,V_27v_27] :
( ! [V_27x_27] :
( s__02(V_27A_27,V_27x_27) = s__02(V_27A_27,V_27v_27)
=> p__01(s__02(cbool__00,chapp__02(s__02(cfun__02(V_27A_27,cbool__00),V_27f_27),s__02(V_27A_27,V_27x_27)))) )
<=> p__01(s__02(cbool__00,chapp__02(s__02(cfun__02(V_27A_27,cbool__00),V_27f_27),s__02(V_27A_27,V_27v_27)))) ) ).
fof('thm.combin.K_THM',axiom,
! [V_27B_27,V_27A_27,V_27x_27,V_27y_27] : s__02(V_27A_27,chapp__02(s__02(cfun__02(V_27B_27,V_27A_27),c_27const_2ecombin_2eK_27__01(s__02(V_27A_27,V_27x_27))),s__02(V_27B_27,V_27y_27))) = s__02(V_27A_27,V_27x_27) ).
fof('thm.combin.K_o_THM',axiom,
! [V_27B_27,V_27A_27,V_27C_27,V_27F_27,V_27E_27,V_27D_27] :
( ! [V_27f_27,V_27v_27] : s__02(cfun__02(V_27A_27,V_27C_27),c_27const_2ecombin_2eo_27__02(s__02(cfun__02(V_27B_27,V_27C_27),c_27const_2ecombin_2eK_27__01(s__02(V_27C_27,V_27v_27))),s__02(cfun__02(V_27A_27,V_27B_27),V_27f_27))) = s__02(cfun__02(V_27A_27,V_27C_27),c_27const_2ecombin_2eK_27__01(s__02(V_27C_27,V_27v_27)))
& ! [V_27f_27,V_27v_27] : s__02(cfun__02(V_27F_27,V_27E_27),c_27const_2ecombin_2eo_27__02(s__02(cfun__02(V_27D_27,V_27E_27),V_27f_27),s__02(cfun__02(V_27F_27,V_27D_27),c_27const_2ecombin_2eK_27__01(s__02(V_27D_27,V_27v_27))))) = s__02(cfun__02(V_27F_27,V_27E_27),c_27const_2ecombin_2eK_27__01(s__02(V_27E_27,chapp__02(s__02(cfun__02(V_27D_27,V_27E_27),V_27f_27),s__02(V_27D_27,V_27v_27))))) ) ).
fof('thm.pair.CLOSED_PAIR_EQ',axiom,
! [V_27A_27,V_27B_27,V_27x_27,V_27y_27,V_27a_27,V_27b_27] :
( s__02(c_27type_2epair_2eprod_27__02(V_27A_27,V_27B_27),c_27const_2epair_2e_2c_27__02(s__02(V_27A_27,V_27x_27),s__02(V_27B_27,V_27y_27))) = s__02(c_27type_2epair_2eprod_27__02(V_27A_27,V_27B_27),c_27const_2epair_2e_2c_27__02(s__02(V_27A_27,V_27a_27),s__02(V_27B_27,V_27b_27)))
<=> ( s__02(V_27A_27,V_27x_27) = s__02(V_27A_27,V_27a_27)
& s__02(V_27B_27,V_27y_27) = s__02(V_27B_27,V_27b_27) ) ) ).
fof('thm.option.SOME_11',axiom,
! [V_27A_27,V_27x_27,V_27y_27] :
( s__02(c_27type_2eoption_2eoption_27__01(V_27A_27),c_27const_2eoption_2eSOME_27__01(s__02(V_27A_27,V_27x_27))) = s__02(c_27type_2eoption_2eoption_27__01(V_27A_27),c_27const_2eoption_2eSOME_27__01(s__02(V_27A_27,V_27y_27)))
<=> s__02(V_27A_27,V_27x_27) = s__02(V_27A_27,V_27y_27) ) ).
fof('thm.sptree.lookup_insert',axiom,
! [V_27A_27,V_27k2_27,V_27v_27,V_27t_27,V_27k1_27] :
? [Vv] :
( ( p__01(s__02(cbool__00,Vv))
<=> s__02(c_27type_2enum_2enum_27__00,V_27k1_27) = s__02(c_27type_2enum_2enum_27__00,V_27k2_27) )
& s__02(c_27type_2eoption_2eoption_27__01(V_27A_27),c_27const_2esptree_2elookup_27__02(s__02(c_27type_2enum_2enum_27__00,V_27k1_27),s__02(c_27type_2esptree_2espt_27__01(V_27A_27),c_27const_2esptree_2einsert_27__03(s__02(c_27type_2enum_2enum_27__00,V_27k2_27),s__02(V_27A_27,V_27v_27),s__02(c_27type_2esptree_2espt_27__01(V_27A_27),V_27t_27))))) = s__02(c_27type_2eoption_2eoption_27__01(V_27A_27),c_27const_2ebool_2eCOND_27__03(s__02(cbool__00,Vv),s__02(c_27type_2eoption_2eoption_27__01(V_27A_27),c_27const_2eoption_2eSOME_27__01(s__02(V_27A_27,V_27v_27))),s__02(c_27type_2eoption_2eoption_27__01(V_27A_27),c_27const_2esptree_2elookup_27__02(s__02(c_27type_2enum_2enum_27__00,V_27k1_27),s__02(c_27type_2esptree_2espt_27__01(V_27A_27),V_27t_27))))) ) ).
fof('thm.bvlSem.state_accfupds',axiom,
! [V_27FFI0_27,V_27FFI_27] :
( ! [V_27s_27,V_27f_27] : s__02(c_27type_2elist_2elist_27__01(c_27type_2eoption_2eoption_27__01(c_27type_2ebvlSem_2ev_27__00)),c_27const_2ebvlSem_2estate__globals_27__01(s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI_27),c_27const_2ebvlSem_2estate__refs__fupd_27__02(s__02(cfun__02(c_27type_2efinite__map_2efmap_27__02(c_27type_2enum_2enum_27__00,c_27type_2eclosSem_2eref_27__01(c_27type_2ebvlSem_2ev_27__00)),c_27type_2efinite__map_2efmap_27__02(c_27type_2enum_2enum_27__00,c_27type_2eclosSem_2eref_27__01(c_27type_2ebvlSem_2ev_27__00))),V_27f_27),s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI_27),V_27s_27))))) = s__02(c_27type_2elist_2elist_27__01(c_27type_2eoption_2eoption_27__01(c_27type_2ebvlSem_2ev_27__00)),c_27const_2ebvlSem_2estate__globals_27__01(s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI_27),V_27s_27)))
& ! [V_27s_27,V_27f_27] : s__02(c_27type_2elist_2elist_27__01(c_27type_2eoption_2eoption_27__01(c_27type_2ebvlSem_2ev_27__00)),c_27const_2ebvlSem_2estate__globals_27__01(s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI_27),c_27const_2ebvlSem_2estate__clock__fupd_27__02(s__02(cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00),V_27f_27),s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI_27),V_27s_27))))) = s__02(c_27type_2elist_2elist_27__01(c_27type_2eoption_2eoption_27__01(c_27type_2ebvlSem_2ev_27__00)),c_27const_2ebvlSem_2estate__globals_27__01(s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI_27),V_27s_27)))
& ! [V_27s_27,V_27f_27] : s__02(c_27type_2elist_2elist_27__01(c_27type_2eoption_2eoption_27__01(c_27type_2ebvlSem_2ev_27__00)),c_27const_2ebvlSem_2estate__globals_27__01(s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI_27),c_27const_2ebvlSem_2estate__code__fupd_27__02(s__02(cfun__02(c_27type_2esptree_2espt_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ebvl_2eexp_27__00)),c_27type_2esptree_2espt_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ebvl_2eexp_27__00))),V_27f_27),s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI_27),V_27s_27))))) = s__02(c_27type_2elist_2elist_27__01(c_27type_2eoption_2eoption_27__01(c_27type_2ebvlSem_2ev_27__00)),c_27const_2ebvlSem_2estate__globals_27__01(s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI_27),V_27s_27)))
& ! [V_27s_27,V_27f_27] : s__02(c_27type_2elist_2elist_27__01(c_27type_2eoption_2eoption_27__01(c_27type_2ebvlSem_2ev_27__00)),c_27const_2ebvlSem_2estate__globals_27__01(s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI0_27),c_27const_2ebvlSem_2estate__ffi__fupd_27__02(s__02(cfun__02(c_27type_2effi_2effi__state_27__01(V_27FFI_27),c_27type_2effi_2effi__state_27__01(V_27FFI0_27)),V_27f_27),s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI_27),V_27s_27))))) = s__02(c_27type_2elist_2elist_27__01(c_27type_2eoption_2eoption_27__01(c_27type_2ebvlSem_2ev_27__00)),c_27const_2ebvlSem_2estate__globals_27__01(s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI_27),V_27s_27)))
& ! [V_27s_27,V_27f_27] : s__02(c_27type_2efinite__map_2efmap_27__02(c_27type_2enum_2enum_27__00,c_27type_2eclosSem_2eref_27__01(c_27type_2ebvlSem_2ev_27__00)),c_27const_2ebvlSem_2estate__refs_27__01(s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI_27),c_27const_2ebvlSem_2estate__globals__fupd_27__02(s__02(cfun__02(c_27type_2elist_2elist_27__01(c_27type_2eoption_2eoption_27__01(c_27type_2ebvlSem_2ev_27__00)),c_27type_2elist_2elist_27__01(c_27type_2eoption_2eoption_27__01(c_27type_2ebvlSem_2ev_27__00))),V_27f_27),s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI_27),V_27s_27))))) = s__02(c_27type_2efinite__map_2efmap_27__02(c_27type_2enum_2enum_27__00,c_27type_2eclosSem_2eref_27__01(c_27type_2ebvlSem_2ev_27__00)),c_27const_2ebvlSem_2estate__refs_27__01(s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI_27),V_27s_27)))
& ! [V_27s_27,V_27f_27] : s__02(c_27type_2efinite__map_2efmap_27__02(c_27type_2enum_2enum_27__00,c_27type_2eclosSem_2eref_27__01(c_27type_2ebvlSem_2ev_27__00)),c_27const_2ebvlSem_2estate__refs_27__01(s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI_27),c_27const_2ebvlSem_2estate__clock__fupd_27__02(s__02(cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00),V_27f_27),s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI_27),V_27s_27))))) = s__02(c_27type_2efinite__map_2efmap_27__02(c_27type_2enum_2enum_27__00,c_27type_2eclosSem_2eref_27__01(c_27type_2ebvlSem_2ev_27__00)),c_27const_2ebvlSem_2estate__refs_27__01(s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI_27),V_27s_27)))
& ! [V_27s_27,V_27f_27] : s__02(c_27type_2efinite__map_2efmap_27__02(c_27type_2enum_2enum_27__00,c_27type_2eclosSem_2eref_27__01(c_27type_2ebvlSem_2ev_27__00)),c_27const_2ebvlSem_2estate__refs_27__01(s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI_27),c_27const_2ebvlSem_2estate__code__fupd_27__02(s__02(cfun__02(c_27type_2esptree_2espt_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ebvl_2eexp_27__00)),c_27type_2esptree_2espt_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ebvl_2eexp_27__00))),V_27f_27),s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI_27),V_27s_27))))) = s__02(c_27type_2efinite__map_2efmap_27__02(c_27type_2enum_2enum_27__00,c_27type_2eclosSem_2eref_27__01(c_27type_2ebvlSem_2ev_27__00)),c_27const_2ebvlSem_2estate__refs_27__01(s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI_27),V_27s_27)))
& ! [V_27s_27,V_27f_27] : s__02(c_27type_2efinite__map_2efmap_27__02(c_27type_2enum_2enum_27__00,c_27type_2eclosSem_2eref_27__01(c_27type_2ebvlSem_2ev_27__00)),c_27const_2ebvlSem_2estate__refs_27__01(s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI0_27),c_27const_2ebvlSem_2estate__ffi__fupd_27__02(s__02(cfun__02(c_27type_2effi_2effi__state_27__01(V_27FFI_27),c_27type_2effi_2effi__state_27__01(V_27FFI0_27)),V_27f_27),s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI_27),V_27s_27))))) = s__02(c_27type_2efinite__map_2efmap_27__02(c_27type_2enum_2enum_27__00,c_27type_2eclosSem_2eref_27__01(c_27type_2ebvlSem_2ev_27__00)),c_27const_2ebvlSem_2estate__refs_27__01(s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI_27),V_27s_27)))
& ! [V_27s_27,V_27f_27] : s__02(c_27type_2enum_2enum_27__00,c_27const_2ebvlSem_2estate__clock_27__01(s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI_27),c_27const_2ebvlSem_2estate__globals__fupd_27__02(s__02(cfun__02(c_27type_2elist_2elist_27__01(c_27type_2eoption_2eoption_27__01(c_27type_2ebvlSem_2ev_27__00)),c_27type_2elist_2elist_27__01(c_27type_2eoption_2eoption_27__01(c_27type_2ebvlSem_2ev_27__00))),V_27f_27),s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI_27),V_27s_27))))) = s__02(c_27type_2enum_2enum_27__00,c_27const_2ebvlSem_2estate__clock_27__01(s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI_27),V_27s_27)))
& ! [V_27s_27,V_27f_27] : s__02(c_27type_2enum_2enum_27__00,c_27const_2ebvlSem_2estate__clock_27__01(s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI_27),c_27const_2ebvlSem_2estate__refs__fupd_27__02(s__02(cfun__02(c_27type_2efinite__map_2efmap_27__02(c_27type_2enum_2enum_27__00,c_27type_2eclosSem_2eref_27__01(c_27type_2ebvlSem_2ev_27__00)),c_27type_2efinite__map_2efmap_27__02(c_27type_2enum_2enum_27__00,c_27type_2eclosSem_2eref_27__01(c_27type_2ebvlSem_2ev_27__00))),V_27f_27),s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI_27),V_27s_27))))) = s__02(c_27type_2enum_2enum_27__00,c_27const_2ebvlSem_2estate__clock_27__01(s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI_27),V_27s_27)))
& ! [V_27s_27,V_27f_27] : s__02(c_27type_2enum_2enum_27__00,c_27const_2ebvlSem_2estate__clock_27__01(s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI_27),c_27const_2ebvlSem_2estate__code__fupd_27__02(s__02(cfun__02(c_27type_2esptree_2espt_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ebvl_2eexp_27__00)),c_27type_2esptree_2espt_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ebvl_2eexp_27__00))),V_27f_27),s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI_27),V_27s_27))))) = s__02(c_27type_2enum_2enum_27__00,c_27const_2ebvlSem_2estate__clock_27__01(s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI_27),V_27s_27)))
& ! [V_27s_27,V_27f_27] : s__02(c_27type_2enum_2enum_27__00,c_27const_2ebvlSem_2estate__clock_27__01(s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI0_27),c_27const_2ebvlSem_2estate__ffi__fupd_27__02(s__02(cfun__02(c_27type_2effi_2effi__state_27__01(V_27FFI_27),c_27type_2effi_2effi__state_27__01(V_27FFI0_27)),V_27f_27),s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI_27),V_27s_27))))) = s__02(c_27type_2enum_2enum_27__00,c_27const_2ebvlSem_2estate__clock_27__01(s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI_27),V_27s_27)))
& ! [V_27s_27,V_27f_27] : s__02(c_27type_2esptree_2espt_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ebvl_2eexp_27__00)),c_27const_2ebvlSem_2estate__code_27__01(s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI_27),c_27const_2ebvlSem_2estate__globals__fupd_27__02(s__02(cfun__02(c_27type_2elist_2elist_27__01(c_27type_2eoption_2eoption_27__01(c_27type_2ebvlSem_2ev_27__00)),c_27type_2elist_2elist_27__01(c_27type_2eoption_2eoption_27__01(c_27type_2ebvlSem_2ev_27__00))),V_27f_27),s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI_27),V_27s_27))))) = s__02(c_27type_2esptree_2espt_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ebvl_2eexp_27__00)),c_27const_2ebvlSem_2estate__code_27__01(s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI_27),V_27s_27)))
& ! [V_27s_27,V_27f_27] : s__02(c_27type_2esptree_2espt_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ebvl_2eexp_27__00)),c_27const_2ebvlSem_2estate__code_27__01(s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI_27),c_27const_2ebvlSem_2estate__refs__fupd_27__02(s__02(cfun__02(c_27type_2efinite__map_2efmap_27__02(c_27type_2enum_2enum_27__00,c_27type_2eclosSem_2eref_27__01(c_27type_2ebvlSem_2ev_27__00)),c_27type_2efinite__map_2efmap_27__02(c_27type_2enum_2enum_27__00,c_27type_2eclosSem_2eref_27__01(c_27type_2ebvlSem_2ev_27__00))),V_27f_27),s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI_27),V_27s_27))))) = s__02(c_27type_2esptree_2espt_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ebvl_2eexp_27__00)),c_27const_2ebvlSem_2estate__code_27__01(s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI_27),V_27s_27)))
& ! [V_27s_27,V_27f_27] : s__02(c_27type_2esptree_2espt_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ebvl_2eexp_27__00)),c_27const_2ebvlSem_2estate__code_27__01(s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI_27),c_27const_2ebvlSem_2estate__clock__fupd_27__02(s__02(cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00),V_27f_27),s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI_27),V_27s_27))))) = s__02(c_27type_2esptree_2espt_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ebvl_2eexp_27__00)),c_27const_2ebvlSem_2estate__code_27__01(s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI_27),V_27s_27)))
& ! [V_27s_27,V_27f_27] : s__02(c_27type_2esptree_2espt_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ebvl_2eexp_27__00)),c_27const_2ebvlSem_2estate__code_27__01(s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI0_27),c_27const_2ebvlSem_2estate__ffi__fupd_27__02(s__02(cfun__02(c_27type_2effi_2effi__state_27__01(V_27FFI_27),c_27type_2effi_2effi__state_27__01(V_27FFI0_27)),V_27f_27),s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI_27),V_27s_27))))) = s__02(c_27type_2esptree_2espt_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ebvl_2eexp_27__00)),c_27const_2ebvlSem_2estate__code_27__01(s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI_27),V_27s_27)))
& ! [V_27s_27,V_27f_27] : s__02(c_27type_2effi_2effi__state_27__01(V_27FFI_27),c_27const_2ebvlSem_2estate__ffi_27__01(s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI_27),c_27const_2ebvlSem_2estate__globals__fupd_27__02(s__02(cfun__02(c_27type_2elist_2elist_27__01(c_27type_2eoption_2eoption_27__01(c_27type_2ebvlSem_2ev_27__00)),c_27type_2elist_2elist_27__01(c_27type_2eoption_2eoption_27__01(c_27type_2ebvlSem_2ev_27__00))),V_27f_27),s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI_27),V_27s_27))))) = s__02(c_27type_2effi_2effi__state_27__01(V_27FFI_27),c_27const_2ebvlSem_2estate__ffi_27__01(s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI_27),V_27s_27)))
& ! [V_27s_27,V_27f_27] : s__02(c_27type_2effi_2effi__state_27__01(V_27FFI_27),c_27const_2ebvlSem_2estate__ffi_27__01(s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI_27),c_27const_2ebvlSem_2estate__refs__fupd_27__02(s__02(cfun__02(c_27type_2efinite__map_2efmap_27__02(c_27type_2enum_2enum_27__00,c_27type_2eclosSem_2eref_27__01(c_27type_2ebvlSem_2ev_27__00)),c_27type_2efinite__map_2efmap_27__02(c_27type_2enum_2enum_27__00,c_27type_2eclosSem_2eref_27__01(c_27type_2ebvlSem_2ev_27__00))),V_27f_27),s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI_27),V_27s_27))))) = s__02(c_27type_2effi_2effi__state_27__01(V_27FFI_27),c_27const_2ebvlSem_2estate__ffi_27__01(s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI_27),V_27s_27)))
& ! [V_27s_27,V_27f_27] : s__02(c_27type_2effi_2effi__state_27__01(V_27FFI_27),c_27const_2ebvlSem_2estate__ffi_27__01(s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI_27),c_27const_2ebvlSem_2estate__clock__fupd_27__02(s__02(cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00),V_27f_27),s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI_27),V_27s_27))))) = s__02(c_27type_2effi_2effi__state_27__01(V_27FFI_27),c_27const_2ebvlSem_2estate__ffi_27__01(s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI_27),V_27s_27)))
& ! [V_27s_27,V_27f_27] : s__02(c_27type_2effi_2effi__state_27__01(V_27FFI_27),c_27const_2ebvlSem_2estate__ffi_27__01(s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI_27),c_27const_2ebvlSem_2estate__code__fupd_27__02(s__02(cfun__02(c_27type_2esptree_2espt_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ebvl_2eexp_27__00)),c_27type_2esptree_2espt_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ebvl_2eexp_27__00))),V_27f_27),s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI_27),V_27s_27))))) = s__02(c_27type_2effi_2effi__state_27__01(V_27FFI_27),c_27const_2ebvlSem_2estate__ffi_27__01(s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI_27),V_27s_27)))
& ! [V_27s_27,V_27f_27] : s__02(c_27type_2elist_2elist_27__01(c_27type_2eoption_2eoption_27__01(c_27type_2ebvlSem_2ev_27__00)),c_27const_2ebvlSem_2estate__globals_27__01(s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI_27),c_27const_2ebvlSem_2estate__globals__fupd_27__02(s__02(cfun__02(c_27type_2elist_2elist_27__01(c_27type_2eoption_2eoption_27__01(c_27type_2ebvlSem_2ev_27__00)),c_27type_2elist_2elist_27__01(c_27type_2eoption_2eoption_27__01(c_27type_2ebvlSem_2ev_27__00))),V_27f_27),s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI_27),V_27s_27))))) = s__02(c_27type_2elist_2elist_27__01(c_27type_2eoption_2eoption_27__01(c_27type_2ebvlSem_2ev_27__00)),chapp__02(s__02(cfun__02(c_27type_2elist_2elist_27__01(c_27type_2eoption_2eoption_27__01(c_27type_2ebvlSem_2ev_27__00)),c_27type_2elist_2elist_27__01(c_27type_2eoption_2eoption_27__01(c_27type_2ebvlSem_2ev_27__00))),V_27f_27),s__02(c_27type_2elist_2elist_27__01(c_27type_2eoption_2eoption_27__01(c_27type_2ebvlSem_2ev_27__00)),c_27const_2ebvlSem_2estate__globals_27__01(s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI_27),V_27s_27)))))
& ! [V_27s_27,V_27f_27] : s__02(c_27type_2efinite__map_2efmap_27__02(c_27type_2enum_2enum_27__00,c_27type_2eclosSem_2eref_27__01(c_27type_2ebvlSem_2ev_27__00)),c_27const_2ebvlSem_2estate__refs_27__01(s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI_27),c_27const_2ebvlSem_2estate__refs__fupd_27__02(s__02(cfun__02(c_27type_2efinite__map_2efmap_27__02(c_27type_2enum_2enum_27__00,c_27type_2eclosSem_2eref_27__01(c_27type_2ebvlSem_2ev_27__00)),c_27type_2efinite__map_2efmap_27__02(c_27type_2enum_2enum_27__00,c_27type_2eclosSem_2eref_27__01(c_27type_2ebvlSem_2ev_27__00))),V_27f_27),s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI_27),V_27s_27))))) = s__02(c_27type_2efinite__map_2efmap_27__02(c_27type_2enum_2enum_27__00,c_27type_2eclosSem_2eref_27__01(c_27type_2ebvlSem_2ev_27__00)),chapp__02(s__02(cfun__02(c_27type_2efinite__map_2efmap_27__02(c_27type_2enum_2enum_27__00,c_27type_2eclosSem_2eref_27__01(c_27type_2ebvlSem_2ev_27__00)),c_27type_2efinite__map_2efmap_27__02(c_27type_2enum_2enum_27__00,c_27type_2eclosSem_2eref_27__01(c_27type_2ebvlSem_2ev_27__00))),V_27f_27),s__02(c_27type_2efinite__map_2efmap_27__02(c_27type_2enum_2enum_27__00,c_27type_2eclosSem_2eref_27__01(c_27type_2ebvlSem_2ev_27__00)),c_27const_2ebvlSem_2estate__refs_27__01(s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI_27),V_27s_27)))))
& ! [V_27s_27,V_27f_27] : s__02(c_27type_2enum_2enum_27__00,c_27const_2ebvlSem_2estate__clock_27__01(s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI_27),c_27const_2ebvlSem_2estate__clock__fupd_27__02(s__02(cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00),V_27f_27),s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI_27),V_27s_27))))) = s__02(c_27type_2enum_2enum_27__00,chapp__02(s__02(cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00),V_27f_27),s__02(c_27type_2enum_2enum_27__00,c_27const_2ebvlSem_2estate__clock_27__01(s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI_27),V_27s_27)))))
& ! [V_27s_27,V_27f_27] : s__02(c_27type_2esptree_2espt_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ebvl_2eexp_27__00)),c_27const_2ebvlSem_2estate__code_27__01(s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI_27),c_27const_2ebvlSem_2estate__code__fupd_27__02(s__02(cfun__02(c_27type_2esptree_2espt_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ebvl_2eexp_27__00)),c_27type_2esptree_2espt_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ebvl_2eexp_27__00))),V_27f_27),s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI_27),V_27s_27))))) = s__02(c_27type_2esptree_2espt_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ebvl_2eexp_27__00)),chapp__02(s__02(cfun__02(c_27type_2esptree_2espt_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ebvl_2eexp_27__00)),c_27type_2esptree_2espt_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ebvl_2eexp_27__00))),V_27f_27),s__02(c_27type_2esptree_2espt_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ebvl_2eexp_27__00)),c_27const_2ebvlSem_2estate__code_27__01(s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI_27),V_27s_27)))))
& ! [V_27s_27,V_27f_27] : s__02(c_27type_2effi_2effi__state_27__01(V_27FFI0_27),c_27const_2ebvlSem_2estate__ffi_27__01(s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI0_27),c_27const_2ebvlSem_2estate__ffi__fupd_27__02(s__02(cfun__02(c_27type_2effi_2effi__state_27__01(V_27FFI_27),c_27type_2effi_2effi__state_27__01(V_27FFI0_27)),V_27f_27),s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI_27),V_27s_27))))) = s__02(c_27type_2effi_2effi__state_27__01(V_27FFI0_27),chapp__02(s__02(cfun__02(c_27type_2effi_2effi__state_27__01(V_27FFI_27),c_27type_2effi_2effi__state_27__01(V_27FFI0_27)),V_27f_27),s__02(c_27type_2effi_2effi__state_27__01(V_27FFI_27),c_27const_2ebvlSem_2estate__ffi_27__01(s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI_27),V_27s_27))))) ) ).
fof('thm.bvlSem.state_fupdfupds',axiom,
! [V_27FFI1_27,V_27FFI0_27,V_27FFI_27] :
( ! [V_27s_27,V_27g_27,V_27f_27] : s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI_27),c_27const_2ebvlSem_2estate__globals__fupd_27__02(s__02(cfun__02(c_27type_2elist_2elist_27__01(c_27type_2eoption_2eoption_27__01(c_27type_2ebvlSem_2ev_27__00)),c_27type_2elist_2elist_27__01(c_27type_2eoption_2eoption_27__01(c_27type_2ebvlSem_2ev_27__00))),V_27f_27),s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI_27),c_27const_2ebvlSem_2estate__globals__fupd_27__02(s__02(cfun__02(c_27type_2elist_2elist_27__01(c_27type_2eoption_2eoption_27__01(c_27type_2ebvlSem_2ev_27__00)),c_27type_2elist_2elist_27__01(c_27type_2eoption_2eoption_27__01(c_27type_2ebvlSem_2ev_27__00))),V_27g_27),s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI_27),V_27s_27))))) = s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI_27),c_27const_2ebvlSem_2estate__globals__fupd_27__02(s__02(cfun__02(c_27type_2elist_2elist_27__01(c_27type_2eoption_2eoption_27__01(c_27type_2ebvlSem_2ev_27__00)),c_27type_2elist_2elist_27__01(c_27type_2eoption_2eoption_27__01(c_27type_2ebvlSem_2ev_27__00))),c_27const_2ecombin_2eo_27__02(s__02(cfun__02(c_27type_2elist_2elist_27__01(c_27type_2eoption_2eoption_27__01(c_27type_2ebvlSem_2ev_27__00)),c_27type_2elist_2elist_27__01(c_27type_2eoption_2eoption_27__01(c_27type_2ebvlSem_2ev_27__00))),V_27f_27),s__02(cfun__02(c_27type_2elist_2elist_27__01(c_27type_2eoption_2eoption_27__01(c_27type_2ebvlSem_2ev_27__00)),c_27type_2elist_2elist_27__01(c_27type_2eoption_2eoption_27__01(c_27type_2ebvlSem_2ev_27__00))),V_27g_27))),s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI_27),V_27s_27)))
& ! [V_27s_27,V_27g_27,V_27f_27] : s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI_27),c_27const_2ebvlSem_2estate__refs__fupd_27__02(s__02(cfun__02(c_27type_2efinite__map_2efmap_27__02(c_27type_2enum_2enum_27__00,c_27type_2eclosSem_2eref_27__01(c_27type_2ebvlSem_2ev_27__00)),c_27type_2efinite__map_2efmap_27__02(c_27type_2enum_2enum_27__00,c_27type_2eclosSem_2eref_27__01(c_27type_2ebvlSem_2ev_27__00))),V_27f_27),s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI_27),c_27const_2ebvlSem_2estate__refs__fupd_27__02(s__02(cfun__02(c_27type_2efinite__map_2efmap_27__02(c_27type_2enum_2enum_27__00,c_27type_2eclosSem_2eref_27__01(c_27type_2ebvlSem_2ev_27__00)),c_27type_2efinite__map_2efmap_27__02(c_27type_2enum_2enum_27__00,c_27type_2eclosSem_2eref_27__01(c_27type_2ebvlSem_2ev_27__00))),V_27g_27),s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI_27),V_27s_27))))) = s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI_27),c_27const_2ebvlSem_2estate__refs__fupd_27__02(s__02(cfun__02(c_27type_2efinite__map_2efmap_27__02(c_27type_2enum_2enum_27__00,c_27type_2eclosSem_2eref_27__01(c_27type_2ebvlSem_2ev_27__00)),c_27type_2efinite__map_2efmap_27__02(c_27type_2enum_2enum_27__00,c_27type_2eclosSem_2eref_27__01(c_27type_2ebvlSem_2ev_27__00))),c_27const_2ecombin_2eo_27__02(s__02(cfun__02(c_27type_2efinite__map_2efmap_27__02(c_27type_2enum_2enum_27__00,c_27type_2eclosSem_2eref_27__01(c_27type_2ebvlSem_2ev_27__00)),c_27type_2efinite__map_2efmap_27__02(c_27type_2enum_2enum_27__00,c_27type_2eclosSem_2eref_27__01(c_27type_2ebvlSem_2ev_27__00))),V_27f_27),s__02(cfun__02(c_27type_2efinite__map_2efmap_27__02(c_27type_2enum_2enum_27__00,c_27type_2eclosSem_2eref_27__01(c_27type_2ebvlSem_2ev_27__00)),c_27type_2efinite__map_2efmap_27__02(c_27type_2enum_2enum_27__00,c_27type_2eclosSem_2eref_27__01(c_27type_2ebvlSem_2ev_27__00))),V_27g_27))),s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI_27),V_27s_27)))
& ! [V_27s_27,V_27g_27,V_27f_27] : s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI_27),c_27const_2ebvlSem_2estate__clock__fupd_27__02(s__02(cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00),V_27f_27),s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI_27),c_27const_2ebvlSem_2estate__clock__fupd_27__02(s__02(cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00),V_27g_27),s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI_27),V_27s_27))))) = s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI_27),c_27const_2ebvlSem_2estate__clock__fupd_27__02(s__02(cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00),c_27const_2ecombin_2eo_27__02(s__02(cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00),V_27f_27),s__02(cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00),V_27g_27))),s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI_27),V_27s_27)))
& ! [V_27s_27,V_27g_27,V_27f_27] : s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI_27),c_27const_2ebvlSem_2estate__code__fupd_27__02(s__02(cfun__02(c_27type_2esptree_2espt_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ebvl_2eexp_27__00)),c_27type_2esptree_2espt_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ebvl_2eexp_27__00))),V_27f_27),s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI_27),c_27const_2ebvlSem_2estate__code__fupd_27__02(s__02(cfun__02(c_27type_2esptree_2espt_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ebvl_2eexp_27__00)),c_27type_2esptree_2espt_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ebvl_2eexp_27__00))),V_27g_27),s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI_27),V_27s_27))))) = s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI_27),c_27const_2ebvlSem_2estate__code__fupd_27__02(s__02(cfun__02(c_27type_2esptree_2espt_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ebvl_2eexp_27__00)),c_27type_2esptree_2espt_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ebvl_2eexp_27__00))),c_27const_2ecombin_2eo_27__02(s__02(cfun__02(c_27type_2esptree_2espt_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ebvl_2eexp_27__00)),c_27type_2esptree_2espt_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ebvl_2eexp_27__00))),V_27f_27),s__02(cfun__02(c_27type_2esptree_2espt_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ebvl_2eexp_27__00)),c_27type_2esptree_2espt_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ebvl_2eexp_27__00))),V_27g_27))),s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI_27),V_27s_27)))
& ! [V_27s_27,V_27g_27,V_27f_27] : s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI1_27),c_27const_2ebvlSem_2estate__ffi__fupd_27__02(s__02(cfun__02(c_27type_2effi_2effi__state_27__01(V_27FFI0_27),c_27type_2effi_2effi__state_27__01(V_27FFI1_27)),V_27f_27),s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI0_27),c_27const_2ebvlSem_2estate__ffi__fupd_27__02(s__02(cfun__02(c_27type_2effi_2effi__state_27__01(V_27FFI_27),c_27type_2effi_2effi__state_27__01(V_27FFI0_27)),V_27g_27),s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI_27),V_27s_27))))) = s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI1_27),c_27const_2ebvlSem_2estate__ffi__fupd_27__02(s__02(cfun__02(c_27type_2effi_2effi__state_27__01(V_27FFI_27),c_27type_2effi_2effi__state_27__01(V_27FFI1_27)),c_27const_2ecombin_2eo_27__02(s__02(cfun__02(c_27type_2effi_2effi__state_27__01(V_27FFI0_27),c_27type_2effi_2effi__state_27__01(V_27FFI1_27)),V_27f_27),s__02(cfun__02(c_27type_2effi_2effi__state_27__01(V_27FFI_27),c_27type_2effi_2effi__state_27__01(V_27FFI0_27)),V_27g_27))),s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI_27),V_27s_27))) ) ).
fof('thm.bvl_inlineProof.tick_code_rel_def',axiom,
! [V_27FFI_27,V_27c1_27,V_27c2_27] :
( p__01(s__02(cbool__00,c_27const_2ebvl__inlineProof_2etick__code__rel_27__03(s__02(c_27type_2ebool_2eitself_27__01(V_27FFI_27),c_27const_2ebool_2ethe__value_27__00),s__02(c_27type_2esptree_2espt_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ebvl_2eexp_27__00)),V_27c1_27),s__02(c_27type_2esptree_2espt_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ebvl_2eexp_27__00)),V_27c2_27))))
<=> ! [V_27n_27,V_27arity_27,V_27e1_27] :
( s__02(c_27type_2eoption_2eoption_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ebvl_2eexp_27__00)),c_27const_2esptree_2elookup_27__02(s__02(c_27type_2enum_2enum_27__00,V_27n_27),s__02(c_27type_2esptree_2espt_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ebvl_2eexp_27__00)),V_27c1_27))) = s__02(c_27type_2eoption_2eoption_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ebvl_2eexp_27__00)),c_27const_2eoption_2eSOME_27__01(s__02(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ebvl_2eexp_27__00),c_27const_2epair_2e_2c_27__02(s__02(c_27type_2enum_2enum_27__00,V_27arity_27),s__02(c_27type_2ebvl_2eexp_27__00,V_27e1_27)))))
=> ? [V_27e2_27] :
( s__02(c_27type_2eoption_2eoption_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ebvl_2eexp_27__00)),c_27const_2esptree_2elookup_27__02(s__02(c_27type_2enum_2enum_27__00,V_27n_27),s__02(c_27type_2esptree_2espt_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ebvl_2eexp_27__00)),V_27c2_27))) = s__02(c_27type_2eoption_2eoption_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ebvl_2eexp_27__00)),c_27const_2eoption_2eSOME_27__01(s__02(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ebvl_2eexp_27__00),c_27const_2epair_2e_2c_27__02(s__02(c_27type_2enum_2enum_27__00,V_27arity_27),s__02(c_27type_2ebvl_2eexp_27__00,V_27e2_27)))))
& ! [V_27s_27,V_27env_27,V_27res_27,V_27t_27] :
( ( s__02(c_27type_2enum_2enum_27__00,c_27const_2elist_2eLENGTH_27__01(s__02(c_27type_2elist_2elist_27__01(c_27type_2ebvlSem_2ev_27__00),V_27env_27))) = s__02(c_27type_2enum_2enum_27__00,V_27arity_27)
& s__02(c_27type_2esemanticPrimitives_2eresult_27__02(c_27type_2elist_2elist_27__01(c_27type_2ebvlSem_2ev_27__00),c_27type_2ebvlSem_2ev_27__00),V_27res_27) != s__02(c_27type_2esemanticPrimitives_2eresult_27__02(c_27type_2elist_2elist_27__01(c_27type_2ebvlSem_2ev_27__00),c_27type_2ebvlSem_2ev_27__00),c_27const_2esemanticPrimitives_2eRerr_27__01(s__02(c_27type_2esemanticPrimitives_2eerror__result_27__01(c_27type_2ebvlSem_2ev_27__00),c_27const_2esemanticPrimitives_2eRabort_27__01(s__02(c_27type_2esemanticPrimitives_2eabort_27__00,c_27const_2esemanticPrimitives_2eRtype__error_27__00)))))
& s__02(c_27type_2epair_2eprod_27__02(c_27type_2esemanticPrimitives_2eresult_27__02(c_27type_2elist_2elist_27__01(c_27type_2ebvlSem_2ev_27__00),c_27type_2ebvlSem_2ev_27__00),c_27type_2ebvlSem_2estate_27__01(V_27FFI_27)),c_27const_2ebvlSem_2eevaluate_27__01(s__02(c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2ebvl_2eexp_27__00),c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2ebvlSem_2ev_27__00),c_27type_2ebvlSem_2estate_27__01(V_27FFI_27))),c_27const_2epair_2e_2c_27__02(s__02(c_27type_2elist_2elist_27__01(c_27type_2ebvl_2eexp_27__00),c_27const_2elist_2eCONS_27__02(s__02(c_27type_2ebvl_2eexp_27__00,V_27e1_27),s__02(c_27type_2elist_2elist_27__01(c_27type_2ebvl_2eexp_27__00),c_27const_2elist_2eNIL_27__00))),s__02(c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2ebvlSem_2ev_27__00),c_27type_2ebvlSem_2estate_27__01(V_27FFI_27)),c_27const_2epair_2e_2c_27__02(s__02(c_27type_2elist_2elist_27__01(c_27type_2ebvlSem_2ev_27__00),V_27env_27),s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI_27),c_27const_2ebvlSem_2estate__code__fupd_27__02(s__02(cfun__02(c_27type_2esptree_2espt_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ebvl_2eexp_27__00)),c_27type_2esptree_2espt_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ebvl_2eexp_27__00))),c_27const_2ecombin_2eK_27__01(s__02(c_27type_2esptree_2espt_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ebvl_2eexp_27__00)),V_27c1_27))),s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI_27),V_27s_27))))))))) = s__02(c_27type_2epair_2eprod_27__02(c_27type_2esemanticPrimitives_2eresult_27__02(c_27type_2elist_2elist_27__01(c_27type_2ebvlSem_2ev_27__00),c_27type_2ebvlSem_2ev_27__00),c_27type_2ebvlSem_2estate_27__01(V_27FFI_27)),c_27const_2epair_2e_2c_27__02(s__02(c_27type_2esemanticPrimitives_2eresult_27__02(c_27type_2elist_2elist_27__01(c_27type_2ebvlSem_2ev_27__00),c_27type_2ebvlSem_2ev_27__00),V_27res_27),s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI_27),c_27const_2ebvlSem_2estate__code__fupd_27__02(s__02(cfun__02(c_27type_2esptree_2espt_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ebvl_2eexp_27__00)),c_27type_2esptree_2espt_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ebvl_2eexp_27__00))),c_27const_2ecombin_2eK_27__01(s__02(c_27type_2esptree_2espt_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ebvl_2eexp_27__00)),V_27c1_27))),s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI_27),V_27t_27))))) )
=> s__02(c_27type_2epair_2eprod_27__02(c_27type_2esemanticPrimitives_2eresult_27__02(c_27type_2elist_2elist_27__01(c_27type_2ebvlSem_2ev_27__00),c_27type_2ebvlSem_2ev_27__00),c_27type_2ebvlSem_2estate_27__01(V_27FFI_27)),c_27const_2ebvlSem_2eevaluate_27__01(s__02(c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2ebvl_2eexp_27__00),c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2ebvlSem_2ev_27__00),c_27type_2ebvlSem_2estate_27__01(V_27FFI_27))),c_27const_2epair_2e_2c_27__02(s__02(c_27type_2elist_2elist_27__01(c_27type_2ebvl_2eexp_27__00),c_27const_2elist_2eCONS_27__02(s__02(c_27type_2ebvl_2eexp_27__00,V_27e2_27),s__02(c_27type_2elist_2elist_27__01(c_27type_2ebvl_2eexp_27__00),c_27const_2elist_2eNIL_27__00))),s__02(c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2ebvlSem_2ev_27__00),c_27type_2ebvlSem_2estate_27__01(V_27FFI_27)),c_27const_2epair_2e_2c_27__02(s__02(c_27type_2elist_2elist_27__01(c_27type_2ebvlSem_2ev_27__00),V_27env_27),s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI_27),c_27const_2ebvlSem_2estate__code__fupd_27__02(s__02(cfun__02(c_27type_2esptree_2espt_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ebvl_2eexp_27__00)),c_27type_2esptree_2espt_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ebvl_2eexp_27__00))),c_27const_2ecombin_2eK_27__01(s__02(c_27type_2esptree_2espt_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ebvl_2eexp_27__00)),V_27c2_27))),s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI_27),V_27s_27))))))))) = s__02(c_27type_2epair_2eprod_27__02(c_27type_2esemanticPrimitives_2eresult_27__02(c_27type_2elist_2elist_27__01(c_27type_2ebvlSem_2ev_27__00),c_27type_2ebvlSem_2ev_27__00),c_27type_2ebvlSem_2estate_27__01(V_27FFI_27)),c_27const_2epair_2e_2c_27__02(s__02(c_27type_2esemanticPrimitives_2eresult_27__02(c_27type_2elist_2elist_27__01(c_27type_2ebvlSem_2ev_27__00),c_27type_2ebvlSem_2ev_27__00),V_27res_27),s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI_27),c_27const_2ebvlSem_2estate__code__fupd_27__02(s__02(cfun__02(c_27type_2esptree_2espt_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ebvl_2eexp_27__00)),c_27type_2esptree_2espt_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ebvl_2eexp_27__00))),c_27const_2ecombin_2eK_27__01(s__02(c_27type_2esptree_2espt_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ebvl_2eexp_27__00)),V_27c2_27))),s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI_27),V_27t_27))))) ) ) ) ) ).
fof('thm.bvl_inlineProof.exp_rel_def',axiom,
! [V_27FFI_27,V_27c_27,V_27e1_27,V_27e2_27] :
( p__01(s__02(cbool__00,c_27const_2ebvl__inlineProof_2eexp__rel_27__04(s__02(c_27type_2ebool_2eitself_27__01(V_27FFI_27),c_27const_2ebool_2ethe__value_27__00),s__02(c_27type_2esptree_2espt_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ebvl_2eexp_27__00)),V_27c_27),s__02(c_27type_2ebvl_2eexp_27__00,V_27e1_27),s__02(c_27type_2ebvl_2eexp_27__00,V_27e2_27))))
<=> ! [V_27s_27,V_27env_27,V_27res_27,V_27t_27] :
( ( s__02(c_27type_2epair_2eprod_27__02(c_27type_2esemanticPrimitives_2eresult_27__02(c_27type_2elist_2elist_27__01(c_27type_2ebvlSem_2ev_27__00),c_27type_2ebvlSem_2ev_27__00),c_27type_2ebvlSem_2estate_27__01(V_27FFI_27)),c_27const_2ebvlSem_2eevaluate_27__01(s__02(c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2ebvl_2eexp_27__00),c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2ebvlSem_2ev_27__00),c_27type_2ebvlSem_2estate_27__01(V_27FFI_27))),c_27const_2epair_2e_2c_27__02(s__02(c_27type_2elist_2elist_27__01(c_27type_2ebvl_2eexp_27__00),c_27const_2elist_2eCONS_27__02(s__02(c_27type_2ebvl_2eexp_27__00,V_27e1_27),s__02(c_27type_2elist_2elist_27__01(c_27type_2ebvl_2eexp_27__00),c_27const_2elist_2eNIL_27__00))),s__02(c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2ebvlSem_2ev_27__00),c_27type_2ebvlSem_2estate_27__01(V_27FFI_27)),c_27const_2epair_2e_2c_27__02(s__02(c_27type_2elist_2elist_27__01(c_27type_2ebvlSem_2ev_27__00),V_27env_27),s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI_27),V_27s_27))))))) = s__02(c_27type_2epair_2eprod_27__02(c_27type_2esemanticPrimitives_2eresult_27__02(c_27type_2elist_2elist_27__01(c_27type_2ebvlSem_2ev_27__00),c_27type_2ebvlSem_2ev_27__00),c_27type_2ebvlSem_2estate_27__01(V_27FFI_27)),c_27const_2epair_2e_2c_27__02(s__02(c_27type_2esemanticPrimitives_2eresult_27__02(c_27type_2elist_2elist_27__01(c_27type_2ebvlSem_2ev_27__00),c_27type_2ebvlSem_2ev_27__00),V_27res_27),s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI_27),V_27t_27)))
& s__02(c_27type_2esptree_2espt_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ebvl_2eexp_27__00)),c_27const_2ebvlSem_2estate__code_27__01(s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI_27),V_27s_27))) = s__02(c_27type_2esptree_2espt_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ebvl_2eexp_27__00)),V_27c_27)
& s__02(c_27type_2esemanticPrimitives_2eresult_27__02(c_27type_2elist_2elist_27__01(c_27type_2ebvlSem_2ev_27__00),c_27type_2ebvlSem_2ev_27__00),V_27res_27) != s__02(c_27type_2esemanticPrimitives_2eresult_27__02(c_27type_2elist_2elist_27__01(c_27type_2ebvlSem_2ev_27__00),c_27type_2ebvlSem_2ev_27__00),c_27const_2esemanticPrimitives_2eRerr_27__01(s__02(c_27type_2esemanticPrimitives_2eerror__result_27__01(c_27type_2ebvlSem_2ev_27__00),c_27const_2esemanticPrimitives_2eRabort_27__01(s__02(c_27type_2esemanticPrimitives_2eabort_27__00,c_27const_2esemanticPrimitives_2eRtype__error_27__00))))) )
=> s__02(c_27type_2epair_2eprod_27__02(c_27type_2esemanticPrimitives_2eresult_27__02(c_27type_2elist_2elist_27__01(c_27type_2ebvlSem_2ev_27__00),c_27type_2ebvlSem_2ev_27__00),c_27type_2ebvlSem_2estate_27__01(V_27FFI_27)),c_27const_2ebvlSem_2eevaluate_27__01(s__02(c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2ebvl_2eexp_27__00),c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2ebvlSem_2ev_27__00),c_27type_2ebvlSem_2estate_27__01(V_27FFI_27))),c_27const_2epair_2e_2c_27__02(s__02(c_27type_2elist_2elist_27__01(c_27type_2ebvl_2eexp_27__00),c_27const_2elist_2eCONS_27__02(s__02(c_27type_2ebvl_2eexp_27__00,V_27e2_27),s__02(c_27type_2elist_2elist_27__01(c_27type_2ebvl_2eexp_27__00),c_27const_2elist_2eNIL_27__00))),s__02(c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2ebvlSem_2ev_27__00),c_27type_2ebvlSem_2estate_27__01(V_27FFI_27)),c_27const_2epair_2e_2c_27__02(s__02(c_27type_2elist_2elist_27__01(c_27type_2ebvlSem_2ev_27__00),V_27env_27),s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI_27),V_27s_27))))))) = s__02(c_27type_2epair_2eprod_27__02(c_27type_2esemanticPrimitives_2eresult_27__02(c_27type_2elist_2elist_27__01(c_27type_2ebvlSem_2ev_27__00),c_27type_2ebvlSem_2ev_27__00),c_27type_2ebvlSem_2estate_27__01(V_27FFI_27)),c_27const_2epair_2e_2c_27__02(s__02(c_27type_2esemanticPrimitives_2eresult_27__02(c_27type_2elist_2elist_27__01(c_27type_2ebvlSem_2ev_27__00),c_27type_2ebvlSem_2ev_27__00),V_27res_27),s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI_27),V_27t_27))) ) ) ).
fof('thm.bvl_inlineProof.evaluate_code_insert',axiom,
! [V_27FFI_27,V_27xs_27,V_27env_27,V_27s_27,V_27res_27,V_27t_27,V_27e1_27,V_27e2_27,V_27n_27,V_27arity_27,V_27c_27] :
( ( s__02(c_27type_2epair_2eprod_27__02(c_27type_2esemanticPrimitives_2eresult_27__02(c_27type_2elist_2elist_27__01(c_27type_2ebvlSem_2ev_27__00),c_27type_2ebvlSem_2ev_27__00),c_27type_2ebvlSem_2estate_27__01(V_27FFI_27)),c_27const_2ebvlSem_2eevaluate_27__01(s__02(c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2ebvl_2eexp_27__00),c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2ebvlSem_2ev_27__00),c_27type_2ebvlSem_2estate_27__01(V_27FFI_27))),c_27const_2epair_2e_2c_27__02(s__02(c_27type_2elist_2elist_27__01(c_27type_2ebvl_2eexp_27__00),V_27xs_27),s__02(c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2ebvlSem_2ev_27__00),c_27type_2ebvlSem_2estate_27__01(V_27FFI_27)),c_27const_2epair_2e_2c_27__02(s__02(c_27type_2elist_2elist_27__01(c_27type_2ebvlSem_2ev_27__00),V_27env_27),s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI_27),V_27s_27))))))) = s__02(c_27type_2epair_2eprod_27__02(c_27type_2esemanticPrimitives_2eresult_27__02(c_27type_2elist_2elist_27__01(c_27type_2ebvlSem_2ev_27__00),c_27type_2ebvlSem_2ev_27__00),c_27type_2ebvlSem_2estate_27__01(V_27FFI_27)),c_27const_2epair_2e_2c_27__02(s__02(c_27type_2esemanticPrimitives_2eresult_27__02(c_27type_2elist_2elist_27__01(c_27type_2ebvlSem_2ev_27__00),c_27type_2ebvlSem_2ev_27__00),V_27res_27),s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI_27),V_27t_27)))
& p__01(s__02(cbool__00,c_27const_2ebvl__inlineProof_2eexp__rel_27__04(s__02(c_27type_2ebool_2eitself_27__01(V_27FFI_27),c_27const_2ebool_2ethe__value_27__00),s__02(c_27type_2esptree_2espt_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ebvl_2eexp_27__00)),c_27const_2esptree_2einsert_27__03(s__02(c_27type_2enum_2enum_27__00,V_27n_27),s__02(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ebvl_2eexp_27__00),c_27const_2epair_2e_2c_27__02(s__02(c_27type_2enum_2enum_27__00,V_27arity_27),s__02(c_27type_2ebvl_2eexp_27__00,V_27e2_27))),s__02(c_27type_2esptree_2espt_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ebvl_2eexp_27__00)),V_27c_27))),s__02(c_27type_2ebvl_2eexp_27__00,V_27e1_27),s__02(c_27type_2ebvl_2eexp_27__00,V_27e2_27))))
& s__02(c_27type_2esemanticPrimitives_2eresult_27__02(c_27type_2elist_2elist_27__01(c_27type_2ebvlSem_2ev_27__00),c_27type_2ebvlSem_2ev_27__00),V_27res_27) != s__02(c_27type_2esemanticPrimitives_2eresult_27__02(c_27type_2elist_2elist_27__01(c_27type_2ebvlSem_2ev_27__00),c_27type_2ebvlSem_2ev_27__00),c_27const_2esemanticPrimitives_2eRerr_27__01(s__02(c_27type_2esemanticPrimitives_2eerror__result_27__01(c_27type_2ebvlSem_2ev_27__00),c_27const_2esemanticPrimitives_2eRabort_27__01(s__02(c_27type_2esemanticPrimitives_2eabort_27__00,c_27const_2esemanticPrimitives_2eRtype__error_27__00)))))
& s__02(c_27type_2eoption_2eoption_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ebvl_2eexp_27__00)),c_27const_2esptree_2elookup_27__02(s__02(c_27type_2enum_2enum_27__00,V_27n_27),s__02(c_27type_2esptree_2espt_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ebvl_2eexp_27__00)),V_27c_27))) = s__02(c_27type_2eoption_2eoption_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ebvl_2eexp_27__00)),c_27const_2eoption_2eSOME_27__01(s__02(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ebvl_2eexp_27__00),c_27const_2epair_2e_2c_27__02(s__02(c_27type_2enum_2enum_27__00,V_27arity_27),s__02(c_27type_2ebvl_2eexp_27__00,V_27e1_27)))))
& s__02(c_27type_2esptree_2espt_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ebvl_2eexp_27__00)),c_27const_2ebvlSem_2estate__code_27__01(s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI_27),V_27s_27))) = s__02(c_27type_2esptree_2espt_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ebvl_2eexp_27__00)),V_27c_27) )
=> s__02(c_27type_2epair_2eprod_27__02(c_27type_2esemanticPrimitives_2eresult_27__02(c_27type_2elist_2elist_27__01(c_27type_2ebvlSem_2ev_27__00),c_27type_2ebvlSem_2ev_27__00),c_27type_2ebvlSem_2estate_27__01(V_27FFI_27)),c_27const_2ebvlSem_2eevaluate_27__01(s__02(c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2ebvl_2eexp_27__00),c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2ebvlSem_2ev_27__00),c_27type_2ebvlSem_2estate_27__01(V_27FFI_27))),c_27const_2epair_2e_2c_27__02(s__02(c_27type_2elist_2elist_27__01(c_27type_2ebvl_2eexp_27__00),V_27xs_27),s__02(c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2ebvlSem_2ev_27__00),c_27type_2ebvlSem_2estate_27__01(V_27FFI_27)),c_27const_2epair_2e_2c_27__02(s__02(c_27type_2elist_2elist_27__01(c_27type_2ebvlSem_2ev_27__00),V_27env_27),s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI_27),c_27const_2ebvlSem_2estate__code__fupd_27__02(s__02(cfun__02(c_27type_2esptree_2espt_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ebvl_2eexp_27__00)),c_27type_2esptree_2espt_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ebvl_2eexp_27__00))),c_27const_2ecombin_2eK_27__01(s__02(c_27type_2esptree_2espt_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ebvl_2eexp_27__00)),c_27const_2esptree_2einsert_27__03(s__02(c_27type_2enum_2enum_27__00,V_27n_27),s__02(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ebvl_2eexp_27__00),c_27const_2epair_2e_2c_27__02(s__02(c_27type_2enum_2enum_27__00,V_27arity_27),s__02(c_27type_2ebvl_2eexp_27__00,V_27e2_27))),s__02(c_27type_2esptree_2espt_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ebvl_2eexp_27__00)),V_27c_27))))),s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI_27),V_27s_27))))))))) = s__02(c_27type_2epair_2eprod_27__02(c_27type_2esemanticPrimitives_2eresult_27__02(c_27type_2elist_2elist_27__01(c_27type_2ebvlSem_2ev_27__00),c_27type_2ebvlSem_2ev_27__00),c_27type_2ebvlSem_2estate_27__01(V_27FFI_27)),c_27const_2epair_2e_2c_27__02(s__02(c_27type_2esemanticPrimitives_2eresult_27__02(c_27type_2elist_2elist_27__01(c_27type_2ebvlSem_2ev_27__00),c_27type_2ebvlSem_2ev_27__00),V_27res_27),s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI_27),c_27const_2ebvlSem_2estate__code__fupd_27__02(s__02(cfun__02(c_27type_2esptree_2espt_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ebvl_2eexp_27__00)),c_27type_2esptree_2espt_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ebvl_2eexp_27__00))),c_27const_2ecombin_2eK_27__01(s__02(c_27type_2esptree_2espt_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ebvl_2eexp_27__00)),c_27const_2esptree_2einsert_27__03(s__02(c_27type_2enum_2enum_27__00,V_27n_27),s__02(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ebvl_2eexp_27__00),c_27const_2epair_2e_2c_27__02(s__02(c_27type_2enum_2enum_27__00,V_27arity_27),s__02(c_27type_2ebvl_2eexp_27__00,V_27e2_27))),s__02(c_27type_2esptree_2espt_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ebvl_2eexp_27__00)),V_27c_27))))),s__02(c_27type_2ebvlSem_2estate_27__01(V_27FFI_27),V_27t_27))))) ) ).
fof(conjecture,conjecture,
! [V_27FFI_27,V_27n_27,V_27c_27,V_27arity_27,V_27e1_27,V_27e2_27] :
( ( s__02(c_27type_2eoption_2eoption_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ebvl_2eexp_27__00)),c_27const_2esptree_2elookup_27__02(s__02(c_27type_2enum_2enum_27__00,V_27n_27),s__02(c_27type_2esptree_2espt_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ebvl_2eexp_27__00)),V_27c_27))) = s__02(c_27type_2eoption_2eoption_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ebvl_2eexp_27__00)),c_27const_2eoption_2eSOME_27__01(s__02(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ebvl_2eexp_27__00),c_27const_2epair_2e_2c_27__02(s__02(c_27type_2enum_2enum_27__00,V_27arity_27),s__02(c_27type_2ebvl_2eexp_27__00,V_27e1_27)))))
& p__01(s__02(cbool__00,c_27const_2ebvl__inlineProof_2eexp__rel_27__04(s__02(c_27type_2ebool_2eitself_27__01(V_27FFI_27),c_27const_2ebool_2ethe__value_27__00),s__02(c_27type_2esptree_2espt_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ebvl_2eexp_27__00)),c_27const_2esptree_2einsert_27__03(s__02(c_27type_2enum_2enum_27__00,V_27n_27),s__02(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ebvl_2eexp_27__00),c_27const_2epair_2e_2c_27__02(s__02(c_27type_2enum_2enum_27__00,V_27arity_27),s__02(c_27type_2ebvl_2eexp_27__00,V_27e2_27))),s__02(c_27type_2esptree_2espt_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ebvl_2eexp_27__00)),V_27c_27))),s__02(c_27type_2ebvl_2eexp_27__00,V_27e1_27),s__02(c_27type_2ebvl_2eexp_27__00,V_27e2_27)))) )
=> p__01(s__02(cbool__00,c_27const_2ebvl__inlineProof_2etick__code__rel_27__03(s__02(c_27type_2ebool_2eitself_27__01(V_27FFI_27),c_27const_2ebool_2ethe__value_27__00),s__02(c_27type_2esptree_2espt_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ebvl_2eexp_27__00)),V_27c_27),s__02(c_27type_2esptree_2espt_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ebvl_2eexp_27__00)),c_27const_2esptree_2einsert_27__03(s__02(c_27type_2enum_2enum_27__00,V_27n_27),s__02(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ebvl_2eexp_27__00),c_27const_2epair_2e_2c_27__02(s__02(c_27type_2enum_2enum_27__00,V_27arity_27),s__02(c_27type_2ebvl_2eexp_27__00,V_27e2_27))),s__02(c_27type_2esptree_2espt_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ebvl_2eexp_27__00)),V_27c_27)))))) ) ).
%------------------------------------------------------------------------------