TPTP Problem File: SWW901+1.p

View Solutions - Solve Problem

%------------------------------------------------------------------------------
% File     : SWW901+1 : TPTP v8.2.0. Released v7.3.0.
% Domain   : Software Verification
% Problem  : word_simpProof__47__push_env_stack_gc__dep
% Version  : Especial.
% English  :

% Refs     : [Kum18] Kumar (2018), Email to Geoff Sutcliffe
% Source   : [Kum18]
% Names    : word_simpProof__47__push_env_stack_gc__dep [Kum18]

% Status   : CounterSatisfiable
% Rating   : 0.00 v8.2.0, 0.33 v8.1.0, 0.25 v7.5.0, 0.60 v7.4.0, 0.33 v7.3.0
% Syntax   : Number of formulae    :   14 (   8 unt;   0 def)
%            Number of atoms       :   30 (  26 equ)
%            Maximal formula atoms :    7 (   2 avg)
%            Number of connectives :   17 (   1   ~;   2   |;   1   &)
%                                         (   1 <=>;  12  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   21 (   6 avg)
%            Maximal term depth    :   19 (   3 avg)
%            Number of predicates  :    2 (   1 usr;   0 prp; 1-2 aty)
%            Number of functors    :   46 (  46 usr;   9 con; 0-3 aty)
%            Number of variables   :   91 (  88   !;   3   ?)
% SPC      : FOF_CSA_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.LET_THM',axiom,
    ! [V_27B_27,V_27A_27,V_27f_27,V_27x_27] : s__02(V_27B_27,c_27const_2ebool_2eLET_27__02(s__02(cfun__02(V_27A_27,V_27B_27),V_27f_27),s__02(V_27A_27,V_27x_27))) = s__02(V_27B_27,chapp__02(s__02(cfun__02(V_27A_27,V_27B_27),V_27f_27),s__02(V_27A_27,V_27x_27))) ).

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.combin.I_THM',axiom,
    ! [V_27A_27,V_27x_27] : s__02(V_27A_27,c_27const_2ecombin_2eI_27__01(s__02(V_27A_27,V_27x_27))) = s__02(V_27A_27,V_27x_27) ).

fof('thm.pair.pair_CASES',axiom,
    ! [V_27A_27,V_27B_27,V_27x_27] :
    ? [V_27q_27,V_27r_27] : s__02(c_27type_2epair_2eprod_27__02(V_27A_27,V_27B_27),V_27x_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_27q_27),s__02(V_27B_27,V_27r_27))) ).

