TPTP Problem File: SWW939+1.p

View Solutions - Solve Problem

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

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

% Status   : Theorem
% Rating   : 1.00 v7.3.0
% Syntax   : Number of formulae    :  132 (  43 unt;   0 def)
%            Number of atoms       :  629 ( 464 equ)
%            Maximal formula atoms :   78 (   4 avg)
%            Number of connectives :  613 ( 116   ~;  12   |; 338   &)
%                                         (  83 <=>;  64  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   80 (   8 avg)
%            Maximal term depth    :   36 (   3 avg)
%            Number of predicates  :    2 (   1 usr;   0 prp; 1-2 aty)
%            Number of functors    :  211 ( 211 usr;  46 con; 0-8 aty)
%            Number of variables   :  720 ( 705   !;  15   ?)
% SPC      : FOF_THM_RFO_SEQ

% Comments :
%------------------------------------------------------------------------------
fof('HL_TRUTH',axiom,
    p__01(s__02(cbool__00,cT__00)) ).

fof('HL_FALSITY',axiom,
    ~ p__01(s__02(cbool__00,cF__00)) ).

fof('HL_BOOL_CASES',axiom,
    ! [Vt] :
      ( s__02(cbool__00,Vt) = s__02(cbool__00,cT__00)
      | s__02(cbool__00,Vt) = s__02(cbool__00,cF__00) ) ).

fof('HL_EXT',axiom,
    ! [V_3f2384,V_3f2380,Vf,Vg] :
      ( ! [Vx] : s__02(V_3f2380,chapp__02(s__02(cfun__02(V_3f2384,V_3f2380),Vf),s__02(V_3f2384,Vx))) = s__02(V_3f2380,chapp__02(s__02(cfun__02(V_3f2384,V_3f2380),Vg),s__02(V_3f2384,Vx)))
     => s__02(cfun__02(V_3f2384,V_3f2380),Vf) = s__02(cfun__02(V_3f2384,V_3f2380),Vg) ) ).

fof('thm.bool.LET_DEF',axiom,
    ! [V_27B_27,V_27A_27,Vx,Vx0] : s__02(V_27B_27,c_27const_2ebool_2eLET_27__02(s__02(cfun__02(V_27A_27,V_27B_27),Vx),s__02(V_27A_27,Vx0))) = s__02(V_27B_27,chapp__02(s__02(cfun__02(V_27A_27,V_27B_27),Vx),s__02(V_27A_27,Vx0))) ).

fof('thm.bool.ETA_AX',axiom,
    ! [V_27B_27,V_27A_27,V_27t_27,Vx] : s__02(V_27B_27,chapp__02(s__02(cfun__02(V_27A_27,V_27B_27),V_27t_27),s__02(V_27A_27,Vx))) = s__02(V_27B_27,chapp__02(s__02(cfun__02(V_27A_27,V_27B_27),V_27t_27),s__02(V_27A_27,Vx))) ).

fof('thm.bool.TRUTH',axiom,
    p__01(s__02(cbool__00,cT__00)) ).

fof('thm.bool.IMP_ANTISYM_AX',axiom,
    ! [V_27t1_27,V_27t2_27] :
      ( ( p__01(s__02(cbool__00,V_27t1_27))
       => p__01(s__02(cbool__00,V_27t2_27)) )
     => ( ( p__01(s__02(cbool__00,V_27t2_27))
         => p__01(s__02(cbool__00,V_27t1_27)) )
       => s__02(cbool__00,V_27t1_27) = s__02(cbool__00,V_27t2_27) ) ) ).

fof('thm.bool.FALSITY',axiom,
    ! [V_27t_27] :
      ( p__01(s__02(cbool__00,cF__00))
     => p__01(s__02(cbool__00,V_27t_27)) ) ).

fof('thm.bool.EXCLUDED_MIDDLE',axiom,
    ! [V_27t_27] :
      ( p__01(s__02(cbool__00,V_27t_27))
      | ~ p__01(s__02(cbool__00,V_27t_27)) ) ).

fof('thm.bool.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.FORALL_SIMP',axiom,
    ! [V_27A_27,V_27t_27] :
      ( ! [V_27x_27] : p__01(s__02(cbool__00,V_27t_27))
    <=> p__01(s__02(cbool__00,V_27t_27)) ) ).

fof('thm.bool.EXISTS_SIMP',axiom,
    ! [V_27A_27,V_27t_27] :
      ( ? [V_27x_27] : p__01(s__02(cbool__00,V_27t_27))
    <=> p__01(s__02(cbool__00,V_27t_27)) ) ).

fof('thm.bool.AND_CLAUSES',axiom,
    ! [V_27t_27] :
      ( ( ( p__01(s__02(cbool__00,cT__00))
          & p__01(s__02(cbool__00,V_27t_27)) )
      <=> p__01(s__02(cbool__00,V_27t_27)) )
      & ( ( p__01(s__02(cbool__00,V_27t_27))
          & p__01(s__02(cbool__00,cT__00)) )
      <=> p__01(s__02(cbool__00,V_27t_27)) )
      & ( ( p__01(s__02(cbool__00,cF__00))
          & p__01(s__02(cbool__00,V_27t_27)) )
      <=> p__01(s__02(cbool__00,cF__00)) )
      & ( ( p__01(s__02(cbool__00,V_27t_27))
          & p__01(s__02(cbool__00,cF__00)) )
      <=> p__01(s__02(cbool__00,cF__00)) )
      & ( ( p__01(s__02(cbool__00,V_27t_27))
          & p__01(s__02(cbool__00,V_27t_27)) )
      <=> p__01(s__02(cbool__00,V_27t_27)) ) ) ).

fof('thm.bool.OR_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,cT__00)) )
      & ( ( 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,V_27t_27)) )
      & ( ( 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,V_27t_27))
          | p__01(s__02(cbool__00,V_27t_27)) )
      <=> p__01(s__02(cbool__00,V_27t_27)) ) ) ).

fof('thm.bool.IMP_CLAUSES',axiom,
    ! [V_27t_27] :
      ( ( ( p__01(s__02(cbool__00,cT__00))
         => p__01(s__02(cbool__00,V_27t_27)) )
      <=> p__01(s__02(cbool__00,V_27t_27)) )
      & ( ( p__01(s__02(cbool__00,V_27t_27))
         => p__01(s__02(cbool__00,cT__00)) )
      <=> p__01(s__02(cbool__00,cT__00)) )
      & ( ( p__01(s__02(cbool__00,cF__00))
         => p__01(s__02(cbool__00,V_27t_27)) )
      <=> p__01(s__02(cbool__00,cT__00)) )
      & ( ( p__01(s__02(cbool__00,V_27t_27))
         => p__01(s__02(cbool__00,V_27t_27)) )
      <=> p__01(s__02(cbool__00,cT__00)) )
      & ( ( p__01(s__02(cbool__00,V_27t_27))
         => p__01(s__02(cbool__00,cF__00)) )
      <=> ~ p__01(s__02(cbool__00,V_27t_27)) ) ) ).

fof('thm.bool.NOT_CLAUSES',axiom,
    ( ! [V_27t_27] :
        ( ~ ~ p__01(s__02(cbool__00,V_27t_27))
      <=> p__01(s__02(cbool__00,V_27t_27)) )
    & ( ~ p__01(s__02(cbool__00,cT__00))
    <=> p__01(s__02(cbool__00,cF__00)) )
    & ( ~ p__01(s__02(cbool__00,cF__00))
    <=> p__01(s__02(cbool__00,cT__00)) ) ) ).

fof('thm.bool.REFL_CLAUSE',axiom,
    ! [V_27A_27,V_27x_27] :
      ( s__02(V_27A_27,V_27x_27) = s__02(V_27A_27,V_27x_27)
    <=> p__01(s__02(cbool__00,cT__00)) ) ).

fof('thm.bool.EQ_SYM_EQ',axiom,
    ! [V_27A_27,V_27x_27,V_27y_27] :
      ( s__02(V_27A_27,V_27x_27) = s__02(V_27A_27,V_27y_27)
    <=> s__02(V_27A_27,V_27y_27) = s__02(V_27A_27,V_27x_27) ) ).

fof('thm.bool.FUN_EQ_THM',axiom,
    ! [V_27B_27,V_27A_27,V_27f_27,V_27g_27] :
      ( s__02(cfun__02(V_27A_27,V_27B_27),V_27f_27) = s__02(cfun__02(V_27A_27,V_27B_27),V_27g_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))) = s__02(V_27B_27,chapp__02(s__02(cfun__02(V_27A_27,V_27B_27),V_27g_27),s__02(V_27A_27,V_27x_27))) ) ).

fof('thm.bool.EQ_CLAUSES',axiom,
    ! [V_27t_27] :
      ( ( s__02(cbool__00,cT__00) = s__02(cbool__00,V_27t_27)
      <=> p__01(s__02(cbool__00,V_27t_27)) )
      & ( s__02(cbool__00,V_27t_27) = s__02(cbool__00,cT__00)
      <=> p__01(s__02(cbool__00,V_27t_27)) )
      & ( s__02(cbool__00,cF__00) = s__02(cbool__00,V_27t_27)
      <=> ~ p__01(s__02(cbool__00,V_27t_27)) )
      & ( s__02(cbool__00,V_27t_27) = s__02(cbool__00,cF__00)
      <=> ~ p__01(s__02(cbool__00,V_27t_27)) ) ) ).

fof('thm.bool.COND_CLAUSES',axiom,
    ! [V_27A_27,V_27t1_27,V_27t2_27] :
      ( s__02(V_27A_27,c_27const_2ebool_2eCOND_27__03(s__02(cbool__00,cT__00),s__02(V_27A_27,V_27t1_27),s__02(V_27A_27,V_27t2_27))) = s__02(V_27A_27,V_27t1_27)
      & s__02(V_27A_27,c_27const_2ebool_2eCOND_27__03(s__02(cbool__00,cF__00),s__02(V_27A_27,V_27t1_27),s__02(V_27A_27,V_27t2_27))) = s__02(V_27A_27,V_27t2_27) ) ).

fof('thm.bool.DE_MORGAN_THM',axiom,
    ! [V_27A_270,V_27B_270] :
      ( ( ~ ( p__01(s__02(cbool__00,V_27A_270))
            & p__01(s__02(cbool__00,V_27B_270)) )
      <=> ( ~ p__01(s__02(cbool__00,V_27A_270))
          | ~ p__01(s__02(cbool__00,V_27B_270)) ) )
      & ( ~ ( p__01(s__02(cbool__00,V_27A_270))
            | p__01(s__02(cbool__00,V_27B_270)) )
      <=> ( ~ p__01(s__02(cbool__00,V_27A_270))
          & ~ p__01(s__02(cbool__00,V_27B_270)) ) ) ) ).

fof('thm.bool.IMP_DISJ_THM',axiom,
    ! [V_27A_270,V_27B_270] :
      ( ( p__01(s__02(cbool__00,V_27A_270))
       => p__01(s__02(cbool__00,V_27B_270)) )
    <=> ( ~ p__01(s__02(cbool__00,V_27A_270))
        | p__01(s__02(cbool__00,V_27B_270)) ) ) ).

fof('thm.bool.IMP_F_EQ_F',axiom,
    ! [V_27t_27] :
      ( ( p__01(s__02(cbool__00,V_27t_27))
       => p__01(s__02(cbool__00,cF__00)) )
    <=> s__02(cbool__00,V_27t_27) = s__02(cbool__00,cF__00) ) ).

fof('thm.bool.AND_IMP_INTRO',axiom,
    ! [V_27t1_27,V_27t2_27,V_27t3_27] :
      ( ( p__01(s__02(cbool__00,V_27t1_27))
       => ( p__01(s__02(cbool__00,V_27t2_27))
         => p__01(s__02(cbool__00,V_27t3_27)) ) )
    <=> ( ( p__01(s__02(cbool__00,V_27t1_27))
          & p__01(s__02(cbool__00,V_27t2_27)) )
       => p__01(s__02(cbool__00,V_27t3_27)) ) ) ).

fof('thm.bool.IMP_CONG',axiom,
    ! [V_27x_27,V_27x_7c39_7c_27,V_27y_27,V_27y_7c39_7c_27] :
      ( ( s__02(cbool__00,V_27x_27) = s__02(cbool__00,V_27x_7c39_7c_27)
        & ( p__01(s__02(cbool__00,V_27x_7c39_7c_27))
         => s__02(cbool__00,V_27y_27) = s__02(cbool__00,V_27y_7c39_7c_27) ) )
     => ( ( p__01(s__02(cbool__00,V_27x_27))
         => p__01(s__02(cbool__00,V_27y_27)) )
      <=> ( p__01(s__02(cbool__00,V_27x_7c39_7c_27))
         => p__01(s__02(cbool__00,V_27y_7c39_7c_27)) ) ) ) ).

fof('thm.bool.COND_CONG',axiom,
    ! [V_27A_27,V_27P_27,V_27Q_27,V_27x_27,V_27x_7c39_7c_27,V_27y_27,V_27y_7c39_7c_27] :
      ( ( s__02(cbool__00,V_27P_27) = s__02(cbool__00,V_27Q_27)
        & ( p__01(s__02(cbool__00,V_27Q_27))
         => s__02(V_27A_27,V_27x_27) = s__02(V_27A_27,V_27x_7c39_7c_27) )
        & ( ~ p__01(s__02(cbool__00,V_27Q_27))
         => s__02(V_27A_27,V_27y_27) = s__02(V_27A_27,V_27y_7c39_7c_27) ) )
     => s__02(V_27A_27,c_27const_2ebool_2eCOND_27__03(s__02(cbool__00,V_27P_27),s__02(V_27A_27,V_27x_27),s__02(V_27A_27,V_27y_27))) = s__02(V_27A_27,c_27const_2ebool_2eCOND_27__03(s__02(cbool__00,V_27Q_27),s__02(V_27A_27,V_27x_7c39_7c_27),s__02(V_27A_27,V_27y_7c39_7c_27))) ) ).

fof('thm.bool.UNWIND_THM2',axiom,
    ! [V_27A_27,V_27P_27,V_27a_27] :
      ( ? [V_27x_27] :
          ( s__02(V_27A_27,V_27x_27) = s__02(V_27A_27,V_27a_27)
          & p__01(s__02(cbool__00,chapp__02(s__02(cfun__02(V_27A_27,cbool__00),V_27P_27),s__02(V_27A_27,V_27x_27)))) )
    <=> p__01(s__02(cbool__00,chapp__02(s__02(cfun__02(V_27A_27,cbool__00),V_27P_27),s__02(V_27A_27,V_27a_27)))) ) ).

fof('thm.bool.bool_case_thm',axiom,
    ! [V_27A_27] :
      ( ! [V_27t1_27,V_27t2_27] : s__02(V_27A_27,c_27const_2ebool_2eCOND_27__03(s__02(cbool__00,cT__00),s__02(V_27A_27,V_27t1_27),s__02(V_27A_27,V_27t2_27))) = s__02(V_27A_27,V_27t1_27)
      & ! [V_27t1_27,V_27t2_27] : s__02(V_27A_27,c_27const_2ebool_2eCOND_27__03(s__02(cbool__00,cF__00),s__02(V_27A_27,V_27t1_27),s__02(V_27A_27,V_27t2_27))) = s__02(V_27A_27,V_27t2_27) ) ).

fof('thm.marker.Abbrev_def',axiom,
    ! [V_27x_27] : s__02(cbool__00,c_27const_2emarker_2eAbbrev_27__01(s__02(cbool__00,V_27x_27))) = s__02(cbool__00,V_27x_27) ).

fof('thm.combin.K_THM',axiom,
    ! [V_27B_27,V_27A_27,V_27x_27,V_27y_27] : s__02(V_27A_27,chapp__02(s__02(cfun__02(V_27B_27,V_27A_27),c_27const_2ecombin_2eK_27__01(s__02(V_27A_27,V_27x_27))),s__02(V_27B_27,V_27y_27))) = s__02(V_27A_27,V_27x_27) ).

fof('thm.combin.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.combin.K_o_THM',axiom,
    ! [V_27B_27,V_27A_27,V_27C_27,V_27F_27,V_27E_27,V_27D_27] :
      ( ! [V_27f_27,V_27v_27] : s__02(cfun__02(V_27A_27,V_27C_27),c_27const_2ecombin_2eo_27__02(s__02(cfun__02(V_27B_27,V_27C_27),c_27const_2ecombin_2eK_27__01(s__02(V_27C_27,V_27v_27))),s__02(cfun__02(V_27A_27,V_27B_27),V_27f_27))) = s__02(cfun__02(V_27A_27,V_27C_27),c_27const_2ecombin_2eK_27__01(s__02(V_27C_27,V_27v_27)))
      & ! [V_27f_27,V_27v_27] : s__02(cfun__02(V_27F_27,V_27E_27),c_27const_2ecombin_2eo_27__02(s__02(cfun__02(V_27D_27,V_27E_27),V_27f_27),s__02(cfun__02(V_27F_27,V_27D_27),c_27const_2ecombin_2eK_27__01(s__02(V_27D_27,V_27v_27))))) = s__02(cfun__02(V_27F_27,V_27E_27),c_27const_2ecombin_2eK_27__01(s__02(V_27E_27,chapp__02(s__02(cfun__02(V_27D_27,V_27E_27),V_27f_27),s__02(V_27D_27,V_27v_27))))) ) ).

fof('thm.combin.APPLY_UPDATE_THM',axiom,
    ! [V_27B_27,V_27A_27,V_27f_27,V_27a_27,V_27b_27,V_27c_27] :
    ? [Vv] :
      ( ( p__01(s__02(cbool__00,Vv))
      <=> s__02(V_27A_27,V_27a_27) = s__02(V_27A_27,V_27c_27) )
      & s__02(V_27B_27,chapp__02(s__02(cfun__02(V_27A_27,V_27B_27),c_27const_2ecombin_2eUPDATE_27__03(s__02(V_27A_27,V_27a_27),s__02(V_27B_27,V_27b_27),s__02(cfun__02(V_27A_27,V_27B_27),V_27f_27))),s__02(V_27A_27,V_27c_27))) = s__02(V_27B_27,c_27const_2ebool_2eCOND_27__03(s__02(cbool__00,Vv),s__02(V_27B_27,V_27b_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_27c_27))))) ) ).

fof('thm.pair.CLOSED_PAIR_EQ',axiom,
    ! [V_27A_27,V_27B_27,V_27x_27,V_27y_27,V_27a_27,V_27b_27] :
      ( s__02(c_27type_2epair_2eprod_27__02(V_27A_27,V_27B_27),c_27const_2epair_2e_2c_27__02(s__02(V_27A_27,V_27x_27),s__02(V_27B_27,V_27y_27))) = s__02(c_27type_2epair_2eprod_27__02(V_27A_27,V_27B_27),c_27const_2epair_2e_2c_27__02(s__02(V_27A_27,V_27a_27),s__02(V_27B_27,V_27b_27)))
    <=> ( s__02(V_27A_27,V_27x_27) = s__02(V_27A_27,V_27a_27)
        & s__02(V_27B_27,V_27y_27) = s__02(V_27B_27,V_27b_27) ) ) ).

fof('thm.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,c_27const_2epair_2eUNCURRY_27__02(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.pair.pair_case_thm',axiom,
    ! [V_27A_27,V_27B_27,V_27C_27,V_27y_27,V_27x_27,V_27f_27] : s__02(V_27A_27,c_27const_2epair_2epair__CASE_27__02(s__02(c_27type_2epair_2eprod_27__02(V_27B_27,V_27C_27),c_27const_2epair_2e_2c_27__02(s__02(V_27B_27,V_27x_27),s__02(V_27C_27,V_27y_27))),s__02(cfun__02(V_27B_27,cfun__02(V_27C_27,V_27A_27)),V_27f_27))) = s__02(V_27A_27,chapp__02(s__02(cfun__02(V_27C_27,V_27A_27),chapp__02(s__02(cfun__02(V_27B_27,cfun__02(V_27C_27,V_27A_27)),V_27f_27),s__02(V_27B_27,V_27x_27))),s__02(V_27C_27,V_27y_27))) ).

fof('thm.arithmetic.ADD_SYM',axiom,
    ! [V_27m_27,V_27n_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_27m_27),s__02(c_27type_2enum_2enum_27__00,V_27n_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,V_27m_27))) ).

fof('thm.arithmetic.LESS_EQ',axiom,
    ! [V_27m_27,V_27n_27] : s__02(cbool__00,c_27const_2eprim__rec_2e_3c_27__02(s__02(c_27type_2enum_2enum_27__00,V_27m_27),s__02(c_27type_2enum_2enum_27__00,V_27n_27))) = s__02(cbool__00,c_27const_2earithmetic_2e_3c_3d_27__02(s__02(c_27type_2enum_2enum_27__00,c_27const_2enum_2eSUC_27__01(s__02(c_27type_2enum_2enum_27__00,V_27m_27))),s__02(c_27type_2enum_2enum_27__00,V_27n_27))) ).

fof('thm.arithmetic.ZERO_LESS_EQ',axiom,
    ! [V_27n_27] : p__01(s__02(cbool__00,c_27const_2earithmetic_2e_3c_3d_27__02(s__02(c_27type_2enum_2enum_27__00,c_27const_2enum_2e0_27__00),s__02(c_27type_2enum_2enum_27__00,V_27n_27)))) ).

fof('thm.arithmetic.SUB_EQ_0',axiom,
    ! [V_27m_27,V_27n_27] :
      ( s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2e_2d_27__02(s__02(c_27type_2enum_2enum_27__00,V_27m_27),s__02(c_27type_2enum_2enum_27__00,V_27n_27))) = s__02(c_27type_2enum_2enum_27__00,c_27const_2enum_2e0_27__00)
    <=> p__01(s__02(cbool__00,c_27const_2earithmetic_2e_3c_3d_27__02(s__02(c_27type_2enum_2enum_27__00,V_27m_27),s__02(c_27type_2enum_2enum_27__00,V_27n_27)))) ) ).

fof('thm.arithmetic.MULT_CLAUSES',axiom,
    ! [V_27m_27,V_27n_27] :
      ( s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2e_2a_27__02(s__02(c_27type_2enum_2enum_27__00,c_27const_2enum_2e0_27__00),s__02(c_27type_2enum_2enum_27__00,V_27m_27))) = s__02(c_27type_2enum_2enum_27__00,c_27const_2enum_2e0_27__00)
      & s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2e_2a_27__02(s__02(c_27type_2enum_2enum_27__00,V_27m_27),s__02(c_27type_2enum_2enum_27__00,c_27const_2enum_2e0_27__00))) = s__02(c_27type_2enum_2enum_27__00,c_27const_2enum_2e0_27__00)
      & s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2e_2a_27__02(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))))),s__02(c_27type_2enum_2enum_27__00,V_27m_27))) = s__02(c_27type_2enum_2enum_27__00,V_27m_27)
      & s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2e_2a_27__02(s__02(c_27type_2enum_2enum_27__00,V_27m_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))))))) = s__02(c_27type_2enum_2enum_27__00,V_27m_27)
      & s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2e_2a_27__02(s__02(c_27type_2enum_2enum_27__00,c_27const_2enum_2eSUC_27__01(s__02(c_27type_2enum_2enum_27__00,V_27m_27))),s__02(c_27type_2enum_2enum_27__00,V_27n_27))) = s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2e_2b_27__02(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2e_2a_27__02(s__02(c_27type_2enum_2enum_27__00,V_27m_27),s__02(c_27type_2enum_2enum_27__00,V_27n_27))),s__02(c_27type_2enum_2enum_27__00,V_27n_27)))
      & s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2e_2a_27__02(s__02(c_27type_2enum_2enum_27__00,V_27m_27),s__02(c_27type_2enum_2enum_27__00,c_27const_2enum_2eSUC_27__01(s__02(c_27type_2enum_2enum_27__00,V_27n_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_27m_27),s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2e_2a_27__02(s__02(c_27type_2enum_2enum_27__00,V_27m_27),s__02(c_27type_2enum_2enum_27__00,V_27n_27))))) ) ).

fof('thm.arithmetic.LESS_EQ_TRANS',axiom,
    ! [V_27m_27,V_27n_27,V_27p_27] :
      ( ( p__01(s__02(cbool__00,c_27const_2earithmetic_2e_3c_3d_27__02(s__02(c_27type_2enum_2enum_27__00,V_27m_27),s__02(c_27type_2enum_2enum_27__00,V_27n_27))))
        & p__01(s__02(cbool__00,c_27const_2earithmetic_2e_3c_3d_27__02(s__02(c_27type_2enum_2enum_27__00,V_27n_27),s__02(c_27type_2enum_2enum_27__00,V_27p_27)))) )
     => p__01(s__02(cbool__00,c_27const_2earithmetic_2e_3c_3d_27__02(s__02(c_27type_2enum_2enum_27__00,V_27m_27),s__02(c_27type_2enum_2enum_27__00,V_27p_27)))) ) ).

fof('thm.arithmetic.GREATER_EQ',axiom,
    ! [V_27n_27,V_27m_27] : s__02(cbool__00,c_27const_2earithmetic_2e_3e_3d_27__02(s__02(c_27type_2enum_2enum_27__00,V_27n_27),s__02(c_27type_2enum_2enum_27__00,V_27m_27))) = s__02(cbool__00,c_27const_2earithmetic_2e_3c_3d_27__02(s__02(c_27type_2enum_2enum_27__00,V_27m_27),s__02(c_27type_2enum_2enum_27__00,V_27n_27))) ).

fof('thm.arithmetic.ADD_MONO_LESS_EQ',axiom,
    ! [V_27m_27,V_27n_27,V_27p_27] : s__02(cbool__00,c_27const_2earithmetic_2e_3c_3d_27__02(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2e_2b_27__02(s__02(c_27type_2enum_2enum_27__00,V_27m_27),s__02(c_27type_2enum_2enum_27__00,V_27n_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_27m_27),s__02(c_27type_2enum_2enum_27__00,V_27p_27))))) = s__02(cbool__00,c_27const_2earithmetic_2e_3c_3d_27__02(s__02(c_27type_2enum_2enum_27__00,V_27n_27),s__02(c_27type_2enum_2enum_27__00,V_27p_27))) ).

fof('thm.arithmetic.SUC_ONE_ADD',axiom,
    ! [V_27n_27] : s__02(c_27type_2enum_2enum_27__00,c_27const_2enum_2eSUC_27__01(s__02(c_27type_2enum_2enum_27__00,V_27n_27))) = s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2e_2b_27__02(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))))),s__02(c_27type_2enum_2enum_27__00,V_27n_27))) ).

fof('thm.arithmetic.SUB_RIGHT_GREATER_EQ',axiom,
    ! [V_27m_27,V_27n_27,V_27p_27] :
      ( p__01(s__02(cbool__00,c_27const_2earithmetic_2e_3e_3d_27__02(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2e_2d_27__02(s__02(c_27type_2enum_2enum_27__00,V_27m_27),s__02(c_27type_2enum_2enum_27__00,V_27n_27))),s__02(c_27type_2enum_2enum_27__00,V_27p_27))))
    <=> ( p__01(s__02(cbool__00,c_27const_2earithmetic_2e_3e_3d_27__02(s__02(c_27type_2enum_2enum_27__00,V_27m_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,V_27p_27))))))
        | p__01(s__02(cbool__00,c_27const_2earithmetic_2e_3e_3d_27__02(s__02(c_27type_2enum_2enum_27__00,c_27const_2enum_2e0_27__00),s__02(c_27type_2enum_2enum_27__00,V_27p_27)))) ) ) ).

fof('thm.arithmetic.DIV_UNIQUE',axiom,
    ! [V_27n_27,V_27k_27,V_27q_27] :
      ( ? [V_27r_27] :
          ( s__02(c_27type_2enum_2enum_27__00,V_27k_27) = s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2e_2b_27__02(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2e_2a_27__02(s__02(c_27type_2enum_2enum_27__00,V_27q_27),s__02(c_27type_2enum_2enum_27__00,V_27n_27))),s__02(c_27type_2enum_2enum_27__00,V_27r_27)))
          & p__01(s__02(cbool__00,c_27const_2eprim__rec_2e_3c_27__02(s__02(c_27type_2enum_2enum_27__00,V_27r_27),s__02(c_27type_2enum_2enum_27__00,V_27n_27)))) )
     => s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eDIV_27__02(s__02(c_27type_2enum_2enum_27__00,V_27k_27),s__02(c_27type_2enum_2enum_27__00,V_27n_27))) = s__02(c_27type_2enum_2enum_27__00,V_27q_27) ) ).

fof('thm.arithmetic.LESS_MOD',axiom,
    ! [V_27n_27,V_27k_27] :
      ( p__01(s__02(cbool__00,c_27const_2eprim__rec_2e_3c_27__02(s__02(c_27type_2enum_2enum_27__00,V_27k_27),s__02(c_27type_2enum_2enum_27__00,V_27n_27))))
     => s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eMOD_27__02(s__02(c_27type_2enum_2enum_27__00,V_27k_27),s__02(c_27type_2enum_2enum_27__00,V_27n_27))) = s__02(c_27type_2enum_2enum_27__00,V_27k_27) ) ).

fof('thm.arithmetic.ZERO_MOD',axiom,
    ! [V_27n_27] :
      ( p__01(s__02(cbool__00,c_27const_2eprim__rec_2e_3c_27__02(s__02(c_27type_2enum_2enum_27__00,c_27const_2enum_2e0_27__00),s__02(c_27type_2enum_2enum_27__00,V_27n_27))))
     => s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eMOD_27__02(s__02(c_27type_2enum_2enum_27__00,c_27const_2enum_2e0_27__00),s__02(c_27type_2enum_2enum_27__00,V_27n_27))) = s__02(c_27type_2enum_2enum_27__00,c_27const_2enum_2e0_27__00) ) ).

fof('thm.arithmetic.MOD_MOD',axiom,
    ! [V_27n_27] :
      ( p__01(s__02(cbool__00,c_27const_2eprim__rec_2e_3c_27__02(s__02(c_27type_2enum_2enum_27__00,c_27const_2enum_2e0_27__00),s__02(c_27type_2enum_2enum_27__00,V_27n_27))))
     => ! [V_27k_27] : s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eMOD_27__02(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eMOD_27__02(s__02(c_27type_2enum_2enum_27__00,V_27k_27),s__02(c_27type_2enum_2enum_27__00,V_27n_27))),s__02(c_27type_2enum_2enum_27__00,V_27n_27))) = s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eMOD_27__02(s__02(c_27type_2enum_2enum_27__00,V_27k_27),s__02(c_27type_2enum_2enum_27__00,V_27n_27))) ) ).

