TPTP Problem File: SWW868+1.p

View Solutions - Solve Problem

%------------------------------------------------------------------------------
% File     : SWW868+1 : TPTP v9.0.0. Released v7.3.0.
% Domain   : Software Verification
% Problem  : typeSysProps__128__check_signature_tenv_ok__dep
% Version  : Especial.
% English  :

% Refs     : [Kum18] Kumar (2018), Email to Geoff Sutcliffe
% Source   : [Kum18]
% Names    : typeSysProps__128__check_signature_tenv_ok__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    :   23 (   4 unt;   0 def)
%            Number of atoms       :  112 (  42 equ)
%            Maximal formula atoms :   15 (   4 avg)
%            Number of connectives :   93 (   4   ~;   2   |;  38   &)
%                                         (  19 <=>;  30  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   15 (   7 avg)
%            Maximal term depth    :   20 (   2 avg)
%            Number of predicates  :    2 (   1 usr;   0 prp; 1-2 aty)
%            Number of functors    :   48 (  48 usr;  15 con; 0-7 aty)
%            Number of variables   :  119 ( 118   !;   1   ?)
% 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.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.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.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.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.typeSystem.type_env_accfupds',axiom,
    ( ! [V_27t_27,V_27f_27] : s__02(c_27type_2enamespace_2enamespace_27__03(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2east_2et_27__00)),c_27const_2etypeSystem_2etype__env__v_27__01(s__02(c_27type_2etypeSystem_2etype__env_27__00,c_27const_2etypeSystem_2etype__env__c__fupd_27__02(s__02(cfun__02(c_27type_2enamespace_2enamespace_27__03(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00)),c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2east_2et_27__00),c_27type_2esemanticPrimitives_2etid__or__exn_27__00))),c_27type_2enamespace_2enamespace_27__03(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00)),c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2east_2et_27__00),c_27type_2esemanticPrimitives_2etid__or__exn_27__00)))),V_27f_27),s__02(c_27type_2etypeSystem_2etype__env_27__00,V_27t_27))))) = s__02(c_27type_2enamespace_2enamespace_27__03(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2east_2et_27__00)),c_27const_2etypeSystem_2etype__env__v_27__01(s__02(c_27type_2etypeSystem_2etype__env_27__00,V_27t_27)))
    & ! [V_27t_27,V_27f_27] : s__02(c_27type_2enamespace_2enamespace_27__03(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2east_2et_27__00)),c_27const_2etypeSystem_2etype__env__v_27__01(s__02(c_27type_2etypeSystem_2etype__env_27__00,c_27const_2etypeSystem_2etype__env__t__fupd_27__02(s__02(cfun__02(c_27type_2enamespace_2enamespace_27__03(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00)),c_27type_2east_2et_27__00)),c_27type_2enamespace_2enamespace_27__03(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00)),c_27type_2east_2et_27__00))),V_27f_27),s__02(c_27type_2etypeSystem_2etype__env_27__00,V_27t_27))))) = s__02(c_27type_2enamespace_2enamespace_27__03(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2east_2et_27__00)),c_27const_2etypeSystem_2etype__env__v_27__01(s__02(c_27type_2etypeSystem_2etype__env_27__00,V_27t_27)))
    & ! [V_27t_27,V_27f_27] : s__02(c_27type_2enamespace_2enamespace_27__03(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00)),c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2east_2et_27__00),c_27type_2esemanticPrimitives_2etid__or__exn_27__00))),c_27const_2etypeSystem_2etype__env__c_27__01(s__02(c_27type_2etypeSystem_2etype__env_27__00,c_27const_2etypeSystem_2etype__env__v__fupd_27__02(s__02(cfun__02(c_27type_2enamespace_2enamespace_27__03(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2east_2et_27__00)),c_27type_2enamespace_2enamespace_27__03(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2east_2et_27__00))),V_27f_27),s__02(c_27type_2etypeSystem_2etype__env_27__00,V_27t_27))))) = s__02(c_27type_2enamespace_2enamespace_27__03(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00)),c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2east_2et_27__00),c_27type_2esemanticPrimitives_2etid__or__exn_27__00))),c_27const_2etypeSystem_2etype__env__c_27__01(s__02(c_27type_2etypeSystem_2etype__env_27__00,V_27t_27)))
    & ! [V_27t_27,V_27f_27] : s__02(c_27type_2enamespace_2enamespace_27__03(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00)),c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2east_2et_27__00),c_27type_2esemanticPrimitives_2etid__or__exn_27__00))),c_27const_2etypeSystem_2etype__env__c_27__01(s__02(c_27type_2etypeSystem_2etype__env_27__00,c_27const_2etypeSystem_2etype__env__t__fupd_27__02(s__02(cfun__02(c_27type_2enamespace_2enamespace_27__03(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00)),c_27type_2east_2et_27__00)),c_27type_2enamespace_2enamespace_27__03(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00)),c_27type_2east_2et_27__00))),V_27f_27),s__02(c_27type_2etypeSystem_2etype__env_27__00,V_27t_27))))) = s__02(c_27type_2enamespace_2enamespace_27__03(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00)),c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2east_2et_27__00),c_27type_2esemanticPrimitives_2etid__or__exn_27__00))),c_27const_2etypeSystem_2etype__env__c_27__01(s__02(c_27type_2etypeSystem_2etype__env_27__00,V_27t_27)))
    & ! [V_27t_27,V_27f_27] : s__02(c_27type_2enamespace_2enamespace_27__03(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00)),c_27type_2east_2et_27__00)),c_27const_2etypeSystem_2etype__env__t_27__01(s__02(c_27type_2etypeSystem_2etype__env_27__00,c_27const_2etypeSystem_2etype__env__v__fupd_27__02(s__02(cfun__02(c_27type_2enamespace_2enamespace_27__03(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2east_2et_27__00)),c_27type_2enamespace_2enamespace_27__03(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2east_2et_27__00))),V_27f_27),s__02(c_27type_2etypeSystem_2etype__env_27__00,V_27t_27))))) = s__02(c_27type_2enamespace_2enamespace_27__03(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00)),c_27type_2east_2et_27__00)),c_27const_2etypeSystem_2etype__env__t_27__01(s__02(c_27type_2etypeSystem_2etype__env_27__00,V_27t_27)))
    & ! [V_27t_27,V_27f_27] : s__02(c_27type_2enamespace_2enamespace_27__03(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00)),c_27type_2east_2et_27__00)),c_27const_2etypeSystem_2etype__env__t_27__01(s__02(c_27type_2etypeSystem_2etype__env_27__00,c_27const_2etypeSystem_2etype__env__c__fupd_27__02(s__02(cfun__02(c_27type_2enamespace_2enamespace_27__03(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00)),c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2east_2et_27__00),c_27type_2esemanticPrimitives_2etid__or__exn_27__00))),c_27type_2enamespace_2enamespace_27__03(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00)),c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2east_2et_27__00),c_27type_2esemanticPrimitives_2etid__or__exn_27__00)))),V_27f_27),s__02(c_27type_2etypeSystem_2etype__env_27__00,V_27t_27))))) = s__02(c_27type_2enamespace_2enamespace_27__03(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00)),c_27type_2east_2et_27__00)),c_27const_2etypeSystem_2etype__env__t_27__01(s__02(c_27type_2etypeSystem_2etype__env_27__00,V_27t_27)))
    & ! [V_27t_27,V_27f_27] : s__02(c_27type_2enamespace_2enamespace_27__03(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2east_2et_27__00)),c_27const_2etypeSystem_2etype__env__v_27__01(s__02(c_27type_2etypeSystem_2etype__env_27__00,c_27const_2etypeSystem_2etype__env__v__fupd_27__02(s__02(cfun__02(c_27type_2enamespace_2enamespace_27__03(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2east_2et_27__00)),c_27type_2enamespace_2enamespace_27__03(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2east_2et_27__00))),V_27f_27),s__02(c_27type_2etypeSystem_2etype__env_27__00,V_27t_27))))) = s__02(c_27type_2enamespace_2enamespace_27__03(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2east_2et_27__00)),chapp__02(s__02(cfun__02(c_27type_2enamespace_2enamespace_27__03(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2east_2et_27__00)),c_27type_2enamespace_2enamespace_27__03(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2east_2et_27__00))),V_27f_27),s__02(c_27type_2enamespace_2enamespace_27__03(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2east_2et_27__00)),c_27const_2etypeSystem_2etype__env__v_27__01(s__02(c_27type_2etypeSystem_2etype__env_27__00,V_27t_27)))))
    & ! [V_27t_27,V_27f_27] : s__02(c_27type_2enamespace_2enamespace_27__03(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00)),c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2east_2et_27__00),c_27type_2esemanticPrimitives_2etid__or__exn_27__00))),c_27const_2etypeSystem_2etype__env__c_27__01(s__02(c_27type_2etypeSystem_2etype__env_27__00,c_27const_2etypeSystem_2etype__env__c__fupd_27__02(s__02(cfun__02(c_27type_2enamespace_2enamespace_27__03(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00)),c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2east_2et_27__00),c_27type_2esemanticPrimitives_2etid__or__exn_27__00))),c_27type_2enamespace_2enamespace_27__03(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00)),c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2east_2et_27__00),c_27type_2esemanticPrimitives_2etid__or__exn_27__00)))),V_27f_27),s__02(c_27type_2etypeSystem_2etype__env_27__00,V_27t_27))))) = s__02(c_27type_2enamespace_2enamespace_27__03(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00)),c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2east_2et_27__00),c_27type_2esemanticPrimitives_2etid__or__exn_27__00))),chapp__02(s__02(cfun__02(c_27type_2enamespace_2enamespace_27__03(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00)),c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2east_2et_27__00),c_27type_2esemanticPrimitives_2etid__or__exn_27__00))),c_27type_2enamespace_2enamespace_27__03(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00)),c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2east_2et_27__00),c_27type_2esemanticPrimitives_2etid__or__exn_27__00)))),V_27f_27),s__02(c_27type_2enamespace_2enamespace_27__03(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00)),c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2east_2et_27__00),c_27type_2esemanticPrimitives_2etid__or__exn_27__00))),c_27const_2etypeSystem_2etype__env__c_27__01(s__02(c_27type_2etypeSystem_2etype__env_27__00,V_27t_27)))))
    & ! [V_27t_27,V_27f_27] : s__02(c_27type_2enamespace_2enamespace_27__03(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00)),c_27type_2east_2et_27__00)),c_27const_2etypeSystem_2etype__env__t_27__01(s__02(c_27type_2etypeSystem_2etype__env_27__00,c_27const_2etypeSystem_2etype__env__t__fupd_27__02(s__02(cfun__02(c_27type_2enamespace_2enamespace_27__03(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00)),c_27type_2east_2et_27__00)),c_27type_2enamespace_2enamespace_27__03(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00)),c_27type_2east_2et_27__00))),V_27f_27),s__02(c_27type_2etypeSystem_2etype__env_27__00,V_27t_27))))) = s__02(c_27type_2enamespace_2enamespace_27__03(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00)),c_27type_2east_2et_27__00)),chapp__02(s__02(cfun__02(c_27type_2enamespace_2enamespace_27__03(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00)),c_27type_2east_2et_27__00)),c_27type_2enamespace_2enamespace_27__03(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00)),c_27type_2east_2et_27__00))),V_27f_27),s__02(c_27type_2enamespace_2enamespace_27__03(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00)),c_27type_2east_2et_27__00)),c_27const_2etypeSystem_2etype__env__t_27__01(s__02(c_27type_2etypeSystem_2etype__env_27__00,V_27t_27))))) ) ).