fof('thm.pair.UNCURRY_DEF',axiom,
    ! [V_27C_27,V_27A_27,V_27B_27,V_27f_27,V_27x_27,V_27y_27] : s__02(V_27C_27,chapp__02(s__02(cfun__02(c_27type_2epair_2eprod_27__02(V_27A_27,V_27B_27),V_27C_27),c_27const_2epair_2eUNCURRY_27__01(s__02(cfun__02(V_27A_27,cfun__02(V_27B_27,V_27C_27)),V_27f_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(V_27C_27,chapp__02(s__02(cfun__02(V_27B_27,V_27C_27),chapp__02(s__02(cfun__02(V_27A_27,cfun__02(V_27B_27,V_27C_27)),V_27f_27),s__02(V_27A_27,V_27x_27))),s__02(V_27B_27,V_27y_27))) ).

fof('thm.option.option_nchotomy',axiom,
    ! [V_27A_27,V_27opt_27] :
      ( s__02(c_27type_2eoption_2eoption_27__01(V_27A_27),V_27opt_27) = s__02(c_27type_2eoption_2eoption_27__01(V_27A_27),c_27const_2eoption_2eNONE_27__00)
      | ? [V_27x_27] : s__02(c_27type_2eoption_2eoption_27__01(V_27A_27),V_27opt_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))) ) ).

fof('thm.wordSem.env_to_list_def',axiom,
    ! [V_27A_27,V__5] :
      ( ! [V_27bij__seq_27,V_27n_27] : s__02(cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00),chapp__02(s__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00)),chapp__02(s__02(cfun__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00)),cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00))),V__5),s__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00)),V_27bij__seq_27))),s__02(c_27type_2enum_2enum_27__00,V_27n_27))) = s__02(cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00),chapp__02(s__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00)),V_27bij__seq_27),s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2e_2b_27__02(s__02(c_27type_2enum_2enum_27__00,V_27n_27),s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eNUMERAL_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT1_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eZERO_27__00)))))))))
     => ! [V__4] :
          ( ! [V_27permute_27,V_27l1_27] : s__02(c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00))),chapp__02(s__02(cfun__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00)))),chapp__02(s__02(cfun__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00)),cfun__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00))))),V__4),s__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00)),V_27permute_27))),s__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),V_27l1_27))) = s__02(c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00))),c_27const_2epair_2e_2c_27__02(s__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),V_27l1_27),s__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00)),V_27permute_27)))
         => ! [V__3] :
              ( ! [V_27permute_27,V_27mover_27,V_27l0_27] : s__02(c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00))),chapp__02(s__02(cfun__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00)))),chapp__02(s__02(cfun__02(cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00),cfun__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00))))),chapp__02(s__02(cfun__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00)),cfun__02(cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00),cfun__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00)))))),V__3),s__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00)),V_27permute_27))),s__02(cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00),V_27mover_27))),s__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),V_27l0_27))) = s__02(c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00))),c_27const_2ebool_2eLET_27__02(s__02(cfun__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00)))),chapp__02(s__02(cfun__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00)),cfun__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00))))),V__4),s__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00)),V_27permute_27))),s__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),c_27const_2ewordSem_2elist__rearrange_27__02(s__02(cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00),V_27mover_27),s__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),V_27l0_27)))))
             => ! [V__2] :
                  ( ! [V_27permute_27,V_27mover_27,V_27l_27] : s__02(c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00))),chapp__02(s__02(cfun__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00)))),chapp__02(s__02(cfun__02(cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00),cfun__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00))))),chapp__02(s__02(cfun__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00)),cfun__02(cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00),cfun__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00)))))),V__2),s__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00)),V_27permute_27))),s__02(cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00),V_27mover_27))),s__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),V_27l_27))) = s__02(c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00))),c_27const_2ebool_2eLET_27__02(s__02(cfun__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00)))),chapp__02(s__02(cfun__02(cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00),cfun__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00))))),chapp__02(s__02(cfun__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00)),cfun__02(cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00),cfun__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00)))))),V__3),s__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00)),V_27permute_27))),s__02(cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00),V_27mover_27))),s__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),c_27const_2esorting_2eQSORT_27__02(s__02(cfun__02(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),cfun__02(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),cbool__00)),c_27const_2ewordSem_2ekey__val__compare_27__00),s__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),V_27l_27)))))
                 => ! [V__1] :
                      ( ! [V_27mover_27,V_27env_27,V_27permute_27] : s__02(c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00))),chapp__02(s__02(cfun__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00)),c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00)))),chapp__02(s__02(cfun__02(c_27type_2esptree_2espt_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),cfun__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00)),c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00))))),chapp__02(s__02(cfun__02(cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00),cfun__02(c_27type_2esptree_2espt_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),cfun__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00)),c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00)))))),V__1),s__02(cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00),V_27mover_27))),s__02(c_27type_2esptree_2espt_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),V_27env_27))),s__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00)),V_27permute_27))) = s__02(c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00))),c_27const_2ebool_2eLET_27__02(s__02(cfun__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00)))),chapp__02(s__02(cfun__02(cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00),cfun__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00))))),chapp__02(s__02(cfun__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00)),cfun__02(cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00),cfun__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00)))))),V__2),s__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00)),V_27permute_27))),s__02(cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00),V_27mover_27))),s__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),c_27const_2esptree_2etoAList_27__01(s__02(c_27type_2esptree_2espt_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),V_27env_27)))))
                     => ! [V__0] :
                          ( ! [V_27env_27,V_27bij__seq_27,V_27mover_27] : s__02(c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00))),chapp__02(s__02(cfun__02(cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00),c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00)))),chapp__02(s__02(cfun__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00)),cfun__02(cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00),c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00))))),chapp__02(s__02(cfun__02(c_27type_2esptree_2espt_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),cfun__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00)),cfun__02(cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00),c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00)))))),V__0),s__02(c_27type_2esptree_2espt_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),V_27env_27))),s__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00)),V_27bij__seq_27))),s__02(cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00),V_27mover_27))) = s__02(c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00))),c_27const_2ebool_2eLET_27__02(s__02(cfun__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00)),c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00)))),chapp__02(s__02(cfun__02(c_27type_2esptree_2espt_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),cfun__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00)),c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00))))),chapp__02(s__02(cfun__02(cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00),cfun__02(c_27type_2esptree_2espt_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),cfun__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00)),c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00)))))),V__1),s__02(cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00),V_27mover_27))),s__02(c_27type_2esptree_2espt_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),V_27env_27))),s__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00)),chapp__02(s__02(cfun__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00)),cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00))),V__5),s__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00)),V_27bij__seq_27)))))
                         => ! [V_27env_27,V_27bij__seq_27] : s__02(c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00))),c_27const_2ewordSem_2eenv__to__list_27__02(s__02(c_27type_2esptree_2espt_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),V_27env_27),s__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00)),V_27bij__seq_27))) = s__02(c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00))),c_27const_2ebool_2eLET_27__02(s__02(cfun__02(cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00),c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00)))),chapp__02(s__02(cfun__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00)),cfun__02(cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00),c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00))))),chapp__02(s__02(cfun__02(c_27type_2esptree_2espt_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),cfun__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00)),cfun__02(cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00),c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00)))))),V__0),s__02(c_27type_2esptree_2espt_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),V_27env_27))),s__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00)),V_27bij__seq_27))),s__02(cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00),chapp__02(s__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00)),V_27bij__seq_27),s__02(c_27type_2enum_2enum_27__00,c_27const_2enum_2e0_27__00))))) ) ) ) ) ) ) ).