fof('thm.numeral.numeral_suc',axiom,
    ( s__02(c_27type_2enum_2enum_27__00,c_27const_2enum_2eSUC_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eZERO_27__00))) = 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_27n_27] : s__02(c_27type_2enum_2enum_27__00,c_27const_2enum_2eSUC_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT1_27__01(s__02(c_27type_2enum_2enum_27__00,V_27n_27))))) = s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT2_27__01(s__02(c_27type_2enum_2enum_27__00,V_27n_27)))
    & ! [V_27n_27] : s__02(c_27type_2enum_2enum_27__00,c_27const_2enum_2eSUC_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT2_27__01(s__02(c_27type_2enum_2enum_27__00,V_27n_27))))) = s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT1_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2enum_2eSUC_27__01(s__02(c_27type_2enum_2enum_27__00,V_27n_27))))) ) ).

fof('thm.numeral.numeral_distrib',axiom,
    ( ! [V_27n_27] : s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2e_2b_27__02(s__02(c_27type_2enum_2enum_27__00,c_27const_2enum_2e0_27__00),s__02(c_27type_2enum_2enum_27__00,V_27n_27))) = s__02(c_27type_2enum_2enum_27__00,V_27n_27)
    & ! [V_27n_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_2enum_2e0_27__00))) = s__02(c_27type_2enum_2enum_27__00,V_27n_27)
    & ! [V_27n_27,V_27m_27] : s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2e_2b_27__02(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eNUMERAL_27__01(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,V_27m_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_2enumeral_2eiZ_27__01(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,V_27m_27)))))))
    & ! [V_27n_27] : s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2e_2a_27__02(s__02(c_27type_2enum_2enum_27__00,c_27const_2enum_2e0_27__00),s__02(c_27type_2enum_2enum_27__00,V_27n_27))) = s__02(c_27type_2enum_2enum_27__00,c_27const_2enum_2e0_27__00)
    & ! [V_27n_27] : s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2e_2a_27__02(s__02(c_27type_2enum_2enum_27__00,V_27n_27),s__02(c_27type_2enum_2enum_27__00,c_27const_2enum_2e0_27__00))) = s__02(c_27type_2enum_2enum_27__00,c_27const_2enum_2e0_27__00)
    & ! [V_27n_27,V_27m_27] : s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2e_2a_27__02(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eNUMERAL_27__01(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,V_27m_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_2e_2a_27__02(s__02(c_27type_2enum_2enum_27__00,V_27n_27),s__02(c_27type_2enum_2enum_27__00,V_27m_27)))))
    & ! [V_27n_27] : s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2e_2d_27__02(s__02(c_27type_2enum_2enum_27__00,c_27const_2enum_2e0_27__00),s__02(c_27type_2enum_2enum_27__00,V_27n_27))) = s__02(c_27type_2enum_2enum_27__00,c_27const_2enum_2e0_27__00)
    & ! [V_27n_27] : s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2e_2d_27__02(s__02(c_27type_2enum_2enum_27__00,V_27n_27),s__02(c_27type_2enum_2enum_27__00,c_27const_2enum_2e0_27__00))) = s__02(c_27type_2enum_2enum_27__00,V_27n_27)
    & ! [V_27n_27,V_27m_27] : s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2e_2d_27__02(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eNUMERAL_27__01(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,V_27m_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_2e_2d_27__02(s__02(c_27type_2enum_2enum_27__00,V_27n_27),s__02(c_27type_2enum_2enum_27__00,V_27m_27)))))
    & ! [V_27n_27] : s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eEXP_27__02(s__02(c_27type_2enum_2enum_27__00,c_27const_2enum_2e0_27__00),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,V_27n_27))))))) = s__02(c_27type_2enum_2enum_27__00,c_27const_2enum_2e0_27__00)
    & ! [V_27n_27] : s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eEXP_27__02(s__02(c_27type_2enum_2enum_27__00,c_27const_2enum_2e0_27__00),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_2eBIT2_27__01(s__02(c_27type_2enum_2enum_27__00,V_27n_27))))))) = s__02(c_27type_2enum_2enum_27__00,c_27const_2enum_2e0_27__00)
    & ! [V_27n_27] : s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eEXP_27__02(s__02(c_27type_2enum_2enum_27__00,V_27n_27),s__02(c_27type_2enum_2enum_27__00,c_27const_2enum_2e0_27__00))) = 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_27n_27,V_27m_27] : s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eEXP_27__02(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eNUMERAL_27__01(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,V_27m_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_2eEXP_27__02(s__02(c_27type_2enum_2enum_27__00,V_27n_27),s__02(c_27type_2enum_2enum_27__00,V_27m_27)))))
    & s__02(c_27type_2enum_2enum_27__00,c_27const_2enum_2eSUC_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2enum_2e0_27__00))) = 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_27n_27] : s__02(c_27type_2enum_2enum_27__00,c_27const_2enum_2eSUC_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eNUMERAL_27__01(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_2enum_2eSUC_27__01(s__02(c_27type_2enum_2enum_27__00,V_27n_27)))))
    & s__02(c_27type_2enum_2enum_27__00,c_27const_2eprim__rec_2ePRE_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2enum_2e0_27__00))) = s__02(c_27type_2enum_2enum_27__00,c_27const_2enum_2e0_27__00)
    & ! [V_27n_27] : s__02(c_27type_2enum_2enum_27__00,c_27const_2eprim__rec_2ePRE_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eNUMERAL_27__01(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_2eprim__rec_2ePRE_27__01(s__02(c_27type_2enum_2enum_27__00,V_27n_27)))))
    & ! [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,V_27n_27))) = s__02(c_27type_2enum_2enum_27__00,c_27const_2enum_2e0_27__00)
      <=> s__02(c_27type_2enum_2enum_27__00,V_27n_27) = s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eZERO_27__00) )
    & ! [V_27n_27] :
        ( s__02(c_27type_2enum_2enum_27__00,c_27const_2enum_2e0_27__00) = s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eNUMERAL_27__01(s__02(c_27type_2enum_2enum_27__00,V_27n_27)))
      <=> s__02(c_27type_2enum_2enum_27__00,V_27n_27) = s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eZERO_27__00) )
    & ! [V_27n_27,V_27m_27] :
        ( s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eNUMERAL_27__01(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,V_27m_27)))
      <=> s__02(c_27type_2enum_2enum_27__00,V_27n_27) = s__02(c_27type_2enum_2enum_27__00,V_27m_27) )
    & ! [V_27n_27] : s__02(cbool__00,c_27const_2eprim__rec_2e_3c_27__02(s__02(c_27type_2enum_2enum_27__00,V_27n_27),s__02(c_27type_2enum_2enum_27__00,c_27const_2enum_2e0_27__00))) = s__02(cbool__00,cF__00)
    & ! [V_27n_27] : s__02(cbool__00,c_27const_2eprim__rec_2e_3c_27__02(s__02(c_27type_2enum_2enum_27__00,c_27const_2enum_2e0_27__00),s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eNUMERAL_27__01(s__02(c_27type_2enum_2enum_27__00,V_27n_27))))) = s__02(cbool__00,c_27const_2eprim__rec_2e_3c_27__02(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eZERO_27__00),s__02(c_27type_2enum_2enum_27__00,V_27n_27)))
    & ! [V_27n_27,V_27m_27] : s__02(cbool__00,c_27const_2eprim__rec_2e_3c_27__02(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eNUMERAL_27__01(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,V_27m_27))))) = s__02(cbool__00,c_27const_2eprim__rec_2e_3c_27__02(s__02(c_27type_2enum_2enum_27__00,V_27n_27),s__02(c_27type_2enum_2enum_27__00,V_27m_27)))
    & ! [V_27n_27] : s__02(cbool__00,c_27const_2earithmetic_2e_3e_27__02(s__02(c_27type_2enum_2enum_27__00,c_27const_2enum_2e0_27__00),s__02(c_27type_2enum_2enum_27__00,V_27n_27))) = s__02(cbool__00,cF__00)
    & ! [V_27n_27] : s__02(cbool__00,c_27const_2earithmetic_2e_3e_27__02(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eNUMERAL_27__01(s__02(c_27type_2enum_2enum_27__00,V_27n_27))),s__02(c_27type_2enum_2enum_27__00,c_27const_2enum_2e0_27__00))) = s__02(cbool__00,c_27const_2eprim__rec_2e_3c_27__02(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eZERO_27__00),s__02(c_27type_2enum_2enum_27__00,V_27n_27)))
    & ! [V_27n_27,V_27m_27] : s__02(cbool__00,c_27const_2earithmetic_2e_3e_27__02(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eNUMERAL_27__01(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,V_27m_27))))) = s__02(cbool__00,c_27const_2eprim__rec_2e_3c_27__02(s__02(c_27type_2enum_2enum_27__00,V_27m_27),s__02(c_27type_2enum_2enum_27__00,V_27n_27)))
    & ! [V_27n_27] : s__02(cbool__00,c_27const_2earithmetic_2e_3c_3d_27__02(s__02(c_27type_2enum_2enum_27__00,c_27const_2enum_2e0_27__00),s__02(c_27type_2enum_2enum_27__00,V_27n_27))) = s__02(cbool__00,cT__00)
    & ! [V_27n_27] : s__02(cbool__00,c_27const_2earithmetic_2e_3c_3d_27__02(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eNUMERAL_27__01(s__02(c_27type_2enum_2enum_27__00,V_27n_27))),s__02(c_27type_2enum_2enum_27__00,c_27const_2enum_2e0_27__00))) = s__02(cbool__00,c_27const_2earithmetic_2e_3c_3d_27__02(s__02(c_27type_2enum_2enum_27__00,V_27n_27),s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eZERO_27__00)))
    & ! [V_27n_27,V_27m_27] : s__02(cbool__00,c_27const_2earithmetic_2e_3c_3d_27__02(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eNUMERAL_27__01(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,V_27m_27))))) = s__02(cbool__00,c_27const_2earithmetic_2e_3c_3d_27__02(s__02(c_27type_2enum_2enum_27__00,V_27n_27),s__02(c_27type_2enum_2enum_27__00,V_27m_27)))
    & ! [V_27n_27] : s__02(cbool__00,c_27const_2earithmetic_2e_3e_3d_27__02(s__02(c_27type_2enum_2enum_27__00,V_27n_27),s__02(c_27type_2enum_2enum_27__00,c_27const_2enum_2e0_27__00))) = s__02(cbool__00,cT__00)
    & ! [V_27n_27] :
        ( p__01(s__02(cbool__00,c_27const_2earithmetic_2e_3e_3d_27__02(s__02(c_27type_2enum_2enum_27__00,c_27const_2enum_2e0_27__00),s__02(c_27type_2enum_2enum_27__00,V_27n_27))))
      <=> s__02(c_27type_2enum_2enum_27__00,V_27n_27) = s__02(c_27type_2enum_2enum_27__00,c_27const_2enum_2e0_27__00) )
    & ! [V_27n_27,V_27m_27] : s__02(cbool__00,c_27const_2earithmetic_2e_3e_3d_27__02(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eNUMERAL_27__01(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,V_27m_27))))) = s__02(cbool__00,c_27const_2earithmetic_2e_3c_3d_27__02(s__02(c_27type_2enum_2enum_27__00,V_27m_27),s__02(c_27type_2enum_2enum_27__00,V_27n_27)))
    & ! [V_27n_27] : s__02(cbool__00,c_27const_2earithmetic_2eODD_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eNUMERAL_27__01(s__02(c_27type_2enum_2enum_27__00,V_27n_27))))) = s__02(cbool__00,c_27const_2earithmetic_2eODD_27__01(s__02(c_27type_2enum_2enum_27__00,V_27n_27)))
    & ! [V_27n_27] : s__02(cbool__00,c_27const_2earithmetic_2eEVEN_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eNUMERAL_27__01(s__02(c_27type_2enum_2enum_27__00,V_27n_27))))) = s__02(cbool__00,c_27const_2earithmetic_2eEVEN_27__01(s__02(c_27type_2enum_2enum_27__00,V_27n_27)))
    & ~ p__01(s__02(cbool__00,c_27const_2earithmetic_2eODD_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2enum_2e0_27__00))))
    & p__01(s__02(cbool__00,c_27const_2earithmetic_2eEVEN_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2enum_2e0_27__00)))) ) ).

fof('thm.numeral.numeral_add',axiom,
    ! [V_27n_27,V_27m_27] :
      ( s__02(c_27type_2enum_2enum_27__00,c_27const_2enumeral_2eiZ_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2e_2b_27__02(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eZERO_27__00),s__02(c_27type_2enum_2enum_27__00,V_27n_27))))) = s__02(c_27type_2enum_2enum_27__00,V_27n_27)
      & s__02(c_27type_2enum_2enum_27__00,c_27const_2enumeral_2eiZ_27__01(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_2eZERO_27__00))))) = s__02(c_27type_2enum_2enum_27__00,V_27n_27)
      & s__02(c_27type_2enum_2enum_27__00,c_27const_2enumeral_2eiZ_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2e_2b_27__02(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT1_27__01(s__02(c_27type_2enum_2enum_27__00,V_27n_27))),s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT1_27__01(s__02(c_27type_2enum_2enum_27__00,V_27m_27))))))) = s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT2_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2enumeral_2eiZ_27__01(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,V_27m_27)))))))
      & s__02(c_27type_2enum_2enum_27__00,c_27const_2enumeral_2eiZ_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2e_2b_27__02(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT1_27__01(s__02(c_27type_2enum_2enum_27__00,V_27n_27))),s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT2_27__01(s__02(c_27type_2enum_2enum_27__00,V_27m_27))))))) = s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT1_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2enum_2eSUC_27__01(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,V_27m_27)))))))
      & s__02(c_27type_2enum_2enum_27__00,c_27const_2enumeral_2eiZ_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2e_2b_27__02(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT2_27__01(s__02(c_27type_2enum_2enum_27__00,V_27n_27))),s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT1_27__01(s__02(c_27type_2enum_2enum_27__00,V_27m_27))))))) = s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT1_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2enum_2eSUC_27__01(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,V_27m_27)))))))
      & s__02(c_27type_2enum_2enum_27__00,c_27const_2enumeral_2eiZ_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2e_2b_27__02(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT2_27__01(s__02(c_27type_2enum_2enum_27__00,V_27n_27))),s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT2_27__01(s__02(c_27type_2enum_2enum_27__00,V_27m_27))))))) = s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT2_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2enum_2eSUC_27__01(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,V_27m_27)))))))
      & s__02(c_27type_2enum_2enum_27__00,c_27const_2enum_2eSUC_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2e_2b_27__02(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eZERO_27__00),s__02(c_27type_2enum_2enum_27__00,V_27n_27))))) = s__02(c_27type_2enum_2enum_27__00,c_27const_2enum_2eSUC_27__01(s__02(c_27type_2enum_2enum_27__00,V_27n_27)))
      & s__02(c_27type_2enum_2enum_27__00,c_27const_2enum_2eSUC_27__01(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_2eZERO_27__00))))) = s__02(c_27type_2enum_2enum_27__00,c_27const_2enum_2eSUC_27__01(s__02(c_27type_2enum_2enum_27__00,V_27n_27)))
      & s__02(c_27type_2enum_2enum_27__00,c_27const_2enum_2eSUC_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2e_2b_27__02(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT1_27__01(s__02(c_27type_2enum_2enum_27__00,V_27n_27))),s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT1_27__01(s__02(c_27type_2enum_2enum_27__00,V_27m_27))))))) = s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT1_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2enum_2eSUC_27__01(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,V_27m_27)))))))
      & s__02(c_27type_2enum_2enum_27__00,c_27const_2enum_2eSUC_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2e_2b_27__02(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT1_27__01(s__02(c_27type_2enum_2enum_27__00,V_27n_27))),s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT2_27__01(s__02(c_27type_2enum_2enum_27__00,V_27m_27))))))) = s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT2_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2enum_2eSUC_27__01(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,V_27m_27)))))))
      & s__02(c_27type_2enum_2enum_27__00,c_27const_2enum_2eSUC_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2e_2b_27__02(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT2_27__01(s__02(c_27type_2enum_2enum_27__00,V_27n_27))),s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT1_27__01(s__02(c_27type_2enum_2enum_27__00,V_27m_27))))))) = s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT2_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2enum_2eSUC_27__01(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,V_27m_27)))))))
      & s__02(c_27type_2enum_2enum_27__00,c_27const_2enum_2eSUC_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2e_2b_27__02(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT2_27__01(s__02(c_27type_2enum_2enum_27__00,V_27n_27))),s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT2_27__01(s__02(c_27type_2enum_2enum_27__00,V_27m_27))))))) = s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT1_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2enumeral_2eiiSUC_27__01(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,V_27m_27)))))))
      & s__02(c_27type_2enum_2enum_27__00,c_27const_2enumeral_2eiiSUC_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2e_2b_27__02(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eZERO_27__00),s__02(c_27type_2enum_2enum_27__00,V_27n_27))))) = s__02(c_27type_2enum_2enum_27__00,c_27const_2enumeral_2eiiSUC_27__01(s__02(c_27type_2enum_2enum_27__00,V_27n_27)))
      & s__02(c_27type_2enum_2enum_27__00,c_27const_2enumeral_2eiiSUC_27__01(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_2eZERO_27__00))))) = s__02(c_27type_2enum_2enum_27__00,c_27const_2enumeral_2eiiSUC_27__01(s__02(c_27type_2enum_2enum_27__00,V_27n_27)))
      & s__02(c_27type_2enum_2enum_27__00,c_27const_2enumeral_2eiiSUC_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2e_2b_27__02(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT1_27__01(s__02(c_27type_2enum_2enum_27__00,V_27n_27))),s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT1_27__01(s__02(c_27type_2enum_2enum_27__00,V_27m_27))))))) = s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT2_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2enum_2eSUC_27__01(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,V_27m_27)))))))
      & s__02(c_27type_2enum_2enum_27__00,c_27const_2enumeral_2eiiSUC_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2e_2b_27__02(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT1_27__01(s__02(c_27type_2enum_2enum_27__00,V_27n_27))),s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT2_27__01(s__02(c_27type_2enum_2enum_27__00,V_27m_27))))))) = s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT1_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2enumeral_2eiiSUC_27__01(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,V_27m_27)))))))
      & s__02(c_27type_2enum_2enum_27__00,c_27const_2enumeral_2eiiSUC_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2e_2b_27__02(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT2_27__01(s__02(c_27type_2enum_2enum_27__00,V_27n_27))),s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT1_27__01(s__02(c_27type_2enum_2enum_27__00,V_27m_27))))))) = s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT1_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2enumeral_2eiiSUC_27__01(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,V_27m_27)))))))
      & s__02(c_27type_2enum_2enum_27__00,c_27const_2enumeral_2eiiSUC_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2e_2b_27__02(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT2_27__01(s__02(c_27type_2enum_2enum_27__00,V_27n_27))),s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT2_27__01(s__02(c_27type_2enum_2enum_27__00,V_27m_27))))))) = s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT2_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2enumeral_2eiiSUC_27__01(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,V_27m_27))))))) ) ).

fof('thm.numeral.numeral_eq',axiom,
    ! [V_27n_27,V_27m_27] :
      ( ( s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eZERO_27__00) = s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT1_27__01(s__02(c_27type_2enum_2enum_27__00,V_27n_27)))
      <=> p__01(s__02(cbool__00,cF__00)) )
      & ( s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT1_27__01(s__02(c_27type_2enum_2enum_27__00,V_27n_27))) = s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eZERO_27__00)
      <=> p__01(s__02(cbool__00,cF__00)) )
      & ( s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eZERO_27__00) = s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT2_27__01(s__02(c_27type_2enum_2enum_27__00,V_27n_27)))
      <=> p__01(s__02(cbool__00,cF__00)) )
      & ( s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT2_27__01(s__02(c_27type_2enum_2enum_27__00,V_27n_27))) = s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eZERO_27__00)
      <=> p__01(s__02(cbool__00,cF__00)) )
      & ( s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT1_27__01(s__02(c_27type_2enum_2enum_27__00,V_27n_27))) = s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT2_27__01(s__02(c_27type_2enum_2enum_27__00,V_27m_27)))
      <=> p__01(s__02(cbool__00,cF__00)) )
      & ( s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT2_27__01(s__02(c_27type_2enum_2enum_27__00,V_27n_27))) = s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT1_27__01(s__02(c_27type_2enum_2enum_27__00,V_27m_27)))
      <=> p__01(s__02(cbool__00,cF__00)) )
      & ( s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT1_27__01(s__02(c_27type_2enum_2enum_27__00,V_27n_27))) = s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT1_27__01(s__02(c_27type_2enum_2enum_27__00,V_27m_27)))
      <=> s__02(c_27type_2enum_2enum_27__00,V_27n_27) = s__02(c_27type_2enum_2enum_27__00,V_27m_27) )
      & ( s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT2_27__01(s__02(c_27type_2enum_2enum_27__00,V_27n_27))) = s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT2_27__01(s__02(c_27type_2enum_2enum_27__00,V_27m_27)))
      <=> s__02(c_27type_2enum_2enum_27__00,V_27n_27) = s__02(c_27type_2enum_2enum_27__00,V_27m_27) ) ) ).

fof('thm.numeral.numeral_lt',axiom,
    ! [V_27n_27,V_27m_27] :
      ( s__02(cbool__00,c_27const_2eprim__rec_2e_3c_27__02(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eZERO_27__00),s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT1_27__01(s__02(c_27type_2enum_2enum_27__00,V_27n_27))))) = s__02(cbool__00,cT__00)
      & s__02(cbool__00,c_27const_2eprim__rec_2e_3c_27__02(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eZERO_27__00),s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT2_27__01(s__02(c_27type_2enum_2enum_27__00,V_27n_27))))) = s__02(cbool__00,cT__00)
      & s__02(cbool__00,c_27const_2eprim__rec_2e_3c_27__02(s__02(c_27type_2enum_2enum_27__00,V_27n_27),s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eZERO_27__00))) = s__02(cbool__00,cF__00)
      & s__02(cbool__00,c_27const_2eprim__rec_2e_3c_27__02(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT1_27__01(s__02(c_27type_2enum_2enum_27__00,V_27n_27))),s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT1_27__01(s__02(c_27type_2enum_2enum_27__00,V_27m_27))))) = s__02(cbool__00,c_27const_2eprim__rec_2e_3c_27__02(s__02(c_27type_2enum_2enum_27__00,V_27n_27),s__02(c_27type_2enum_2enum_27__00,V_27m_27)))
      & s__02(cbool__00,c_27const_2eprim__rec_2e_3c_27__02(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT2_27__01(s__02(c_27type_2enum_2enum_27__00,V_27n_27))),s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT2_27__01(s__02(c_27type_2enum_2enum_27__00,V_27m_27))))) = s__02(cbool__00,c_27const_2eprim__rec_2e_3c_27__02(s__02(c_27type_2enum_2enum_27__00,V_27n_27),s__02(c_27type_2enum_2enum_27__00,V_27m_27)))
      & ( p__01(s__02(cbool__00,c_27const_2eprim__rec_2e_3c_27__02(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT1_27__01(s__02(c_27type_2enum_2enum_27__00,V_27n_27))),s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT2_27__01(s__02(c_27type_2enum_2enum_27__00,V_27m_27))))))
      <=> ~ p__01(s__02(cbool__00,c_27const_2eprim__rec_2e_3c_27__02(s__02(c_27type_2enum_2enum_27__00,V_27m_27),s__02(c_27type_2enum_2enum_27__00,V_27n_27)))) )
      & s__02(cbool__00,c_27const_2eprim__rec_2e_3c_27__02(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT2_27__01(s__02(c_27type_2enum_2enum_27__00,V_27n_27))),s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT1_27__01(s__02(c_27type_2enum_2enum_27__00,V_27m_27))))) = s__02(cbool__00,c_27const_2eprim__rec_2e_3c_27__02(s__02(c_27type_2enum_2enum_27__00,V_27n_27),s__02(c_27type_2enum_2enum_27__00,V_27m_27))) ) ).

fof('thm.numeral.numeral_lte',axiom,
    ! [V_27n_27,V_27m_27] :
      ( s__02(cbool__00,c_27const_2earithmetic_2e_3c_3d_27__02(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eZERO_27__00),s__02(c_27type_2enum_2enum_27__00,V_27n_27))) = s__02(cbool__00,cT__00)
      & s__02(cbool__00,c_27const_2earithmetic_2e_3c_3d_27__02(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT1_27__01(s__02(c_27type_2enum_2enum_27__00,V_27n_27))),s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eZERO_27__00))) = s__02(cbool__00,cF__00)
      & s__02(cbool__00,c_27const_2earithmetic_2e_3c_3d_27__02(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT2_27__01(s__02(c_27type_2enum_2enum_27__00,V_27n_27))),s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eZERO_27__00))) = s__02(cbool__00,cF__00)
      & s__02(cbool__00,c_27const_2earithmetic_2e_3c_3d_27__02(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT1_27__01(s__02(c_27type_2enum_2enum_27__00,V_27n_27))),s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT1_27__01(s__02(c_27type_2enum_2enum_27__00,V_27m_27))))) = s__02(cbool__00,c_27const_2earithmetic_2e_3c_3d_27__02(s__02(c_27type_2enum_2enum_27__00,V_27n_27),s__02(c_27type_2enum_2enum_27__00,V_27m_27)))
      & s__02(cbool__00,c_27const_2earithmetic_2e_3c_3d_27__02(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT1_27__01(s__02(c_27type_2enum_2enum_27__00,V_27n_27))),s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT2_27__01(s__02(c_27type_2enum_2enum_27__00,V_27m_27))))) = s__02(cbool__00,c_27const_2earithmetic_2e_3c_3d_27__02(s__02(c_27type_2enum_2enum_27__00,V_27n_27),s__02(c_27type_2enum_2enum_27__00,V_27m_27)))
      & ( p__01(s__02(cbool__00,c_27const_2earithmetic_2e_3c_3d_27__02(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT2_27__01(s__02(c_27type_2enum_2enum_27__00,V_27n_27))),s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT1_27__01(s__02(c_27type_2enum_2enum_27__00,V_27m_27))))))
      <=> ~ p__01(s__02(cbool__00,c_27const_2earithmetic_2e_3c_3d_27__02(s__02(c_27type_2enum_2enum_27__00,V_27m_27),s__02(c_27type_2enum_2enum_27__00,V_27n_27)))) )
      & s__02(cbool__00,c_27const_2earithmetic_2e_3c_3d_27__02(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT2_27__01(s__02(c_27type_2enum_2enum_27__00,V_27n_27))),s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT2_27__01(s__02(c_27type_2enum_2enum_27__00,V_27m_27))))) = s__02(cbool__00,c_27const_2earithmetic_2e_3c_3d_27__02(s__02(c_27type_2enum_2enum_27__00,V_27n_27),s__02(c_27type_2enum_2enum_27__00,V_27m_27))) ) ).

fof('thm.numeral.numeral_pre',axiom,
    ( s__02(c_27type_2enum_2enum_27__00,c_27const_2eprim__rec_2ePRE_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eZERO_27__00))) = s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eZERO_27__00)
    & s__02(c_27type_2enum_2enum_27__00,c_27const_2eprim__rec_2ePRE_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))))) = s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eZERO_27__00)
    & ! [V_27n_27] : s__02(c_27type_2enum_2enum_27__00,c_27const_2eprim__rec_2ePRE_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_2eBIT1_27__01(s__02(c_27type_2enum_2enum_27__00,V_27n_27))))))) = s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT2_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2eprim__rec_2ePRE_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT1_27__01(s__02(c_27type_2enum_2enum_27__00,V_27n_27)))))))
    & ! [V_27n_27] : s__02(c_27type_2enum_2enum_27__00,c_27const_2eprim__rec_2ePRE_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_2eBIT2_27__01(s__02(c_27type_2enum_2enum_27__00,V_27n_27))))))) = s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT2_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT1_27__01(s__02(c_27type_2enum_2enum_27__00,V_27n_27)))))
    & ! [V_27n_27] : s__02(c_27type_2enum_2enum_27__00,c_27const_2eprim__rec_2ePRE_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT2_27__01(s__02(c_27type_2enum_2enum_27__00,V_27n_27))))) = s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT1_27__01(s__02(c_27type_2enum_2enum_27__00,V_27n_27))) ) ).

fof('thm.numeral.numeral_evenodd',axiom,
    ! [V_27n_27] :
      ( p__01(s__02(cbool__00,c_27const_2earithmetic_2eEVEN_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eZERO_27__00))))
      & p__01(s__02(cbool__00,c_27const_2earithmetic_2eEVEN_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT2_27__01(s__02(c_27type_2enum_2enum_27__00,V_27n_27))))))
      & ~ p__01(s__02(cbool__00,c_27const_2earithmetic_2eEVEN_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT1_27__01(s__02(c_27type_2enum_2enum_27__00,V_27n_27))))))
      & ~ p__01(s__02(cbool__00,c_27const_2earithmetic_2eODD_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eZERO_27__00))))
      & ~ p__01(s__02(cbool__00,c_27const_2earithmetic_2eODD_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT2_27__01(s__02(c_27type_2enum_2enum_27__00,V_27n_27))))))
      & p__01(s__02(cbool__00,c_27const_2earithmetic_2eODD_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT1_27__01(s__02(c_27type_2enum_2enum_27__00,V_27n_27)))))) ) ).

fof('thm.numeral.numeral_texp_help',axiom,
    ! [V_27n_27,V_27acc_27] :
      ( s__02(c_27type_2enum_2enum_27__00,c_27const_2enumeral_2etexp__help_27__02(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eZERO_27__00),s__02(c_27type_2enum_2enum_27__00,V_27acc_27))) = s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT2_27__01(s__02(c_27type_2enum_2enum_27__00,V_27acc_27)))
      & s__02(c_27type_2enum_2enum_27__00,c_27const_2enumeral_2etexp__help_27__02(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT1_27__01(s__02(c_27type_2enum_2enum_27__00,V_27n_27))),s__02(c_27type_2enum_2enum_27__00,V_27acc_27))) = s__02(c_27type_2enum_2enum_27__00,c_27const_2enumeral_2etexp__help_27__02(s__02(c_27type_2enum_2enum_27__00,c_27const_2eprim__rec_2ePRE_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT1_27__01(s__02(c_27type_2enum_2enum_27__00,V_27n_27))))),s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT1_27__01(s__02(c_27type_2enum_2enum_27__00,V_27acc_27)))))
      & s__02(c_27type_2enum_2enum_27__00,c_27const_2enumeral_2etexp__help_27__02(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT2_27__01(s__02(c_27type_2enum_2enum_27__00,V_27n_27))),s__02(c_27type_2enum_2enum_27__00,V_27acc_27))) = s__02(c_27type_2enum_2enum_27__00,c_27const_2enumeral_2etexp__help_27__02(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT1_27__01(s__02(c_27type_2enum_2enum_27__00,V_27n_27))),s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT1_27__01(s__02(c_27type_2enum_2enum_27__00,V_27acc_27))))) ) ).