fof('thm.typeSystem.check_signature_cases',axiom,
    ! [V_27a0_27,V_27a1_27,V_27a2_27,V_27a3_27,V_27a4_27,V_27a5_27,V_27a6_27] :
      ( p__01(s__02(cbool__00,c_27const_2etypeSystem_2echeck__signature_27__07(s__02(c_27type_2elist_2elist_27__01(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00)),V_27a0_27),s__02(c_27type_2enamespace_2enamespace_27__03(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00)),c_27type_2east_2et_27__00)),V_27a1_27),s__02(c_27type_2etypeSystem_2edecls_27__00,V_27a2_27),s__02(c_27type_2etypeSystem_2etype__env_27__00,V_27a3_27),s__02(c_27type_2eoption_2eoption_27__01(c_27type_2elist_2elist_27__01(c_27type_2east_2espec_27__00)),V_27a4_27),s__02(c_27type_2etypeSystem_2edecls_27__00,V_27a5_27),s__02(c_27type_2etypeSystem_2etype__env_27__00,V_27a6_27))))
    <=> ( ( s__02(c_27type_2eoption_2eoption_27__01(c_27type_2elist_2elist_27__01(c_27type_2east_2espec_27__00)),V_27a4_27) = s__02(c_27type_2eoption_2eoption_27__01(c_27type_2elist_2elist_27__01(c_27type_2east_2espec_27__00)),c_27const_2eoption_2eNONE_27__00)
          & s__02(c_27type_2etypeSystem_2edecls_27__00,V_27a5_27) = s__02(c_27type_2etypeSystem_2edecls_27__00,V_27a2_27)
          & s__02(c_27type_2etypeSystem_2etype__env_27__00,V_27a6_27) = s__02(c_27type_2etypeSystem_2etype__env_27__00,V_27a3_27)
          & p__01(s__02(cbool__00,cT__00)) )
        | ? [V_27specs_27] :
            ( s__02(c_27type_2eoption_2eoption_27__01(c_27type_2elist_2elist_27__01(c_27type_2east_2espec_27__00)),V_27a4_27) = s__02(c_27type_2eoption_2eoption_27__01(c_27type_2elist_2elist_27__01(c_27type_2east_2espec_27__00)),c_27const_2eoption_2eSOME_27__01(s__02(c_27type_2elist_2elist_27__01(c_27type_2east_2espec_27__00),V_27specs_27)))
            & p__01(s__02(cbool__00,c_27const_2etypeSystem_2eweak__tenv_27__02(s__02(c_27type_2etypeSystem_2etype__env_27__00,V_27a3_27),s__02(c_27type_2etypeSystem_2etype__env_27__00,V_27a6_27))))
            & p__01(s__02(cbool__00,c_27const_2etypeSystem_2eweak__decls_27__02(s__02(c_27type_2etypeSystem_2edecls_27__00,V_27a2_27),s__02(c_27type_2etypeSystem_2edecls_27__00,V_27a5_27))))
            & p__01(s__02(cbool__00,c_27const_2etypeSystem_2etype__specs_27__05(s__02(c_27type_2elist_2elist_27__01(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00)),V_27a0_27),s__02(c_27type_2enamespace_2enamespace_27__03(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00)),c_27type_2east_2et_27__00)),V_27a1_27),s__02(c_27type_2elist_2elist_27__01(c_27type_2east_2espec_27__00),V_27specs_27),s__02(c_27type_2etypeSystem_2edecls_27__00,V_27a5_27),s__02(c_27type_2etypeSystem_2etype__env_27__00,V_27a6_27)))) ) ) ) ).