fof('thm.wordSem.push_env_def',axiom,
    ! [V_27A_27,V_27B_27,V_27C_27,V__4] :
      ( ! [V_27l_27,V_27permute_27,V_27s_27,V_27handler_27] : s__02(c_27type_2ewordSem_2estate_27__02(V_27B_27,V_27C_27),chapp__02(s__02(cfun__02(c_27type_2eoption_2eoption_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00))),c_27type_2ewordSem_2estate_27__02(V_27B_27,V_27C_27)),chapp__02(s__02(cfun__02(c_27type_2ewordSem_2estate_27__02(V_27B_27,V_27C_27),cfun__02(c_27type_2eoption_2eoption_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00))),c_27type_2ewordSem_2estate_27__02(V_27B_27,V_27C_27))),chapp__02(s__02(cfun__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00)),cfun__02(c_27type_2ewordSem_2estate_27__02(V_27B_27,V_27C_27),cfun__02(c_27type_2eoption_2eoption_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00))),c_27type_2ewordSem_2estate_27__02(V_27B_27,V_27C_27)))),chapp__02(s__02(cfun__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27B_27))),cfun__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00)),cfun__02(c_27type_2ewordSem_2estate_27__02(V_27B_27,V_27C_27),cfun__02(c_27type_2eoption_2eoption_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00))),c_27type_2ewordSem_2estate_27__02(V_27B_27,V_27C_27))))),V__4),s__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27B_27))),V_27l_27))),s__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00)),V_27permute_27))),s__02(c_27type_2ewordSem_2estate_27__02(V_27B_27,V_27C_27),V_27s_27))),s__02(c_27type_2eoption_2eoption_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00))),V_27handler_27))) = s__02(c_27type_2ewordSem_2estate_27__02(V_27B_27,V_27C_27),c_27const_2ewordSem_2estate__stack__fupd_27__02(s__02(cfun__02(c_27type_2elist_2elist_27__01(c_27type_2ewordSem_2estack__frame_27__01(V_27B_27)),c_27type_2elist_2elist_27__01(c_27type_2ewordSem_2estack__frame_27__01(V_27B_27))),c_27const_2ecombin_2eK_27__01(s__02(c_27type_2elist_2elist_27__01(c_27type_2ewordSem_2estack__frame_27__01(V_27B_27)),c_27const_2elist_2eCONS_27__02(s__02(c_27type_2ewordSem_2estack__frame_27__01(V_27B_27),c_27const_2ewordSem_2eStackFrame_27__02(s__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27B_27))),V_27l_27),s__02(c_27type_2eoption_2eoption_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00))),V_27handler_27))),s__02(c_27type_2elist_2elist_27__01(c_27type_2ewordSem_2estack__frame_27__01(V_27B_27)),c_27const_2ewordSem_2estate__stack_27__01(s__02(c_27type_2ewordSem_2estate_27__02(V_27B_27,V_27C_27),V_27s_27))))))),s__02(c_27type_2ewordSem_2estate_27__02(V_27B_27,V_27C_27),c_27const_2ewordSem_2estate__permute__fupd_27__02(s__02(cfun__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00)),cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00))),c_27const_2ecombin_2eK_27__01(s__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00)),V_27permute_27))),s__02(c_27type_2ewordSem_2estate_27__02(V_27B_27,V_27C_27),c_27const_2ewordSem_2estate__handler__fupd_27__02(s__02(cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00),c_27const_2ecombin_2eK_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2elist_2eLENGTH_27__01(s__02(c_27type_2elist_2elist_27__01(c_27type_2ewordSem_2estack__frame_27__01(V_27B_27)),c_27const_2ewordSem_2estate__stack_27__01(s__02(c_27type_2ewordSem_2estate_27__02(V_27B_27,V_27C_27),V_27s_27))))))),s__02(c_27type_2ewordSem_2estate_27__02(V_27B_27,V_27C_27),V_27s_27)))))))
     => ! [V__3] :
          ( ! [V_27l_27,V_27s_27,V_27l1_27,V_27l2_27,V_27permute_27] : s__02(c_27type_2ewordSem_2estate_27__02(V_27B_27,V_27C_27),chapp__02(s__02(cfun__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00)),c_27type_2ewordSem_2estate_27__02(V_27B_27,V_27C_27)),chapp__02(s__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00)),c_27type_2ewordSem_2estate_27__02(V_27B_27,V_27C_27))),chapp__02(s__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,cfun__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00)),c_27type_2ewordSem_2estate_27__02(V_27B_27,V_27C_27)))),chapp__02(s__02(cfun__02(c_27type_2ewordSem_2estate_27__02(V_27B_27,V_27C_27),cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,cfun__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00)),c_27type_2ewordSem_2estate_27__02(V_27B_27,V_27C_27))))),chapp__02(s__02(cfun__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27B_27))),cfun__02(c_27type_2ewordSem_2estate_27__02(V_27B_27,V_27C_27),cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,cfun__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00)),c_27type_2ewordSem_2estate_27__02(V_27B_27,V_27C_27)))))),V__3),s__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27B_27))),V_27l_27))),s__02(c_27type_2ewordSem_2estate_27__02(V_27B_27,V_27C_27),V_27s_27))),s__02(c_27type_2enum_2enum_27__00,V_27l1_27))),s__02(c_27type_2enum_2enum_27__00,V_27l2_27))),s__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00)),V_27permute_27))) = s__02(c_27type_2ewordSem_2estate_27__02(V_27B_27,V_27C_27),c_27const_2ebool_2eLET_27__02(s__02(cfun__02(c_27type_2eoption_2eoption_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00))),c_27type_2ewordSem_2estate_27__02(V_27B_27,V_27C_27)),chapp__02(s__02(cfun__02(c_27type_2ewordSem_2estate_27__02(V_27B_27,V_27C_27),cfun__02(c_27type_2eoption_2eoption_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00))),c_27type_2ewordSem_2estate_27__02(V_27B_27,V_27C_27))),chapp__02(s__02(cfun__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00)),cfun__02(c_27type_2ewordSem_2estate_27__02(V_27B_27,V_27C_27),cfun__02(c_27type_2eoption_2eoption_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00))),c_27type_2ewordSem_2estate_27__02(V_27B_27,V_27C_27)))),chapp__02(s__02(cfun__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27B_27))),cfun__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00)),cfun__02(c_27type_2ewordSem_2estate_27__02(V_27B_27,V_27C_27),cfun__02(c_27type_2eoption_2eoption_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00))),c_27type_2ewordSem_2estate_27__02(V_27B_27,V_27C_27))))),V__4),s__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27B_27))),V_27l_27))),s__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00)),V_27permute_27))),s__02(c_27type_2ewordSem_2estate_27__02(V_27B_27,V_27C_27),V_27s_27))),s__02(c_27type_2eoption_2eoption_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00))),c_27const_2eoption_2eSOME_27__01(s__02(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00)),c_27const_2epair_2e_2c_27__02(s__02(c_27type_2enum_2enum_27__00,c_27const_2ewordSem_2estate__handler_27__01(s__02(c_27type_2ewordSem_2estate_27__02(V_27B_27,V_27C_27),V_27s_27))),s__02(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00),c_27const_2epair_2e_2c_27__02(s__02(c_27type_2enum_2enum_27__00,V_27l1_27),s__02(c_27type_2enum_2enum_27__00,V_27l2_27)))))))))
         => ! [V__2] :
              ( ! [V_27s_27,V_27l1_27,V_27l2_27,V_27l_27] : s__02(cfun__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00)),c_27type_2ewordSem_2estate_27__02(V_27B_27,V_27C_27)),chapp__02(s__02(cfun__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27B_27))),cfun__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00)),c_27type_2ewordSem_2estate_27__02(V_27B_27,V_27C_27))),chapp__02(s__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27B_27))),cfun__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00)),c_27type_2ewordSem_2estate_27__02(V_27B_27,V_27C_27)))),chapp__02(s__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27B_27))),cfun__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00)),c_27type_2ewordSem_2estate_27__02(V_27B_27,V_27C_27))))),chapp__02(s__02(cfun__02(c_27type_2ewordSem_2estate_27__02(V_27B_27,V_27C_27),cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27B_27))),cfun__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00)),c_27type_2ewordSem_2estate_27__02(V_27B_27,V_27C_27)))))),V__2),s__02(c_27type_2ewordSem_2estate_27__02(V_27B_27,V_27C_27),V_27s_27))),s__02(c_27type_2enum_2enum_27__00,V_27l1_27))),s__02(c_27type_2enum_2enum_27__00,V_27l2_27))),s__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27B_27))),V_27l_27))) = s__02(cfun__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00)),c_27type_2ewordSem_2estate_27__02(V_27B_27,V_27C_27)),chapp__02(s__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00)),c_27type_2ewordSem_2estate_27__02(V_27B_27,V_27C_27))),chapp__02(s__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,cfun__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00)),c_27type_2ewordSem_2estate_27__02(V_27B_27,V_27C_27)))),chapp__02(s__02(cfun__02(c_27type_2ewordSem_2estate_27__02(V_27B_27,V_27C_27),cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,cfun__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00)),c_27type_2ewordSem_2estate_27__02(V_27B_27,V_27C_27))))),chapp__02(s__02(cfun__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27B_27))),cfun__02(c_27type_2ewordSem_2estate_27__02(V_27B_27,V_27C_27),cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,cfun__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00)),c_27type_2ewordSem_2estate_27__02(V_27B_27,V_27C_27)))))),V__3),s__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27B_27))),V_27l_27))),s__02(c_27type_2ewordSem_2estate_27__02(V_27B_27,V_27C_27),V_27s_27))),s__02(c_27type_2enum_2enum_27__00,V_27l1_27))),s__02(c_27type_2enum_2enum_27__00,V_27l2_27)))
             => ! [V__1] :
                  ( ! [V_27l_27,V_27s_27,V_27permute_27] : s__02(c_27type_2ewordSem_2estate_27__02(V_27B_27,V_27C_27),chapp__02(s__02(cfun__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00)),c_27type_2ewordSem_2estate_27__02(V_27B_27,V_27C_27)),chapp__02(s__02(cfun__02(c_27type_2ewordSem_2estate_27__02(V_27B_27,V_27C_27),cfun__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00)),c_27type_2ewordSem_2estate_27__02(V_27B_27,V_27C_27))),chapp__02(s__02(cfun__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27B_27))),cfun__02(c_27type_2ewordSem_2estate_27__02(V_27B_27,V_27C_27),cfun__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00)),c_27type_2ewordSem_2estate_27__02(V_27B_27,V_27C_27)))),V__1),s__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27B_27))),V_27l_27))),s__02(c_27type_2ewordSem_2estate_27__02(V_27B_27,V_27C_27),V_27s_27))),s__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00)),V_27permute_27))) = s__02(c_27type_2ewordSem_2estate_27__02(V_27B_27,V_27C_27),c_27const_2ewordSem_2estate__stack__fupd_27__02(s__02(cfun__02(c_27type_2elist_2elist_27__01(c_27type_2ewordSem_2estack__frame_27__01(V_27B_27)),c_27type_2elist_2elist_27__01(c_27type_2ewordSem_2estack__frame_27__01(V_27B_27))),c_27const_2ecombin_2eK_27__01(s__02(c_27type_2elist_2elist_27__01(c_27type_2ewordSem_2estack__frame_27__01(V_27B_27)),c_27const_2elist_2eCONS_27__02(s__02(c_27type_2ewordSem_2estack__frame_27__01(V_27B_27),c_27const_2ewordSem_2eStackFrame_27__02(s__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27B_27))),V_27l_27),s__02(c_27type_2eoption_2eoption_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00))),c_27const_2eoption_2eNONE_27__00))),s__02(c_27type_2elist_2elist_27__01(c_27type_2ewordSem_2estack__frame_27__01(V_27B_27)),c_27const_2ewordSem_2estate__stack_27__01(s__02(c_27type_2ewordSem_2estate_27__02(V_27B_27,V_27C_27),V_27s_27))))))),s__02(c_27type_2ewordSem_2estate_27__02(V_27B_27,V_27C_27),c_27const_2ewordSem_2estate__permute__fupd_27__02(s__02(cfun__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00)),cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00))),c_27const_2ecombin_2eK_27__01(s__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00)),V_27permute_27))),s__02(c_27type_2ewordSem_2estate_27__02(V_27B_27,V_27C_27),V_27s_27)))))
                 => ! [V__0] :
                      ( ! [V_27s_27,V_27l_27] : s__02(cfun__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00)),c_27type_2ewordSem_2estate_27__02(V_27B_27,V_27C_27)),chapp__02(s__02(cfun__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27B_27))),cfun__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00)),c_27type_2ewordSem_2estate_27__02(V_27B_27,V_27C_27))),chapp__02(s__02(cfun__02(c_27type_2ewordSem_2estate_27__02(V_27B_27,V_27C_27),cfun__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27B_27))),cfun__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00)),c_27type_2ewordSem_2estate_27__02(V_27B_27,V_27C_27)))),V__0),s__02(c_27type_2ewordSem_2estate_27__02(V_27B_27,V_27C_27),V_27s_27))),s__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27B_27))),V_27l_27))) = s__02(cfun__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00)),c_27type_2ewordSem_2estate_27__02(V_27B_27,V_27C_27)),chapp__02(s__02(cfun__02(c_27type_2ewordSem_2estate_27__02(V_27B_27,V_27C_27),cfun__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00)),c_27type_2ewordSem_2estate_27__02(V_27B_27,V_27C_27))),chapp__02(s__02(cfun__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27B_27))),cfun__02(c_27type_2ewordSem_2estate_27__02(V_27B_27,V_27C_27),cfun__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00)),c_27type_2ewordSem_2estate_27__02(V_27B_27,V_27C_27)))),V__1),s__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27B_27))),V_27l_27))),s__02(c_27type_2ewordSem_2estate_27__02(V_27B_27,V_27C_27),V_27s_27)))
                     => ! [V_27w_27,V_27s_27,V_27l2_27,V_27l1_27,V_27h_27,V_27env_27] :
                          ( s__02(c_27type_2ewordSem_2estate_27__02(V_27B_27,V_27C_27),c_27const_2ewordSem_2epush__env_27__03(s__02(c_27type_2esptree_2espt_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27B_27)),V_27env_27),s__02(c_27type_2eoption_2eoption_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2epair_2eprod_27__02(c_27type_2ewordLang_2eprog_27__01(V_27A_27),c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00)))),c_27const_2eoption_2eNONE_27__00),s__02(c_27type_2ewordSem_2estate_27__02(V_27B_27,V_27C_27),V_27s_27))) = s__02(c_27type_2ewordSem_2estate_27__02(V_27B_27,V_27C_27),c_27const_2ebool_2eLET_27__02(s__02(cfun__02(c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27B_27))),cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00))),c_27type_2ewordSem_2estate_27__02(V_27B_27,V_27C_27)),c_27const_2epair_2eUNCURRY_27__01(s__02(cfun__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27B_27))),cfun__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00)),c_27type_2ewordSem_2estate_27__02(V_27B_27,V_27C_27))),chapp__02(s__02(cfun__02(c_27type_2ewordSem_2estate_27__02(V_27B_27,V_27C_27),cfun__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27B_27))),cfun__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00)),c_27type_2ewordSem_2estate_27__02(V_27B_27,V_27C_27)))),V__0),s__02(c_27type_2ewordSem_2estate_27__02(V_27B_27,V_27C_27),V_27s_27))))),s__02(c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27B_27))),cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00))),c_27const_2ewordSem_2eenv__to__list_27__02(s__02(c_27type_2esptree_2espt_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27B_27)),V_27env_27),s__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00)),c_27const_2ewordSem_2estate__permute_27__01(s__02(c_27type_2ewordSem_2estate_27__02(V_27B_27,V_27C_27),V_27s_27)))))))
                          & s__02(c_27type_2ewordSem_2estate_27__02(V_27B_27,V_27C_27),c_27const_2ewordSem_2epush__env_27__03(s__02(c_27type_2esptree_2espt_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27B_27)),V_27env_27),s__02(c_27type_2eoption_2eoption_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2epair_2eprod_27__02(c_27type_2ewordLang_2eprog_27__01(V_27A_27),c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00)))),c_27const_2eoption_2eSOME_27__01(s__02(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2epair_2eprod_27__02(c_27type_2ewordLang_2eprog_27__01(V_27A_27),c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00))),c_27const_2epair_2e_2c_27__02(s__02(c_27type_2enum_2enum_27__00,V_27w_27),s__02(c_27type_2epair_2eprod_27__02(c_27type_2ewordLang_2eprog_27__01(V_27A_27),c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00)),c_27const_2epair_2e_2c_27__02(s__02(c_27type_2ewordLang_2eprog_27__01(V_27A_27),V_27h_27),s__02(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00),c_27const_2epair_2e_2c_27__02(s__02(c_27type_2enum_2enum_27__00,V_27l1_27),s__02(c_27type_2enum_2enum_27__00,V_27l2_27))))))))),s__02(c_27type_2ewordSem_2estate_27__02(V_27B_27,V_27C_27),V_27s_27))) = s__02(c_27type_2ewordSem_2estate_27__02(V_27B_27,V_27C_27),c_27const_2ebool_2eLET_27__02(s__02(cfun__02(c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27B_27))),cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00))),c_27type_2ewordSem_2estate_27__02(V_27B_27,V_27C_27)),c_27const_2epair_2eUNCURRY_27__01(s__02(cfun__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27B_27))),cfun__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00)),c_27type_2ewordSem_2estate_27__02(V_27B_27,V_27C_27))),chapp__02(s__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27B_27))),cfun__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00)),c_27type_2ewordSem_2estate_27__02(V_27B_27,V_27C_27)))),chapp__02(s__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27B_27))),cfun__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00)),c_27type_2ewordSem_2estate_27__02(V_27B_27,V_27C_27))))),chapp__02(s__02(cfun__02(c_27type_2ewordSem_2estate_27__02(V_27B_27,V_27C_27),cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27B_27))),cfun__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00)),c_27type_2ewordSem_2estate_27__02(V_27B_27,V_27C_27)))))),V__2),s__02(c_27type_2ewordSem_2estate_27__02(V_27B_27,V_27C_27),V_27s_27))),s__02(c_27type_2enum_2enum_27__00,V_27l1_27))),s__02(c_27type_2enum_2enum_27__00,V_27l2_27))))),s__02(c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27B_27))),cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00))),c_27const_2ewordSem_2eenv__to__list_27__02(s__02(c_27type_2esptree_2espt_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27B_27)),V_27env_27),s__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00)),c_27const_2ewordSem_2estate__permute_27__01(s__02(c_27type_2ewordSem_2estate_27__02(V_27B_27,V_27C_27),V_27s_27))))))) ) ) ) ) ) ) ).