fof('thm.numeral.TWO_EXP_THM',axiom,
    ! [V_27n_27] :
      ( s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eEXP_27__02(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_2eBIT2_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eZERO_27__00))))),s__02(c_27type_2enum_2enum_27__00,c_27const_2enum_2e0_27__00))) = 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)))))
      & s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eEXP_27__02(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_2eBIT2_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eZERO_27__00))))),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,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_2enumeral_2etexp__help_27__02(s__02(c_27type_2enum_2enum_27__00,c_27const_2eprim__rec_2ePRE_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT1_27__01(s__02(c_27type_2enum_2enum_27__00,V_27n_27))))),s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eZERO_27__00)))))
      & s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eEXP_27__02(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_2eBIT2_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eZERO_27__00))))),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_2eBIT2_27__01(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_2enumeral_2etexp__help_27__02(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT1_27__01(s__02(c_27type_2enum_2enum_27__00,V_27n_27))),s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eZERO_27__00))))) ) ).

fof('thm.numeral.onecount_def',axiom,
    ( ! [V_27x_27] : s__02(c_27type_2enum_2enum_27__00,c_27const_2enumeral_2eonecount_27__02(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eZERO_27__00),s__02(c_27type_2enum_2enum_27__00,V_27x_27))) = s__02(c_27type_2enum_2enum_27__00,V_27x_27)
    & ! [V_27n_27,V_27x_27] : s__02(c_27type_2enum_2enum_27__00,c_27const_2enumeral_2eonecount_27__02(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT1_27__01(s__02(c_27type_2enum_2enum_27__00,V_27n_27))),s__02(c_27type_2enum_2enum_27__00,V_27x_27))) = s__02(c_27type_2enum_2enum_27__00,c_27const_2enumeral_2eonecount_27__02(s__02(c_27type_2enum_2enum_27__00,V_27n_27),s__02(c_27type_2enum_2enum_27__00,c_27const_2enum_2eSUC_27__01(s__02(c_27type_2enum_2enum_27__00,V_27x_27)))))
    & ! [V_27n_27,V_27x_27] : s__02(c_27type_2enum_2enum_27__00,c_27const_2enumeral_2eonecount_27__02(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT2_27__01(s__02(c_27type_2enum_2enum_27__00,V_27n_27))),s__02(c_27type_2enum_2enum_27__00,V_27x_27))) = s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eZERO_27__00) ) ).

fof('thm.numeral.exactlog_def',axiom,
    ! [V__0] :
      ( ! [V_27x_27] :
        ? [Vv] :
          ( ( p__01(s__02(cbool__00,Vv))
          <=> s__02(c_27type_2enum_2enum_27__00,V_27x_27) = s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eZERO_27__00) )
          & s__02(c_27type_2enum_2enum_27__00,chapp__02(s__02(cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00),V__0),s__02(c_27type_2enum_2enum_27__00,V_27x_27))) = s__02(c_27type_2enum_2enum_27__00,c_27const_2ebool_2eCOND_27__03(s__02(cbool__00,Vv),s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eZERO_27__00),s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT1_27__01(s__02(c_27type_2enum_2enum_27__00,V_27x_27))))) )
     => ( s__02(c_27type_2enum_2enum_27__00,c_27const_2enumeral_2eexactlog_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eZERO_27__00))) = s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eZERO_27__00)
        & ! [V_27n_27] : s__02(c_27type_2enum_2enum_27__00,c_27const_2enumeral_2eexactlog_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT1_27__01(s__02(c_27type_2enum_2enum_27__00,V_27n_27))))) = s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eZERO_27__00)
        & ! [V_27n_27] : s__02(c_27type_2enum_2enum_27__00,c_27const_2enumeral_2eexactlog_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT2_27__01(s__02(c_27type_2enum_2enum_27__00,V_27n_27))))) = s__02(c_27type_2enum_2enum_27__00,c_27const_2ebool_2eLET_27__02(s__02(cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00),V__0),s__02(c_27type_2enum_2enum_27__00,c_27const_2enumeral_2eonecount_27__02(s__02(c_27type_2enum_2enum_27__00,V_27n_27),s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eZERO_27__00))))) ) ) ).

fof('thm.numeral.DIV2_BIT1',axiom,
    ! [V_27x_27] : s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eDIV2_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT1_27__01(s__02(c_27type_2enum_2enum_27__00,V_27x_27))))) = s__02(c_27type_2enum_2enum_27__00,V_27x_27) ).

fof('thm.numeral.enumeral_mult',axiom,
    ! [V__3] :
      ( ! [V_27m_27,V_27x_27,V_27y_27,V_27n0_27] : s__02(c_27type_2enum_2enum_27__00,chapp__02(s__02(cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00),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(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))),chapp__02(s__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(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__3),s__02(c_27type_2enum_2enum_27__00,V_27m_27))),s__02(c_27type_2enum_2enum_27__00,V_27x_27))),s__02(c_27type_2enum_2enum_27__00,V_27y_27))),s__02(c_27type_2enum_2enum_27__00,V_27n0_27))) = s__02(c_27type_2enum_2enum_27__00,c_27const_2ebool_2eCOND_27__03(s__02(cbool__00,c_27const_2earithmetic_2eODD_27__01(s__02(c_27type_2enum_2enum_27__00,V_27m_27))),s__02(c_27type_2enum_2enum_27__00,c_27const_2enumeral_2etexp__help_27__02(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eDIV2_27__01(s__02(c_27type_2enum_2enum_27__00,V_27m_27))),s__02(c_27type_2enum_2enum_27__00,c_27const_2eprim__rec_2ePRE_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT2_27__01(s__02(c_27type_2enum_2enum_27__00,V_27y_27))))))),s__02(c_27type_2enum_2enum_27__00,c_27const_2ebool_2eCOND_27__03(s__02(cbool__00,c_27const_2earithmetic_2eODD_27__01(s__02(c_27type_2enum_2enum_27__00,V_27n0_27))),s__02(c_27type_2enum_2enum_27__00,c_27const_2enumeral_2etexp__help_27__02(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eDIV2_27__01(s__02(c_27type_2enum_2enum_27__00,V_27n0_27))),s__02(c_27type_2enum_2enum_27__00,c_27const_2eprim__rec_2ePRE_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT2_27__01(s__02(c_27type_2enum_2enum_27__00,V_27x_27))))))),s__02(c_27type_2enum_2enum_27__00,c_27const_2enumeral_2einternal__mult_27__02(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT2_27__01(s__02(c_27type_2enum_2enum_27__00,V_27x_27))),s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT2_27__01(s__02(c_27type_2enum_2enum_27__00,V_27y_27)))))))))
     => ! [V__2] :
          ( ! [V_27x_27,V_27y_27,V_27m_27] : s__02(c_27type_2enum_2enum_27__00,chapp__02(s__02(cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00),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(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__2),s__02(c_27type_2enum_2enum_27__00,V_27x_27))),s__02(c_27type_2enum_2enum_27__00,V_27y_27))),s__02(c_27type_2enum_2enum_27__00,V_27m_27))) = s__02(c_27type_2enum_2enum_27__00,c_27const_2ebool_2eLET_27__02(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(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))),chapp__02(s__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(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__3),s__02(c_27type_2enum_2enum_27__00,V_27m_27))),s__02(c_27type_2enum_2enum_27__00,V_27x_27))),s__02(c_27type_2enum_2enum_27__00,V_27y_27))),s__02(c_27type_2enum_2enum_27__00,c_27const_2enumeral_2eexactlog_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT2_27__01(s__02(c_27type_2enum_2enum_27__00,V_27y_27)))))))
         => ! [V__1] :
              ( ! [V_27x_27,V_27y_27,V_27m_27] : s__02(c_27type_2enum_2enum_27__00,chapp__02(s__02(cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00),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(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__1),s__02(c_27type_2enum_2enum_27__00,V_27x_27))),s__02(c_27type_2enum_2enum_27__00,V_27y_27))),s__02(c_27type_2enum_2enum_27__00,V_27m_27))) = s__02(c_27type_2enum_2enum_27__00,c_27const_2ebool_2eCOND_27__03(s__02(cbool__00,c_27const_2earithmetic_2eODD_27__01(s__02(c_27type_2enum_2enum_27__00,V_27m_27))),s__02(c_27type_2enum_2enum_27__00,c_27const_2enumeral_2etexp__help_27__02(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eDIV2_27__01(s__02(c_27type_2enum_2enum_27__00,V_27m_27))),s__02(c_27type_2enum_2enum_27__00,c_27const_2eprim__rec_2ePRE_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT1_27__01(s__02(c_27type_2enum_2enum_27__00,V_27y_27))))))),s__02(c_27type_2enum_2enum_27__00,c_27const_2enumeral_2einternal__mult_27__02(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT2_27__01(s__02(c_27type_2enum_2enum_27__00,V_27x_27))),s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT1_27__01(s__02(c_27type_2enum_2enum_27__00,V_27y_27)))))))
             => ! [V__0] :
                  ( ! [V_27x_27,V_27y_27,V_27n0_27] : s__02(c_27type_2enum_2enum_27__00,chapp__02(s__02(cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00),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(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__0),s__02(c_27type_2enum_2enum_27__00,V_27x_27))),s__02(c_27type_2enum_2enum_27__00,V_27y_27))),s__02(c_27type_2enum_2enum_27__00,V_27n0_27))) = s__02(c_27type_2enum_2enum_27__00,c_27const_2ebool_2eCOND_27__03(s__02(cbool__00,c_27const_2earithmetic_2eODD_27__01(s__02(c_27type_2enum_2enum_27__00,V_27n0_27))),s__02(c_27type_2enum_2enum_27__00,c_27const_2enumeral_2etexp__help_27__02(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eDIV2_27__01(s__02(c_27type_2enum_2enum_27__00,V_27n0_27))),s__02(c_27type_2enum_2enum_27__00,c_27const_2eprim__rec_2ePRE_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT1_27__01(s__02(c_27type_2enum_2enum_27__00,V_27x_27))))))),s__02(c_27type_2enum_2enum_27__00,c_27const_2enumeral_2einternal__mult_27__02(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT1_27__01(s__02(c_27type_2enum_2enum_27__00,V_27x_27))),s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT2_27__01(s__02(c_27type_2enum_2enum_27__00,V_27y_27)))))))
                 => ! [V_27y_27,V_27x_27,V_27n_27] :
                      ( s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2e_2a_27__02(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eZERO_27__00),s__02(c_27type_2enum_2enum_27__00,V_27n_27))) = s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eZERO_27__00)
                      & s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2e_2a_27__02(s__02(c_27type_2enum_2enum_27__00,V_27n_27),s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eZERO_27__00))) = s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eZERO_27__00)
                      & s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2e_2a_27__02(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT1_27__01(s__02(c_27type_2enum_2enum_27__00,V_27x_27))),s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT1_27__01(s__02(c_27type_2enum_2enum_27__00,V_27y_27))))) = s__02(c_27type_2enum_2enum_27__00,c_27const_2enumeral_2einternal__mult_27__02(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT1_27__01(s__02(c_27type_2enum_2enum_27__00,V_27x_27))),s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT1_27__01(s__02(c_27type_2enum_2enum_27__00,V_27y_27)))))
                      & s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2e_2a_27__02(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT1_27__01(s__02(c_27type_2enum_2enum_27__00,V_27x_27))),s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT2_27__01(s__02(c_27type_2enum_2enum_27__00,V_27y_27))))) = s__02(c_27type_2enum_2enum_27__00,c_27const_2ebool_2eLET_27__02(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(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__0),s__02(c_27type_2enum_2enum_27__00,V_27x_27))),s__02(c_27type_2enum_2enum_27__00,V_27y_27))),s__02(c_27type_2enum_2enum_27__00,c_27const_2enumeral_2eexactlog_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT2_27__01(s__02(c_27type_2enum_2enum_27__00,V_27y_27)))))))
                      & s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2e_2a_27__02(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT2_27__01(s__02(c_27type_2enum_2enum_27__00,V_27x_27))),s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT1_27__01(s__02(c_27type_2enum_2enum_27__00,V_27y_27))))) = s__02(c_27type_2enum_2enum_27__00,c_27const_2ebool_2eLET_27__02(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(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__1),s__02(c_27type_2enum_2enum_27__00,V_27x_27))),s__02(c_27type_2enum_2enum_27__00,V_27y_27))),s__02(c_27type_2enum_2enum_27__00,c_27const_2enumeral_2eexactlog_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT2_27__01(s__02(c_27type_2enum_2enum_27__00,V_27x_27)))))))
                      & s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2e_2a_27__02(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT2_27__01(s__02(c_27type_2enum_2enum_27__00,V_27x_27))),s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT2_27__01(s__02(c_27type_2enum_2enum_27__00,V_27y_27))))) = s__02(c_27type_2enum_2enum_27__00,c_27const_2ebool_2eLET_27__02(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(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__2),s__02(c_27type_2enum_2enum_27__00,V_27x_27))),s__02(c_27type_2enum_2enum_27__00,V_27y_27))),s__02(c_27type_2enum_2enum_27__00,c_27const_2enumeral_2eexactlog_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT2_27__01(s__02(c_27type_2enum_2enum_27__00,V_27x_27))))))) ) ) ) ) ) ).

fof('thm.option.option_case_def',axiom,
    ! [V_27B_27,V_27A_27] :
      ( ! [V_27v_27,V_27f_27] : s__02(V_27B_27,c_27const_2eoption_2eoption__CASE_27__03(s__02(c_27type_2eoption_2eoption_27__01(V_27A_27),c_27const_2eoption_2eNONE_27__00),s__02(V_27B_27,V_27v_27),s__02(cfun__02(V_27A_27,V_27B_27),V_27f_27))) = s__02(V_27B_27,V_27v_27)
      & ! [V_27x_27,V_27v_27,V_27f_27] : s__02(V_27B_27,c_27const_2eoption_2eoption__CASE_27__03(s__02(c_27type_2eoption_2eoption_27__01(V_27A_27),c_27const_2eoption_2eSOME_27__01(s__02(V_27A_27,V_27x_27))),s__02(V_27B_27,V_27v_27),s__02(cfun__02(V_27A_27,V_27B_27),V_27f_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.option.SOME_11',axiom,
    ! [V_27A_27,V_27x_27,V_27y_27] :
      ( s__02(c_27type_2eoption_2eoption_27__01(V_27A_27),c_27const_2eoption_2eSOME_27__01(s__02(V_27A_27,V_27x_27))) = s__02(c_27type_2eoption_2eoption_27__01(V_27A_27),c_27const_2eoption_2eSOME_27__01(s__02(V_27A_27,V_27y_27)))
    <=> s__02(V_27A_27,V_27x_27) = s__02(V_27A_27,V_27y_27) ) ).

fof('thm.option.OPTION_MAP_DEF',axiom,
    ! [V_27A_27,V_27B_27] :
      ( ! [V_27f_27,V_27x_27] : s__02(c_27type_2eoption_2eoption_27__01(V_27B_27),c_27const_2eoption_2eOPTION__MAP_27__02(s__02(cfun__02(V_27A_27,V_27B_27),V_27f_27),s__02(c_27type_2eoption_2eoption_27__01(V_27A_27),c_27const_2eoption_2eSOME_27__01(s__02(V_27A_27,V_27x_27))))) = s__02(c_27type_2eoption_2eoption_27__01(V_27B_27),c_27const_2eoption_2eSOME_27__01(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)))))
      & ! [V_27f_27] : s__02(c_27type_2eoption_2eoption_27__01(V_27B_27),c_27const_2eoption_2eOPTION__MAP_27__02(s__02(cfun__02(V_27A_27,V_27B_27),V_27f_27),s__02(c_27type_2eoption_2eoption_27__01(V_27A_27),c_27const_2eoption_2eNONE_27__00))) = s__02(c_27type_2eoption_2eoption_27__01(V_27B_27),c_27const_2eoption_2eNONE_27__00) ) ).

fof('thm.option.IS_SOME_DEF',axiom,
    ! [V_27A_27] :
      ( ! [V_27x_27] : s__02(cbool__00,c_27const_2eoption_2eIS__SOME_27__01(s__02(c_27type_2eoption_2eoption_27__01(V_27A_27),c_27const_2eoption_2eSOME_27__01(s__02(V_27A_27,V_27x_27))))) = s__02(cbool__00,cT__00)
      & s__02(cbool__00,c_27const_2eoption_2eIS__SOME_27__01(s__02(c_27type_2eoption_2eoption_27__01(V_27A_27),c_27const_2eoption_2eNONE_27__00))) = s__02(cbool__00,cF__00) ) ).

fof('thm.option.IF_EQUALS_OPTION',axiom,
    ! [V_27A_27,V_27y_27,V_27x_27,V_27P_27] :
      ( ( s__02(c_27type_2eoption_2eoption_27__01(V_27A_27),c_27const_2ebool_2eCOND_27__03(s__02(cbool__00,V_27P_27),s__02(c_27type_2eoption_2eoption_27__01(V_27A_27),c_27const_2eoption_2eSOME_27__01(s__02(V_27A_27,V_27x_27))),s__02(c_27type_2eoption_2eoption_27__01(V_27A_27),c_27const_2eoption_2eNONE_27__00))) = s__02(c_27type_2eoption_2eoption_27__01(V_27A_27),c_27const_2eoption_2eNONE_27__00)
      <=> ~ p__01(s__02(cbool__00,V_27P_27)) )
      & ( s__02(c_27type_2eoption_2eoption_27__01(V_27A_27),c_27const_2ebool_2eCOND_27__03(s__02(cbool__00,V_27P_27),s__02(c_27type_2eoption_2eoption_27__01(V_27A_27),c_27const_2eoption_2eNONE_27__00),s__02(c_27type_2eoption_2eoption_27__01(V_27A_27),c_27const_2eoption_2eSOME_27__01(s__02(V_27A_27,V_27x_27))))) = s__02(c_27type_2eoption_2eoption_27__01(V_27A_27),c_27const_2eoption_2eNONE_27__00)
      <=> p__01(s__02(cbool__00,V_27P_27)) )
      & ( s__02(c_27type_2eoption_2eoption_27__01(V_27A_27),c_27const_2ebool_2eCOND_27__03(s__02(cbool__00,V_27P_27),s__02(c_27type_2eoption_2eoption_27__01(V_27A_27),c_27const_2eoption_2eSOME_27__01(s__02(V_27A_27,V_27x_27))),s__02(c_27type_2eoption_2eoption_27__01(V_27A_27),c_27const_2eoption_2eNONE_27__00))) = s__02(c_27type_2eoption_2eoption_27__01(V_27A_27),c_27const_2eoption_2eSOME_27__01(s__02(V_27A_27,V_27y_27)))
      <=> ( p__01(s__02(cbool__00,V_27P_27))
          & s__02(V_27A_27,V_27x_27) = s__02(V_27A_27,V_27y_27) ) )
      & ( s__02(c_27type_2eoption_2eoption_27__01(V_27A_27),c_27const_2ebool_2eCOND_27__03(s__02(cbool__00,V_27P_27),s__02(c_27type_2eoption_2eoption_27__01(V_27A_27),c_27const_2eoption_2eNONE_27__00),s__02(c_27type_2eoption_2eoption_27__01(V_27A_27),c_27const_2eoption_2eSOME_27__01(s__02(V_27A_27,V_27x_27))))) = s__02(c_27type_2eoption_2eoption_27__01(V_27A_27),c_27const_2eoption_2eSOME_27__01(s__02(V_27A_27,V_27y_27)))
      <=> ( ~ p__01(s__02(cbool__00,V_27P_27))
          & s__02(V_27A_27,V_27x_27) = s__02(V_27A_27,V_27y_27) ) ) ) ).

fof('thm.option.IF_NONE_EQUALS_OPTION',axiom,
    ! [V_27A_27,V_27x_27,V_27X_27,V_27P_27] :
      ( ( s__02(c_27type_2eoption_2eoption_27__01(V_27A_27),c_27const_2ebool_2eCOND_27__03(s__02(cbool__00,V_27P_27),s__02(c_27type_2eoption_2eoption_27__01(V_27A_27),V_27X_27),s__02(c_27type_2eoption_2eoption_27__01(V_27A_27),c_27const_2eoption_2eNONE_27__00))) = s__02(c_27type_2eoption_2eoption_27__01(V_27A_27),c_27const_2eoption_2eNONE_27__00)
      <=> ( p__01(s__02(cbool__00,V_27P_27))
         => p__01(s__02(cbool__00,c_27const_2eoption_2eIS__NONE_27__01(s__02(c_27type_2eoption_2eoption_27__01(V_27A_27),V_27X_27)))) ) )
      & ( s__02(c_27type_2eoption_2eoption_27__01(V_27A_27),c_27const_2ebool_2eCOND_27__03(s__02(cbool__00,V_27P_27),s__02(c_27type_2eoption_2eoption_27__01(V_27A_27),c_27const_2eoption_2eNONE_27__00),s__02(c_27type_2eoption_2eoption_27__01(V_27A_27),V_27X_27))) = s__02(c_27type_2eoption_2eoption_27__01(V_27A_27),c_27const_2eoption_2eNONE_27__00)
      <=> ( p__01(s__02(cbool__00,c_27const_2eoption_2eIS__SOME_27__01(s__02(c_27type_2eoption_2eoption_27__01(V_27A_27),V_27X_27))))
         => p__01(s__02(cbool__00,V_27P_27)) ) )
      & ( s__02(c_27type_2eoption_2eoption_27__01(V_27A_27),c_27const_2ebool_2eCOND_27__03(s__02(cbool__00,V_27P_27),s__02(c_27type_2eoption_2eoption_27__01(V_27A_27),V_27X_27),s__02(c_27type_2eoption_2eoption_27__01(V_27A_27),c_27const_2eoption_2eNONE_27__00))) = 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)))
      <=> ( p__01(s__02(cbool__00,V_27P_27))
          & s__02(c_27type_2eoption_2eoption_27__01(V_27A_27),V_27X_27) = s__02(c_27type_2eoption_2eoption_27__01(V_27A_27),c_27const_2eoption_2eSOME_27__01(s__02(V_27A_27,V_27x_27))) ) )
      & ( s__02(c_27type_2eoption_2eoption_27__01(V_27A_27),c_27const_2ebool_2eCOND_27__03(s__02(cbool__00,V_27P_27),s__02(c_27type_2eoption_2eoption_27__01(V_27A_27),c_27const_2eoption_2eNONE_27__00),s__02(c_27type_2eoption_2eoption_27__01(V_27A_27),V_27X_27))) = s__02(c_27type_2eoption_2eoption_27__01(V_27A_27),c_27const_2eoption_2eSOME_27__01(s__02(V_27A_27,V_27x_27)))
      <=> ( ~ p__01(s__02(cbool__00,V_27P_27))
          & s__02(c_27type_2eoption_2eoption_27__01(V_27A_27),V_27X_27) = s__02(c_27type_2eoption_2eoption_27__01(V_27A_27),c_27const_2eoption_2eSOME_27__01(s__02(V_27A_27,V_27x_27))) ) ) ) ).

fof('thm.list.list_case_def',axiom,
    ! [V_27B_27,V_27A_27] :
      ( ! [V_27v_27,V_27f_27] : s__02(V_27B_27,c_27const_2elist_2elist__CASE_27__03(s__02(c_27type_2elist_2elist_27__01(V_27A_27),c_27const_2elist_2eNIL_27__00),s__02(V_27B_27,V_27v_27),s__02(cfun__02(V_27A_27,cfun__02(c_27type_2elist_2elist_27__01(V_27A_27),V_27B_27)),V_27f_27))) = s__02(V_27B_27,V_27v_27)
      & ! [V_27a0_27,V_27a1_27,V_27v_27,V_27f_27] : s__02(V_27B_27,c_27const_2elist_2elist__CASE_27__03(s__02(c_27type_2elist_2elist_27__01(V_27A_27),c_27const_2elist_2eCONS_27__02(s__02(V_27A_27,V_27a0_27),s__02(c_27type_2elist_2elist_27__01(V_27A_27),V_27a1_27))),s__02(V_27B_27,V_27v_27),s__02(cfun__02(V_27A_27,cfun__02(c_27type_2elist_2elist_27__01(V_27A_27),V_27B_27)),V_27f_27))) = s__02(V_27B_27,chapp__02(s__02(cfun__02(c_27type_2elist_2elist_27__01(V_27A_27),V_27B_27),chapp__02(s__02(cfun__02(V_27A_27,cfun__02(c_27type_2elist_2elist_27__01(V_27A_27),V_27B_27)),V_27f_27),s__02(V_27A_27,V_27a0_27))),s__02(c_27type_2elist_2elist_27__01(V_27A_27),V_27a1_27))) ) ).

fof('thm.list.APPEND',axiom,
    ! [V_27A_27] :
      ( ! [V_27l_27] : s__02(c_27type_2elist_2elist_27__01(V_27A_27),c_27const_2elist_2eAPPEND_27__02(s__02(c_27type_2elist_2elist_27__01(V_27A_27),c_27const_2elist_2eNIL_27__00),s__02(c_27type_2elist_2elist_27__01(V_27A_27),V_27l_27))) = s__02(c_27type_2elist_2elist_27__01(V_27A_27),V_27l_27)
      & ! [V_27l1_27,V_27l2_27,V_27h_27] : s__02(c_27type_2elist_2elist_27__01(V_27A_27),c_27const_2elist_2eAPPEND_27__02(s__02(c_27type_2elist_2elist_27__01(V_27A_27),c_27const_2elist_2eCONS_27__02(s__02(V_27A_27,V_27h_27),s__02(c_27type_2elist_2elist_27__01(V_27A_27),V_27l1_27))),s__02(c_27type_2elist_2elist_27__01(V_27A_27),V_27l2_27))) = s__02(c_27type_2elist_2elist_27__01(V_27A_27),c_27const_2elist_2eCONS_27__02(s__02(V_27A_27,V_27h_27),s__02(c_27type_2elist_2elist_27__01(V_27A_27),c_27const_2elist_2eAPPEND_27__02(s__02(c_27type_2elist_2elist_27__01(V_27A_27),V_27l1_27),s__02(c_27type_2elist_2elist_27__01(V_27A_27),V_27l2_27))))) ) ).

fof('thm.list.LENGTH',axiom,
    ! [V_27A_27] :
      ( s__02(c_27type_2enum_2enum_27__00,c_27const_2elist_2eLENGTH_27__01(s__02(c_27type_2elist_2elist_27__01(V_27A_27),c_27const_2elist_2eNIL_27__00))) = s__02(c_27type_2enum_2enum_27__00,c_27const_2enum_2e0_27__00)
      & ! [V_27h_27,V_27t_27] : s__02(c_27type_2enum_2enum_27__00,c_27const_2elist_2eLENGTH_27__01(s__02(c_27type_2elist_2elist_27__01(V_27A_27),c_27const_2elist_2eCONS_27__02(s__02(V_27A_27,V_27h_27),s__02(c_27type_2elist_2elist_27__01(V_27A_27),V_27t_27))))) = s__02(c_27type_2enum_2enum_27__00,c_27const_2enum_2eSUC_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2elist_2eLENGTH_27__01(s__02(c_27type_2elist_2elist_27__01(V_27A_27),V_27t_27))))) ) ).

fof('thm.list.MAP',axiom,
    ! [V_27B_27,V_27A_27] :
      ( ! [V_27f_27] : s__02(c_27type_2elist_2elist_27__01(V_27B_27),c_27const_2elist_2eMAP_27__02(s__02(cfun__02(V_27A_27,V_27B_27),V_27f_27),s__02(c_27type_2elist_2elist_27__01(V_27A_27),c_27const_2elist_2eNIL_27__00))) = s__02(c_27type_2elist_2elist_27__01(V_27B_27),c_27const_2elist_2eNIL_27__00)
      & ! [V_27f_27,V_27h_27,V_27t_27] : s__02(c_27type_2elist_2elist_27__01(V_27B_27),c_27const_2elist_2eMAP_27__02(s__02(cfun__02(V_27A_27,V_27B_27),V_27f_27),s__02(c_27type_2elist_2elist_27__01(V_27A_27),c_27const_2elist_2eCONS_27__02(s__02(V_27A_27,V_27h_27),s__02(c_27type_2elist_2elist_27__01(V_27A_27),V_27t_27))))) = s__02(c_27type_2elist_2elist_27__01(V_27B_27),c_27const_2elist_2eCONS_27__02(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_27h_27))),s__02(c_27type_2elist_2elist_27__01(V_27B_27),c_27const_2elist_2eMAP_27__02(s__02(cfun__02(V_27A_27,V_27B_27),V_27f_27),s__02(c_27type_2elist_2elist_27__01(V_27A_27),V_27t_27))))) ) ).

fof('thm.list.FOLDR',axiom,
    ! [V_27B_27,V_27A_27] :
      ( ! [V_27f_27,V_27e_27] : s__02(V_27B_27,c_27const_2elist_2eFOLDR_27__03(s__02(cfun__02(V_27A_27,cfun__02(V_27B_27,V_27B_27)),V_27f_27),s__02(V_27B_27,V_27e_27),s__02(c_27type_2elist_2elist_27__01(V_27A_27),c_27const_2elist_2eNIL_27__00))) = s__02(V_27B_27,V_27e_27)
      & ! [V_27f_27,V_27e_27,V_27x_27,V_27l_27] : s__02(V_27B_27,c_27const_2elist_2eFOLDR_27__03(s__02(cfun__02(V_27A_27,cfun__02(V_27B_27,V_27B_27)),V_27f_27),s__02(V_27B_27,V_27e_27),s__02(c_27type_2elist_2elist_27__01(V_27A_27),c_27const_2elist_2eCONS_27__02(s__02(V_27A_27,V_27x_27),s__02(c_27type_2elist_2elist_27__01(V_27A_27),V_27l_27))))) = s__02(V_27B_27,chapp__02(s__02(cfun__02(V_27B_27,V_27B_27),chapp__02(s__02(cfun__02(V_27A_27,cfun__02(V_27B_27,V_27B_27)),V_27f_27),s__02(V_27A_27,V_27x_27))),s__02(V_27B_27,c_27const_2elist_2eFOLDR_27__03(s__02(cfun__02(V_27A_27,cfun__02(V_27B_27,V_27B_27)),V_27f_27),s__02(V_27B_27,V_27e_27),s__02(c_27type_2elist_2elist_27__01(V_27A_27),V_27l_27))))) ) ).