fof('thm.namespaceProps.nsAll_nsLift',axiom,
    ! [V_27A_27,V_27B_27,V_27C_27,V__0] :
      ( ! [V_27R_27,V_27mn_27,V_27id_27] : s__02(cfun__02(V_27C_27,cbool__00),chapp__02(s__02(cfun__02(c_27type_2enamespace_2eid_27__02(V_27A_27,V_27B_27),cfun__02(V_27C_27,cbool__00)),chapp__02(s__02(cfun__02(V_27A_27,cfun__02(c_27type_2enamespace_2eid_27__02(V_27A_27,V_27B_27),cfun__02(V_27C_27,cbool__00))),chapp__02(s__02(cfun__02(cfun__02(c_27type_2enamespace_2eid_27__02(V_27A_27,V_27B_27),cfun__02(V_27C_27,cbool__00)),cfun__02(V_27A_27,cfun__02(c_27type_2enamespace_2eid_27__02(V_27A_27,V_27B_27),cfun__02(V_27C_27,cbool__00)))),V__0),s__02(cfun__02(c_27type_2enamespace_2eid_27__02(V_27A_27,V_27B_27),cfun__02(V_27C_27,cbool__00)),V_27R_27))),s__02(V_27A_27,V_27mn_27))),s__02(c_27type_2enamespace_2eid_27__02(V_27A_27,V_27B_27),V_27id_27))) = s__02(cfun__02(V_27C_27,cbool__00),chapp__02(s__02(cfun__02(c_27type_2enamespace_2eid_27__02(V_27A_27,V_27B_27),cfun__02(V_27C_27,cbool__00)),V_27R_27),s__02(c_27type_2enamespace_2eid_27__02(V_27A_27,V_27B_27),c_27const_2enamespace_2eLong_27__02(s__02(V_27A_27,V_27mn_27),s__02(c_27type_2enamespace_2eid_27__02(V_27A_27,V_27B_27),V_27id_27)))))
     => ! [V_27R_27,V_27mn_27,V_27e_27] : s__02(cbool__00,c_27const_2enamespace_2ensAll_27__02(s__02(cfun__02(c_27type_2enamespace_2eid_27__02(V_27A_27,V_27B_27),cfun__02(V_27C_27,cbool__00)),V_27R_27),s__02(c_27type_2enamespace_2enamespace_27__03(V_27A_27,V_27B_27,V_27C_27),c_27const_2enamespace_2ensLift_27__02(s__02(V_27A_27,V_27mn_27),s__02(c_27type_2enamespace_2enamespace_27__03(V_27A_27,V_27B_27,V_27C_27),V_27e_27))))) = s__02(cbool__00,c_27const_2enamespace_2ensAll_27__02(s__02(cfun__02(c_27type_2enamespace_2eid_27__02(V_27A_27,V_27B_27),cfun__02(V_27C_27,cbool__00)),chapp__02(s__02(cfun__02(V_27A_27,cfun__02(c_27type_2enamespace_2eid_27__02(V_27A_27,V_27B_27),cfun__02(V_27C_27,cbool__00))),chapp__02(s__02(cfun__02(cfun__02(c_27type_2enamespace_2eid_27__02(V_27A_27,V_27B_27),cfun__02(V_27C_27,cbool__00)),cfun__02(V_27A_27,cfun__02(c_27type_2enamespace_2eid_27__02(V_27A_27,V_27B_27),cfun__02(V_27C_27,cbool__00)))),V__0),s__02(cfun__02(c_27type_2enamespace_2eid_27__02(V_27A_27,V_27B_27),cfun__02(V_27C_27,cbool__00)),V_27R_27))),s__02(V_27A_27,V_27mn_27))),s__02(c_27type_2enamespace_2enamespace_27__03(V_27A_27,V_27B_27,V_27C_27),V_27e_27))) ) ).