fof(conjecture,conjecture,
    ! [V_27C_27,V_27A_27,V_27B_27,V_27s_27,V_27ls_27,V_27h_27] : s__02(cfun__02(c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),c_27type_2epair_2eprod_27__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),c_27type_2epair_2eprod_27__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),cbool__00),c_27type_2efinite__map_2efmap_27__02(c_27type_2estackLang_2estore__name_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))))),c_27type_2eoption_2eoption_27__01(c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),c_27type_2epair_2eprod_27__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),c_27type_2efinite__map_2efmap_27__02(c_27type_2estackLang_2estore__name_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)))))),c_27const_2ewordSem_2estate__gc__fun_27__01(s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27B_27),c_27const_2ewordSem_2epush__env_27__03(s__02(c_27type_2esptree_2espt_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),V_27ls_27),s__02(c_27type_2eoption_2eoption_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2epair_2eprod_27__02(c_27type_2ewordLang_2eprog_27__01(V_27C_27),c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00)))),V_27h_27),s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27B_27),V_27s_27))))) = s__02(cfun__02(c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),c_27type_2epair_2eprod_27__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),c_27type_2epair_2eprod_27__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),cbool__00),c_27type_2efinite__map_2efmap_27__02(c_27type_2estackLang_2estore__name_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))))),c_27type_2eoption_2eoption_27__01(c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),c_27type_2epair_2eprod_27__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),c_27type_2efinite__map_2efmap_27__02(c_27type_2estackLang_2estore__name_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)))))),c_27const_2ewordSem_2estate__gc__fun_27__01(s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27B_27),V_27s_27))) ).

%------------------------------------------------------------------------------