fof('thm.list.CONS_11',axiom,
    ! [V_27A_27,V_27a0_27,V_27a1_27,V_27a0_7c39_7c_27,V_27a1_7c39_7c_27] :
      ( s__02(c_27type_2elist_2elist_27__01(V_27A_27),c_27const_2elist_2eCONS_27__02(s__02(V_27A_27,V_27a0_27),s__02(c_27type_2elist_2elist_27__01(V_27A_27),V_27a1_27))) = s__02(c_27type_2elist_2elist_27__01(V_27A_27),c_27const_2elist_2eCONS_27__02(s__02(V_27A_27,V_27a0_7c39_7c_27),s__02(c_27type_2elist_2elist_27__01(V_27A_27),V_27a1_7c39_7c_27)))
    <=> ( s__02(V_27A_27,V_27a0_27) = s__02(V_27A_27,V_27a0_7c39_7c_27)
        & s__02(c_27type_2elist_2elist_27__01(V_27A_27),V_27a1_27) = s__02(c_27type_2elist_2elist_27__01(V_27A_27),V_27a1_7c39_7c_27) ) ) ).

fof('thm.finite_map.FLOOKUP_UPDATE',axiom,
    ! [V_27A_27,V_27B_27,V_27v_27,V_27k2_27,V_27k1_27,V_27fm_27] :
    ? [Vv] :
      ( ( p__01(s__02(cbool__00,Vv))
      <=> s__02(V_27B_27,V_27k1_27) = s__02(V_27B_27,V_27k2_27) )
      & s__02(c_27type_2eoption_2eoption_27__01(V_27A_27),c_27const_2efinite__map_2eFLOOKUP_27__02(s__02(c_27type_2efinite__map_2efmap_27__02(V_27B_27,V_27A_27),c_27const_2efinite__map_2eFUPDATE_27__02(s__02(c_27type_2efinite__map_2efmap_27__02(V_27B_27,V_27A_27),V_27fm_27),s__02(c_27type_2epair_2eprod_27__02(V_27B_27,V_27A_27),c_27const_2epair_2e_2c_27__02(s__02(V_27B_27,V_27k1_27),s__02(V_27A_27,V_27v_27))))),s__02(V_27B_27,V_27k2_27))) = s__02(c_27type_2eoption_2eoption_27__01(V_27A_27),c_27const_2ebool_2eCOND_27__03(s__02(cbool__00,Vv),s__02(c_27type_2eoption_2eoption_27__01(V_27A_27),c_27const_2eoption_2eSOME_27__01(s__02(V_27A_27,V_27v_27))),s__02(c_27type_2eoption_2eoption_27__01(V_27A_27),c_27const_2efinite__map_2eFLOOKUP_27__02(s__02(c_27type_2efinite__map_2efmap_27__02(V_27B_27,V_27A_27),V_27fm_27),s__02(V_27B_27,V_27k2_27))))) ) ).

fof('thm.words.dimword_def',axiom,
    ! [V_27A_27] : s__02(c_27type_2enum_2enum_27__00,c_27const_2ewords_2edimword_27__01(s__02(c_27type_2ebool_2eitself_27__01(V_27A_27),c_27const_2ebool_2ethe__value_27__00))) = s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eEXP_27__02(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_2eBIT2_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eZERO_27__00))))),s__02(c_27type_2enum_2enum_27__00,c_27const_2efcp_2edimindex_27__01(s__02(c_27type_2ebool_2eitself_27__01(V_27A_27),c_27const_2ebool_2ethe__value_27__00))))) ).

fof('thm.words.word_sub_def',axiom,
    ! [V_27A_27,V_27v_27,V_27w_27] : s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27const_2ewords_2eword__sub_27__02(s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27v_27),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27w_27))) = s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),chapp__02(s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),chapp__02(s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27))),c_27const_2ewords_2eword__add_27__00),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27v_27))),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27const_2ewords_2eword__2comp_27__01(s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27w_27))))) ).

fof('thm.words.ZERO_LT_dimword',axiom,
    ! [V_27A_27] : p__01(s__02(cbool__00,c_27const_2eprim__rec_2e_3c_27__02(s__02(c_27type_2enum_2enum_27__00,c_27const_2enum_2e0_27__00),s__02(c_27type_2enum_2enum_27__00,c_27const_2ewords_2edimword_27__01(s__02(c_27type_2ebool_2eitself_27__01(V_27A_27),c_27const_2ebool_2ethe__value_27__00)))))) ).

fof('thm.words.n2w_mod',axiom,
    ! [V_27A_27,V_27n_27] : s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27const_2ewords_2en2w_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eMOD_27__02(s__02(c_27type_2enum_2enum_27__00,V_27n_27),s__02(c_27type_2enum_2enum_27__00,c_27const_2ewords_2edimword_27__01(s__02(c_27type_2ebool_2eitself_27__01(V_27A_27),c_27const_2ebool_2ethe__value_27__00))))))) = s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27const_2ewords_2en2w_27__01(s__02(c_27type_2enum_2enum_27__00,V_27n_27))) ).

fof('thm.words.n2w_11',axiom,
    ! [V_27A_27,V_27m_27,V_27n_27] :
      ( s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27const_2ewords_2en2w_27__01(s__02(c_27type_2enum_2enum_27__00,V_27m_27))) = s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27const_2ewords_2en2w_27__01(s__02(c_27type_2enum_2enum_27__00,V_27n_27)))
    <=> s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eMOD_27__02(s__02(c_27type_2enum_2enum_27__00,V_27m_27),s__02(c_27type_2enum_2enum_27__00,c_27const_2ewords_2edimword_27__01(s__02(c_27type_2ebool_2eitself_27__01(V_27A_27),c_27const_2ebool_2ethe__value_27__00))))) = s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eMOD_27__02(s__02(c_27type_2enum_2enum_27__00,V_27n_27),s__02(c_27type_2enum_2enum_27__00,c_27const_2ewords_2edimword_27__01(s__02(c_27type_2ebool_2eitself_27__01(V_27A_27),c_27const_2ebool_2ethe__value_27__00))))) ) ).

fof('thm.words.word_add_n2w',axiom,
    ! [V_27A_27,V_27m_27,V_27n_27] : s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),chapp__02(s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),chapp__02(s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27))),c_27const_2ewords_2eword__add_27__00),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27const_2ewords_2en2w_27__01(s__02(c_27type_2enum_2enum_27__00,V_27m_27))))),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27const_2ewords_2en2w_27__01(s__02(c_27type_2enum_2enum_27__00,V_27n_27))))) = s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27const_2ewords_2en2w_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2e_2b_27__02(s__02(c_27type_2enum_2enum_27__00,V_27m_27),s__02(c_27type_2enum_2enum_27__00,V_27n_27))))) ).

fof('thm.words.word_mul_n2w',axiom,
    ! [V_27A_27,V_27m_27,V_27n_27] : s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27const_2ewords_2eword__mul_27__02(s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27const_2ewords_2en2w_27__01(s__02(c_27type_2enum_2enum_27__00,V_27m_27))),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27const_2ewords_2en2w_27__01(s__02(c_27type_2enum_2enum_27__00,V_27n_27))))) = s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27const_2ewords_2en2w_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2e_2a_27__02(s__02(c_27type_2enum_2enum_27__00,V_27m_27),s__02(c_27type_2enum_2enum_27__00,V_27n_27))))) ).

fof('thm.words.WORD_NEG_1',axiom,
    ! [V_27A_27] : s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27const_2ewords_2eword__2comp_27__01(s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27const_2ewords_2en2w_27__01(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))))))))) = s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27const_2ewords_2eword__T_27__00) ).

fof('thm.words.WORD_OR_CLAUSES',axiom,
    ! [V_27A_27,V_27a_27] :
      ( s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),chapp__02(s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),chapp__02(s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27))),c_27const_2ewords_2eword__or_27__00),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27const_2ewords_2eword__T_27__00))),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27a_27))) = s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27const_2ewords_2eword__T_27__00)
      & s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),chapp__02(s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),chapp__02(s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27))),c_27const_2ewords_2eword__or_27__00),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27a_27))),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27const_2ewords_2eword__T_27__00))) = s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27const_2ewords_2eword__T_27__00)
      & s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),chapp__02(s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),chapp__02(s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27))),c_27const_2ewords_2eword__or_27__00),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27const_2ewords_2en2w_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2enum_2e0_27__00))))),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27a_27))) = s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27a_27)
      & s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),chapp__02(s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),chapp__02(s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27))),c_27const_2ewords_2eword__or_27__00),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27a_27))),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27const_2ewords_2en2w_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2enum_2e0_27__00))))) = s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27a_27)
      & s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),chapp__02(s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),chapp__02(s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27))),c_27const_2ewords_2eword__or_27__00),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27a_27))),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27a_27))) = s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27a_27) ) ).

fof('thm.words.WORD_OR_COMM',axiom,
    ! [V_27A_27,V_27a_27,V_27b_27] : s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),chapp__02(s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),chapp__02(s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27))),c_27const_2ewords_2eword__or_27__00),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27a_27))),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27b_27))) = s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),chapp__02(s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),chapp__02(s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27))),c_27const_2ewords_2eword__or_27__00),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27b_27))),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27a_27))) ).

fof('thm.words.WORD_ADD_0',axiom,
    ! [V_27A_27] :
      ( ! [V_27w_27] : s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),chapp__02(s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),chapp__02(s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27))),c_27const_2ewords_2eword__add_27__00),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27w_27))),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27const_2ewords_2en2w_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2enum_2e0_27__00))))) = s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27w_27)
      & ! [V_27w_27] : s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),chapp__02(s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),chapp__02(s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27))),c_27const_2ewords_2eword__add_27__00),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27const_2ewords_2en2w_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2enum_2e0_27__00))))),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27w_27))) = s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27w_27) ) ).

fof('thm.words.WORD_ADD_ASSOC',axiom,
    ! [V_27A_27,V_27v_27,V_27w_27,V_27x_27] : s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),chapp__02(s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),chapp__02(s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27))),c_27const_2ewords_2eword__add_27__00),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27v_27))),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),chapp__02(s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),chapp__02(s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27))),c_27const_2ewords_2eword__add_27__00),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27w_27))),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27x_27))))) = s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),chapp__02(s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),chapp__02(s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27))),c_27const_2ewords_2eword__add_27__00),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),chapp__02(s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),chapp__02(s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27))),c_27const_2ewords_2eword__add_27__00),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27v_27))),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27w_27))))),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27x_27))) ).

fof('thm.words.WORD_ADD_COMM',axiom,
    ! [V_27A_27,V_27v_27,V_27w_27] : s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),chapp__02(s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),chapp__02(s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27))),c_27const_2ewords_2eword__add_27__00),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27v_27))),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27w_27))) = s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),chapp__02(s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),chapp__02(s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27))),c_27const_2ewords_2eword__add_27__00),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27w_27))),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27v_27))) ).

fof('thm.words.WORD_MULT_COMM',axiom,
    ! [V_27A_27,V_27v_27,V_27w_27] : s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27const_2ewords_2eword__mul_27__02(s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27v_27),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27w_27))) = s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27const_2ewords_2eword__mul_27__02(s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27w_27),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27v_27))) ).

fof('thm.words.WORD_MULT_CLAUSES',axiom,
    ! [V_27A_27,V_27v_27,V_27w_27] :
      ( s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27const_2ewords_2eword__mul_27__02(s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27const_2ewords_2en2w_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2enum_2e0_27__00))),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27v_27))) = s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27const_2ewords_2en2w_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2enum_2e0_27__00)))
      & s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27const_2ewords_2eword__mul_27__02(s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27v_27),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27const_2ewords_2en2w_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2enum_2e0_27__00))))) = s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27const_2ewords_2en2w_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2enum_2e0_27__00)))
      & s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27const_2ewords_2eword__mul_27__02(s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27const_2ewords_2en2w_27__01(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))))))),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27v_27))) = s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27v_27)
      & s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27const_2ewords_2eword__mul_27__02(s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27v_27),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27const_2ewords_2en2w_27__01(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))))))))) = s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27v_27)
      & s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27const_2ewords_2eword__mul_27__02(s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),chapp__02(s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),chapp__02(s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27))),c_27const_2ewords_2eword__add_27__00),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27v_27))),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27const_2ewords_2en2w_27__01(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))))))))),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27w_27))) = s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),chapp__02(s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),chapp__02(s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27))),c_27const_2ewords_2eword__add_27__00),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27const_2ewords_2eword__mul_27__02(s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27v_27),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27w_27))))),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27w_27)))
      & s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27const_2ewords_2eword__mul_27__02(s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27v_27),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),chapp__02(s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),chapp__02(s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27))),c_27const_2ewords_2eword__add_27__00),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27w_27))),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27const_2ewords_2en2w_27__01(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))))))))))) = s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),chapp__02(s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),chapp__02(s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27))),c_27const_2ewords_2eword__add_27__00),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27v_27))),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27const_2ewords_2eword__mul_27__02(s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27v_27),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27w_27))))) ) ).

fof('thm.words.WORD_RIGHT_ADD_DISTRIB',axiom,
    ! [V_27A_27,V_27v_27,V_27w_27,V_27x_27] : s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27const_2ewords_2eword__mul_27__02(s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),chapp__02(s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),chapp__02(s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27))),c_27const_2ewords_2eword__add_27__00),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27v_27))),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27w_27))),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27x_27))) = s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),chapp__02(s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),chapp__02(s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27))),c_27const_2ewords_2eword__add_27__00),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27const_2ewords_2eword__mul_27__02(s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27v_27),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27x_27))))),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27const_2ewords_2eword__mul_27__02(s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27w_27),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27x_27))))) ).

fof('thm.words.WORD_EQ_ADD_LCANCEL',axiom,
    ! [V_27A_27,V_27v_27,V_27w_27,V_27x_27] :
      ( s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),chapp__02(s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),chapp__02(s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27))),c_27const_2ewords_2eword__add_27__00),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27v_27))),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27w_27))) = s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),chapp__02(s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),chapp__02(s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27))),c_27const_2ewords_2eword__add_27__00),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27v_27))),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27x_27)))
    <=> s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27w_27) = s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27x_27) ) ).

fof('thm.words.WORD_NEG_MUL',axiom,
    ! [V_27A_27,V_27w_27] : s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27const_2ewords_2eword__2comp_27__01(s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27w_27))) = s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27const_2ewords_2eword__mul_27__02(s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27const_2ewords_2eword__2comp_27__01(s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27const_2ewords_2en2w_27__01(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))))))))),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27w_27))) ).

fof('thm.words.WORD_ADD_LSL',axiom,
    ! [V_27A_27,V_27n_27,V_27a_27,V_27b_27] : s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27const_2ewords_2eword__lsl_27__02(s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),chapp__02(s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),chapp__02(s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27))),c_27const_2ewords_2eword__add_27__00),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27a_27))),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27b_27))),s__02(c_27type_2enum_2enum_27__00,V_27n_27))) = s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),chapp__02(s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),chapp__02(s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27))),c_27const_2ewords_2eword__add_27__00),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27const_2ewords_2eword__lsl_27__02(s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27a_27),s__02(c_27type_2enum_2enum_27__00,V_27n_27))))),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27const_2ewords_2eword__lsl_27__02(s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27b_27),s__02(c_27type_2enum_2enum_27__00,V_27n_27))))) ).

fof('thm.sptree.lookup_insert1',axiom,
    ! [V_27A_27,V_27k_27,V_27a_27,V_27t_27] : s__02(c_27type_2eoption_2eoption_27__01(V_27A_27),c_27const_2esptree_2elookup_27__02(s__02(c_27type_2enum_2enum_27__00,V_27k_27),s__02(c_27type_2esptree_2espt_27__01(V_27A_27),c_27const_2esptree_2einsert_27__03(s__02(c_27type_2enum_2enum_27__00,V_27k_27),s__02(V_27A_27,V_27a_27),s__02(c_27type_2esptree_2espt_27__01(V_27A_27),V_27t_27))))) = s__02(c_27type_2eoption_2eoption_27__01(V_27A_27),c_27const_2eoption_2eSOME_27__01(s__02(V_27A_27,V_27a_27))) ).

fof('thm.sptree.lookup_insert',axiom,
    ! [V_27A_27,V_27k2_27,V_27v_27,V_27t_27,V_27k1_27] :
    ? [Vv] :
      ( ( p__01(s__02(cbool__00,Vv))
      <=> s__02(c_27type_2enum_2enum_27__00,V_27k1_27) = s__02(c_27type_2enum_2enum_27__00,V_27k2_27) )
      & s__02(c_27type_2eoption_2eoption_27__01(V_27A_27),c_27const_2esptree_2elookup_27__02(s__02(c_27type_2enum_2enum_27__00,V_27k1_27),s__02(c_27type_2esptree_2espt_27__01(V_27A_27),c_27const_2esptree_2einsert_27__03(s__02(c_27type_2enum_2enum_27__00,V_27k2_27),s__02(V_27A_27,V_27v_27),s__02(c_27type_2esptree_2espt_27__01(V_27A_27),V_27t_27))))) = s__02(c_27type_2eoption_2eoption_27__01(V_27A_27),c_27const_2ebool_2eCOND_27__03(s__02(cbool__00,Vv),s__02(c_27type_2eoption_2eoption_27__01(V_27A_27),c_27const_2eoption_2eSOME_27__01(s__02(V_27A_27,V_27v_27))),s__02(c_27type_2eoption_2eoption_27__01(V_27A_27),c_27const_2esptree_2elookup_27__02(s__02(c_27type_2enum_2enum_27__00,V_27k1_27),s__02(c_27type_2esptree_2espt_27__01(V_27A_27),V_27t_27))))) ) ).

fof('thm.misc.bytes_in_word_def',axiom,
    ! [V_27A_27] : s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27const_2emisc_2ebytes__in__word_27__00) = s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27const_2ewords_2en2w_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eDIV_27__02(s__02(c_27type_2enum_2enum_27__00,c_27const_2efcp_2edimindex_27__01(s__02(c_27type_2ebool_2eitself_27__01(V_27A_27),c_27const_2ebool_2ethe__value_27__00))),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_2eBIT2_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_2eBIT1_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eZERO_27__00))))))))))))) ).

fof('thm.gc_shared.heap_element_11',axiom,
    ! [V_27A_27,V_27B_27] :
      ( ! [V_27a_27,V_27a_7c39_7c_27] :
          ( s__02(c_27type_2egc__shared_2eheap__element_27__02(V_27A_27,V_27B_27),c_27const_2egc__shared_2eUnused_27__01(s__02(c_27type_2enum_2enum_27__00,V_27a_27))) = s__02(c_27type_2egc__shared_2eheap__element_27__02(V_27A_27,V_27B_27),c_27const_2egc__shared_2eUnused_27__01(s__02(c_27type_2enum_2enum_27__00,V_27a_7c39_7c_27)))
        <=> s__02(c_27type_2enum_2enum_27__00,V_27a_27) = s__02(c_27type_2enum_2enum_27__00,V_27a_7c39_7c_27) )
      & ! [V_27a0_27,V_27a1_27,V_27a2_27,V_27a0_7c39_7c_27,V_27a1_7c39_7c_27,V_27a2_7c39_7c_27] :
          ( s__02(c_27type_2egc__shared_2eheap__element_27__02(V_27A_27,V_27B_27),c_27const_2egc__shared_2eForwardPointer_27__03(s__02(c_27type_2enum_2enum_27__00,V_27a0_27),s__02(V_27A_27,V_27a1_27),s__02(c_27type_2enum_2enum_27__00,V_27a2_27))) = s__02(c_27type_2egc__shared_2eheap__element_27__02(V_27A_27,V_27B_27),c_27const_2egc__shared_2eForwardPointer_27__03(s__02(c_27type_2enum_2enum_27__00,V_27a0_7c39_7c_27),s__02(V_27A_27,V_27a1_7c39_7c_27),s__02(c_27type_2enum_2enum_27__00,V_27a2_7c39_7c_27)))
        <=> ( s__02(c_27type_2enum_2enum_27__00,V_27a0_27) = s__02(c_27type_2enum_2enum_27__00,V_27a0_7c39_7c_27)
            & s__02(V_27A_27,V_27a1_27) = s__02(V_27A_27,V_27a1_7c39_7c_27)
            & s__02(c_27type_2enum_2enum_27__00,V_27a2_27) = s__02(c_27type_2enum_2enum_27__00,V_27a2_7c39_7c_27) ) )
      & ! [V_27a0_27,V_27a1_27,V_27a2_27,V_27a0_7c39_7c_27,V_27a1_7c39_7c_27,V_27a2_7c39_7c_27] :
          ( s__02(c_27type_2egc__shared_2eheap__element_27__02(V_27A_27,V_27B_27),c_27const_2egc__shared_2eDataElement_27__03(s__02(c_27type_2elist_2elist_27__01(c_27type_2egc__shared_2eheap__address_27__01(V_27A_27)),V_27a0_27),s__02(c_27type_2enum_2enum_27__00,V_27a1_27),s__02(V_27B_27,V_27a2_27))) = s__02(c_27type_2egc__shared_2eheap__element_27__02(V_27A_27,V_27B_27),c_27const_2egc__shared_2eDataElement_27__03(s__02(c_27type_2elist_2elist_27__01(c_27type_2egc__shared_2eheap__address_27__01(V_27A_27)),V_27a0_7c39_7c_27),s__02(c_27type_2enum_2enum_27__00,V_27a1_7c39_7c_27),s__02(V_27B_27,V_27a2_7c39_7c_27)))
        <=> ( s__02(c_27type_2elist_2elist_27__01(c_27type_2egc__shared_2eheap__address_27__01(V_27A_27)),V_27a0_27) = s__02(c_27type_2elist_2elist_27__01(c_27type_2egc__shared_2eheap__address_27__01(V_27A_27)),V_27a0_7c39_7c_27)
            & s__02(c_27type_2enum_2enum_27__00,V_27a1_27) = s__02(c_27type_2enum_2enum_27__00,V_27a1_7c39_7c_27)
            & s__02(V_27B_27,V_27a2_27) = s__02(V_27B_27,V_27a2_7c39_7c_27) ) ) ) ).

fof('thm.ast.shift_case_def',axiom,
    ! [V_27A_27] :
      ( ! [V_27v0_27,V_27v1_27,V_27v2_27,V_27v3_27] : s__02(V_27A_27,c_27const_2east_2eshift__CASE_27__05(s__02(c_27type_2east_2eshift_27__00,c_27const_2east_2eLsl_27__00),s__02(V_27A_27,V_27v0_27),s__02(V_27A_27,V_27v1_27),s__02(V_27A_27,V_27v2_27),s__02(V_27A_27,V_27v3_27))) = s__02(V_27A_27,V_27v0_27)
      & ! [V_27v0_27,V_27v1_27,V_27v2_27,V_27v3_27] : s__02(V_27A_27,c_27const_2east_2eshift__CASE_27__05(s__02(c_27type_2east_2eshift_27__00,c_27const_2east_2eLsr_27__00),s__02(V_27A_27,V_27v0_27),s__02(V_27A_27,V_27v1_27),s__02(V_27A_27,V_27v2_27),s__02(V_27A_27,V_27v3_27))) = s__02(V_27A_27,V_27v1_27)
      & ! [V_27v0_27,V_27v1_27,V_27v2_27,V_27v3_27] : s__02(V_27A_27,c_27const_2east_2eshift__CASE_27__05(s__02(c_27type_2east_2eshift_27__00,c_27const_2east_2eAsr_27__00),s__02(V_27A_27,V_27v0_27),s__02(V_27A_27,V_27v1_27),s__02(V_27A_27,V_27v2_27),s__02(V_27A_27,V_27v3_27))) = s__02(V_27A_27,V_27v2_27)
      & ! [V_27v0_27,V_27v1_27,V_27v2_27,V_27v3_27] : s__02(V_27A_27,c_27const_2east_2eshift__CASE_27__05(s__02(c_27type_2east_2eshift_27__00,c_27const_2east_2eRor_27__00),s__02(V_27A_27,V_27v0_27),s__02(V_27A_27,V_27v1_27),s__02(V_27A_27,V_27v2_27),s__02(V_27A_27,V_27v3_27))) = s__02(V_27A_27,V_27v3_27) ) ).

fof('thm.asm.binop_case_def',axiom,
    ! [V_27A_27] :
      ( ! [V_27v0_27,V_27v1_27,V_27v2_27,V_27v3_27,V_27v4_27] : s__02(V_27A_27,c_27const_2easm_2ebinop__CASE_27__06(s__02(c_27type_2easm_2ebinop_27__00,c_27const_2easm_2eAdd_27__00),s__02(V_27A_27,V_27v0_27),s__02(V_27A_27,V_27v1_27),s__02(V_27A_27,V_27v2_27),s__02(V_27A_27,V_27v3_27),s__02(V_27A_27,V_27v4_27))) = s__02(V_27A_27,V_27v0_27)
      & ! [V_27v0_27,V_27v1_27,V_27v2_27,V_27v3_27,V_27v4_27] : s__02(V_27A_27,c_27const_2easm_2ebinop__CASE_27__06(s__02(c_27type_2easm_2ebinop_27__00,c_27const_2easm_2eSub_27__00),s__02(V_27A_27,V_27v0_27),s__02(V_27A_27,V_27v1_27),s__02(V_27A_27,V_27v2_27),s__02(V_27A_27,V_27v3_27),s__02(V_27A_27,V_27v4_27))) = s__02(V_27A_27,V_27v1_27)
      & ! [V_27v0_27,V_27v1_27,V_27v2_27,V_27v3_27,V_27v4_27] : s__02(V_27A_27,c_27const_2easm_2ebinop__CASE_27__06(s__02(c_27type_2easm_2ebinop_27__00,c_27const_2easm_2eAnd_27__00),s__02(V_27A_27,V_27v0_27),s__02(V_27A_27,V_27v1_27),s__02(V_27A_27,V_27v2_27),s__02(V_27A_27,V_27v3_27),s__02(V_27A_27,V_27v4_27))) = s__02(V_27A_27,V_27v2_27)
      & ! [V_27v0_27,V_27v1_27,V_27v2_27,V_27v3_27,V_27v4_27] : s__02(V_27A_27,c_27const_2easm_2ebinop__CASE_27__06(s__02(c_27type_2easm_2ebinop_27__00,c_27const_2easm_2eOr_27__00),s__02(V_27A_27,V_27v0_27),s__02(V_27A_27,V_27v1_27),s__02(V_27A_27,V_27v2_27),s__02(V_27A_27,V_27v3_27),s__02(V_27A_27,V_27v4_27))) = s__02(V_27A_27,V_27v3_27)
      & ! [V_27v0_27,V_27v1_27,V_27v2_27,V_27v3_27,V_27v4_27] : s__02(V_27A_27,c_27const_2easm_2ebinop__CASE_27__06(s__02(c_27type_2easm_2ebinop_27__00,c_27const_2easm_2eXor_27__00),s__02(V_27A_27,V_27v0_27),s__02(V_27A_27,V_27v1_27),s__02(V_27A_27,V_27v2_27),s__02(V_27A_27,V_27v3_27),s__02(V_27A_27,V_27v4_27))) = s__02(V_27A_27,V_27v4_27) ) ).