fof('thm.typeSoundInvariants.tenv_abbrev_ok_def',axiom,
    ! [V_27A_27,V_27B_27,V__2] :
      ( ! [V_27tvs_27,V_27t_27] : s__02(cbool__00,chapp__02(s__02(cfun__02(c_27type_2east_2et_27__00,cbool__00),chapp__02(s__02(cfun__02(c_27type_2elist_2elist_27__01(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00)),cfun__02(c_27type_2east_2et_27__00,cbool__00)),V__2),s__02(c_27type_2elist_2elist_27__01(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00)),V_27tvs_27))),s__02(c_27type_2east_2et_27__00,V_27t_27))) = s__02(cbool__00,chapp__02(s__02(cfun__02(c_27type_2east_2et_27__00,cbool__00),c_27const_2etypeSystem_2echeck__freevars_27__02(s__02(c_27type_2enum_2enum_27__00,c_27const_2enum_2e0_27__00),s__02(c_27type_2elist_2elist_27__01(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00)),V_27tvs_27))),s__02(c_27type_2east_2et_27__00,V_27t_27)))
     => ! [V__1] :
          ( ! [V_27tvs_27] : s__02(cfun__02(c_27type_2east_2et_27__00,cbool__00),chapp__02(s__02(cfun__02(c_27type_2elist_2elist_27__01(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00)),cfun__02(c_27type_2east_2et_27__00,cbool__00)),V__1),s__02(c_27type_2elist_2elist_27__01(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00)),V_27tvs_27))) = s__02(cfun__02(c_27type_2east_2et_27__00,cbool__00),chapp__02(s__02(cfun__02(c_27type_2elist_2elist_27__01(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00)),cfun__02(c_27type_2east_2et_27__00,cbool__00)),V__2),s__02(c_27type_2elist_2elist_27__01(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00)),V_27tvs_27)))
         => ! [V__0] :
              ( ! [V_27id_27] : s__02(cfun__02(c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00)),c_27type_2east_2et_27__00),cbool__00),chapp__02(s__02(cfun__02(c_27type_2enamespace_2eid_27__02(V_27A_27,V_27B_27),cfun__02(c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00)),c_27type_2east_2et_27__00),cbool__00)),V__0),s__02(c_27type_2enamespace_2eid_27__02(V_27A_27,V_27B_27),V_27id_27))) = s__02(cfun__02(c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00)),c_27type_2east_2et_27__00),cbool__00),c_27const_2epair_2eUNCURRY_27__01(s__02(cfun__02(c_27type_2elist_2elist_27__01(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00)),cfun__02(c_27type_2east_2et_27__00,cbool__00)),V__1)))
             => ! [V_27tenvT_27] : s__02(cbool__00,c_27const_2etypeSoundInvariants_2etenv__abbrev__ok_27__01(s__02(c_27type_2enamespace_2enamespace_27__03(V_27A_27,V_27B_27,c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00)),c_27type_2east_2et_27__00)),V_27tenvT_27))) = s__02(cbool__00,c_27const_2enamespace_2ensAll_27__02(s__02(cfun__02(c_27type_2enamespace_2eid_27__02(V_27A_27,V_27B_27),cfun__02(c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00)),c_27type_2east_2et_27__00),cbool__00)),V__0),s__02(c_27type_2enamespace_2enamespace_27__03(V_27A_27,V_27B_27,c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00)),c_27type_2east_2et_27__00)),V_27tenvT_27))) ) ) ) ).