fof('thm.stackLang.store_name_distinct',axiom,
    ( s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eNextFree_27__00) != s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eEndOfHeap_27__00)
    & s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eNextFree_27__00) != s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eTriggerGC_27__00)
    & s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eNextFree_27__00) != s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eHeapLength_27__00)
    & s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eNextFree_27__00) != s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eProgStart_27__00)
    & s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eNextFree_27__00) != s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eBitmapBase_27__00)
    & s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eNextFree_27__00) != s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eCurrHeap_27__00)
    & s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eNextFree_27__00) != s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eOtherHeap_27__00)
    & s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eNextFree_27__00) != s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eAllocSize_27__00)
    & s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eNextFree_27__00) != s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eGlobals_27__00)
    & s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eNextFree_27__00) != s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eHandler_27__00)
    & s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eNextFree_27__00) != s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eGenStart_27__00)
    & ! [V_27a_27] : s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eNextFree_27__00) != s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eTemp_27__01(s__02(c_27type_2efcp_2ecart_27__02(cbool__00,c_27type_2efcp_2ebit1_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2eone_2eone_27__00))),V_27a_27)))
    & s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eEndOfHeap_27__00) != s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eTriggerGC_27__00)
    & s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eEndOfHeap_27__00) != s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eHeapLength_27__00)
    & s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eEndOfHeap_27__00) != s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eProgStart_27__00)
    & s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eEndOfHeap_27__00) != s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eBitmapBase_27__00)
    & s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eEndOfHeap_27__00) != s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eCurrHeap_27__00)
    & s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eEndOfHeap_27__00) != s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eOtherHeap_27__00)
    & s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eEndOfHeap_27__00) != s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eAllocSize_27__00)
    & s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eEndOfHeap_27__00) != s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eGlobals_27__00)
    & s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eEndOfHeap_27__00) != s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eHandler_27__00)
    & s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eEndOfHeap_27__00) != s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eGenStart_27__00)
    & ! [V_27a_27] : s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eEndOfHeap_27__00) != s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eTemp_27__01(s__02(c_27type_2efcp_2ecart_27__02(cbool__00,c_27type_2efcp_2ebit1_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2eone_2eone_27__00))),V_27a_27)))
    & s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eTriggerGC_27__00) != s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eHeapLength_27__00)
    & s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eTriggerGC_27__00) != s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eProgStart_27__00)
    & s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eTriggerGC_27__00) != s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eBitmapBase_27__00)
    & s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eTriggerGC_27__00) != s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eCurrHeap_27__00)
    & s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eTriggerGC_27__00) != s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eOtherHeap_27__00)
    & s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eTriggerGC_27__00) != s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eAllocSize_27__00)
    & s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eTriggerGC_27__00) != s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eGlobals_27__00)
    & s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eTriggerGC_27__00) != s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eHandler_27__00)
    & s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eTriggerGC_27__00) != s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eGenStart_27__00)
    & ! [V_27a_27] : s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eTriggerGC_27__00) != s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eTemp_27__01(s__02(c_27type_2efcp_2ecart_27__02(cbool__00,c_27type_2efcp_2ebit1_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2eone_2eone_27__00))),V_27a_27)))
    & s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eHeapLength_27__00) != s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eProgStart_27__00)
    & s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eHeapLength_27__00) != s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eBitmapBase_27__00)
    & s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eHeapLength_27__00) != s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eCurrHeap_27__00)
    & s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eHeapLength_27__00) != s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eOtherHeap_27__00)
    & s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eHeapLength_27__00) != s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eAllocSize_27__00)
    & s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eHeapLength_27__00) != s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eGlobals_27__00)
    & s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eHeapLength_27__00) != s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eHandler_27__00)
    & s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eHeapLength_27__00) != s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eGenStart_27__00)
    & ! [V_27a_27] : s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eHeapLength_27__00) != s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eTemp_27__01(s__02(c_27type_2efcp_2ecart_27__02(cbool__00,c_27type_2efcp_2ebit1_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2eone_2eone_27__00))),V_27a_27)))
    & s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eProgStart_27__00) != s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eBitmapBase_27__00)
    & s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eProgStart_27__00) != s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eCurrHeap_27__00)
    & s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eProgStart_27__00) != s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eOtherHeap_27__00)
    & s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eProgStart_27__00) != s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eAllocSize_27__00)
    & s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eProgStart_27__00) != s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eGlobals_27__00)
    & s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eProgStart_27__00) != s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eHandler_27__00)
    & s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eProgStart_27__00) != s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eGenStart_27__00)
    & ! [V_27a_27] : s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eProgStart_27__00) != s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eTemp_27__01(s__02(c_27type_2efcp_2ecart_27__02(cbool__00,c_27type_2efcp_2ebit1_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2eone_2eone_27__00))),V_27a_27)))
    & s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eBitmapBase_27__00) != s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eCurrHeap_27__00)
    & s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eBitmapBase_27__00) != s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eOtherHeap_27__00)
    & s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eBitmapBase_27__00) != s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eAllocSize_27__00)
    & s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eBitmapBase_27__00) != s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eGlobals_27__00)
    & s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eBitmapBase_27__00) != s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eHandler_27__00)
    & s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eBitmapBase_27__00) != s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eGenStart_27__00)
    & ! [V_27a_27] : s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eBitmapBase_27__00) != s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eTemp_27__01(s__02(c_27type_2efcp_2ecart_27__02(cbool__00,c_27type_2efcp_2ebit1_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2eone_2eone_27__00))),V_27a_27)))
    & s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eCurrHeap_27__00) != s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eOtherHeap_27__00)
    & s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eCurrHeap_27__00) != s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eAllocSize_27__00)
    & s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eCurrHeap_27__00) != s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eGlobals_27__00)
    & s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eCurrHeap_27__00) != s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eHandler_27__00)
    & s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eCurrHeap_27__00) != s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eGenStart_27__00)
    & ! [V_27a_27] : s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eCurrHeap_27__00) != s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eTemp_27__01(s__02(c_27type_2efcp_2ecart_27__02(cbool__00,c_27type_2efcp_2ebit1_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2eone_2eone_27__00))),V_27a_27)))
    & s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eOtherHeap_27__00) != s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eAllocSize_27__00)
    & s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eOtherHeap_27__00) != s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eGlobals_27__00)
    & s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eOtherHeap_27__00) != s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eHandler_27__00)
    & s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eOtherHeap_27__00) != s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eGenStart_27__00)
    & ! [V_27a_27] : s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eOtherHeap_27__00) != s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eTemp_27__01(s__02(c_27type_2efcp_2ecart_27__02(cbool__00,c_27type_2efcp_2ebit1_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2eone_2eone_27__00))),V_27a_27)))
    & s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eAllocSize_27__00) != s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eGlobals_27__00)
    & s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eAllocSize_27__00) != s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eHandler_27__00)
    & s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eAllocSize_27__00) != s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eGenStart_27__00)
    & ! [V_27a_27] : s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eAllocSize_27__00) != s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eTemp_27__01(s__02(c_27type_2efcp_2ecart_27__02(cbool__00,c_27type_2efcp_2ebit1_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2eone_2eone_27__00))),V_27a_27)))
    & s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eGlobals_27__00) != s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eHandler_27__00)
    & s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eGlobals_27__00) != s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eGenStart_27__00)
    & ! [V_27a_27] : s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eGlobals_27__00) != s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eTemp_27__01(s__02(c_27type_2efcp_2ecart_27__02(cbool__00,c_27type_2efcp_2ebit1_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2eone_2eone_27__00))),V_27a_27)))
    & s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eHandler_27__00) != s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eGenStart_27__00)
    & ! [V_27a_27] : s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eHandler_27__00) != s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eTemp_27__01(s__02(c_27type_2efcp_2ecart_27__02(cbool__00,c_27type_2efcp_2ebit1_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2eone_2eone_27__00))),V_27a_27)))
    & ! [V_27a_27] : s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eGenStart_27__00) != s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eTemp_27__01(s__02(c_27type_2efcp_2ecart_27__02(cbool__00,c_27type_2efcp_2ebit1_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2eone_2eone_27__00))),V_27a_27))) ) ).

fof('thm.wordLang.num_exp_def',axiom,
    ! [V_27A_27] :
      ( ! [V_27n_27] : s__02(c_27type_2enum_2enum_27__00,c_27const_2ewordLang_2enum__exp_27__01(s__02(c_27type_2ewordLang_2enum__exp_27__01(V_27A_27),c_27const_2ewordLang_2eNat_27__01(s__02(c_27type_2enum_2enum_27__00,V_27n_27))))) = s__02(c_27type_2enum_2enum_27__00,V_27n_27)
      & ! [V_27x_27,V_27y_27] : s__02(c_27type_2enum_2enum_27__00,c_27const_2ewordLang_2enum__exp_27__01(s__02(c_27type_2ewordLang_2enum__exp_27__01(V_27A_27),c_27const_2ewordLang_2eAdd_27__02(s__02(c_27type_2ewordLang_2enum__exp_27__01(V_27A_27),V_27x_27),s__02(c_27type_2ewordLang_2enum__exp_27__01(V_27A_27),V_27y_27))))) = s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2e_2b_27__02(s__02(c_27type_2enum_2enum_27__00,c_27const_2ewordLang_2enum__exp_27__01(s__02(c_27type_2ewordLang_2enum__exp_27__01(V_27A_27),V_27x_27))),s__02(c_27type_2enum_2enum_27__00,c_27const_2ewordLang_2enum__exp_27__01(s__02(c_27type_2ewordLang_2enum__exp_27__01(V_27A_27),V_27y_27)))))
      & ! [V_27x_27,V_27y_27] : s__02(c_27type_2enum_2enum_27__00,c_27const_2ewordLang_2enum__exp_27__01(s__02(c_27type_2ewordLang_2enum__exp_27__01(V_27A_27),c_27const_2ewordLang_2eSub_27__02(s__02(c_27type_2ewordLang_2enum__exp_27__01(V_27A_27),V_27x_27),s__02(c_27type_2ewordLang_2enum__exp_27__01(V_27A_27),V_27y_27))))) = s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2e_2d_27__02(s__02(c_27type_2enum_2enum_27__00,c_27const_2ewordLang_2enum__exp_27__01(s__02(c_27type_2ewordLang_2enum__exp_27__01(V_27A_27),V_27x_27))),s__02(c_27type_2enum_2enum_27__00,c_27const_2ewordLang_2enum__exp_27__01(s__02(c_27type_2ewordLang_2enum__exp_27__01(V_27A_27),V_27y_27)))))
      & ! [V_27x_27] : s__02(c_27type_2enum_2enum_27__00,c_27const_2ewordLang_2enum__exp_27__01(s__02(c_27type_2ewordLang_2enum__exp_27__01(V_27A_27),c_27const_2ewordLang_2eDiv2_27__01(s__02(c_27type_2ewordLang_2enum__exp_27__01(V_27A_27),V_27x_27))))) = s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eDIV_27__02(s__02(c_27type_2enum_2enum_27__00,c_27const_2ewordLang_2enum__exp_27__01(s__02(c_27type_2ewordLang_2enum__exp_27__01(V_27A_27),V_27x_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_2eBIT2_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eZERO_27__00)))))))
      & ! [V_27x_27] : s__02(c_27type_2enum_2enum_27__00,c_27const_2ewordLang_2enum__exp_27__01(s__02(c_27type_2ewordLang_2enum__exp_27__01(V_27A_27),c_27const_2ewordLang_2eExp2_27__01(s__02(c_27type_2ewordLang_2enum__exp_27__01(V_27A_27),V_27x_27))))) = s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eEXP_27__02(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_2eBIT2_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eZERO_27__00))))),s__02(c_27type_2enum_2enum_27__00,c_27const_2ewordLang_2enum__exp_27__01(s__02(c_27type_2ewordLang_2enum__exp_27__01(V_27A_27),V_27x_27)))))
      & ! [V_27w_27] : s__02(c_27type_2enum_2enum_27__00,c_27const_2ewordLang_2enum__exp_27__01(s__02(c_27type_2ewordLang_2enum__exp_27__01(V_27A_27),c_27const_2ewordLang_2eWordWidth_27__01(s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27w_27))))) = s__02(c_27type_2enum_2enum_27__00,c_27const_2efcp_2edimindex_27__01(s__02(c_27type_2ebool_2eitself_27__01(V_27A_27),c_27const_2ebool_2ethe__value_27__00))) ) ).

fof('thm.wordLang.word_op_def',axiom,
    ! [V_27A_27,V__7] :
      ( ! [V_27v15_27] : s__02(c_27type_2eoption_2eoption_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),chapp__02(s__02(cfun__02(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),c_27type_2eoption_2eoption_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27))),V__7),s__02(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),V_27v15_27))) = s__02(c_27type_2eoption_2eoption_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),c_27const_2eoption_2eNONE_27__00)
     => ! [V__6] :
          ( ! [V_27v14_27] : s__02(cfun__02(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),c_27type_2eoption_2eoption_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27))),chapp__02(s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),cfun__02(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),c_27type_2eoption_2eoption_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)))),V__6),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27v14_27))) = s__02(cfun__02(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),c_27type_2eoption_2eoption_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27))),V__7)
         => ! [V__5] :
              ( ! [V_27w1_27,V_27w2_27,V_27v11_27] : s__02(c_27type_2eoption_2eoption_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),chapp__02(s__02(cfun__02(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),c_27type_2eoption_2eoption_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27))),chapp__02(s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),cfun__02(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),c_27type_2eoption_2eoption_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)))),chapp__02(s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),cfun__02(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),c_27type_2eoption_2eoption_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27))))),V__5),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27w1_27))),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27w2_27))),s__02(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),V_27v11_27))) = s__02(c_27type_2eoption_2eoption_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),c_27const_2elist_2elist__CASE_27__03(s__02(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),V_27v11_27),s__02(c_27type_2eoption_2eoption_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),c_27const_2eoption_2eSOME_27__01(s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27const_2ewords_2eword__sub_27__02(s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27w1_27),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27w2_27))))),s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),cfun__02(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),c_27type_2eoption_2eoption_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)))),V__6)))
             => ! [V__4] :
                  ( ! [V_27w1_27,V_27w2_27] : s__02(cfun__02(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),c_27type_2eoption_2eoption_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27))),chapp__02(s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),cfun__02(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),c_27type_2eoption_2eoption_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)))),chapp__02(s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),cfun__02(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),c_27type_2eoption_2eoption_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27))))),V__4),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27w1_27))),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27w2_27))) = s__02(cfun__02(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),c_27type_2eoption_2eoption_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27))),chapp__02(s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),cfun__02(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),c_27type_2eoption_2eoption_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)))),chapp__02(s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),cfun__02(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),c_27type_2eoption_2eoption_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27))))),V__5),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27w1_27))),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27w2_27)))
                 => ! [V__3] :
                      ( ! [V_27w1_27,V_27v7_27] : s__02(c_27type_2eoption_2eoption_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),chapp__02(s__02(cfun__02(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),c_27type_2eoption_2eoption_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27))),chapp__02(s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),cfun__02(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),c_27type_2eoption_2eoption_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)))),V__3),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27w1_27))),s__02(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),V_27v7_27))) = s__02(c_27type_2eoption_2eoption_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),c_27const_2elist_2elist__CASE_27__03(s__02(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),V_27v7_27),s__02(c_27type_2eoption_2eoption_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),c_27const_2eoption_2eNONE_27__00),s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),cfun__02(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),c_27type_2eoption_2eoption_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)))),chapp__02(s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),cfun__02(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),c_27type_2eoption_2eoption_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27))))),V__4),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27w1_27)))))
                     => ! [V__2] :
                          ( ! [V_27w1_27] : s__02(cfun__02(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),c_27type_2eoption_2eoption_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27))),chapp__02(s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),cfun__02(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),c_27type_2eoption_2eoption_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)))),V__2),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27w1_27))) = s__02(cfun__02(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),c_27type_2eoption_2eoption_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27))),chapp__02(s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),cfun__02(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),c_27type_2eoption_2eoption_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)))),V__3),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27w1_27)))
                         => ! [V__1] :
                              ( ! [V_27v2_27,V_27ws0_27] : s__02(c_27type_2eoption_2eoption_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),chapp__02(s__02(cfun__02(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),c_27type_2eoption_2eoption_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27))),chapp__02(s__02(cfun__02(c_27type_2easm_2ebinop_27__00,cfun__02(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),c_27type_2eoption_2eoption_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)))),V__1),s__02(c_27type_2easm_2ebinop_27__00,V_27v2_27))),s__02(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),V_27ws0_27))) = s__02(c_27type_2eoption_2eoption_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),c_27const_2easm_2ebinop__CASE_27__06(s__02(c_27type_2easm_2ebinop_27__00,V_27v2_27),s__02(c_27type_2eoption_2eoption_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),c_27const_2eoption_2eSOME_27__01(s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27const_2elist_2eFOLDR_27__03(s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27))),c_27const_2ewords_2eword__add_27__00),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27const_2ewords_2en2w_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2enum_2e0_27__00))),s__02(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),V_27ws0_27))))),s__02(c_27type_2eoption_2eoption_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),c_27const_2elist_2elist__CASE_27__03(s__02(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),V_27ws0_27),s__02(c_27type_2eoption_2eoption_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),c_27const_2eoption_2eNONE_27__00),s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),cfun__02(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),c_27type_2eoption_2eoption_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)))),V__2))),s__02(c_27type_2eoption_2eoption_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),c_27const_2eoption_2eSOME_27__01(s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27const_2elist_2eFOLDR_27__03(s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27))),c_27const_2ewords_2eword__and_27__00),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27const_2ewords_2eword__1comp_27__01(s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27const_2ewords_2en2w_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2enum_2e0_27__00))))),s__02(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),V_27ws0_27))))),s__02(c_27type_2eoption_2eoption_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),c_27const_2eoption_2eSOME_27__01(s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27const_2elist_2eFOLDR_27__03(s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27))),c_27const_2ewords_2eword__or_27__00),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27const_2ewords_2en2w_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2enum_2e0_27__00))),s__02(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),V_27ws0_27))))),s__02(c_27type_2eoption_2eoption_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),c_27const_2eoption_2eSOME_27__01(s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27const_2elist_2eFOLDR_27__03(s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27))),c_27const_2ewords_2eword__xor_27__00),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27const_2ewords_2en2w_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2enum_2e0_27__00))),s__02(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),V_27ws0_27)))))))
                             => ! [V__0] :
                                  ( ! [V_27v2_27] : s__02(cfun__02(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),c_27type_2eoption_2eoption_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27))),chapp__02(s__02(cfun__02(c_27type_2easm_2ebinop_27__00,cfun__02(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),c_27type_2eoption_2eoption_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)))),V__0),s__02(c_27type_2easm_2ebinop_27__00,V_27v2_27))) = s__02(cfun__02(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),c_27type_2eoption_2eoption_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27))),chapp__02(s__02(cfun__02(c_27type_2easm_2ebinop_27__00,cfun__02(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),c_27type_2eoption_2eoption_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)))),V__1),s__02(c_27type_2easm_2ebinop_27__00,V_27v2_27)))
                                 => ! [V_27op_27,V_27ws_27] : s__02(c_27type_2eoption_2eoption_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),c_27const_2ewordLang_2eword__op_27__02(s__02(c_27type_2easm_2ebinop_27__00,V_27op_27),s__02(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),V_27ws_27))) = s__02(c_27type_2eoption_2eoption_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),c_27const_2epair_2epair__CASE_27__02(s__02(c_27type_2epair_2eprod_27__02(c_27type_2easm_2ebinop_27__00,c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27))),c_27const_2epair_2e_2c_27__02(s__02(c_27type_2easm_2ebinop_27__00,V_27op_27),s__02(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),V_27ws_27))),s__02(cfun__02(c_27type_2easm_2ebinop_27__00,cfun__02(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),c_27type_2eoption_2eoption_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)))),V__0))) ) ) ) ) ) ) ) ) ).

fof('thm.wordLang.word_sh_def',axiom,
    ! [V_27A_27,V_27sh_27,V_27w_27,V_27n_27] :
    ? [Vv] :
      ( ( p__01(s__02(cbool__00,Vv))
      <=> ( s__02(c_27type_2enum_2enum_27__00,V_27n_27) != s__02(c_27type_2enum_2enum_27__00,c_27const_2enum_2e0_27__00)
          & p__01(s__02(cbool__00,c_27const_2earithmetic_2e_3e_3d_27__02(s__02(c_27type_2enum_2enum_27__00,V_27n_27),s__02(c_27type_2enum_2enum_27__00,c_27const_2efcp_2edimindex_27__01(s__02(c_27type_2ebool_2eitself_27__01(V_27A_27),c_27const_2ebool_2ethe__value_27__00)))))) ) )
      & s__02(c_27type_2eoption_2eoption_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),c_27const_2ewordLang_2eword__sh_27__03(s__02(c_27type_2east_2eshift_27__00,V_27sh_27),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27w_27),s__02(c_27type_2enum_2enum_27__00,V_27n_27))) = s__02(c_27type_2eoption_2eoption_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),c_27const_2ebool_2eCOND_27__03(s__02(cbool__00,Vv),s__02(c_27type_2eoption_2eoption_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),c_27const_2eoption_2eNONE_27__00),s__02(c_27type_2eoption_2eoption_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),c_27const_2east_2eshift__CASE_27__05(s__02(c_27type_2east_2eshift_27__00,V_27sh_27),s__02(c_27type_2eoption_2eoption_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),c_27const_2eoption_2eSOME_27__01(s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27const_2ewords_2eword__lsl_27__02(s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27w_27),s__02(c_27type_2enum_2enum_27__00,V_27n_27))))),s__02(c_27type_2eoption_2eoption_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),c_27const_2eoption_2eSOME_27__01(s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27const_2ewords_2eword__lsr_27__02(s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27w_27),s__02(c_27type_2enum_2enum_27__00,V_27n_27))))),s__02(c_27type_2eoption_2eoption_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),c_27const_2eoption_2eSOME_27__01(s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27const_2ewords_2eword__asr_27__02(s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27w_27),s__02(c_27type_2enum_2enum_27__00,V_27n_27))))),s__02(c_27type_2eoption_2eoption_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),c_27const_2eoption_2eSOME_27__01(s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27const_2ewords_2eword__ror_27__02(s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27w_27),s__02(c_27type_2enum_2enum_27__00,V_27n_27))))))))) ) ).

fof('thm.wordSem.word_loc_case_def',axiom,
    ! [V_27A_27,V_27B_27] :
      ( ! [V_27a_27,V_27f_27,V_27f1_27] : s__02(V_27B_27,c_27const_2ewordSem_2eword__loc__CASE_27__03(s__02(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27),chapp__02(s__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_27const_2ewordSem_2eWord_27__00),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27a_27))),s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27B_27),V_27f_27),s__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,V_27B_27)),V_27f1_27))) = s__02(V_27B_27,chapp__02(s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27B_27),V_27f_27),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27a_27)))
      & ! [V_27a0_27,V_27a1_27,V_27f_27,V_27f1_27] : s__02(V_27B_27,c_27const_2ewordSem_2eword__loc__CASE_27__03(s__02(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27),c_27const_2ewordSem_2eLoc_27__02(s__02(c_27type_2enum_2enum_27__00,V_27a0_27),s__02(c_27type_2enum_2enum_27__00,V_27a1_27))),s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27B_27),V_27f_27),s__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,V_27B_27)),V_27f1_27))) = s__02(V_27B_27,chapp__02(s__02(cfun__02(c_27type_2enum_2enum_27__00,V_27B_27),chapp__02(s__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,V_27B_27)),V_27f1_27),s__02(c_27type_2enum_2enum_27__00,V_27a0_27))),s__02(c_27type_2enum_2enum_27__00,V_27a1_27))) ) ).

fof('thm.wordSem.word_loc_11',axiom,
    ! [V_27A_27] :
      ( ! [V_27a_27,V_27a_7c39_7c_27] :
          ( s__02(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27),chapp__02(s__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_27const_2ewordSem_2eWord_27__00),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27a_27))) = s__02(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27),chapp__02(s__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_27const_2ewordSem_2eWord_27__00),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27a_7c39_7c_27)))
        <=> s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27a_27) = s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27a_7c39_7c_27) )
      & ! [V_27a0_27,V_27a1_27,V_27a0_7c39_7c_27,V_27a1_7c39_7c_27] :
          ( s__02(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27),c_27const_2ewordSem_2eLoc_27__02(s__02(c_27type_2enum_2enum_27__00,V_27a0_27),s__02(c_27type_2enum_2enum_27__00,V_27a1_27))) = s__02(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27),c_27const_2ewordSem_2eLoc_27__02(s__02(c_27type_2enum_2enum_27__00,V_27a0_7c39_7c_27),s__02(c_27type_2enum_2enum_27__00,V_27a1_7c39_7c_27)))
        <=> ( s__02(c_27type_2enum_2enum_27__00,V_27a0_27) = s__02(c_27type_2enum_2enum_27__00,V_27a0_7c39_7c_27)
            & s__02(c_27type_2enum_2enum_27__00,V_27a1_27) = s__02(c_27type_2enum_2enum_27__00,V_27a1_7c39_7c_27) ) ) ) ).

fof('thm.wordSem.state_fupdfupds',axiom,
    ! [V_27FFI1_27,V_27FFI0_27,V_27A_27,V_27FFI_27] :
      ( ! [V_27s_27,V_27g_27,V_27f_27] : s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),c_27const_2ewordSem_2estate__locals__fupd_27__02(s__02(cfun__02(c_27type_2esptree_2espt_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),c_27type_2esptree_2espt_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),V_27f_27),s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),c_27const_2ewordSem_2estate__locals__fupd_27__02(s__02(cfun__02(c_27type_2esptree_2espt_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),c_27type_2esptree_2espt_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),V_27g_27),s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),V_27s_27))))) = s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),c_27const_2ewordSem_2estate__locals__fupd_27__02(s__02(cfun__02(c_27type_2esptree_2espt_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),c_27type_2esptree_2espt_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),c_27const_2ecombin_2eo_27__02(s__02(cfun__02(c_27type_2esptree_2espt_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),c_27type_2esptree_2espt_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),V_27f_27),s__02(cfun__02(c_27type_2esptree_2espt_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),c_27type_2esptree_2espt_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),V_27g_27))),s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),V_27s_27)))
      & ! [V_27s_27,V_27g_27,V_27f_27] : s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),c_27const_2ewordSem_2estate__fp__regs__fupd_27__02(s__02(cfun__02(c_27type_2efinite__map_2efmap_27__02(c_27type_2enum_2enum_27__00,c_27type_2efcp_2ecart_27__02(cbool__00,c_27type_2efcp_2ebit0_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2eone_2eone_27__00)))))))),c_27type_2efinite__map_2efmap_27__02(c_27type_2enum_2enum_27__00,c_27type_2efcp_2ecart_27__02(cbool__00,c_27type_2efcp_2ebit0_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2eone_2eone_27__00))))))))),V_27f_27),s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),c_27const_2ewordSem_2estate__fp__regs__fupd_27__02(s__02(cfun__02(c_27type_2efinite__map_2efmap_27__02(c_27type_2enum_2enum_27__00,c_27type_2efcp_2ecart_27__02(cbool__00,c_27type_2efcp_2ebit0_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2eone_2eone_27__00)))))))),c_27type_2efinite__map_2efmap_27__02(c_27type_2enum_2enum_27__00,c_27type_2efcp_2ecart_27__02(cbool__00,c_27type_2efcp_2ebit0_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2eone_2eone_27__00))))))))),V_27g_27),s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),V_27s_27))))) = s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),c_27const_2ewordSem_2estate__fp__regs__fupd_27__02(s__02(cfun__02(c_27type_2efinite__map_2efmap_27__02(c_27type_2enum_2enum_27__00,c_27type_2efcp_2ecart_27__02(cbool__00,c_27type_2efcp_2ebit0_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2eone_2eone_27__00)))))))),c_27type_2efinite__map_2efmap_27__02(c_27type_2enum_2enum_27__00,c_27type_2efcp_2ecart_27__02(cbool__00,c_27type_2efcp_2ebit0_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2eone_2eone_27__00))))))))),c_27const_2ecombin_2eo_27__02(s__02(cfun__02(c_27type_2efinite__map_2efmap_27__02(c_27type_2enum_2enum_27__00,c_27type_2efcp_2ecart_27__02(cbool__00,c_27type_2efcp_2ebit0_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2eone_2eone_27__00)))))))),c_27type_2efinite__map_2efmap_27__02(c_27type_2enum_2enum_27__00,c_27type_2efcp_2ecart_27__02(cbool__00,c_27type_2efcp_2ebit0_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2eone_2eone_27__00))))))))),V_27f_27),s__02(cfun__02(c_27type_2efinite__map_2efmap_27__02(c_27type_2enum_2enum_27__00,c_27type_2efcp_2ecart_27__02(cbool__00,c_27type_2efcp_2ebit0_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2eone_2eone_27__00)))))))),c_27type_2efinite__map_2efmap_27__02(c_27type_2enum_2enum_27__00,c_27type_2efcp_2ecart_27__02(cbool__00,c_27type_2efcp_2ebit0_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2eone_2eone_27__00))))))))),V_27g_27))),s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),V_27s_27)))
      & ! [V_27s_27,V_27g_27,V_27f_27] : s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),c_27const_2ewordSem_2estate__store__fupd_27__02(s__02(cfun__02(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_2efinite__map_2efmap_27__02(c_27type_2estackLang_2estore__name_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),V_27f_27),s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),c_27const_2ewordSem_2estate__store__fupd_27__02(s__02(cfun__02(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_2efinite__map_2efmap_27__02(c_27type_2estackLang_2estore__name_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),V_27g_27),s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),V_27s_27))))) = s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),c_27const_2ewordSem_2estate__store__fupd_27__02(s__02(cfun__02(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_2efinite__map_2efmap_27__02(c_27type_2estackLang_2estore__name_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),c_27const_2ecombin_2eo_27__02(s__02(cfun__02(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_2efinite__map_2efmap_27__02(c_27type_2estackLang_2estore__name_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),V_27f_27),s__02(cfun__02(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_2efinite__map_2efmap_27__02(c_27type_2estackLang_2estore__name_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),V_27g_27))),s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),V_27s_27)))
      & ! [V_27s_27,V_27g_27,V_27f_27] : s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_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_27A_27)),c_27type_2elist_2elist_27__01(c_27type_2ewordSem_2estack__frame_27__01(V_27A_27))),V_27f_27),s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_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_27A_27)),c_27type_2elist_2elist_27__01(c_27type_2ewordSem_2estack__frame_27__01(V_27A_27))),V_27g_27),s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),V_27s_27))))) = s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_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_27A_27)),c_27type_2elist_2elist_27__01(c_27type_2ewordSem_2estack__frame_27__01(V_27A_27))),c_27const_2ecombin_2eo_27__02(s__02(cfun__02(c_27type_2elist_2elist_27__01(c_27type_2ewordSem_2estack__frame_27__01(V_27A_27)),c_27type_2elist_2elist_27__01(c_27type_2ewordSem_2estack__frame_27__01(V_27A_27))),V_27f_27),s__02(cfun__02(c_27type_2elist_2elist_27__01(c_27type_2ewordSem_2estack__frame_27__01(V_27A_27)),c_27type_2elist_2elist_27__01(c_27type_2ewordSem_2estack__frame_27__01(V_27A_27))),V_27g_27))),s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),V_27s_27)))
      & ! [V_27s_27,V_27g_27,V_27f_27] : s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),c_27const_2ewordSem_2estate__memory__fupd_27__02(s__02(cfun__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),V_27f_27),s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),c_27const_2ewordSem_2estate__memory__fupd_27__02(s__02(cfun__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),V_27g_27),s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),V_27s_27))))) = s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),c_27const_2ewordSem_2estate__memory__fupd_27__02(s__02(cfun__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),c_27const_2ecombin_2eo_27__02(s__02(cfun__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),V_27f_27),s__02(cfun__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),V_27g_27))),s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),V_27s_27)))
      & ! [V_27s_27,V_27g_27,V_27f_27] : s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),c_27const_2ewordSem_2estate__mdomain__fupd_27__02(s__02(cfun__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),cbool__00),cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),cbool__00)),V_27f_27),s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),c_27const_2ewordSem_2estate__mdomain__fupd_27__02(s__02(cfun__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),cbool__00),cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),cbool__00)),V_27g_27),s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),V_27s_27))))) = s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),c_27const_2ewordSem_2estate__mdomain__fupd_27__02(s__02(cfun__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),cbool__00),cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),cbool__00)),c_27const_2ecombin_2eo_27__02(s__02(cfun__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),cbool__00),cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),cbool__00)),V_27f_27),s__02(cfun__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),cbool__00),cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),cbool__00)),V_27g_27))),s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),V_27s_27)))
      & ! [V_27s_27,V_27g_27,V_27f_27] : s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_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))),V_27f_27),s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_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))),V_27g_27),s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),V_27s_27))))) = s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_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_2eo_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))),V_27f_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)),cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00))),V_27g_27))),s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),V_27s_27)))
      & ! [V_27s_27,V_27g_27,V_27f_27] : s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),c_27const_2ewordSem_2estate__gc__fun__fupd_27__02(s__02(cfun__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)))))),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))))))),V_27f_27),s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),c_27const_2ewordSem_2estate__gc__fun__fupd_27__02(s__02(cfun__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)))))),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))))))),V_27g_27),s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),V_27s_27))))) = s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),c_27const_2ewordSem_2estate__gc__fun__fupd_27__02(s__02(cfun__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)))))),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_2ecombin_2eo_27__02(s__02(cfun__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)))))),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))))))),V_27f_27),s__02(cfun__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)))))),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))))))),V_27g_27))),s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),V_27s_27)))
      & ! [V_27s_27,V_27g_27,V_27f_27] : s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_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),V_27f_27),s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_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),V_27g_27),s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),V_27s_27))))) = s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_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_2eo_27__02(s__02(cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00),V_27f_27),s__02(cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00),V_27g_27))),s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),V_27s_27)))
      & ! [V_27s_27,V_27g_27,V_27f_27] : s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),c_27const_2ewordSem_2estate__clock__fupd_27__02(s__02(cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00),V_27f_27),s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),c_27const_2ewordSem_2estate__clock__fupd_27__02(s__02(cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00),V_27g_27),s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),V_27s_27))))) = s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),c_27const_2ewordSem_2estate__clock__fupd_27__02(s__02(cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00),c_27const_2ecombin_2eo_27__02(s__02(cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00),V_27f_27),s__02(cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00),V_27g_27))),s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),V_27s_27)))
      & ! [V_27s_27,V_27g_27,V_27f_27] : s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),c_27const_2ewordSem_2estate__termdep__fupd_27__02(s__02(cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00),V_27f_27),s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),c_27const_2ewordSem_2estate__termdep__fupd_27__02(s__02(cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00),V_27g_27),s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),V_27s_27))))) = s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),c_27const_2ewordSem_2estate__termdep__fupd_27__02(s__02(cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00),c_27const_2ecombin_2eo_27__02(s__02(cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00),V_27f_27),s__02(cfun__02(c_27type_2enum_2enum_27__00,c_27type_2enum_2enum_27__00),V_27g_27))),s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),V_27s_27)))
      & ! [V_27s_27,V_27g_27,V_27f_27] : s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),c_27const_2ewordSem_2estate__code__fupd_27__02(s__02(cfun__02(c_27type_2esptree_2espt_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ewordLang_2eprog_27__01(V_27A_27))),c_27type_2esptree_2espt_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ewordLang_2eprog_27__01(V_27A_27)))),V_27f_27),s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),c_27const_2ewordSem_2estate__code__fupd_27__02(s__02(cfun__02(c_27type_2esptree_2espt_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ewordLang_2eprog_27__01(V_27A_27))),c_27type_2esptree_2espt_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ewordLang_2eprog_27__01(V_27A_27)))),V_27g_27),s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),V_27s_27))))) = s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),c_27const_2ewordSem_2estate__code__fupd_27__02(s__02(cfun__02(c_27type_2esptree_2espt_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ewordLang_2eprog_27__01(V_27A_27))),c_27type_2esptree_2espt_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ewordLang_2eprog_27__01(V_27A_27)))),c_27const_2ecombin_2eo_27__02(s__02(cfun__02(c_27type_2esptree_2espt_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ewordLang_2eprog_27__01(V_27A_27))),c_27type_2esptree_2espt_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ewordLang_2eprog_27__01(V_27A_27)))),V_27f_27),s__02(cfun__02(c_27type_2esptree_2espt_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ewordLang_2eprog_27__01(V_27A_27))),c_27type_2esptree_2espt_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ewordLang_2eprog_27__01(V_27A_27)))),V_27g_27))),s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),V_27s_27)))
      & ! [V_27s_27,V_27g_27,V_27f_27] : s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),c_27const_2ewordSem_2estate__be__fupd_27__02(s__02(cfun__02(cbool__00,cbool__00),V_27f_27),s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),c_27const_2ewordSem_2estate__be__fupd_27__02(s__02(cfun__02(cbool__00,cbool__00),V_27g_27),s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),V_27s_27))))) = s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),c_27const_2ewordSem_2estate__be__fupd_27__02(s__02(cfun__02(cbool__00,cbool__00),c_27const_2ecombin_2eo_27__02(s__02(cfun__02(cbool__00,cbool__00),V_27f_27),s__02(cfun__02(cbool__00,cbool__00),V_27g_27))),s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),V_27s_27)))
      & ! [V_27s_27,V_27g_27,V_27f_27] : s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI1_27),c_27const_2ewordSem_2estate__ffi__fupd_27__02(s__02(cfun__02(c_27type_2effi_2effi__state_27__01(V_27FFI0_27),c_27type_2effi_2effi__state_27__01(V_27FFI1_27)),V_27f_27),s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI0_27),c_27const_2ewordSem_2estate__ffi__fupd_27__02(s__02(cfun__02(c_27type_2effi_2effi__state_27__01(V_27FFI_27),c_27type_2effi_2effi__state_27__01(V_27FFI0_27)),V_27g_27),s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),V_27s_27))))) = s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI1_27),c_27const_2ewordSem_2estate__ffi__fupd_27__02(s__02(cfun__02(c_27type_2effi_2effi__state_27__01(V_27FFI_27),c_27type_2effi_2effi__state_27__01(V_27FFI1_27)),c_27const_2ecombin_2eo_27__02(s__02(cfun__02(c_27type_2effi_2effi__state_27__01(V_27FFI0_27),c_27type_2effi_2effi__state_27__01(V_27FFI1_27)),V_27f_27),s__02(cfun__02(c_27type_2effi_2effi__state_27__01(V_27FFI_27),c_27type_2effi_2effi__state_27__01(V_27FFI0_27)),V_27g_27))),s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),V_27s_27))) ) ).

fof('thm.wordSem.state_component_equality',axiom,
    ! [V_27A_27,V_27FFI_27,V_27s1_27,V_27s2_27] :
      ( s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),V_27s1_27) = s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),V_27s2_27)
    <=> ( s__02(c_27type_2esptree_2espt_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),c_27const_2ewordSem_2estate__locals_27__01(s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),V_27s1_27))) = s__02(c_27type_2esptree_2espt_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),c_27const_2ewordSem_2estate__locals_27__01(s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),V_27s2_27)))
        & s__02(c_27type_2efinite__map_2efmap_27__02(c_27type_2enum_2enum_27__00,c_27type_2efcp_2ecart_27__02(cbool__00,c_27type_2efcp_2ebit0_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2eone_2eone_27__00)))))))),c_27const_2ewordSem_2estate__fp__regs_27__01(s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),V_27s1_27))) = s__02(c_27type_2efinite__map_2efmap_27__02(c_27type_2enum_2enum_27__00,c_27type_2efcp_2ecart_27__02(cbool__00,c_27type_2efcp_2ebit0_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2eone_2eone_27__00)))))))),c_27const_2ewordSem_2estate__fp__regs_27__01(s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),V_27s2_27)))
        & s__02(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__store_27__01(s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),V_27s1_27))) = s__02(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__store_27__01(s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),V_27s2_27)))
        & s__02(c_27type_2elist_2elist_27__01(c_27type_2ewordSem_2estack__frame_27__01(V_27A_27)),c_27const_2ewordSem_2estate__stack_27__01(s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),V_27s1_27))) = s__02(c_27type_2elist_2elist_27__01(c_27type_2ewordSem_2estack__frame_27__01(V_27A_27)),c_27const_2ewordSem_2estate__stack_27__01(s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),V_27s2_27)))
        & s__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_27const_2ewordSem_2estate__memory_27__01(s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),V_27s1_27))) = s__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_27const_2ewordSem_2estate__memory_27__01(s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),V_27s2_27)))
        & s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),cbool__00),c_27const_2ewordSem_2estate__mdomain_27__01(s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),V_27s1_27))) = s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),cbool__00),c_27const_2ewordSem_2estate__mdomain_27__01(s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),V_27s2_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_27A_27,V_27FFI_27),V_27s1_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_27A_27,V_27FFI_27),V_27s2_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_27FFI_27),V_27s1_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_27FFI_27),V_27s2_27)))
        & s__02(c_27type_2enum_2enum_27__00,c_27const_2ewordSem_2estate__handler_27__01(s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),V_27s1_27))) = s__02(c_27type_2enum_2enum_27__00,c_27const_2ewordSem_2estate__handler_27__01(s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),V_27s2_27)))
        & s__02(c_27type_2enum_2enum_27__00,c_27const_2ewordSem_2estate__clock_27__01(s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),V_27s1_27))) = s__02(c_27type_2enum_2enum_27__00,c_27const_2ewordSem_2estate__clock_27__01(s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),V_27s2_27)))
        & s__02(c_27type_2enum_2enum_27__00,c_27const_2ewordSem_2estate__termdep_27__01(s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),V_27s1_27))) = s__02(c_27type_2enum_2enum_27__00,c_27const_2ewordSem_2estate__termdep_27__01(s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),V_27s2_27)))
        & s__02(c_27type_2esptree_2espt_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ewordLang_2eprog_27__01(V_27A_27))),c_27const_2ewordSem_2estate__code_27__01(s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),V_27s1_27))) = s__02(c_27type_2esptree_2espt_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,c_27type_2ewordLang_2eprog_27__01(V_27A_27))),c_27const_2ewordSem_2estate__code_27__01(s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),V_27s2_27)))
        & s__02(cbool__00,c_27const_2ewordSem_2estate__be_27__01(s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),V_27s1_27))) = s__02(cbool__00,c_27const_2ewordSem_2estate__be_27__01(s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),V_27s2_27)))
        & s__02(c_27type_2effi_2effi__state_27__01(V_27FFI_27),c_27const_2ewordSem_2estate__ffi_27__01(s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),V_27s1_27))) = s__02(c_27type_2effi_2effi__state_27__01(V_27FFI_27),c_27const_2ewordSem_2estate__ffi_27__01(s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),V_27s2_27))) ) ) ).

fof('thm.wordSem.mem_store_def',axiom,
    ! [V_27A_27,V_27FFI_27,V_27addr_27,V_27w_27,V_27s_27] : s__02(c_27type_2eoption_2eoption_27__01(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27)),c_27const_2ewordSem_2emem__store_27__03(s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27addr_27),s__02(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27),V_27w_27),s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),V_27s_27))) = s__02(c_27type_2eoption_2eoption_27__01(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27)),c_27const_2ebool_2eCOND_27__03(s__02(cbool__00,c_27const_2ebool_2eIN_27__02(s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27addr_27),s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),cbool__00),c_27const_2ewordSem_2estate__mdomain_27__01(s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),V_27s_27))))),s__02(c_27type_2eoption_2eoption_27__01(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27)),c_27const_2eoption_2eSOME_27__01(s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),c_27const_2ewordSem_2estate__memory__fupd_27__02(s__02(cfun__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),c_27const_2ecombin_2eK_27__01(s__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_27const_2ecombin_2eUPDATE_27__03(s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27addr_27),s__02(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27),V_27w_27),s__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_27const_2ewordSem_2estate__memory_27__01(s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),V_27s_27))))))),s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),V_27s_27))))),s__02(c_27type_2eoption_2eoption_27__01(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27)),c_27const_2eoption_2eNONE_27__00))) ).

fof('thm.wordSem.the_words_def',axiom,
    ! [V_27A_27,V__6] :
      ( ! [V_27v11_27] : s__02(c_27type_2eoption_2eoption_27__01(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27))),chapp__02(s__02(cfun__02(c_27type_2enum_2enum_27__00,c_27type_2eoption_2eoption_27__01(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)))),V__6),s__02(c_27type_2enum_2enum_27__00,V_27v11_27))) = s__02(c_27type_2eoption_2eoption_27__01(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27))),c_27const_2eoption_2eNONE_27__00)
     => ! [V__5] :
          ( ! [V_27v10_27] : s__02(cfun__02(c_27type_2enum_2enum_27__00,c_27type_2eoption_2eoption_27__01(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)))),chapp__02(s__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2eoption_2eoption_27__01(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27))))),V__5),s__02(c_27type_2enum_2enum_27__00,V_27v10_27))) = s__02(cfun__02(c_27type_2enum_2enum_27__00,c_27type_2eoption_2eoption_27__01(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)))),V__6)
         => ! [V__4] :
              ( ! [V_27x_27,V_27xs_27] : s__02(c_27type_2eoption_2eoption_27__01(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27))),chapp__02(s__02(cfun__02(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),c_27type_2eoption_2eoption_27__01(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)))),chapp__02(s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),cfun__02(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),c_27type_2eoption_2eoption_27__01(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27))))),V__4),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27x_27))),s__02(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),V_27xs_27))) = s__02(c_27type_2eoption_2eoption_27__01(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27))),c_27const_2eoption_2eSOME_27__01(s__02(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),c_27const_2elist_2eCONS_27__02(s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27x_27),s__02(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),V_27xs_27)))))
             => ! [V__3] :
                  ( ! [V_27v3_27,V_27x_27] : s__02(c_27type_2eoption_2eoption_27__01(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27))),chapp__02(s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2eoption_2eoption_27__01(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)))),chapp__02(s__02(cfun__02(c_27type_2eoption_2eoption_27__01(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27))),cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2eoption_2eoption_27__01(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27))))),V__3),s__02(c_27type_2eoption_2eoption_27__01(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27))),V_27v3_27))),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27x_27))) = s__02(c_27type_2eoption_2eoption_27__01(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27))),c_27const_2eoption_2eoption__CASE_27__03(s__02(c_27type_2eoption_2eoption_27__01(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27))),V_27v3_27),s__02(c_27type_2eoption_2eoption_27__01(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27))),c_27const_2eoption_2eNONE_27__00),s__02(cfun__02(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),c_27type_2eoption_2eoption_27__01(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)))),chapp__02(s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),cfun__02(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),c_27type_2eoption_2eoption_27__01(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27))))),V__4),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27x_27)))))
                 => ! [V__2] :
                      ( ! [V_27v3_27,V_27v5_27] : s__02(c_27type_2eoption_2eoption_27__01(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27))),chapp__02(s__02(cfun__02(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27),c_27type_2eoption_2eoption_27__01(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)))),chapp__02(s__02(cfun__02(c_27type_2eoption_2eoption_27__01(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27))),cfun__02(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27),c_27type_2eoption_2eoption_27__01(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27))))),V__2),s__02(c_27type_2eoption_2eoption_27__01(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27))),V_27v3_27))),s__02(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27),V_27v5_27))) = s__02(c_27type_2eoption_2eoption_27__01(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27))),c_27const_2ewordSem_2eword__loc__CASE_27__03(s__02(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27),V_27v5_27),s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2eoption_2eoption_27__01(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)))),chapp__02(s__02(cfun__02(c_27type_2eoption_2eoption_27__01(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27))),cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2eoption_2eoption_27__01(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27))))),V__3),s__02(c_27type_2eoption_2eoption_27__01(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27))),V_27v3_27))),s__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2eoption_2eoption_27__01(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27))))),V__5)))
                     => ! [V__1] :
                          ( ! [V_27v2_27,V_27v3_27] : s__02(c_27type_2eoption_2eoption_27__01(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27))),chapp__02(s__02(cfun__02(c_27type_2eoption_2eoption_27__01(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27))),c_27type_2eoption_2eoption_27__01(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)))),chapp__02(s__02(cfun__02(c_27type_2eoption_2eoption_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),cfun__02(c_27type_2eoption_2eoption_27__01(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27))),c_27type_2eoption_2eoption_27__01(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27))))),V__1),s__02(c_27type_2eoption_2eoption_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),V_27v2_27))),s__02(c_27type_2eoption_2eoption_27__01(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27))),V_27v3_27))) = s__02(c_27type_2eoption_2eoption_27__01(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27))),c_27const_2eoption_2eoption__CASE_27__03(s__02(c_27type_2eoption_2eoption_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),V_27v2_27),s__02(c_27type_2eoption_2eoption_27__01(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27))),c_27const_2eoption_2eNONE_27__00),s__02(cfun__02(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27),c_27type_2eoption_2eoption_27__01(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)))),chapp__02(s__02(cfun__02(c_27type_2eoption_2eoption_27__01(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27))),cfun__02(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27),c_27type_2eoption_2eoption_27__01(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27))))),V__2),s__02(c_27type_2eoption_2eoption_27__01(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27))),V_27v3_27)))))
                         => ! [V__0] :
                              ( ! [V_27v2_27] : s__02(cfun__02(c_27type_2eoption_2eoption_27__01(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27))),c_27type_2eoption_2eoption_27__01(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)))),chapp__02(s__02(cfun__02(c_27type_2eoption_2eoption_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),cfun__02(c_27type_2eoption_2eoption_27__01(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27))),c_27type_2eoption_2eoption_27__01(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27))))),V__0),s__02(c_27type_2eoption_2eoption_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),V_27v2_27))) = s__02(cfun__02(c_27type_2eoption_2eoption_27__01(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27))),c_27type_2eoption_2eoption_27__01(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)))),chapp__02(s__02(cfun__02(c_27type_2eoption_2eoption_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),cfun__02(c_27type_2eoption_2eoption_27__01(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27))),c_27type_2eoption_2eoption_27__01(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27))))),V__1),s__02(c_27type_2eoption_2eoption_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),V_27v2_27)))
                             => ( s__02(c_27type_2eoption_2eoption_27__01(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27))),c_27const_2ewordSem_2ethe__words_27__01(s__02(c_27type_2elist_2elist_27__01(c_27type_2eoption_2eoption_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),c_27const_2elist_2eNIL_27__00))) = s__02(c_27type_2eoption_2eoption_27__01(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27))),c_27const_2eoption_2eSOME_27__01(s__02(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),c_27const_2elist_2eNIL_27__00)))
                                & ! [V_27w_27,V_27ws_27] : s__02(c_27type_2eoption_2eoption_27__01(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27))),c_27const_2ewordSem_2ethe__words_27__01(s__02(c_27type_2elist_2elist_27__01(c_27type_2eoption_2eoption_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),c_27const_2elist_2eCONS_27__02(s__02(c_27type_2eoption_2eoption_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),V_27w_27),s__02(c_27type_2elist_2elist_27__01(c_27type_2eoption_2eoption_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),V_27ws_27))))) = s__02(c_27type_2eoption_2eoption_27__01(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27))),c_27const_2epair_2epair__CASE_27__02(s__02(c_27type_2epair_2eprod_27__02(c_27type_2eoption_2eoption_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),c_27type_2eoption_2eoption_27__01(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)))),c_27const_2epair_2e_2c_27__02(s__02(c_27type_2eoption_2eoption_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),V_27w_27),s__02(c_27type_2eoption_2eoption_27__01(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27))),c_27const_2ewordSem_2ethe__words_27__01(s__02(c_27type_2elist_2elist_27__01(c_27type_2eoption_2eoption_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),V_27ws_27))))),s__02(cfun__02(c_27type_2eoption_2eoption_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),cfun__02(c_27type_2eoption_2eoption_27__01(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27))),c_27type_2eoption_2eoption_27__01(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27))))),V__0))) ) ) ) ) ) ) ) ) ).

fof('thm.wordSem.word_exp_def',axiom,
    ! [V_27B_27,V_27A_27,V__7] :
      ( ! [V_27sh_27,V_27nexp_27,V_27w_27] : s__02(c_27type_2eoption_2eoption_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),chapp__02(s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2eoption_2eoption_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),chapp__02(s__02(cfun__02(c_27type_2ewordLang_2enum__exp_27__01(V_27A_27),cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2eoption_2eoption_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)))),chapp__02(s__02(cfun__02(c_27type_2east_2eshift_27__00,cfun__02(c_27type_2ewordLang_2enum__exp_27__01(V_27A_27),cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2eoption_2eoption_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))))),V__7),s__02(c_27type_2east_2eshift_27__00,V_27sh_27))),s__02(c_27type_2ewordLang_2enum__exp_27__01(V_27A_27),V_27nexp_27))),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27w_27))) = s__02(c_27type_2eoption_2eoption_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),c_27const_2eoption_2eOPTION__MAP_27__02(s__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_27const_2ewordSem_2eWord_27__00),s__02(c_27type_2eoption_2eoption_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),c_27const_2ewordLang_2eword__sh_27__03(s__02(c_27type_2east_2eshift_27__00,V_27sh_27),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27w_27),s__02(c_27type_2enum_2enum_27__00,c_27const_2ewordLang_2enum__exp_27__01(s__02(c_27type_2ewordLang_2enum__exp_27__01(V_27A_27),V_27nexp_27)))))))
     => ! [V__6] :
          ( ! [V_27sh_27,V_27nexp_27,V__2,V_27v1_27] : s__02(c_27type_2eoption_2eoption_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),chapp__02(s__02(cfun__02(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27),c_27type_2eoption_2eoption_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_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_2eoption_2eoption_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)))),cfun__02(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27),c_27type_2eoption_2eoption_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)))),chapp__02(s__02(cfun__02(c_27type_2ewordLang_2enum__exp_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_2eoption_2eoption_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)))),cfun__02(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27),c_27type_2eoption_2eoption_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))))),chapp__02(s__02(cfun__02(c_27type_2east_2eshift_27__00,cfun__02(c_27type_2ewordLang_2enum__exp_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_2eoption_2eoption_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)))),cfun__02(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27),c_27type_2eoption_2eoption_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)))))),V__6),s__02(c_27type_2east_2eshift_27__00,V_27sh_27))),s__02(c_27type_2ewordLang_2enum__exp_27__01(V_27A_27),V_27nexp_27))),s__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2eoption_2eoption_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)))),V__2))),s__02(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27),V_27v1_27))) = s__02(c_27type_2eoption_2eoption_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),c_27const_2ewordSem_2eword__loc__CASE_27__03(s__02(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27),V_27v1_27),s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2eoption_2eoption_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),chapp__02(s__02(cfun__02(c_27type_2ewordLang_2enum__exp_27__01(V_27A_27),cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2eoption_2eoption_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)))),chapp__02(s__02(cfun__02(c_27type_2east_2eshift_27__00,cfun__02(c_27type_2ewordLang_2enum__exp_27__01(V_27A_27),cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2eoption_2eoption_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))))),V__7),s__02(c_27type_2east_2eshift_27__00,V_27sh_27))),s__02(c_27type_2ewordLang_2enum__exp_27__01(V_27A_27),V_27nexp_27))),s__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2eoption_2eoption_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)))),V__2)))
         => ! [V__5] :
              ( ! [V_27op_27,V_27ws_27] : s__02(c_27type_2eoption_2eoption_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),chapp__02(s__02(cfun__02(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),c_27type_2eoption_2eoption_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),chapp__02(s__02(cfun__02(c_27type_2easm_2ebinop_27__00,cfun__02(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),c_27type_2eoption_2eoption_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)))),V__5),s__02(c_27type_2easm_2ebinop_27__00,V_27op_27))),s__02(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),V_27ws_27))) = s__02(c_27type_2eoption_2eoption_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),c_27const_2eoption_2eOPTION__MAP_27__02(s__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_27const_2ewordSem_2eWord_27__00),s__02(c_27type_2eoption_2eoption_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),c_27const_2ewordLang_2eword__op_27__02(s__02(c_27type_2easm_2ebinop_27__00,V_27op_27),s__02(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),V_27ws_27)))))
             => ! [V__4] :
                  ( ! [V_27s_27,V_27a_27] : s__02(c_27type_2eoption_2eoption_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),chapp__02(s__02(cfun__02(c_27type_2ewordLang_2eexp_27__01(V_27A_27),c_27type_2eoption_2eoption_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),chapp__02(s__02(cfun__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27B_27),cfun__02(c_27type_2ewordLang_2eexp_27__01(V_27A_27),c_27type_2eoption_2eoption_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)))),V__4),s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27B_27),V_27s_27))),s__02(c_27type_2ewordLang_2eexp_27__01(V_27A_27),V_27a_27))) = s__02(c_27type_2eoption_2eoption_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),c_27const_2ewordSem_2eword__exp_27__02(s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27B_27),V_27s_27),s__02(c_27type_2ewordLang_2eexp_27__01(V_27A_27),V_27a_27)))
                 => ! [V__3] :
                      ( ! [V_27v7_27] : s__02(c_27type_2eoption_2eoption_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),chapp__02(s__02(cfun__02(c_27type_2enum_2enum_27__00,c_27type_2eoption_2eoption_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),V__3),s__02(c_27type_2enum_2enum_27__00,V_27v7_27))) = s__02(c_27type_2eoption_2eoption_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),c_27const_2eoption_2eNONE_27__00)
                     => ! [V__2] :
                          ( ! [V_27v6_27] : s__02(cfun__02(c_27type_2enum_2enum_27__00,c_27type_2eoption_2eoption_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),chapp__02(s__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2eoption_2eoption_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)))),V__2),s__02(c_27type_2enum_2enum_27__00,V_27v6_27))) = s__02(cfun__02(c_27type_2enum_2enum_27__00,c_27type_2eoption_2eoption_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),V__3)
                         => ! [V__1] :
                              ( ! [V_27s_27,V_27w_27] : s__02(c_27type_2eoption_2eoption_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),chapp__02(s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2eoption_2eoption_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),chapp__02(s__02(cfun__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27B_27),cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2eoption_2eoption_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)))),V__1),s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27B_27),V_27s_27))),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27w_27))) = s__02(c_27type_2eoption_2eoption_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),c_27const_2ewordSem_2emem__load_27__02(s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27w_27),s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27B_27),V_27s_27)))
                             => ! [V__0] :
                                  ( ! [V_27s_27,V_27v1_27] : s__02(c_27type_2eoption_2eoption_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),chapp__02(s__02(cfun__02(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27),c_27type_2eoption_2eoption_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),chapp__02(s__02(cfun__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27B_27),cfun__02(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27),c_27type_2eoption_2eoption_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)))),V__0),s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27B_27),V_27s_27))),s__02(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27),V_27v1_27))) = s__02(c_27type_2eoption_2eoption_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),c_27const_2ewordSem_2eword__loc__CASE_27__03(s__02(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27),V_27v1_27),s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2eoption_2eoption_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),chapp__02(s__02(cfun__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27B_27),cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2eoption_2eoption_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)))),V__1),s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27B_27),V_27s_27))),s__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2eoption_2eoption_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)))),V__2)))
                                 => ( ! [V_27w_27,V_27s_27] : s__02(c_27type_2eoption_2eoption_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),c_27const_2ewordSem_2eword__exp_27__02(s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27B_27),V_27s_27),s__02(c_27type_2ewordLang_2eexp_27__01(V_27A_27),c_27const_2ewordLang_2eConst_27__01(s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27w_27))))) = s__02(c_27type_2eoption_2eoption_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),c_27const_2eoption_2eSOME_27__01(s__02(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27),chapp__02(s__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_27const_2ewordSem_2eWord_27__00),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27w_27)))))
                                    & ! [V_27v_27,V_27s_27] : s__02(c_27type_2eoption_2eoption_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),c_27const_2ewordSem_2eword__exp_27__02(s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27B_27),V_27s_27),s__02(c_27type_2ewordLang_2eexp_27__01(V_27A_27),c_27const_2ewordLang_2eVar_27__01(s__02(c_27type_2enum_2enum_27__00,V_27v_27))))) = s__02(c_27type_2eoption_2eoption_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),c_27const_2esptree_2elookup_27__02(s__02(c_27type_2enum_2enum_27__00,V_27v_27),s__02(c_27type_2esptree_2espt_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),c_27const_2ewordSem_2estate__locals_27__01(s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27B_27),V_27s_27)))))
                                    & ! [V_27s_27,V_27name_27] : s__02(c_27type_2eoption_2eoption_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),c_27const_2ewordSem_2eword__exp_27__02(s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27B_27),V_27s_27),s__02(c_27type_2ewordLang_2eexp_27__01(V_27A_27),c_27const_2ewordLang_2eLookup_27__01(s__02(c_27type_2estackLang_2estore__name_27__00,V_27name_27))))) = s__02(c_27type_2eoption_2eoption_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),c_27const_2efinite__map_2eFLOOKUP_27__02(s__02(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__store_27__01(s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27B_27),V_27s_27))),s__02(c_27type_2estackLang_2estore__name_27__00,V_27name_27)))
                                    & ! [V_27s_27,V_27addr_27] : s__02(c_27type_2eoption_2eoption_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),c_27const_2ewordSem_2eword__exp_27__02(s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27B_27),V_27s_27),s__02(c_27type_2ewordLang_2eexp_27__01(V_27A_27),c_27const_2ewordLang_2eLoad_27__01(s__02(c_27type_2ewordLang_2eexp_27__01(V_27A_27),V_27addr_27))))) = s__02(c_27type_2eoption_2eoption_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),c_27const_2eoption_2eoption__CASE_27__03(s__02(c_27type_2eoption_2eoption_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),c_27const_2ewordSem_2eword__exp_27__02(s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27B_27),V_27s_27),s__02(c_27type_2ewordLang_2eexp_27__01(V_27A_27),V_27addr_27))),s__02(c_27type_2eoption_2eoption_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),c_27const_2eoption_2eNONE_27__00),s__02(cfun__02(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27),c_27type_2eoption_2eoption_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),chapp__02(s__02(cfun__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27B_27),cfun__02(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27),c_27type_2eoption_2eoption_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)))),V__0),s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27B_27),V_27s_27)))))
                                    & ! [V_27wexps_27,V_27s_27,V_27op_27] : s__02(c_27type_2eoption_2eoption_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),c_27const_2ewordSem_2eword__exp_27__02(s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27B_27),V_27s_27),s__02(c_27type_2ewordLang_2eexp_27__01(V_27A_27),c_27const_2ewordLang_2eOp_27__02(s__02(c_27type_2easm_2ebinop_27__00,V_27op_27),s__02(c_27type_2elist_2elist_27__01(c_27type_2ewordLang_2eexp_27__01(V_27A_27)),V_27wexps_27))))) = s__02(c_27type_2eoption_2eoption_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),c_27const_2eoption_2eoption__CASE_27__03(s__02(c_27type_2eoption_2eoption_27__01(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27))),c_27const_2ewordSem_2ethe__words_27__01(s__02(c_27type_2elist_2elist_27__01(c_27type_2eoption_2eoption_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),c_27const_2elist_2eMAP_27__02(s__02(cfun__02(c_27type_2ewordLang_2eexp_27__01(V_27A_27),c_27type_2eoption_2eoption_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),chapp__02(s__02(cfun__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27B_27),cfun__02(c_27type_2ewordLang_2eexp_27__01(V_27A_27),c_27type_2eoption_2eoption_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)))),V__4),s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27B_27),V_27s_27))),s__02(c_27type_2elist_2elist_27__01(c_27type_2ewordLang_2eexp_27__01(V_27A_27)),V_27wexps_27))))),s__02(c_27type_2eoption_2eoption_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),c_27const_2eoption_2eNONE_27__00),s__02(cfun__02(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),c_27type_2eoption_2eoption_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),chapp__02(s__02(cfun__02(c_27type_2easm_2ebinop_27__00,cfun__02(c_27type_2elist_2elist_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),c_27type_2eoption_2eoption_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)))),V__5),s__02(c_27type_2easm_2ebinop_27__00,V_27op_27)))))
                                    & ! [V_27wexp_27,V_27sh_27,V_27s_27,V_27nexp_27] : s__02(c_27type_2eoption_2eoption_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),c_27const_2ewordSem_2eword__exp_27__02(s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27B_27),V_27s_27),s__02(c_27type_2ewordLang_2eexp_27__01(V_27A_27),c_27const_2ewordLang_2eShift_27__03(s__02(c_27type_2east_2eshift_27__00,V_27sh_27),s__02(c_27type_2ewordLang_2eexp_27__01(V_27A_27),V_27wexp_27),s__02(c_27type_2ewordLang_2enum__exp_27__01(V_27A_27),V_27nexp_27))))) = s__02(c_27type_2eoption_2eoption_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),c_27const_2eoption_2eoption__CASE_27__03(s__02(c_27type_2eoption_2eoption_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),c_27const_2ewordSem_2eword__exp_27__02(s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27B_27),V_27s_27),s__02(c_27type_2ewordLang_2eexp_27__01(V_27A_27),V_27wexp_27))),s__02(c_27type_2eoption_2eoption_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),c_27const_2eoption_2eNONE_27__00),s__02(cfun__02(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27),c_27type_2eoption_2eoption_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_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_2eoption_2eoption_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)))),cfun__02(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27),c_27type_2eoption_2eoption_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)))),chapp__02(s__02(cfun__02(c_27type_2ewordLang_2enum__exp_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_2eoption_2eoption_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)))),cfun__02(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27),c_27type_2eoption_2eoption_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))))),chapp__02(s__02(cfun__02(c_27type_2east_2eshift_27__00,cfun__02(c_27type_2ewordLang_2enum__exp_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_2eoption_2eoption_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)))),cfun__02(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27),c_27type_2eoption_2eoption_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)))))),V__6),s__02(c_27type_2east_2eshift_27__00,V_27sh_27))),s__02(c_27type_2ewordLang_2enum__exp_27__01(V_27A_27),V_27nexp_27))),s__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,c_27type_2eoption_2eoption_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)))),V__2))))) ) ) ) ) ) ) ) ) ) ).