fof('thm.typeSoundInvariants.tenv_ctor_ok_def',axiom,
    ! [V_27A_27,V_27B_27,V_27C_27,V__3] :
      ( ! [V_27tvs_27,V_27ts_27,V_27tn_27] : s__02(cbool__00,chapp__02(s__02(cfun__02(V_27C_27,cbool__00),chapp__02(s__02(cfun__02(c_27type_2elist_2elist_27__01(c_27type_2east_2et_27__00),cfun__02(V_27C_27,cbool__00)),chapp__02(s__02(cfun__02(c_27type_2elist_2elist_27__01(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00)),cfun__02(c_27type_2elist_2elist_27__01(c_27type_2east_2et_27__00),cfun__02(V_27C_27,cbool__00))),V__3),s__02(c_27type_2elist_2elist_27__01(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00)),V_27tvs_27))),s__02(c_27type_2elist_2elist_27__01(c_27type_2east_2et_27__00),V_27ts_27))),s__02(V_27C_27,V_27tn_27))) = s__02(cbool__00,c_27const_2elist_2eEVERY_27__02(s__02(cfun__02(c_27type_2east_2et_27__00,cbool__00),c_27const_2etypeSystem_2echeck__freevars_27__02(s__02(c_27type_2enum_2enum_27__00,c_27const_2enum_2e0_27__00),s__02(c_27type_2elist_2elist_27__01(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00)),V_27tvs_27))),s__02(c_27type_2elist_2elist_27__01(c_27type_2east_2et_27__00),V_27ts_27)))
     => ! [V__2] :
          ( ! [V_27tvs_27,V_27ts_27] : s__02(cfun__02(V_27C_27,cbool__00),chapp__02(s__02(cfun__02(c_27type_2elist_2elist_27__01(c_27type_2east_2et_27__00),cfun__02(V_27C_27,cbool__00)),chapp__02(s__02(cfun__02(c_27type_2elist_2elist_27__01(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00)),cfun__02(c_27type_2elist_2elist_27__01(c_27type_2east_2et_27__00),cfun__02(V_27C_27,cbool__00))),V__2),s__02(c_27type_2elist_2elist_27__01(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00)),V_27tvs_27))),s__02(c_27type_2elist_2elist_27__01(c_27type_2east_2et_27__00),V_27ts_27))) = s__02(cfun__02(V_27C_27,cbool__00),chapp__02(s__02(cfun__02(c_27type_2elist_2elist_27__01(c_27type_2east_2et_27__00),cfun__02(V_27C_27,cbool__00)),chapp__02(s__02(cfun__02(c_27type_2elist_2elist_27__01(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00)),cfun__02(c_27type_2elist_2elist_27__01(c_27type_2east_2et_27__00),cfun__02(V_27C_27,cbool__00))),V__3),s__02(c_27type_2elist_2elist_27__01(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00)),V_27tvs_27))),s__02(c_27type_2elist_2elist_27__01(c_27type_2east_2et_27__00),V_27ts_27)))
         => ! [V__1] :
              ( ! [V_27tvs_27] : s__02(cfun__02(c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2east_2et_27__00),V_27C_27),cbool__00),chapp__02(s__02(cfun__02(c_27type_2elist_2elist_27__01(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00)),cfun__02(c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2east_2et_27__00),V_27C_27),cbool__00)),V__1),s__02(c_27type_2elist_2elist_27__01(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00)),V_27tvs_27))) = s__02(cfun__02(c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2east_2et_27__00),V_27C_27),cbool__00),c_27const_2epair_2eUNCURRY_27__01(s__02(cfun__02(c_27type_2elist_2elist_27__01(c_27type_2east_2et_27__00),cfun__02(V_27C_27,cbool__00)),chapp__02(s__02(cfun__02(c_27type_2elist_2elist_27__01(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00)),cfun__02(c_27type_2elist_2elist_27__01(c_27type_2east_2et_27__00),cfun__02(V_27C_27,cbool__00))),V__2),s__02(c_27type_2elist_2elist_27__01(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00)),V_27tvs_27)))))
             => ! [V__0] :
                  ( ! [V_27id_27] : s__02(cfun__02(c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00)),c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2east_2et_27__00),V_27C_27)),cbool__00),chapp__02(s__02(cfun__02(c_27type_2enamespace_2eid_27__02(V_27A_27,V_27B_27),cfun__02(c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00)),c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2east_2et_27__00),V_27C_27)),cbool__00)),V__0),s__02(c_27type_2enamespace_2eid_27__02(V_27A_27,V_27B_27),V_27id_27))) = s__02(cfun__02(c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00)),c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2east_2et_27__00),V_27C_27)),cbool__00),c_27const_2epair_2eUNCURRY_27__01(s__02(cfun__02(c_27type_2elist_2elist_27__01(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00)),cfun__02(c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2east_2et_27__00),V_27C_27),cbool__00)),V__1)))
                 => ! [V_27tenvC_27] : s__02(cbool__00,c_27const_2etypeSoundInvariants_2etenv__ctor__ok_27__01(s__02(c_27type_2enamespace_2enamespace_27__03(V_27A_27,V_27B_27,c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00)),c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2east_2et_27__00),V_27C_27))),V_27tenvC_27))) = s__02(cbool__00,c_27const_2enamespace_2ensAll_27__02(s__02(cfun__02(c_27type_2enamespace_2eid_27__02(V_27A_27,V_27B_27),cfun__02(c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00)),c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2east_2et_27__00),V_27C_27)),cbool__00)),V__0),s__02(c_27type_2enamespace_2enamespace_27__03(V_27A_27,V_27B_27,c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00)),c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2east_2et_27__00),V_27C_27))),V_27tenvC_27))) ) ) ) ) ).