fof('thm.wordSem.get_var_def',axiom,
    ! [V_27A_27,V_27FFI_27,V_27v_27,V_27s_27] : s__02(c_27type_2eoption_2eoption_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),c_27const_2ewordSem_2eget__var_27__02(s__02(c_27type_2enum_2enum_27__00,V_27v_27),s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),V_27s_27))) = s__02(c_27type_2eoption_2eoption_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),c_27const_2esptree_2elookup_27__02(s__02(c_27type_2enum_2enum_27__00,V_27v_27),s__02(c_27type_2esptree_2espt_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),c_27const_2ewordSem_2estate__locals_27__01(s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),V_27s_27))))) ).

fof('thm.wordSem.set_var_def',axiom,
    ! [V_27A_27,V_27FFI_27,V_27v_27,V_27x_27,V_27s_27] : s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),c_27const_2ewordSem_2eset__var_27__03(s__02(c_27type_2enum_2enum_27__00,V_27v_27),s__02(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27),V_27x_27),s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),V_27s_27))) = s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),c_27const_2ewordSem_2estate__locals__fupd_27__02(s__02(cfun__02(c_27type_2esptree_2espt_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),c_27type_2esptree_2espt_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),c_27const_2ecombin_2eK_27__01(s__02(c_27type_2esptree_2espt_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),c_27const_2esptree_2einsert_27__03(s__02(c_27type_2enum_2enum_27__00,V_27v_27),s__02(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27),V_27x_27),s__02(c_27type_2esptree_2espt_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),c_27const_2ewordSem_2estate__locals_27__01(s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),V_27s_27))))))),s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),V_27s_27))) ).

fof('thm.wordSem.set_store_def',axiom,
    ! [V_27A_27,V_27FFI_27,V_27v_27,V_27x_27,V_27s_27] : s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),c_27const_2ewordSem_2eset__store_27__03(s__02(c_27type_2estackLang_2estore__name_27__00,V_27v_27),s__02(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27),V_27x_27),s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),V_27s_27))) = s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),c_27const_2ewordSem_2estate__store__fupd_27__02(s__02(cfun__02(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_2efinite__map_2efmap_27__02(c_27type_2estackLang_2estore__name_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),c_27const_2ecombin_2eK_27__01(s__02(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_2efinite__map_2eFUPDATE_27__02(s__02(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__store_27__01(s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),V_27s_27))),s__02(c_27type_2epair_2eprod_27__02(c_27type_2estackLang_2estore__name_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),c_27const_2epair_2e_2c_27__02(s__02(c_27type_2estackLang_2estore__name_27__00,V_27v_27),s__02(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27),V_27x_27))))))),s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),V_27s_27))) ).

fof('thm.address.WORD_EQ_ADD_CANCEL',axiom,
    ! [V_27A_27,V_27v_27,V_27w_27,V_27x_27] :
      ( ( s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),chapp__02(s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),chapp__02(s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27))),c_27const_2ewords_2eword__add_27__00),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27v_27))),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27w_27))) = s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),chapp__02(s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),chapp__02(s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27))),c_27const_2ewords_2eword__add_27__00),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27x_27))),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27w_27)))
      <=> s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27v_27) = s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27x_27) )
      & ( s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),chapp__02(s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),chapp__02(s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27))),c_27const_2ewords_2eword__add_27__00),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27w_27))),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27v_27))) = s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),chapp__02(s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),chapp__02(s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27))),c_27const_2ewords_2eword__add_27__00),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27x_27))),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27w_27)))
      <=> s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27v_27) = s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27x_27) )
      & ( s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),chapp__02(s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),chapp__02(s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27))),c_27const_2ewords_2eword__add_27__00),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27v_27))),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27w_27))) = s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),chapp__02(s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),chapp__02(s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27))),c_27const_2ewords_2eword__add_27__00),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27w_27))),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27x_27)))
      <=> s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27v_27) = s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27x_27) )
      & ( s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),chapp__02(s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),chapp__02(s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27))),c_27const_2ewords_2eword__add_27__00),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27w_27))),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27v_27))) = s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),chapp__02(s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),chapp__02(s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27))),c_27const_2ewords_2eword__add_27__00),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27w_27))),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27x_27)))
      <=> s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27v_27) = s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27x_27) )
      & ( s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27w_27) = s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),chapp__02(s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),chapp__02(s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27))),c_27const_2ewords_2eword__add_27__00),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27x_27))),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27w_27)))
      <=> s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27x_27) = s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27const_2ewords_2en2w_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2enum_2e0_27__00))) )
      & ( s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),chapp__02(s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),chapp__02(s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27))),c_27const_2ewords_2eword__add_27__00),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27v_27))),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27w_27))) = s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27w_27)
      <=> s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27v_27) = s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27const_2ewords_2en2w_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2enum_2e0_27__00))) )
      & ( s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27w_27) = s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),chapp__02(s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),chapp__02(s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27))),c_27const_2ewords_2eword__add_27__00),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27w_27))),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27x_27)))
      <=> s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27x_27) = s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27const_2ewords_2en2w_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2enum_2e0_27__00))) )
      & ( s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),chapp__02(s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),chapp__02(s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27))),c_27const_2ewords_2eword__add_27__00),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27w_27))),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27v_27))) = s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27w_27)
      <=> s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27v_27) = s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27const_2ewords_2en2w_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2enum_2e0_27__00))) ) ) ).

fof('thm.data_to_word.list_Seq_def',axiom,
    ! [V_27A_27] :
      ( s__02(c_27type_2ewordLang_2eprog_27__01(V_27A_27),c_27const_2edata__to__word_2elist__Seq_27__01(s__02(c_27type_2elist_2elist_27__01(c_27type_2ewordLang_2eprog_27__01(V_27A_27)),c_27const_2elist_2eNIL_27__00))) = s__02(c_27type_2ewordLang_2eprog_27__01(V_27A_27),c_27const_2ewordLang_2eSkip_27__00)
      & ! [V_27x_27] : s__02(c_27type_2ewordLang_2eprog_27__01(V_27A_27),c_27const_2edata__to__word_2elist__Seq_27__01(s__02(c_27type_2elist_2elist_27__01(c_27type_2ewordLang_2eprog_27__01(V_27A_27)),c_27const_2elist_2eCONS_27__02(s__02(c_27type_2ewordLang_2eprog_27__01(V_27A_27),V_27x_27),s__02(c_27type_2elist_2elist_27__01(c_27type_2ewordLang_2eprog_27__01(V_27A_27)),c_27const_2elist_2eNIL_27__00))))) = s__02(c_27type_2ewordLang_2eprog_27__01(V_27A_27),V_27x_27)
      & ! [V_27y_27,V_27xs_27,V_27x_27] : s__02(c_27type_2ewordLang_2eprog_27__01(V_27A_27),c_27const_2edata__to__word_2elist__Seq_27__01(s__02(c_27type_2elist_2elist_27__01(c_27type_2ewordLang_2eprog_27__01(V_27A_27)),c_27const_2elist_2eCONS_27__02(s__02(c_27type_2ewordLang_2eprog_27__01(V_27A_27),V_27x_27),s__02(c_27type_2elist_2elist_27__01(c_27type_2ewordLang_2eprog_27__01(V_27A_27)),c_27const_2elist_2eCONS_27__02(s__02(c_27type_2ewordLang_2eprog_27__01(V_27A_27),V_27y_27),s__02(c_27type_2elist_2elist_27__01(c_27type_2ewordLang_2eprog_27__01(V_27A_27)),V_27xs_27))))))) = s__02(c_27type_2ewordLang_2eprog_27__01(V_27A_27),c_27const_2ewordLang_2eSeq_27__02(s__02(c_27type_2ewordLang_2eprog_27__01(V_27A_27),V_27x_27),s__02(c_27type_2ewordLang_2eprog_27__01(V_27A_27),c_27const_2edata__to__word_2elist__Seq_27__01(s__02(c_27type_2elist_2elist_27__01(c_27type_2ewordLang_2eprog_27__01(V_27A_27)),c_27const_2elist_2eCONS_27__02(s__02(c_27type_2ewordLang_2eprog_27__01(V_27A_27),V_27y_27),s__02(c_27type_2elist_2elist_27__01(c_27type_2ewordLang_2eprog_27__01(V_27A_27)),V_27xs_27))))))) ) ).

fof('thm.data_to_word.WriteWord64_on_32_def',axiom,
    ! [V_27A_27,V_27c_27,V_27header_27,V_27dest_27,V_27i1_27,V_27i2_27] : s__02(c_27type_2ewordLang_2eprog_27__01(V_27A_27),c_27const_2edata__to__word_2eWriteWord64__on__32_27__05(s__02(c_27type_2edata__to__word_2econfig_27__00,V_27c_27),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27header_27),s__02(c_27type_2enum_2enum_27__00,V_27dest_27),s__02(c_27type_2enum_2enum_27__00,V_27i1_27),s__02(c_27type_2enum_2enum_27__00,V_27i2_27))) = s__02(c_27type_2ewordLang_2eprog_27__01(V_27A_27),c_27const_2edata__to__word_2elist__Seq_27__01(s__02(c_27type_2elist_2elist_27__01(c_27type_2ewordLang_2eprog_27__01(V_27A_27)),c_27const_2elist_2eCONS_27__02(s__02(c_27type_2ewordLang_2eprog_27__01(V_27A_27),c_27const_2ewordLang_2eAssign_27__02(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))))),s__02(c_27type_2ewordLang_2eexp_27__01(V_27A_27),c_27const_2ewordLang_2eLookup_27__01(s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eNextFree_27__00))))),s__02(c_27type_2elist_2elist_27__01(c_27type_2ewordLang_2eprog_27__01(V_27A_27)),c_27const_2elist_2eCONS_27__02(s__02(c_27type_2ewordLang_2eprog_27__01(V_27A_27),c_27const_2ewordLang_2eStore_27__02(s__02(c_27type_2ewordLang_2eexp_27__01(V_27A_27),c_27const_2ewordLang_2eOp_27__02(s__02(c_27type_2easm_2ebinop_27__00,c_27const_2easm_2eAdd_27__00),s__02(c_27type_2elist_2elist_27__01(c_27type_2ewordLang_2eexp_27__01(V_27A_27)),c_27const_2elist_2eCONS_27__02(s__02(c_27type_2ewordLang_2eexp_27__01(V_27A_27),c_27const_2ewordLang_2eVar_27__01(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))))))),s__02(c_27type_2elist_2elist_27__01(c_27type_2ewordLang_2eexp_27__01(V_27A_27)),c_27const_2elist_2eCONS_27__02(s__02(c_27type_2ewordLang_2eexp_27__01(V_27A_27),c_27const_2ewordLang_2eConst_27__01(s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27const_2emisc_2ebytes__in__word_27__00))),s__02(c_27type_2elist_2elist_27__01(c_27type_2ewordLang_2eexp_27__01(V_27A_27)),c_27const_2elist_2eNIL_27__00))))))),s__02(c_27type_2enum_2enum_27__00,V_27i2_27))),s__02(c_27type_2elist_2elist_27__01(c_27type_2ewordLang_2eprog_27__01(V_27A_27)),c_27const_2elist_2eCONS_27__02(s__02(c_27type_2ewordLang_2eprog_27__01(V_27A_27),c_27const_2ewordLang_2eStore_27__02(s__02(c_27type_2ewordLang_2eexp_27__01(V_27A_27),c_27const_2ewordLang_2eOp_27__02(s__02(c_27type_2easm_2ebinop_27__00,c_27const_2easm_2eAdd_27__00),s__02(c_27type_2elist_2elist_27__01(c_27type_2ewordLang_2eexp_27__01(V_27A_27)),c_27const_2elist_2eCONS_27__02(s__02(c_27type_2ewordLang_2eexp_27__01(V_27A_27),c_27const_2ewordLang_2eVar_27__01(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))))))),s__02(c_27type_2elist_2elist_27__01(c_27type_2ewordLang_2eexp_27__01(V_27A_27)),c_27const_2elist_2eCONS_27__02(s__02(c_27type_2ewordLang_2eexp_27__01(V_27A_27),c_27const_2ewordLang_2eConst_27__01(s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27const_2ewords_2eword__mul_27__02(s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27const_2ewords_2en2w_27__01(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_2eBIT2_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eZERO_27__00))))))),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27const_2emisc_2ebytes__in__word_27__00))))),s__02(c_27type_2elist_2elist_27__01(c_27type_2ewordLang_2eexp_27__01(V_27A_27)),c_27const_2elist_2eNIL_27__00))))))),s__02(c_27type_2enum_2enum_27__00,V_27i1_27))),s__02(c_27type_2elist_2elist_27__01(c_27type_2ewordLang_2eprog_27__01(V_27A_27)),c_27const_2elist_2eCONS_27__02(s__02(c_27type_2ewordLang_2eprog_27__01(V_27A_27),c_27const_2ewordLang_2eAssign_27__02(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_2eBIT1_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eZERO_27__00))))))),s__02(c_27type_2ewordLang_2eexp_27__01(V_27A_27),c_27const_2ewordLang_2eConst_27__01(s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27header_27))))),s__02(c_27type_2elist_2elist_27__01(c_27type_2ewordLang_2eprog_27__01(V_27A_27)),c_27const_2elist_2eCONS_27__02(s__02(c_27type_2ewordLang_2eprog_27__01(V_27A_27),c_27const_2ewordLang_2eStore_27__02(s__02(c_27type_2ewordLang_2eexp_27__01(V_27A_27),c_27const_2ewordLang_2eVar_27__01(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))))))),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_2eBIT1_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eZERO_27__00))))))))),s__02(c_27type_2elist_2elist_27__01(c_27type_2ewordLang_2eprog_27__01(V_27A_27)),c_27const_2elist_2eCONS_27__02(s__02(c_27type_2ewordLang_2eprog_27__01(V_27A_27),c_27const_2ewordLang_2eSet_27__02(s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eNextFree_27__00),s__02(c_27type_2ewordLang_2eexp_27__01(V_27A_27),c_27const_2ewordLang_2eOp_27__02(s__02(c_27type_2easm_2ebinop_27__00,c_27const_2easm_2eAdd_27__00),s__02(c_27type_2elist_2elist_27__01(c_27type_2ewordLang_2eexp_27__01(V_27A_27)),c_27const_2elist_2eCONS_27__02(s__02(c_27type_2ewordLang_2eexp_27__01(V_27A_27),c_27const_2ewordLang_2eVar_27__01(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))))))),s__02(c_27type_2elist_2elist_27__01(c_27type_2ewordLang_2eexp_27__01(V_27A_27)),c_27const_2elist_2eCONS_27__02(s__02(c_27type_2ewordLang_2eexp_27__01(V_27A_27),c_27const_2ewordLang_2eConst_27__01(s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27const_2ewords_2eword__mul_27__02(s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27const_2ewords_2en2w_27__01(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_2eBIT1_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eZERO_27__00))))))))),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27const_2emisc_2ebytes__in__word_27__00))))),s__02(c_27type_2elist_2elist_27__01(c_27type_2ewordLang_2eexp_27__01(V_27A_27)),c_27const_2elist_2eNIL_27__00))))))))),s__02(c_27type_2elist_2elist_27__01(c_27type_2ewordLang_2eprog_27__01(V_27A_27)),c_27const_2elist_2eCONS_27__02(s__02(c_27type_2ewordLang_2eprog_27__01(V_27A_27),c_27const_2ewordLang_2eAssign_27__02(s__02(c_27type_2enum_2enum_27__00,c_27const_2edata__to__word_2eadjust__var_27__01(s__02(c_27type_2enum_2enum_27__00,V_27dest_27))),s__02(c_27type_2ewordLang_2eexp_27__01(V_27A_27),c_27const_2ewordLang_2eOp_27__02(s__02(c_27type_2easm_2ebinop_27__00,c_27const_2easm_2eOr_27__00),s__02(c_27type_2elist_2elist_27__01(c_27type_2ewordLang_2eexp_27__01(V_27A_27)),c_27const_2elist_2eCONS_27__02(s__02(c_27type_2ewordLang_2eexp_27__01(V_27A_27),c_27const_2ewordLang_2eShift_27__03(s__02(c_27type_2east_2eshift_27__00,c_27const_2east_2eLsl_27__00),s__02(c_27type_2ewordLang_2eexp_27__01(V_27A_27),c_27const_2ewordLang_2eOp_27__02(s__02(c_27type_2easm_2ebinop_27__00,c_27const_2easm_2eSub_27__00),s__02(c_27type_2elist_2elist_27__01(c_27type_2ewordLang_2eexp_27__01(V_27A_27)),c_27const_2elist_2eCONS_27__02(s__02(c_27type_2ewordLang_2eexp_27__01(V_27A_27),c_27const_2ewordLang_2eVar_27__01(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))))))),s__02(c_27type_2elist_2elist_27__01(c_27type_2ewordLang_2eexp_27__01(V_27A_27)),c_27const_2elist_2eCONS_27__02(s__02(c_27type_2ewordLang_2eexp_27__01(V_27A_27),c_27const_2ewordLang_2eLookup_27__01(s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eCurrHeap_27__00))),s__02(c_27type_2elist_2elist_27__01(c_27type_2ewordLang_2eexp_27__01(V_27A_27)),c_27const_2elist_2eNIL_27__00))))))),s__02(c_27type_2ewordLang_2enum__exp_27__01(V_27A_27),c_27const_2ewordLang_2eNat_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2e_2d_27__02(s__02(c_27type_2enum_2enum_27__00,c_27const_2edata__to__word_2eshift__length_27__01(s__02(c_27type_2edata__to__word_2econfig_27__00,V_27c_27))),s__02(c_27type_2enum_2enum_27__00,c_27const_2ebackend__common_2eword__shift_27__01(s__02(c_27type_2ebool_2eitself_27__01(V_27A_27),c_27const_2ebool_2ethe__value_27__00))))))))),s__02(c_27type_2elist_2elist_27__01(c_27type_2ewordLang_2eexp_27__01(V_27A_27)),c_27const_2elist_2eCONS_27__02(s__02(c_27type_2ewordLang_2eexp_27__01(V_27A_27),c_27const_2ewordLang_2eConst_27__01(s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27const_2ewords_2en2w_27__01(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))))))))),s__02(c_27type_2elist_2elist_27__01(c_27type_2ewordLang_2eexp_27__01(V_27A_27)),c_27const_2elist_2eNIL_27__00))))))))),s__02(c_27type_2elist_2elist_27__01(c_27type_2ewordLang_2eprog_27__01(V_27A_27)),c_27const_2elist_2eNIL_27__00))))))))))))))))) ).

fof('thm.labProps.good_dimindex_def',axiom,
    ! [V_27A_27] :
      ( p__01(s__02(cbool__00,c_27const_2elabProps_2egood__dimindex_27__01(s__02(c_27type_2ebool_2eitself_27__01(V_27A_27),c_27const_2ebool_2ethe__value_27__00))))
    <=> ( s__02(c_27type_2enum_2enum_27__00,c_27const_2efcp_2edimindex_27__01(s__02(c_27type_2ebool_2eitself_27__01(V_27A_27),c_27const_2ebool_2ethe__value_27__00))) = 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_2eBIT2_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_2eBIT1_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_2eBIT1_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eZERO_27__00)))))))))))))
        | s__02(c_27type_2enum_2enum_27__00,c_27const_2efcp_2edimindex_27__01(s__02(c_27type_2ebool_2eitself_27__01(V_27A_27),c_27const_2ebool_2ethe__value_27__00))) = 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_2eBIT2_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_2eBIT1_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_2eBIT1_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))))))))))))))) ) ) ).

fof('thm.data_to_word_memoryProof.Word64Rep_def',axiom,
    ! [V_27B_27,V_27A_27,V_27w_27] : s__02(c_27type_2egc__shared_2eheap__element_27__02(V_27B_27,c_27type_2epair_2eprod_27__02(c_27type_2edata__to__word__memoryProof_2etag_27__00,c_27type_2elist_2elist_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)))),c_27const_2edata__to__word__memoryProof_2eWord64Rep_27__02(s__02(c_27type_2ebool_2eitself_27__01(V_27A_27),c_27const_2ebool_2ethe__value_27__00),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,c_27type_2efcp_2ebit0_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2eone_2eone_27__00))))))),V_27w_27))) = s__02(c_27type_2egc__shared_2eheap__element_27__02(V_27B_27,c_27type_2epair_2eprod_27__02(c_27type_2edata__to__word__memoryProof_2etag_27__00,c_27type_2elist_2elist_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)))),c_27const_2ebool_2eCOND_27__03(s__02(cbool__00,c_27const_2eprim__rec_2e_3c_27__02(s__02(c_27type_2enum_2enum_27__00,c_27const_2efcp_2edimindex_27__01(s__02(c_27type_2ebool_2eitself_27__01(V_27A_27),c_27const_2ebool_2ethe__value_27__00))),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_2eBIT2_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_2eBIT1_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_2eBIT1_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))))))))))))))))),s__02(c_27type_2egc__shared_2eheap__element_27__02(V_27B_27,c_27type_2epair_2eprod_27__02(c_27type_2edata__to__word__memoryProof_2etag_27__00,c_27type_2elist_2elist_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)))),c_27const_2egc__shared_2eDataElement_27__03(s__02(c_27type_2elist_2elist_27__01(c_27type_2egc__shared_2eheap__address_27__01(V_27B_27)),c_27const_2elist_2eNIL_27__00),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_2eBIT2_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eZERO_27__00))))),s__02(c_27type_2epair_2eprod_27__02(c_27type_2edata__to__word__memoryProof_2etag_27__00,c_27type_2elist_2elist_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),c_27const_2epair_2e_2c_27__02(s__02(c_27type_2edata__to__word__memoryProof_2etag_27__00,c_27const_2edata__to__word__memoryProof_2eWord64Tag_27__00),s__02(c_27type_2elist_2elist_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),c_27const_2elist_2eCONS_27__02(s__02(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27),chapp__02(s__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_27const_2ewordSem_2eWord_27__00),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27const_2ewords_2eword__extract_27__03(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_2eBIT1_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_2eBIT1_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_2eBIT1_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eZERO_27__00))))))))))))))),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_2eBIT2_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_2eBIT1_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_2eBIT1_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eZERO_27__00))))))))))))),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,c_27type_2efcp_2ebit0_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2eone_2eone_27__00))))))),V_27w_27))))),s__02(c_27type_2elist_2elist_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),c_27const_2elist_2eCONS_27__02(s__02(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27),chapp__02(s__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_27const_2ewordSem_2eWord_27__00),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27const_2ewords_2eword__extract_27__03(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_2eBIT1_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_2eBIT1_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))))))))))))),s__02(c_27type_2enum_2enum_27__00,c_27const_2enum_2e0_27__00),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,c_27type_2efcp_2ebit0_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2eone_2eone_27__00))))))),V_27w_27))))),s__02(c_27type_2elist_2elist_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),c_27const_2elist_2eNIL_27__00))))))))),s__02(c_27type_2egc__shared_2eheap__element_27__02(V_27B_27,c_27type_2epair_2eprod_27__02(c_27type_2edata__to__word__memoryProof_2etag_27__00,c_27type_2elist_2elist_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)))),c_27const_2egc__shared_2eDataElement_27__03(s__02(c_27type_2elist_2elist_27__01(c_27type_2egc__shared_2eheap__address_27__01(V_27B_27)),c_27const_2elist_2eNIL_27__00),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))))),s__02(c_27type_2epair_2eprod_27__02(c_27type_2edata__to__word__memoryProof_2etag_27__00,c_27type_2elist_2elist_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),c_27const_2epair_2e_2c_27__02(s__02(c_27type_2edata__to__word__memoryProof_2etag_27__00,c_27const_2edata__to__word__memoryProof_2eWord64Tag_27__00),s__02(c_27type_2elist_2elist_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),c_27const_2elist_2eCONS_27__02(s__02(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27),chapp__02(s__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_27const_2ewordSem_2eWord_27__00),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27const_2ewords_2eword__extract_27__03(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_2eBIT1_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_2eBIT1_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_2eBIT1_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eZERO_27__00))))))))))))))),s__02(c_27type_2enum_2enum_27__00,c_27const_2enum_2e0_27__00),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,c_27type_2efcp_2ebit0_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2eone_2eone_27__00))))))),V_27w_27))))),s__02(c_27type_2elist_2elist_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),c_27const_2elist_2eNIL_27__00))))))))) ).

fof('thm.data_to_word_memoryProof.make_ptr_def',axiom,
    ! [V_27B_27,V_27C_27,V_27A_27,V_27conf_27,V_27nf_27,V_27tag_27,V_27len_27] : s__02(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27),c_27const_2edata__to__word__memoryProof_2emake__ptr_27__04(s__02(c_27type_2edata__to__word_2econfig_27__00,V_27conf_27),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27nf_27),s__02(V_27B_27,V_27tag_27),s__02(V_27C_27,V_27len_27))) = s__02(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27),chapp__02(s__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_27const_2ewordSem_2eWord_27__00),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),chapp__02(s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),chapp__02(s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27))),c_27const_2ewords_2eword__or_27__00),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27const_2ewords_2eword__lsl_27__02(s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27nf_27),s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2e_2d_27__02(s__02(c_27type_2enum_2enum_27__00,c_27const_2edata__to__word_2eshift__length_27__01(s__02(c_27type_2edata__to__word_2econfig_27__00,V_27conf_27))),s__02(c_27type_2enum_2enum_27__00,c_27const_2ebackend__common_2eword__shift_27__01(s__02(c_27type_2ebool_2eitself_27__01(V_27A_27),c_27const_2ebool_2ethe__value_27__00))))))))),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27const_2ewords_2en2w_27__01(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))))))))))) ).

fof('thm.data_to_word_memoryProof.store_list_def',axiom,
    ! [V_27A_27] :
      ( ! [V_27a_27,V_27m_27,V_27dm_27] : s__02(c_27type_2eoption_2eoption_27__01(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),c_27const_2edata__to__word__memoryProof_2estore__list_27__04(s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27a_27),s__02(c_27type_2elist_2elist_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),c_27const_2elist_2eNIL_27__00),s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),V_27m_27),s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),cbool__00),V_27dm_27))) = s__02(c_27type_2eoption_2eoption_27__01(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),c_27const_2eoption_2eSOME_27__01(s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),V_27m_27)))
      & ! [V_27a_27,V_27w_27,V_27ws_27,V_27m_27,V_27dm_27] : s__02(c_27type_2eoption_2eoption_27__01(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),c_27const_2edata__to__word__memoryProof_2estore__list_27__04(s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27a_27),s__02(c_27type_2elist_2elist_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),c_27const_2elist_2eCONS_27__02(s__02(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27),V_27w_27),s__02(c_27type_2elist_2elist_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),V_27ws_27))),s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),V_27m_27),s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),cbool__00),V_27dm_27))) = s__02(c_27type_2eoption_2eoption_27__01(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),c_27const_2ebool_2eCOND_27__03(s__02(cbool__00,c_27const_2ebool_2eIN_27__02(s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27a_27),s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),cbool__00),V_27dm_27))),s__02(c_27type_2eoption_2eoption_27__01(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),c_27const_2edata__to__word__memoryProof_2estore__list_27__04(s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),chapp__02(s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),chapp__02(s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27))),c_27const_2ewords_2eword__add_27__00),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27a_27))),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27const_2emisc_2ebytes__in__word_27__00))),s__02(c_27type_2elist_2elist_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),V_27ws_27),s__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_27const_2ecombin_2eUPDATE_27__03(s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27a_27),s__02(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27),V_27w_27),s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),V_27m_27))),s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),cbool__00),V_27dm_27))),s__02(c_27type_2eoption_2eoption_27__01(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),c_27const_2eoption_2eNONE_27__00))) ) ).