fof('thm.typeSoundInvariants.tenv_val_ok_def',axiom,
    ! [V_27A_27,V_27B_27,V__2] :
      ( ! [V_27tvs_27,V_27t_27] : s__02(cbool__00,chapp__02(s__02(cfun__02(c_27type_2east_2et_27__00,cbool__00),chapp__02(s__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2east_2et_27__00,cbool__00)),V__2),s__02(c_27type_2enum_2enum_27__00,V_27tvs_27))),s__02(c_27type_2east_2et_27__00,V_27t_27))) = s__02(cbool__00,chapp__02(s__02(cfun__02(c_27type_2east_2et_27__00,cbool__00),c_27const_2etypeSystem_2echeck__freevars_27__02(s__02(c_27type_2enum_2enum_27__00,V_27tvs_27),s__02(c_27type_2elist_2elist_27__01(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00)),c_27const_2elist_2eNIL_27__00))),s__02(c_27type_2east_2et_27__00,V_27t_27)))
     => ! [V__1] :
          ( ! [V_27tvs_27] : s__02(cfun__02(c_27type_2east_2et_27__00,cbool__00),chapp__02(s__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2east_2et_27__00,cbool__00)),V__1),s__02(c_27type_2enum_2enum_27__00,V_27tvs_27))) = s__02(cfun__02(c_27type_2east_2et_27__00,cbool__00),chapp__02(s__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2east_2et_27__00,cbool__00)),V__2),s__02(c_27type_2enum_2enum_27__00,V_27tvs_27)))
         => ! [V__0] :
              ( ! [V_27id_27] : s__02(cfun__02(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2east_2et_27__00),cbool__00),chapp__02(s__02(cfun__02(c_27type_2enamespace_2eid_27__02(V_27A_27,V_27B_27),cfun__02(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2east_2et_27__00),cbool__00)),V__0),s__02(c_27type_2enamespace_2eid_27__02(V_27A_27,V_27B_27),V_27id_27))) = s__02(cfun__02(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2east_2et_27__00),cbool__00),c_27const_2epair_2eUNCURRY_27__01(s__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2east_2et_27__00,cbool__00)),V__1)))
             => ! [V_27tenvV_27] : s__02(cbool__00,c_27const_2etypeSoundInvariants_2etenv__val__ok_27__01(s__02(c_27type_2enamespace_2enamespace_27__03(V_27A_27,V_27B_27,c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2east_2et_27__00)),V_27tenvV_27))) = s__02(cbool__00,c_27const_2enamespace_2ensAll_27__02(s__02(cfun__02(c_27type_2enamespace_2eid_27__02(V_27A_27,V_27B_27),cfun__02(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2east_2et_27__00),cbool__00)),V__0),s__02(c_27type_2enamespace_2enamespace_27__03(V_27A_27,V_27B_27,c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2east_2et_27__00)),V_27tenvV_27))) ) ) ) ).

fof('thm.typeSoundInvariants.tenv_ok_def',axiom,
    ! [V_27tenv_27] :
      ( p__01(s__02(cbool__00,c_27const_2etypeSoundInvariants_2etenv__ok_27__01(s__02(c_27type_2etypeSystem_2etype__env_27__00,V_27tenv_27))))
    <=> ( p__01(s__02(cbool__00,c_27const_2etypeSoundInvariants_2etenv__val__ok_27__01(s__02(c_27type_2enamespace_2enamespace_27__03(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2east_2et_27__00)),c_27const_2etypeSystem_2etype__env__v_27__01(s__02(c_27type_2etypeSystem_2etype__env_27__00,V_27tenv_27))))))
        & p__01(s__02(cbool__00,c_27const_2etypeSoundInvariants_2etenv__ctor__ok_27__01(s__02(c_27type_2enamespace_2enamespace_27__03(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00)),c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2east_2et_27__00),c_27type_2esemanticPrimitives_2etid__or__exn_27__00))),c_27const_2etypeSystem_2etype__env__c_27__01(s__02(c_27type_2etypeSystem_2etype__env_27__00,V_27tenv_27))))))
        & p__01(s__02(cbool__00,c_27const_2etypeSoundInvariants_2etenv__abbrev__ok_27__01(s__02(c_27type_2enamespace_2enamespace_27__03(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00)),c_27type_2east_2et_27__00)),c_27const_2etypeSystem_2etype__env__t_27__01(s__02(c_27type_2etypeSystem_2etype__env_27__00,V_27tenv_27)))))) ) ) ).

fof('thm.typeSysProps.extend_dec_tenv_ok',axiom,
    ! [V_27tenv_27,V_27tenv_7c39_7c_27] :
      ( ( p__01(s__02(cbool__00,c_27const_2etypeSoundInvariants_2etenv__ok_27__01(s__02(c_27type_2etypeSystem_2etype__env_27__00,V_27tenv_27))))
        & p__01(s__02(cbool__00,c_27const_2etypeSoundInvariants_2etenv__ok_27__01(s__02(c_27type_2etypeSystem_2etype__env_27__00,V_27tenv_7c39_7c_27)))) )
     => p__01(s__02(cbool__00,c_27const_2etypeSoundInvariants_2etenv__ok_27__01(s__02(c_27type_2etypeSystem_2etype__env_27__00,c_27const_2etypeSystem_2eextend__dec__tenv_27__02(s__02(c_27type_2etypeSystem_2etype__env_27__00,V_27tenv_27),s__02(c_27type_2etypeSystem_2etype__env_27__00,V_27tenv_7c39_7c_27)))))) ) ).

fof('thm.typeSysProps.type_ds_tenv_ok_helper',axiom,
    ! [V_27u_27,V_27mn_27,V_27tdecs_27,V_27tenv_27,V_27ds_27,V_27tdecs_7c39_7c_27,V_27tenv_7c39_7c_27] :
      ( p__01(s__02(cbool__00,c_27const_2etypeSystem_2etype__ds_27__07(s__02(cbool__00,V_27u_27),s__02(c_27type_2elist_2elist_27__01(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00)),V_27mn_27),s__02(c_27type_2etypeSystem_2edecls_27__00,V_27tdecs_27),s__02(c_27type_2etypeSystem_2etype__env_27__00,V_27tenv_27),s__02(c_27type_2elist_2elist_27__01(c_27type_2east_2edec_27__00),V_27ds_27),s__02(c_27type_2etypeSystem_2edecls_27__00,V_27tdecs_7c39_7c_27),s__02(c_27type_2etypeSystem_2etype__env_27__00,V_27tenv_7c39_7c_27))))
     => ( p__01(s__02(cbool__00,c_27const_2etypeSoundInvariants_2etenv__ok_27__01(s__02(c_27type_2etypeSystem_2etype__env_27__00,V_27tenv_27))))
       => p__01(s__02(cbool__00,c_27const_2etypeSoundInvariants_2etenv__ok_27__01(s__02(c_27type_2etypeSystem_2etype__env_27__00,V_27tenv_7c39_7c_27)))) ) ) ).

fof('thm.typeSysProps.type_specs_tenv_ok',axiom,
    ! [V_27mn_27,V_27tenvT_27,V_27specs_27,V_27decls_7c39_7c_27,V_27tenv_7c39_7c_27] :
      ( p__01(s__02(cbool__00,c_27const_2etypeSystem_2etype__specs_27__05(s__02(c_27type_2elist_2elist_27__01(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00)),V_27mn_27),s__02(c_27type_2enamespace_2enamespace_27__03(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00)),c_27type_2east_2et_27__00)),V_27tenvT_27),s__02(c_27type_2elist_2elist_27__01(c_27type_2east_2espec_27__00),V_27specs_27),s__02(c_27type_2etypeSystem_2edecls_27__00,V_27decls_7c39_7c_27),s__02(c_27type_2etypeSystem_2etype__env_27__00,V_27tenv_7c39_7c_27))))
     => ( p__01(s__02(cbool__00,c_27const_2etypeSoundInvariants_2etenv__abbrev__ok_27__01(s__02(c_27type_2enamespace_2enamespace_27__03(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00)),c_27type_2east_2et_27__00)),V_27tenvT_27))))
       => p__01(s__02(cbool__00,c_27const_2etypeSoundInvariants_2etenv__ok_27__01(s__02(c_27type_2etypeSystem_2etype__env_27__00,V_27tenv_7c39_7c_27)))) ) ) ).