fof('thm.data_to_word_memoryProof.memory_rel_Word64_alt',axiom,
    ! [V_27A_27,V_27ws_27,V_27w64_27,V_27vs_27,V_27vars_27,V_27st_27,V_27sp_27,V_27refs_27,V_27m_27,V_27hd_27,V_27dm_27,V_27c_27,V_27be_27] :
      ( ( p__01(s__02(cbool__00,c_27const_2edata__to__word__memoryProof_2ememory__rel_27__08(s__02(c_27type_2edata__to__word_2econfig_27__00,V_27c_27),s__02(cbool__00,V_27be_27),s__02(c_27type_2efinite__map_2efmap_27__02(c_27type_2enum_2enum_27__00,c_27type_2eclosSem_2eref_27__01(c_27type_2ebvlSem_2ev_27__00)),V_27refs_27),s__02(c_27type_2enum_2enum_27__00,V_27sp_27),s__02(c_27type_2efinite__map_2efmap_27__02(c_27type_2estackLang_2estore__name_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),V_27st_27),s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),V_27m_27),s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),cbool__00),V_27dm_27),s__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2ebvlSem_2ev_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),c_27const_2elist_2eAPPEND_27__02(s__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2ebvlSem_2ev_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),V_27vs_27),s__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2ebvlSem_2ev_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),V_27vars_27))))))
        & p__01(s__02(cbool__00,c_27const_2elabProps_2egood__dimindex_27__01(s__02(c_27type_2ebool_2eitself_27__01(V_27A_27),c_27const_2ebool_2ethe__value_27__00))))
        & s__02(c_27type_2egc__shared_2eheap__element_27__02(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27),c_27type_2epair_2eprod_27__02(c_27type_2edata__to__word__memoryProof_2etag_27__00,c_27type_2elist_2elist_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)))),c_27const_2edata__to__word__memoryProof_2eWord64Rep_27__02(s__02(c_27type_2ebool_2eitself_27__01(V_27A_27),c_27const_2ebool_2ethe__value_27__00),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,c_27type_2efcp_2ebit0_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2eone_2eone_27__00))))))),V_27w64_27))) = s__02(c_27type_2egc__shared_2eheap__element_27__02(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27),c_27type_2epair_2eprod_27__02(c_27type_2edata__to__word__memoryProof_2etag_27__00,c_27type_2elist_2elist_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)))),c_27const_2egc__shared_2eDataElement_27__03(s__02(c_27type_2elist_2elist_27__01(c_27type_2egc__shared_2eheap__address_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),c_27const_2elist_2eNIL_27__00),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_2eword__loc_27__01(V_27A_27)),V_27ws_27))),s__02(c_27type_2epair_2eprod_27__02(c_27type_2edata__to__word__memoryProof_2etag_27__00,c_27type_2elist_2elist_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),c_27const_2epair_2e_2c_27__02(s__02(c_27type_2edata__to__word__memoryProof_2etag_27__00,c_27const_2edata__to__word__memoryProof_2eWord64Tag_27__00),s__02(c_27type_2elist_2elist_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),V_27ws_27)))))
        & p__01(s__02(cbool__00,c_27const_2eprim__rec_2e_3c_27__02(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_2eword__loc_27__01(V_27A_27)),V_27ws_27))),s__02(c_27type_2enum_2enum_27__00,V_27sp_27))))
        & s__02(c_27type_2eoption_2eoption_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),c_27const_2edata__to__word_2eencode__header_27__03(s__02(c_27type_2edata__to__word_2econfig_27__00,V_27c_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_2eBIT1_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eZERO_27__00))))))),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_2eword__loc_27__01(V_27A_27)),V_27ws_27))))) = s__02(c_27type_2eoption_2eoption_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),c_27const_2eoption_2eSOME_27__01(s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27hd_27))) )
     => ? [V_27ne_27,V_27curr_27,V_27m1_27] :
          ( s__02(c_27type_2eoption_2eoption_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),c_27const_2efinite__map_2eFLOOKUP_27__02(s__02(c_27type_2efinite__map_2efmap_27__02(c_27type_2estackLang_2estore__name_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),V_27st_27),s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eNextFree_27__00))) = s__02(c_27type_2eoption_2eoption_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),c_27const_2eoption_2eSOME_27__01(s__02(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27),chapp__02(s__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_27const_2ewordSem_2eWord_27__00),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27ne_27)))))
          & s__02(c_27type_2eoption_2eoption_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),c_27const_2efinite__map_2eFLOOKUP_27__02(s__02(c_27type_2efinite__map_2efmap_27__02(c_27type_2estackLang_2estore__name_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),V_27st_27),s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eCurrHeap_27__00))) = s__02(c_27type_2eoption_2eoption_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),c_27const_2eoption_2eSOME_27__01(s__02(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27),chapp__02(s__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_27const_2ewordSem_2eWord_27__00),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27curr_27)))))
          & s__02(c_27type_2eoption_2eoption_27__01(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),c_27const_2edata__to__word__memoryProof_2estore__list_27__04(s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27ne_27),s__02(c_27type_2elist_2elist_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),c_27const_2elist_2eCONS_27__02(s__02(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27),chapp__02(s__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_27const_2ewordSem_2eWord_27__00),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27hd_27))),s__02(c_27type_2elist_2elist_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),V_27ws_27))),s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),V_27m_27),s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),cbool__00),V_27dm_27))) = s__02(c_27type_2eoption_2eoption_27__01(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),c_27const_2eoption_2eSOME_27__01(s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),V_27m1_27)))
          & p__01(s__02(cbool__00,c_27const_2edata__to__word__memoryProof_2ememory__rel_27__08(s__02(c_27type_2edata__to__word_2econfig_27__00,V_27c_27),s__02(cbool__00,V_27be_27),s__02(c_27type_2efinite__map_2efmap_27__02(c_27type_2enum_2enum_27__00,c_27type_2eclosSem_2eref_27__01(c_27type_2ebvlSem_2ev_27__00)),V_27refs_27),s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2e_2d_27__02(s__02(c_27type_2enum_2enum_27__00,V_27sp_27),s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2e_2b_27__02(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_2eword__loc_27__01(V_27A_27)),V_27ws_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))))))))),s__02(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_2efinite__map_2eFUPDATE_27__02(s__02(c_27type_2efinite__map_2efmap_27__02(c_27type_2estackLang_2estore__name_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),V_27st_27),s__02(c_27type_2epair_2eprod_27__02(c_27type_2estackLang_2estore__name_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),c_27const_2epair_2e_2c_27__02(s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eNextFree_27__00),s__02(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27),chapp__02(s__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_27const_2ewordSem_2eWord_27__00),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),chapp__02(s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),chapp__02(s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27))),c_27const_2ewords_2eword__add_27__00),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27ne_27))),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27const_2ewords_2eword__mul_27__02(s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27const_2emisc_2ebytes__in__word_27__00),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27const_2ewords_2en2w_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2e_2b_27__02(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_2eword__loc_27__01(V_27A_27)),V_27ws_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))))))))))))))))))),s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),V_27m1_27),s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),cbool__00),V_27dm_27),s__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2ebvlSem_2ev_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),c_27const_2elist_2eCONS_27__02(s__02(c_27type_2epair_2eprod_27__02(c_27type_2ebvlSem_2ev_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),c_27const_2epair_2e_2c_27__02(s__02(c_27type_2ebvlSem_2ev_27__00,c_27const_2ebvlSem_2eWord64_27__01(s__02(c_27type_2efcp_2ecart_27__02(cbool__00,c_27type_2efcp_2ebit0_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2eone_2eone_27__00))))))),V_27w64_27))),s__02(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27),c_27const_2edata__to__word__memoryProof_2emake__ptr_27__04(s__02(c_27type_2edata__to__word_2econfig_27__00,V_27c_27),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27const_2ewords_2eword__sub_27__02(s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27ne_27),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27curr_27))),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27const_2ewords_2en2w_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2enum_2e0_27__00))),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_2eword__loc_27__01(V_27A_27)),V_27ws_27))))))),s__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2ebvlSem_2ev_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),V_27vars_27)))))) ) ) ).

fof('thm.data_to_word_gcProof.adjust_var_NEQ',axiom,
    ! [V_27n_27] :
      ( s__02(c_27type_2enum_2enum_27__00,c_27const_2edata__to__word_2eadjust__var_27__01(s__02(c_27type_2enum_2enum_27__00,V_27n_27))) != s__02(c_27type_2enum_2enum_27__00,c_27const_2enum_2e0_27__00)
      & s__02(c_27type_2enum_2enum_27__00,c_27const_2edata__to__word_2eadjust__var_27__01(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)))))
      & s__02(c_27type_2enum_2enum_27__00,c_27const_2edata__to__word_2eadjust__var_27__01(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_2eBIT1_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eZERO_27__00)))))))
      & s__02(c_27type_2enum_2enum_27__00,c_27const_2edata__to__word_2eadjust__var_27__01(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_2eBIT2_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eZERO_27__00)))))))
      & s__02(c_27type_2enum_2enum_27__00,c_27const_2edata__to__word_2eadjust__var_27__01(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_2eBIT1_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)))))))))
      & s__02(c_27type_2enum_2enum_27__00,c_27const_2edata__to__word_2eadjust__var_27__01(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_2eBIT2_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)))))))))
      & s__02(c_27type_2enum_2enum_27__00,c_27const_2edata__to__word_2eadjust__var_27__01(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_2eBIT1_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT2_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eZERO_27__00)))))))))
      & s__02(c_27type_2enum_2enum_27__00,c_27const_2edata__to__word_2eadjust__var_27__01(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_2eBIT2_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eBIT2_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eZERO_27__00))))))))) ) ).

fof('thm.data_to_word_gcProof.adjust_var_NOT_0',axiom,
    ! [V_27n_27] : s__02(c_27type_2enum_2enum_27__00,c_27const_2edata__to__word_2eadjust__var_27__01(s__02(c_27type_2enum_2enum_27__00,V_27n_27))) != s__02(c_27type_2enum_2enum_27__00,c_27const_2enum_2e0_27__00) ).

fof('thm.data_to_word_gcProof.memory_rel_insert',axiom,
    ! [V_27A_27,V_27xs_27,V_27x_27,V_27w_27,V_27st_27,V_27sp_27,V_27refs_27,V_27m_27,V_27l_27,V_27dm_27,V_27dest_27,V_27d_27,V_27c_27,V_27be_27] :
      ( p__01(s__02(cbool__00,c_27const_2edata__to__word__memoryProof_2ememory__rel_27__08(s__02(c_27type_2edata__to__word_2econfig_27__00,V_27c_27),s__02(cbool__00,V_27be_27),s__02(c_27type_2efinite__map_2efmap_27__02(c_27type_2enum_2enum_27__00,c_27type_2eclosSem_2eref_27__01(c_27type_2ebvlSem_2ev_27__00)),V_27refs_27),s__02(c_27type_2enum_2enum_27__00,V_27sp_27),s__02(c_27type_2efinite__map_2efmap_27__02(c_27type_2estackLang_2estore__name_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),V_27st_27),s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),V_27m_27),s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),cbool__00),V_27dm_27),s__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2ebvlSem_2ev_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),c_27const_2elist_2eAPPEND_27__02(s__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2ebvlSem_2ev_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),c_27const_2elist_2eAPPEND_27__02(s__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2ebvlSem_2ev_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),c_27const_2elist_2eCONS_27__02(s__02(c_27type_2epair_2eprod_27__02(c_27type_2ebvlSem_2ev_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),c_27const_2epair_2e_2c_27__02(s__02(c_27type_2ebvlSem_2ev_27__00,V_27x_27),s__02(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27),V_27w_27))),s__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2ebvlSem_2ev_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),c_27const_2elist_2eNIL_27__00))),s__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2ebvlSem_2ev_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),c_27const_2edata__to__word__gcProof_2ejoin__env_27__02(s__02(c_27type_2esptree_2espt_27__01(c_27type_2ebvlSem_2ev_27__00),V_27d_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)),c_27const_2esptree_2einter_27__02(s__02(c_27type_2esptree_2espt_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),V_27l_27),s__02(c_27type_2esptree_2espt_27__01(c_27type_2eone_2eone_27__00),c_27const_2edata__to__word_2eadjust__set_27__01(s__02(c_27type_2esptree_2espt_27__01(c_27type_2ebvlSem_2ev_27__00),V_27d_27))))))))))),s__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2ebvlSem_2ev_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),V_27xs_27))))))
     => p__01(s__02(cbool__00,c_27const_2edata__to__word__memoryProof_2ememory__rel_27__08(s__02(c_27type_2edata__to__word_2econfig_27__00,V_27c_27),s__02(cbool__00,V_27be_27),s__02(c_27type_2efinite__map_2efmap_27__02(c_27type_2enum_2enum_27__00,c_27type_2eclosSem_2eref_27__01(c_27type_2ebvlSem_2ev_27__00)),V_27refs_27),s__02(c_27type_2enum_2enum_27__00,V_27sp_27),s__02(c_27type_2efinite__map_2efmap_27__02(c_27type_2estackLang_2estore__name_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),V_27st_27),s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),V_27m_27),s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),cbool__00),V_27dm_27),s__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2ebvlSem_2ev_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),c_27const_2elist_2eAPPEND_27__02(s__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2ebvlSem_2ev_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),c_27const_2edata__to__word__gcProof_2ejoin__env_27__02(s__02(c_27type_2esptree_2espt_27__01(c_27type_2ebvlSem_2ev_27__00),c_27const_2esptree_2einsert_27__03(s__02(c_27type_2enum_2enum_27__00,V_27dest_27),s__02(c_27type_2ebvlSem_2ev_27__00,V_27x_27),s__02(c_27type_2esptree_2espt_27__01(c_27type_2ebvlSem_2ev_27__00),V_27d_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)),c_27const_2esptree_2einter_27__02(s__02(c_27type_2esptree_2espt_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),c_27const_2esptree_2einsert_27__03(s__02(c_27type_2enum_2enum_27__00,c_27const_2edata__to__word_2eadjust__var_27__01(s__02(c_27type_2enum_2enum_27__00,V_27dest_27))),s__02(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27),V_27w_27),s__02(c_27type_2esptree_2espt_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),V_27l_27))),s__02(c_27type_2esptree_2espt_27__01(c_27type_2eone_2eone_27__00),c_27const_2edata__to__word_2eadjust__set_27__01(s__02(c_27type_2esptree_2espt_27__01(c_27type_2ebvlSem_2ev_27__00),c_27const_2esptree_2einsert_27__03(s__02(c_27type_2enum_2enum_27__00,V_27dest_27),s__02(c_27type_2ebvlSem_2ev_27__00,V_27x_27),s__02(c_27type_2esptree_2espt_27__01(c_27type_2ebvlSem_2ev_27__00),V_27d_27))))))))))),s__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2ebvlSem_2ev_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),V_27xs_27)))))) ) ).

fof('thm.data_to_word_gcProof.inter_insert_ODD_adjust_set_alt',axiom,
    ! [V_27A_27,V_27B_27,V_27v_27,V_27t_27,V_27s_27,V_27k_27] :
      ( p__01(s__02(cbool__00,c_27const_2earithmetic_2eODD_27__01(s__02(c_27type_2enum_2enum_27__00,V_27k_27))))
     => s__02(c_27type_2esptree_2espt_27__01(V_27A_27),c_27const_2esptree_2einter_27__02(s__02(c_27type_2esptree_2espt_27__01(V_27A_27),c_27const_2esptree_2einsert_27__03(s__02(c_27type_2enum_2enum_27__00,V_27k_27),s__02(V_27A_27,V_27v_27),s__02(c_27type_2esptree_2espt_27__01(V_27A_27),V_27s_27))),s__02(c_27type_2esptree_2espt_27__01(c_27type_2eone_2eone_27__00),c_27const_2edata__to__word_2eadjust__set_27__01(s__02(c_27type_2esptree_2espt_27__01(V_27B_27),V_27t_27))))) = s__02(c_27type_2esptree_2espt_27__01(V_27A_27),c_27const_2esptree_2einter_27__02(s__02(c_27type_2esptree_2espt_27__01(V_27A_27),V_27s_27),s__02(c_27type_2esptree_2espt_27__01(c_27type_2eone_2eone_27__00),c_27const_2edata__to__word_2eadjust__set_27__01(s__02(c_27type_2esptree_2espt_27__01(V_27B_27),V_27t_27))))) ) ).

fof('thm.data_to_word_gcProof.join_env_locals_def',axiom,
    ! [V_27B_27,V_27A_27,V_27sl_27,V_27tl_27] : s__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(V_27A_27,V_27B_27)),c_27const_2edata__to__word__gcProof_2ejoin__env__locals_27__02(s__02(c_27type_2esptree_2espt_27__01(V_27A_27),V_27sl_27),s__02(c_27type_2esptree_2espt_27__01(V_27B_27),V_27tl_27))) = s__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(V_27A_27,V_27B_27)),c_27const_2edata__to__word__gcProof_2ejoin__env_27__02(s__02(c_27type_2esptree_2espt_27__01(V_27A_27),V_27sl_27),s__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2enum_2enum_27__00,V_27B_27)),c_27const_2esptree_2etoAList_27__01(s__02(c_27type_2esptree_2espt_27__01(V_27B_27),c_27const_2esptree_2einter_27__02(s__02(c_27type_2esptree_2espt_27__01(V_27B_27),V_27tl_27),s__02(c_27type_2esptree_2espt_27__01(c_27type_2eone_2eone_27__00),c_27const_2edata__to__word_2eadjust__set_27__01(s__02(c_27type_2esptree_2espt_27__01(V_27A_27),V_27sl_27))))))))) ).

fof(conjecture,conjecture,
    ! [V_27B_27,V_27A_27,V_27FFI_27,V_27c_27,V_27be_27,V_27refs_27,V_27sp_27,V_27t_27,V_27sl_27,V_27vars_27,V_27src1_27,V_27w_27,V_27src2_27,V_27header_27,V_27dest_27] :
      ( ( p__01(s__02(cbool__00,c_27const_2edata__to__word__memoryProof_2ememory__rel_27__08(s__02(c_27type_2edata__to__word_2econfig_27__00,V_27c_27),s__02(cbool__00,V_27be_27),s__02(c_27type_2efinite__map_2efmap_27__02(c_27type_2enum_2enum_27__00,c_27type_2eclosSem_2eref_27__01(c_27type_2ebvlSem_2ev_27__00)),V_27refs_27),s__02(c_27type_2enum_2enum_27__00,V_27sp_27),s__02(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__store_27__01(s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),V_27t_27))),s__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_27const_2ewordSem_2estate__memory_27__01(s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),V_27t_27))),s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),cbool__00),c_27const_2ewordSem_2estate__mdomain_27__01(s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),V_27t_27))),s__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2ebvlSem_2ev_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),c_27const_2elist_2eAPPEND_27__02(s__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2ebvlSem_2ev_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),c_27const_2edata__to__word__gcProof_2ejoin__env__locals_27__02(s__02(c_27type_2esptree_2espt_27__01(c_27type_2ebvlSem_2ev_27__00),V_27sl_27),s__02(c_27type_2esptree_2espt_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),c_27const_2ewordSem_2estate__locals_27__01(s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),V_27t_27))))),s__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2ebvlSem_2ev_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),V_27vars_27))))))
        & s__02(c_27type_2eoption_2eoption_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),c_27const_2ewordSem_2eget__var_27__02(s__02(c_27type_2enum_2enum_27__00,V_27src1_27),s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),V_27t_27))) = s__02(c_27type_2eoption_2eoption_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),c_27const_2eoption_2eSOME_27__01(s__02(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27),chapp__02(s__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_27const_2ewordSem_2eWord_27__00),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27const_2ewords_2eword__extract_27__03(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_2eBIT1_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_2eBIT1_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))))))))))))),s__02(c_27type_2enum_2enum_27__00,c_27const_2enum_2e0_27__00),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,c_27type_2efcp_2ebit0_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2eone_2eone_27__00))))))),V_27w_27)))))))
        & s__02(c_27type_2eoption_2eoption_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),c_27const_2ewordSem_2eget__var_27__02(s__02(c_27type_2enum_2enum_27__00,V_27src2_27),s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),V_27t_27))) = s__02(c_27type_2eoption_2eoption_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),c_27const_2eoption_2eSOME_27__01(s__02(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27),chapp__02(s__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_27const_2ewordSem_2eWord_27__00),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27const_2ewords_2eword__extract_27__03(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_2eBIT1_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_2eBIT1_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_2eBIT1_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eZERO_27__00))))))))))))))),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_2eBIT2_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_2eBIT1_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_2eBIT1_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eZERO_27__00))))))))))))),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,c_27type_2efcp_2ebit0_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2eone_2eone_27__00))))))),V_27w_27)))))))
        & p__01(s__02(cbool__00,c_27const_2eprim__rec_2e_3c_27__02(s__02(c_27type_2enum_2enum_27__00,c_27const_2edata__to__word_2eshift__length_27__01(s__02(c_27type_2edata__to__word_2econfig_27__00,V_27c_27))),s__02(c_27type_2enum_2enum_27__00,c_27const_2efcp_2edimindex_27__01(s__02(c_27type_2ebool_2eitself_27__01(V_27A_27),c_27const_2ebool_2ethe__value_27__00))))))
        & s__02(c_27type_2enum_2enum_27__00,V_27src1_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)))))
        & s__02(c_27type_2enum_2enum_27__00,V_27src2_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)))))
        & p__01(s__02(cbool__00,c_27const_2eprim__rec_2e_3c_27__02(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_2eBIT2_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eZERO_27__00))))),s__02(c_27type_2enum_2enum_27__00,V_27sp_27))))
        & s__02(c_27type_2enum_2enum_27__00,c_27const_2efcp_2edimindex_27__01(s__02(c_27type_2ebool_2eitself_27__01(V_27A_27),c_27const_2ebool_2ethe__value_27__00))) = 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_2eBIT2_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_2eBIT1_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_2eBIT1_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eZERO_27__00)))))))))))))
        & s__02(c_27type_2eoption_2eoption_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),c_27const_2edata__to__word_2eencode__header_27__03(s__02(c_27type_2edata__to__word_2econfig_27__00,V_27c_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_2eBIT1_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eZERO_27__00))))))),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_2eBIT2_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eZERO_27__00))))))) = s__02(c_27type_2eoption_2eoption_27__01(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27)),c_27const_2eoption_2eSOME_27__01(s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27header_27)))
        & ! [V_27n_27] :
            ( p__01(s__02(cbool__00,c_27const_2eoption_2eIS__SOME_27__01(s__02(c_27type_2eoption_2eoption_27__01(c_27type_2ebvlSem_2ev_27__00),c_27const_2esptree_2elookup_27__02(s__02(c_27type_2enum_2enum_27__00,V_27n_27),s__02(c_27type_2esptree_2espt_27__01(c_27type_2ebvlSem_2ev_27__00),V_27sl_27))))))
           => p__01(s__02(cbool__00,c_27const_2eoption_2eIS__SOME_27__01(s__02(c_27type_2eoption_2eoption_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),c_27const_2esptree_2elookup_27__02(s__02(c_27type_2enum_2enum_27__00,c_27const_2edata__to__word_2eadjust__var_27__01(s__02(c_27type_2enum_2enum_27__00,V_27n_27))),s__02(c_27type_2esptree_2espt_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),c_27const_2ewordSem_2estate__locals_27__01(s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),V_27t_27)))))))) ) )
     => ? [V_27nf_27,V_27m_7c39_7c_27,V_27locals_7c39_7c_27,V_27v_27] :
          ( s__02(c_27type_2epair_2eprod_27__02(c_27type_2eoption_2eoption_27__01(c_27type_2ewordSem_2eresult_27__01(V_27A_27)),c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27)),c_27const_2ewordSem_2eevaluate_27__01(s__02(c_27type_2epair_2eprod_27__02(c_27type_2ewordLang_2eprog_27__01(V_27A_27),c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27)),c_27const_2epair_2e_2c_27__02(s__02(c_27type_2ewordLang_2eprog_27__01(V_27A_27),c_27const_2edata__to__word_2eWriteWord64__on__32_27__05(s__02(c_27type_2edata__to__word_2econfig_27__00,V_27c_27),s__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),V_27header_27),s__02(c_27type_2enum_2enum_27__00,V_27dest_27),s__02(c_27type_2enum_2enum_27__00,V_27src1_27),s__02(c_27type_2enum_2enum_27__00,V_27src2_27))),s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),V_27t_27))))) = s__02(c_27type_2epair_2eprod_27__02(c_27type_2eoption_2eoption_27__01(c_27type_2ewordSem_2eresult_27__01(V_27A_27)),c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27)),c_27const_2epair_2e_2c_27__02(s__02(c_27type_2eoption_2eoption_27__01(c_27type_2ewordSem_2eresult_27__01(V_27A_27)),c_27const_2eoption_2eNONE_27__00),s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),c_27const_2ewordSem_2estate__store__fupd_27__02(s__02(cfun__02(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_2efinite__map_2efmap_27__02(c_27type_2estackLang_2estore__name_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),c_27const_2ecombin_2eK_27__01(s__02(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_2efinite__map_2eFUPDATE_27__02(s__02(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__store_27__01(s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),V_27t_27))),s__02(c_27type_2epair_2eprod_27__02(c_27type_2estackLang_2estore__name_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),c_27const_2epair_2e_2c_27__02(s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eNextFree_27__00),s__02(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27),V_27nf_27))))))),s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),c_27const_2ewordSem_2estate__memory__fupd_27__02(s__02(cfun__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),c_27const_2ecombin_2eK_27__01(s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),V_27m_7c39_7c_27))),s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),c_27const_2ewordSem_2estate__locals__fupd_27__02(s__02(cfun__02(c_27type_2esptree_2espt_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),c_27type_2esptree_2espt_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),c_27const_2ecombin_2eK_27__01(s__02(c_27type_2esptree_2espt_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),V_27locals_7c39_7c_27))),s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),V_27t_27)))))))))
          & p__01(s__02(cbool__00,c_27const_2edata__to__word__memoryProof_2ememory__rel_27__08(s__02(c_27type_2edata__to__word_2econfig_27__00,V_27c_27),s__02(cbool__00,V_27be_27),s__02(c_27type_2efinite__map_2efmap_27__02(c_27type_2enum_2enum_27__00,c_27type_2eclosSem_2eref_27__01(c_27type_2ebvlSem_2ev_27__00)),V_27refs_27),s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2e_2d_27__02(s__02(c_27type_2enum_2enum_27__00,V_27sp_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_2eBIT1_27__01(s__02(c_27type_2enum_2enum_27__00,c_27const_2earithmetic_2eZERO_27__00))))))))),s__02(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_2efinite__map_2eFUPDATE_27__02(s__02(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__store_27__01(s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),V_27t_27))),s__02(c_27type_2epair_2eprod_27__02(c_27type_2estackLang_2estore__name_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),c_27const_2epair_2e_2c_27__02(s__02(c_27type_2estackLang_2estore__name_27__00,c_27const_2estackLang_2eNextFree_27__00),s__02(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27),V_27nf_27))))),s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),V_27m_7c39_7c_27),s__02(cfun__02(c_27type_2efcp_2ecart_27__02(cbool__00,V_27A_27),cbool__00),c_27const_2ewordSem_2estate__mdomain_27__01(s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),V_27t_27))),s__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2ebvlSem_2ev_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),c_27const_2elist_2eAPPEND_27__02(s__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2ebvlSem_2ev_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),c_27const_2edata__to__word__gcProof_2ejoin__env__locals_27__02(s__02(c_27type_2esptree_2espt_27__01(c_27type_2ebvlSem_2ev_27__00),c_27const_2esptree_2einsert_27__03(s__02(c_27type_2enum_2enum_27__00,V_27dest_27),s__02(c_27type_2ebvlSem_2ev_27__00,c_27const_2ebvlSem_2eWord64_27__01(s__02(c_27type_2efcp_2ecart_27__02(cbool__00,c_27type_2efcp_2ebit0_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2efcp_2ebit0_27__01(c_27type_2eone_2eone_27__00))))))),V_27w_27))),s__02(c_27type_2esptree_2espt_27__01(c_27type_2ebvlSem_2ev_27__00),V_27sl_27))),s__02(c_27type_2esptree_2espt_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),V_27locals_7c39_7c_27))),s__02(c_27type_2elist_2elist_27__01(c_27type_2epair_2eprod_27__02(c_27type_2ebvlSem_2ev_27__00,c_27type_2ewordSem_2eword__loc_27__01(V_27A_27))),V_27vars_27))))))
          & ! [V_27n_27] :
              ( p__01(s__02(cbool__00,c_27const_2eoption_2eIS__SOME_27__01(s__02(c_27type_2eoption_2eoption_27__01(c_27type_2ebvlSem_2ev_27__00),c_27const_2esptree_2elookup_27__02(s__02(c_27type_2enum_2enum_27__00,V_27n_27),s__02(c_27type_2esptree_2espt_27__01(c_27type_2ebvlSem_2ev_27__00),V_27sl_27))))))
             => p__01(s__02(cbool__00,c_27const_2eoption_2eIS__SOME_27__01(s__02(c_27type_2eoption_2eoption_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),c_27const_2esptree_2elookup_27__02(s__02(c_27type_2enum_2enum_27__00,c_27const_2edata__to__word_2eadjust__var_27__01(s__02(c_27type_2enum_2enum_27__00,V_27n_27))),s__02(c_27type_2esptree_2espt_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),V_27locals_7c39_7c_27)))))) )
          & p__01(s__02(cbool__00,c_27const_2eoption_2eIS__SOME_27__01(s__02(c_27type_2eoption_2eoption_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),c_27const_2esptree_2elookup_27__02(s__02(c_27type_2enum_2enum_27__00,c_27const_2edata__to__word_2eadjust__var_27__01(s__02(c_27type_2enum_2enum_27__00,V_27dest_27))),s__02(c_27type_2esptree_2espt_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),V_27locals_7c39_7c_27))))))
          & s__02(c_27type_2eoption_2eoption_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),c_27const_2esptree_2elookup_27__02(s__02(c_27type_2enum_2enum_27__00,c_27const_2enum_2e0_27__00),s__02(c_27type_2esptree_2espt_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),V_27locals_7c39_7c_27))) = s__02(c_27type_2eoption_2eoption_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),c_27const_2esptree_2elookup_27__02(s__02(c_27type_2enum_2enum_27__00,c_27const_2enum_2e0_27__00),s__02(c_27type_2esptree_2espt_27__01(c_27type_2ewordSem_2eword__loc_27__01(V_27A_27)),c_27const_2ewordSem_2estate__locals_27__01(s__02(c_27type_2ewordSem_2estate_27__02(V_27A_27,V_27FFI_27),V_27t_27))))) ) ) ).

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