fof(conjecture,conjecture,
    ! [V_27mn_27,V_27tenv_27,V_27decls_27,V_27tenv_7c39_7c_27,V_27specs_27,V_27decls_7c39_7c_7c39_7c_27,V_27tenv_7c39_7c_7c39_7c_27,V_27ds_27,V_27tdecs1_27,V_27tenvT_7c39_7c_7c39_7c_27] :
      ( ( p__01(s__02(cbool__00,c_27const_2etypeSystem_2echeck__signature_27__07(s__02(c_27type_2elist_2elist_27__01(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00)),c_27const_2elist_2eCONS_27__02(s__02(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),V_27mn_27),s__02(c_27type_2elist_2elist_27__01(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00)),c_27const_2elist_2eNIL_27__00))),s__02(c_27type_2enamespace_2enamespace_27__03(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00)),c_27type_2east_2et_27__00)),V_27tenvT_7c39_7c_7c39_7c_27),s__02(c_27type_2etypeSystem_2edecls_27__00,V_27decls_27),s__02(c_27type_2etypeSystem_2etype__env_27__00,V_27tenv_7c39_7c_27),s__02(c_27type_2eoption_2eoption_27__01(c_27type_2elist_2elist_27__01(c_27type_2east_2espec_27__00)),V_27specs_27),s__02(c_27type_2etypeSystem_2edecls_27__00,V_27decls_7c39_7c_7c39_7c_27),s__02(c_27type_2etypeSystem_2etype__env_27__00,V_27tenv_7c39_7c_7c39_7c_27))))
        & p__01(s__02(cbool__00,c_27const_2etypeSystem_2etype__ds_27__07(s__02(cbool__00,cF__00),s__02(c_27type_2elist_2elist_27__01(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00)),c_27const_2elist_2eCONS_27__02(s__02(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),V_27mn_27),s__02(c_27type_2elist_2elist_27__01(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00)),c_27const_2elist_2eNIL_27__00))),s__02(c_27type_2etypeSystem_2edecls_27__00,V_27tdecs1_27),s__02(c_27type_2etypeSystem_2etype__env_27__00,V_27tenv_27),s__02(c_27type_2elist_2elist_27__01(c_27type_2east_2edec_27__00),V_27ds_27),s__02(c_27type_2etypeSystem_2edecls_27__00,V_27decls_27),s__02(c_27type_2etypeSystem_2etype__env_27__00,V_27tenv_7c39_7c_27))))
        & p__01(s__02(cbool__00,c_27const_2etypeSoundInvariants_2etenv__ok_27__01(s__02(c_27type_2etypeSystem_2etype__env_27__00,V_27tenv_27))))
        & s__02(c_27type_2enamespace_2enamespace_27__03(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00)),c_27type_2east_2et_27__00)),V_27tenvT_7c39_7c_7c39_7c_27) = s__02(c_27type_2enamespace_2enamespace_27__03(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00)),c_27type_2east_2et_27__00)),c_27const_2etypeSystem_2etype__env__t_27__01(s__02(c_27type_2etypeSystem_2etype__env_27__00,V_27tenv_27))) )
     => p__01(s__02(cbool__00,c_27const_2etypeSoundInvariants_2etenv__ok_27__01(s__02(c_27type_2etypeSystem_2etype__env_27__00,c_27const_2etypeSystem_2eextend__dec__tenv_27__02(s__02(c_27type_2etypeSystem_2etype__env_27__00,c_27const_2etypeSystem_2etype__env__v__fupd_27__02(s__02(cfun__02(c_27type_2enamespace_2enamespace_27__03(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2east_2et_27__00)),c_27type_2enamespace_2enamespace_27__03(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2east_2et_27__00))),c_27const_2ecombin_2eK_27__01(s__02(c_27type_2enamespace_2enamespace_27__03(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2east_2et_27__00)),c_27const_2enamespace_2ensLift_27__02(s__02(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),V_27mn_27),s__02(c_27type_2enamespace_2enamespace_27__03(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2east_2et_27__00)),c_27const_2etypeSystem_2etype__env__v_27__01(s__02(c_27type_2etypeSystem_2etype__env_27__00,V_27tenv_7c39_7c_7c39_7c_27))))))),s__02(c_27type_2etypeSystem_2etype__env_27__00,c_27const_2etypeSystem_2etype__env__c__fupd_27__02(s__02(cfun__02(c_27type_2enamespace_2enamespace_27__03(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00)),c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2east_2et_27__00),c_27type_2esemanticPrimitives_2etid__or__exn_27__00))),c_27type_2enamespace_2enamespace_27__03(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00)),c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2east_2et_27__00),c_27type_2esemanticPrimitives_2etid__or__exn_27__00)))),c_27const_2ecombin_2eK_27__01(s__02(c_27type_2enamespace_2enamespace_27__03(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00)),c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2east_2et_27__00),c_27type_2esemanticPrimitives_2etid__or__exn_27__00))),c_27const_2enamespace_2ensLift_27__02(s__02(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),V_27mn_27),s__02(c_27type_2enamespace_2enamespace_27__03(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00)),c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2east_2et_27__00),c_27type_2esemanticPrimitives_2etid__or__exn_27__00))),c_27const_2etypeSystem_2etype__env__c_27__01(s__02(c_27type_2etypeSystem_2etype__env_27__00,V_27tenv_7c39_7c_7c39_7c_27))))))),s__02(c_27type_2etypeSystem_2etype__env_27__00,c_27const_2etypeSystem_2etype__env__t__fupd_27__02(s__02(cfun__02(c_27type_2enamespace_2enamespace_27__03(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00)),c_27type_2east_2et_27__00)),c_27type_2enamespace_2enamespace_27__03(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00)),c_27type_2east_2et_27__00))),c_27const_2ecombin_2eK_27__01(s__02(c_27type_2enamespace_2enamespace_27__03(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00)),c_27type_2east_2et_27__00)),c_27const_2enamespace_2ensLift_27__02(s__02(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),V_27mn_27),s__02(c_27type_2enamespace_2enamespace_27__03(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00),c_27type_2epair_2eprod_27__02(c_27type_2elist_2elist_27__01(c_27type_2elist_2elist_27__01(c_27type_2estring_2echar_27__00)),c_27type_2east_2et_27__00)),c_27const_2etypeSystem_2etype__env__t_27__01(s__02(c_27type_2etypeSystem_2etype__env_27__00,V_27tenv_7c39_7c_7c39_7c_27))))))),s__02(c_27type_2etypeSystem_2etype__env_27__00,c_27const_2ebool_2eARB_27__00))))))),s__02(c_27type_2etypeSystem_2etype__env_27__00,V_27tenv_27)))))) ) ).

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