↑ Up

iProverMo---2.5-0.1.THM-CRf.s

View TPTP
Problem
Process solution in
SystemOnTSTP
Download .tgz
%------------------------------------------------------------------------------
% File     : iProverMo---2.5-0.1
% Problem  : SWW478+5 : TPTP v8.1.0. Released v5.3.0.
% Transfm  : none
% Format   : tptp:raw
% Command  : iprover_modulo %s %d

% Computer : n029.cluster.edu
% Model    : x86_64 x86_64
% CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 2.10GHz
% Memory   : 8042.1875MB
% OS       : Linux 3.10.0-693.el7.x86_64
% CPULimit : 300s
% WCLimit  : 600s
% DateTime : Thu Jul 21 00:30:36 EDT 2022

% Result   : Theorem 0.96s 1.14s
% Output   : CNFRefutation 0.96s
% Verified : 
% SZS Type : Refutation
%            Derivation depth      :    5
%            Number of leaves      :  158
% Syntax   : Number of formulae    : 1172 ( 562 unt;   0 def)
%            Number of atoms       : 2164 (1158 equ)
%            Maximal formula atoms :   18 (   1 avg)
%            Number of connectives : 1807 ( 815   ~; 760   |;  60   &)
%                                         (  32 <=>; 140  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   23 (   4 avg)
%            Maximal term depth    :   19 (   3 avg)
%            Number of predicates  :    3 (   1 usr;   1 prp; 0-2 aty)
%            Number of functors    :  189 ( 189 usr;  27 con; 0-8 aty)
%            Number of variables   : 5262 ( 496 sgn2031   !;   8   ?)

% Comments : 
%------------------------------------------------------------------------------
% Axioms transformation by autotheo
% Orienting (remaining) axiom formulas using strategy ClausalAll
% CNF of (remaining) axioms:
% Start CNF derivation
fof(c_0_0,axiom,
    ! [X3,X1,X2,X21,X4,X5,X10,X22] :
      ( ! [X23,X24,X25,X26,X27,X28] : hBOOL(hAPP(product_prod(X3,product_prod(X1,product_prod(X2,product_prod(X21,product_prod(X4,X5))))),bool,X22,hAPP(product_prod(X1,product_prod(X2,product_prod(X21,product_prod(X4,X5)))),product_prod(X3,product_prod(X1,product_prod(X2,product_prod(X21,product_prod(X4,X5))))),hAPP(X3,fun(product_prod(X1,product_prod(X2,product_prod(X21,product_prod(X4,X5)))),product_prod(X3,product_prod(X1,product_prod(X2,product_prod(X21,product_prod(X4,X5)))))),product_Pair(X3,product_prod(X1,product_prod(X2,product_prod(X21,product_prod(X4,X5))))),X23),hAPP(product_prod(X2,product_prod(X21,product_prod(X4,X5))),product_prod(X1,product_prod(X2,product_prod(X21,product_prod(X4,X5)))),hAPP(X1,fun(product_prod(X2,product_prod(X21,product_prod(X4,X5))),product_prod(X1,product_prod(X2,product_prod(X21,product_prod(X4,X5))))),product_Pair(X1,product_prod(X2,product_prod(X21,product_prod(X4,X5)))),X24),hAPP(product_prod(X21,product_prod(X4,X5)),product_prod(X2,product_prod(X21,product_prod(X4,X5))),hAPP(X2,fun(product_prod(X21,product_prod(X4,X5)),product_prod(X2,product_prod(X21,product_prod(X4,X5)))),product_Pair(X2,product_prod(X21,product_prod(X4,X5))),X25),hAPP(product_prod(X4,X5),product_prod(X21,product_prod(X4,X5)),hAPP(X21,fun(product_prod(X4,X5),product_prod(X21,product_prod(X4,X5))),product_Pair(X21,product_prod(X4,X5)),X26),hAPP(X5,product_prod(X4,X5),hAPP(X4,fun(X5,product_prod(X4,X5)),product_Pair(X4,X5),X27),X28)))))))
     => hBOOL(hAPP(product_prod(X3,product_prod(X1,product_prod(X2,product_prod(X21,product_prod(X4,X5))))),bool,X22,X10)) ),
    file('<stdin>',fact_8_prod__induct6) ).

fof(c_0_1,axiom,
    ! [X22,X19,X49] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),typeSa885026672_sconf,X22),X19),X49))
    <=> hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),product_prod_case(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)),bool),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool)),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool))),fun(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool))),combs(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool)),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(bool,bool)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool))),hAPP(fun(fun(bool,bool),fun(fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool))),fun(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(bool,bool)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool)))),combb(fun(bool,bool),fun(fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool)),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),combb(bool,bool,fun(list(char),option(val)))),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(bool,bool)),hAPP(fun(bool,fun(bool,bool)),fun(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(bool,bool))),combb(bool,fun(bool,bool),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),fconj),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),hconf(product_prod(list(list(char)),exp(list(char)))),X22)))),hAPP(fun(list(char),option(ty)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool)),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool))),fun(fun(list(char),option(ty)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool))),combc(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool)),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool))),hAPP(fun(fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool)),fun(fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool))),fun(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool)))),combb(fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool)),fun(fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool)),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),combc(fun(list(char),option(val)),fun(list(char),option(ty)),bool)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool))),lconf(product_prod(list(list(char)),exp(list(char)))),X22))),X19))),X49)) ),
    file('<stdin>',fact_40_sconf__def) ).

fof(c_0_2,axiom,
    ! [X18,X63,X43,X44,X45,X64,X65,X46,X47,X48,X22] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X43),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X44),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),X45),X64),hAPP(val,option(val),some(val),X65))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X46),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X47),X48)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X22)))
     => ( hAPP(list(char),option(val),X48,X64) = hAPP(val,option(val),some(val),X63)
       => hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X64),X18),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),X64),hAPP(val,exp(list(char)),val_1(list(char)),X65))),X43))),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X44),X45))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X64),X18),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),X64),hAPP(val,exp(list(char)),val_1(list(char)),X63))),X46))),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X47),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),X48),X64),hAPP(list(char),option(val),X45,X64)))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X22))) ) ),
    file('<stdin>',fact_51_red__reds_OInitBlockRed) ).

fof(c_0_3,axiom,
    ! [X18,X65,X43,X44,X45,X64,X46,X47,X48,X22] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X43),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X44),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),X45),X64),none(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X46),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X47),X48)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X22)))
     => ( hAPP(list(char),option(val),X48,X64) = hAPP(val,option(val),some(val),X65)
       => ( ~ hBOOL(hAPP(exp(list(char)),bool,hAPP(list(char),fun(exp(list(char)),bool),assigned,X64),X43))
         => hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X64),X18),X43)),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X44),X45))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X64),X18),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),X64),hAPP(val,exp(list(char)),val_1(list(char)),X65))),X46))),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X47),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),X48),X64),hAPP(list(char),option(val),X45,X64)))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X22))) ) ) ),
    file('<stdin>',fact_89_red__reds_OBlockRedSome) ).

fof(c_0_4,axiom,
    ! [X3,X1,X2,X21,X4,X10,X22] :
      ( ! [X23,X24,X25,X26,X27] : hBOOL(hAPP(product_prod(X3,product_prod(X1,product_prod(X2,product_prod(X21,X4)))),bool,X22,hAPP(product_prod(X1,product_prod(X2,product_prod(X21,X4))),product_prod(X3,product_prod(X1,product_prod(X2,product_prod(X21,X4)))),hAPP(X3,fun(product_prod(X1,product_prod(X2,product_prod(X21,X4))),product_prod(X3,product_prod(X1,product_prod(X2,product_prod(X21,X4))))),product_Pair(X3,product_prod(X1,product_prod(X2,product_prod(X21,X4)))),X23),hAPP(product_prod(X2,product_prod(X21,X4)),product_prod(X1,product_prod(X2,product_prod(X21,X4))),hAPP(X1,fun(product_prod(X2,product_prod(X21,X4)),product_prod(X1,product_prod(X2,product_prod(X21,X4)))),product_Pair(X1,product_prod(X2,product_prod(X21,X4))),X24),hAPP(product_prod(X21,X4),product_prod(X2,product_prod(X21,X4)),hAPP(X2,fun(product_prod(X21,X4),product_prod(X2,product_prod(X21,X4))),product_Pair(X2,product_prod(X21,X4)),X25),hAPP(X4,product_prod(X21,X4),hAPP(X21,fun(X4,product_prod(X21,X4)),product_Pair(X21,X4),X26),X27))))))
     => hBOOL(hAPP(product_prod(X3,product_prod(X1,product_prod(X2,product_prod(X21,X4)))),bool,X22,X10)) ),
    file('<stdin>',fact_10_prod__induct5) ).

fof(c_0_5,axiom,
    ! [X19,X18,X43,X44,X45,X46,X47,X48,X22] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X43),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X44),X45))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X46),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X47),X48)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X22)))
     => ( hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,X22),X44),X19),X43),X18))
       => ( hBOOL(hAPP(fun(list(char),option(ty)),bool,hAPP(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool))),lconf(product_prod(list(list(char)),exp(list(char)))),X22),X44),X45),X19))
         => hBOOL(hAPP(fun(list(char),option(ty)),bool,hAPP(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool))),lconf(product_prod(list(list(char)),exp(list(char)))),X22),X47),X48),X19)) ) ) ),
    file('<stdin>',fact_28_red__preserves__lconf) ).

fof(c_0_6,axiom,
    ! [X19,X18,X43,X44,X45,X46,X47,X48,X22] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X43),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X44),X45))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X46),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X47),X48)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X22)))
     => ( hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,X22),X44),X19),X43),X18))
       => ( hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),hconf(product_prod(list(list(char)),exp(list(char)))),X22),X44))
         => hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),hconf(product_prod(list(list(char)),exp(list(char)))),X22),X47)) ) ) ),
    file('<stdin>',fact_27_red__preserves__hconf) ).

fof(c_0_7,axiom,
    ! [X68,X43,X49,X46,X50,X22] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X43),X49)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X46),X50))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X22)))
     => hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),X43),X68)),X49)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),X46),X68)),X50))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X22))) ),
    file('<stdin>',fact_59_red__reds_OSeqRed) ).

fof(c_0_8,axiom,
    ! [X64,X43,X49,X46,X50,X22] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X43),X49)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X46),X50))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X22)))
     => hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),X64),X43)),X49)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),X64),X46)),X50))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X22))) ),
    file('<stdin>',fact_60_red__reds_OLAssRed) ).

fof(c_0_9,axiom,
    ! [X22,X37,X54,X90,X91] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,X22),X37),X54),X90),X91))
    <=> hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X37),X54)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X90),X91))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X22))) ),
    file('<stdin>',fact_98_redp__red__eq) ).

fof(c_0_10,axiom,
    ! [X19,X18,X43,X49,X46,X50,X22] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X43),X49)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X46),X50))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X22)))
     => ( hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,X22),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hp,X49)),X19),X43),X18))
       => ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),typeSa885026672_sconf,X22),X19),X49))
         => hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),typeSa885026672_sconf,X22),X19),X50)) ) ) ),
    file('<stdin>',fact_31_red__preserves__sconf) ).

fof(c_0_11,axiom,
    ! [X18,X63,X22,X43,X44,X45,X64,X65,X46,X47,X48] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,X22),X43),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X44),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),X45),X64),hAPP(val,option(val),some(val),X65)))),X46),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X47),X48)))
     => ( hAPP(list(char),option(val),X48,X64) = hAPP(val,option(val),some(val),X63)
       => hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,X22),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X64),X18),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),X64),hAPP(val,exp(list(char)),val_1(list(char)),X65))),X43))),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X44),X45)),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X64),X18),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),X64),hAPP(val,exp(list(char)),val_1(list(char)),X63))),X46))),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X47),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),X48),X64),hAPP(list(char),option(val),X45,X64))))) ) ),
    file('<stdin>',fact_88_redp__redsp_OInitBlockRed) ).

fof(c_0_12,axiom,
    ! [X18,X65,X22,X43,X44,X45,X64,X46,X47,X48] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,X22),X43),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X44),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),X45),X64),none(val)))),X46),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X47),X48)))
     => ( hAPP(list(char),option(val),X48,X64) = hAPP(val,option(val),some(val),X65)
       => ( ~ hBOOL(hAPP(exp(list(char)),bool,hAPP(list(char),fun(exp(list(char)),bool),assigned,X64),X43))
         => hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,X22),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X64),X18),X43)),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X44),X45)),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X64),X18),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),X64),hAPP(val,exp(list(char)),val_1(list(char)),X65))),X46))),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X47),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),X48),X64),hAPP(list(char),option(val),X45,X64))))) ) ) ),
    file('<stdin>',fact_97_redp__redsp_OBlockRedSome) ).

fof(c_0_13,axiom,
    ! [X18,X22,X43,X44,X45,X64,X46,X47,X48] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,X22),X43),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X44),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),X45),X64),none(val)))),X46),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X47),X48)))
     => ( hAPP(list(char),option(val),X48,X64) = none(val)
       => ( ~ hBOOL(hAPP(exp(list(char)),bool,hAPP(list(char),fun(exp(list(char)),bool),assigned,X64),X43))
         => hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,X22),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X64),X18),X43)),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X44),X45)),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X64),X18),X46)),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X47),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),X48),X64),hAPP(list(char),option(val),X45,X64))))) ) ) ),
    file('<stdin>',fact_92_redp__redsp_OBlockRedNone) ).

fof(c_0_14,axiom,
    ! [X68,X22,X43,X49,X46,X50] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,X22),X43),X49),X46),X50))
     => hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,X22),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),X43),X68)),X49),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),X46),X68)),X50)) ),
    file('<stdin>',fact_90_redp__redsp_OSeqRed) ).

fof(c_0_15,axiom,
    ! [X64,X22,X43,X49,X46,X50] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,X22),X43),X49),X46),X50))
     => hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,X22),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),X64),X43)),X49),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),X64),X46)),X50)) ),
    file('<stdin>',fact_91_redp__redsp_OLAssRed) ).

fof(c_0_16,axiom,
    ! [X64,X18,X65,X66,X49,X22] : hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X64),X18),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),X64),hAPP(val,exp(list(char)),val_1(list(char)),X65))),hAPP(val,exp(list(char)),val_1(list(char)),X66)))),X49)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),X66)),X49))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X22))),
    file('<stdin>',fact_52_red__reds_ORedInitBlock) ).

fof(c_0_17,axiom,
    hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),ea),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),ha),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),la),v_1),hAPP(val,option(val),some(val),v))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),e_a),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),h_a),l_a)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,p))),
    file('<stdin>',fact_1_InitBlockRed_I1_J) ).

fof(c_0_18,axiom,
    ! [X64,X65,X44,X45,X22] : hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),X64),hAPP(val,exp(list(char)),val_1(list(char)),X65))),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X44),X45))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),unit)),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X44),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),X45),X64),hAPP(val,option(val),some(val),X65)))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X22))),
    file('<stdin>',fact_67_red__reds_ORedLAss) ).

fof(c_0_19,axiom,
    ! [X3,X1,X2,X21,X4,X5,X29] :
      ~ ! [X23,X24,X25,X26,X27,X28] : ti(product_prod(X3,product_prod(X1,product_prod(X2,product_prod(X21,product_prod(X4,X5))))),X29) != hAPP(product_prod(X1,product_prod(X2,product_prod(X21,product_prod(X4,X5)))),product_prod(X3,product_prod(X1,product_prod(X2,product_prod(X21,product_prod(X4,X5))))),hAPP(X3,fun(product_prod(X1,product_prod(X2,product_prod(X21,product_prod(X4,X5)))),product_prod(X3,product_prod(X1,product_prod(X2,product_prod(X21,product_prod(X4,X5)))))),product_Pair(X3,product_prod(X1,product_prod(X2,product_prod(X21,product_prod(X4,X5))))),X23),hAPP(product_prod(X2,product_prod(X21,product_prod(X4,X5))),product_prod(X1,product_prod(X2,product_prod(X21,product_prod(X4,X5)))),hAPP(X1,fun(product_prod(X2,product_prod(X21,product_prod(X4,X5))),product_prod(X1,product_prod(X2,product_prod(X21,product_prod(X4,X5))))),product_Pair(X1,product_prod(X2,product_prod(X21,product_prod(X4,X5)))),X24),hAPP(product_prod(X21,product_prod(X4,X5)),product_prod(X2,product_prod(X21,product_prod(X4,X5))),hAPP(X2,fun(product_prod(X21,product_prod(X4,X5)),product_prod(X2,product_prod(X21,product_prod(X4,X5)))),product_Pair(X2,product_prod(X21,product_prod(X4,X5))),X25),hAPP(product_prod(X4,X5),product_prod(X21,product_prod(X4,X5)),hAPP(X21,fun(product_prod(X4,X5),product_prod(X21,product_prod(X4,X5))),product_Pair(X21,product_prod(X4,X5)),X26),hAPP(X5,product_prod(X4,X5),hAPP(X4,fun(X5,product_prod(X4,X5)),product_Pair(X4,X5),X27),X28))))),
    file('<stdin>',fact_9_prod__cases6) ).

fof(c_0_20,axiom,
    ! [X64,X18,X66,X49,X22] : hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X64),X18),hAPP(val,exp(list(char)),val_1(list(char)),X66))),X49)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),X66)),X49))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X22))),
    file('<stdin>',fact_62_red__reds_ORedBlock) ).

fof(c_0_21,axiom,
    ! [X65,X68,X49,X22] : hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),X65)),X68)),X49)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X68),X49))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X22))),
    file('<stdin>',fact_61_red__reds_ORedSeq) ).

fof(c_0_22,axiom,
    ! [X68,X69,X22,X44,X19,X70,X71] :
      ( hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,X22),X44),X19),X70),X71))
     => ( hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,X22),X44),X19),X68),X69))
       => hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,X22),X44),X19),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),X70),X68)),X69)) ) ),
    file('<stdin>',fact_57_WTrtSeq) ).

fof(c_0_23,axiom,
    ! [X22,X64,X18,X65,X66,X49] : hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,X22),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X64),X18),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),X64),hAPP(val,exp(list(char)),val_1(list(char)),X65))),hAPP(val,exp(list(char)),val_1(list(char)),X66)))),X49),hAPP(val,exp(list(char)),val_1(list(char)),X66)),X49)),
    file('<stdin>',fact_99_redp__redsp_ORedInitBlock) ).

fof(c_0_24,axiom,
    ! [X18,X19] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),typeSa885026672_sconf,p),X19),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),ha),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),la),v_1),hAPP(val,option(val),some(val),v)))))
     => ( hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,p),ha),X19),ea),X18))
       => ? [X20] :
            ( hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,p),h_a),X19),e_a),X20))
            & hBOOL(hAPP(ty,bool,hAPP(ty,fun(ty,bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(ty,fun(ty,bool)),widen(product_prod(list(list(char)),exp(list(char)))),p),X20),X18)) ) ) ),
    file('<stdin>',fact_7_InitBlockRed_I2_J) ).

fof(c_0_25,axiom,
    ! [X22,X64,X18,X66,X49] : hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,X22),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X64),X18),hAPP(val,exp(list(char)),val_1(list(char)),X66))),X49),hAPP(val,exp(list(char)),val_1(list(char)),X66)),X49)),
    file('<stdin>',fact_95_redp__redsp_ORedBlock) ).

fof(c_0_26,axiom,
    ! [X22,X65,X68,X49] : hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,X22),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),X65)),X68)),X49),X68),X49)),
    file('<stdin>',fact_93_redp__redsp_ORedSeq) ).

fof(c_0_27,axiom,
    ! [X22,X44,X19,X64,X18,X43,X67] :
      ( hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,X22),X44),hAPP(option(ty),fun(list(char),option(ty)),hAPP(list(char),fun(option(ty),fun(list(char),option(ty))),hAPP(fun(list(char),option(ty)),fun(list(char),fun(option(ty),fun(list(char),option(ty)))),fun_upd(list(char),option(ty)),X19),X64),hAPP(ty,option(ty),some(ty),X18))),X43),X67))
     => hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,X22),X44),X19),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X64),X18),X43)),X67)) ),
    file('<stdin>',fact_55_WTrtBlock) ).

fof(c_0_28,axiom,
    ! [X3,X1,X2,X21,X10,X22] :
      ( ! [X23,X24,X25,X26] : hBOOL(hAPP(product_prod(X3,product_prod(X1,product_prod(X2,X21))),bool,X22,hAPP(product_prod(X1,product_prod(X2,X21)),product_prod(X3,product_prod(X1,product_prod(X2,X21))),hAPP(X3,fun(product_prod(X1,product_prod(X2,X21)),product_prod(X3,product_prod(X1,product_prod(X2,X21)))),product_Pair(X3,product_prod(X1,product_prod(X2,X21))),X23),hAPP(product_prod(X2,X21),product_prod(X1,product_prod(X2,X21)),hAPP(X1,fun(product_prod(X2,X21),product_prod(X1,product_prod(X2,X21))),product_Pair(X1,product_prod(X2,X21)),X24),hAPP(X21,product_prod(X2,X21),hAPP(X2,fun(X21,product_prod(X2,X21)),product_Pair(X2,X21),X25),X26)))))
     => hBOOL(hAPP(product_prod(X3,product_prod(X1,product_prod(X2,X21))),bool,X22,X10)) ),
    file('<stdin>',fact_12_prod__induct4) ).

fof(c_0_29,axiom,
    hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,p),ha),e),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),v_1),t_1),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),v_1),hAPP(val,exp(list(char)),val_1(list(char)),v))),ea))),t)),
    file('<stdin>',fact_36_InitBlockRed_I5_J) ).

fof(c_0_30,axiom,
    hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool))),fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),bool),wf_prog(product_prod(list(list(char)),exp(list(char)))),wf_J_mdecl),p)),
    file('<stdin>',fact_3_assms) ).

fof(c_0_31,axiom,
    ! [X3,X1,X2,X21,X4,X29] :
      ~ ! [X23,X24,X25,X26,X27] : ti(product_prod(X3,product_prod(X1,product_prod(X2,product_prod(X21,X4)))),X29) != hAPP(product_prod(X1,product_prod(X2,product_prod(X21,X4))),product_prod(X3,product_prod(X1,product_prod(X2,product_prod(X21,X4)))),hAPP(X3,fun(product_prod(X1,product_prod(X2,product_prod(X21,X4))),product_prod(X3,product_prod(X1,product_prod(X2,product_prod(X21,X4))))),product_Pair(X3,product_prod(X1,product_prod(X2,product_prod(X21,X4)))),X23),hAPP(product_prod(X2,product_prod(X21,X4)),product_prod(X1,product_prod(X2,product_prod(X21,X4))),hAPP(X1,fun(product_prod(X2,product_prod(X21,X4)),product_prod(X1,product_prod(X2,product_prod(X21,X4)))),product_Pair(X1,product_prod(X2,product_prod(X21,X4))),X24),hAPP(product_prod(X21,X4),product_prod(X2,product_prod(X21,X4)),hAPP(X2,fun(product_prod(X21,X4),product_prod(X2,product_prod(X21,X4))),product_Pair(X2,product_prod(X21,X4)),X25),hAPP(X4,product_prod(X21,X4),hAPP(X21,fun(X4,product_prod(X21,X4)),product_Pair(X21,X4),X26),X27)))),
    file('<stdin>',fact_11_prod__cases5) ).

fof(c_0_32,axiom,
    hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),typeSa885026672_sconf,p),e),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),ha),la))),
    file('<stdin>',fact_14_InitBlockRed_I4_J) ).

fof(c_0_33,axiom,
    ! [X3,X42,X41,X55,X56] :
      ( hBOOL(hAPP(ty,bool,hAPP(ty,fun(ty,bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X3)))))))),fun(ty,fun(ty,bool)),widen(X3),X41),X55),X56))
     => ( hBOOL(hAPP(ty,bool,hAPP(ty,fun(ty,bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X3)))))))),fun(ty,fun(ty,bool)),widen(X3),X41),X56),X42))
       => hBOOL(hAPP(ty,bool,hAPP(ty,fun(ty,bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X3)))))))),fun(ty,fun(ty,bool)),widen(X3),X41),X55),X42)) ) ),
    file('<stdin>',fact_35_widen__trans) ).

fof(c_0_34,axiom,
    ! [X2,X3,X1,X38,X40,X59] :
      ( ! [X23,X24] :
          ( ti(product_prod(X3,X1),X59) = hAPP(X1,product_prod(X3,X1),hAPP(X3,fun(X1,product_prod(X3,X1)),product_Pair(X3,X1),X23),X24)
         => hBOOL(hAPP(fun(X2,bool),bool,hAPP(X2,fun(fun(X2,bool),bool),member(X2),X38),hAPP(X1,fun(X2,bool),hAPP(X3,fun(X1,fun(X2,bool)),X40,X23),X24))) )
     => hBOOL(hAPP(fun(X2,bool),bool,hAPP(X2,fun(fun(X2,bool),bool),member(X2),X38),hAPP(product_prod(X3,X1),fun(X2,bool),hAPP(fun(X3,fun(X1,fun(X2,bool))),fun(product_prod(X3,X1),fun(X2,bool)),product_prod_case(X3,X1,fun(X2,bool)),X40),X59))) ),
    file('<stdin>',fact_66_mem__splitI2) ).

fof(c_0_35,axiom,
    ! [X2,X1,X3,X40,X10,X59] :
      ( ! [X23,X24] :
          ( hAPP(X1,product_prod(X3,X1),hAPP(X3,fun(X1,product_prod(X3,X1)),product_Pair(X3,X1),X23),X24) = ti(product_prod(X3,X1),X59)
         => hBOOL(hAPP(X2,bool,hAPP(X1,fun(X2,bool),hAPP(X3,fun(X1,fun(X2,bool)),X40,X23),X24),X10)) )
     => hBOOL(hAPP(X2,bool,hAPP(product_prod(X3,X1),fun(X2,bool),hAPP(fun(X3,fun(X1,fun(X2,bool))),fun(product_prod(X3,X1),fun(X2,bool)),product_prod_case(X3,X1,fun(X2,bool)),X40),X59),X10)) ),
    file('<stdin>',fact_65_splitI2_H) ).

fof(c_0_36,axiom,
    ti(fun(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool))),fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),bool)),wf_prog(product_prod(list(list(char)),exp(list(char))))) = wf_prog(product_prod(list(list(char)),exp(list(char)))),
    file('<stdin>',tsy_c_WellForm_Owf__prog_res) ).

fof(c_0_37,axiom,
    ! [X3,X1,X2,X38,X40,X59] :
      ( hBOOL(hAPP(fun(X3,bool),bool,hAPP(X3,fun(fun(X3,bool),bool),member(X3),X38),hAPP(product_prod(X1,X2),fun(X3,bool),hAPP(fun(X1,fun(X2,fun(X3,bool))),fun(product_prod(X1,X2),fun(X3,bool)),product_prod_case(X1,X2,fun(X3,bool)),X40),X59)))
     => ~ ! [X37,X58] :
            ( ti(product_prod(X1,X2),X59) = hAPP(X2,product_prod(X1,X2),hAPP(X1,fun(X2,product_prod(X1,X2)),product_Pair(X1,X2),X37),X58)
           => ~ hBOOL(hAPP(fun(X3,bool),bool,hAPP(X3,fun(fun(X3,bool),bool),member(X3),X38),hAPP(X2,fun(X3,bool),hAPP(X1,fun(X2,fun(X3,bool)),X40,X37),X58))) ) ),
    file('<stdin>',fact_64_mem__splitE) ).

fof(c_0_38,axiom,
    ! [X2,X3,X1,X40,X59,X38] :
      ( hBOOL(hAPP(X2,bool,hAPP(product_prod(X3,X1),fun(X2,bool),hAPP(fun(X3,fun(X1,fun(X2,bool))),fun(product_prod(X3,X1),fun(X2,bool)),product_prod_case(X3,X1,fun(X2,bool)),X40),X59),X38))
     => ~ ! [X37,X58] :
            ( ti(product_prod(X3,X1),X59) = hAPP(X1,product_prod(X3,X1),hAPP(X3,fun(X1,product_prod(X3,X1)),product_Pair(X3,X1),X37),X58)
           => ~ hBOOL(hAPP(X2,bool,hAPP(X1,fun(X2,bool),hAPP(X3,fun(X1,fun(X2,bool)),X40,X37),X58),X38)) ) ),
    file('<stdin>',fact_63_splitE_H) ).

fof(c_0_39,axiom,
    ! [X3,X1,X2,X62,X22,X38] :
      ( hBOOL(hAPP(X3,bool,X62,hAPP(product_prod(X1,X2),X3,hAPP(fun(X1,fun(X2,X3)),fun(product_prod(X1,X2),X3),product_prod_case(X1,X2,X3),X22),X38)))
     => ~ ! [X37,X58] :
            ( ti(product_prod(X1,X2),X38) = hAPP(X2,product_prod(X1,X2),hAPP(X1,fun(X2,product_prod(X1,X2)),product_Pair(X1,X2),X37),X58)
           => ~ hBOOL(hAPP(X3,bool,X62,hAPP(X2,X3,hAPP(X1,fun(X2,X3),X22,X37),X58))) ) ),
    file('<stdin>',fact_69_splitE2) ).

fof(c_0_40,axiom,
    ! [X3,X1,X2,X10,X22] :
      ( ! [X23,X24,X25] : hBOOL(hAPP(product_prod(X3,product_prod(X1,X2)),bool,X22,hAPP(product_prod(X1,X2),product_prod(X3,product_prod(X1,X2)),hAPP(X3,fun(product_prod(X1,X2),product_prod(X3,product_prod(X1,X2))),product_Pair(X3,product_prod(X1,X2)),X23),hAPP(X2,product_prod(X1,X2),hAPP(X1,fun(X2,product_prod(X1,X2)),product_Pair(X1,X2),X24),X25))))
     => hBOOL(hAPP(product_prod(X3,product_prod(X1,X2)),bool,X22,X10)) ),
    file('<stdin>',fact_30_prod__induct3) ).

fof(c_0_41,axiom,
    ti(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))))),redp) = redp,
    file('<stdin>',tsy_c_SmallStep_Oredp_res) ).

fof(c_0_42,axiom,
    ! [X3,X1,X22,X62,X37] :
      ( hBOOL(hAPP(product_prod(X3,X1),bool,hAPP(fun(X3,fun(X1,bool)),fun(product_prod(X3,X1),bool),product_prod_case(X3,X1,bool),hAPP(fun(X3,fun(X1,bool)),fun(X3,fun(X1,bool)),hAPP(fun(fun(X1,bool),fun(X1,bool)),fun(fun(X3,fun(X1,bool)),fun(X3,fun(X1,bool))),combb(fun(X1,bool),fun(X1,bool),X3),hAPP(fun(bool,bool),fun(fun(X1,bool),fun(X1,bool)),combb(bool,bool,X1),hAPP(bool,fun(bool,bool),fconj,X22))),X62)),X37))
    <=> ( hBOOL(X22)
        & hBOOL(hAPP(product_prod(X3,X1),bool,hAPP(fun(X3,fun(X1,bool)),fun(product_prod(X3,X1),bool),product_prod_case(X3,X1,bool),X62),X37)) ) ),
    file('<stdin>',fact_47_split__part) ).

fof(c_0_43,axiom,
    ti(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),typeSa885026672_sconf) = typeSa885026672_sconf,
    file('<stdin>',tsy_c_TypeSafe__Mirabelle__mcolmsuaig_Osconf_res) ).

fof(c_0_44,axiom,
    ! [X3,X1,X52,X53] :
      ( ! [X37,X54] :
          ( hBOOL(hAPP(fun(product_prod(X3,X1),bool),bool,hAPP(product_prod(X3,X1),fun(fun(product_prod(X3,X1),bool),bool),member(product_prod(X3,X1)),hAPP(X1,product_prod(X3,X1),hAPP(X3,fun(X1,product_prod(X3,X1)),product_Pair(X3,X1),X37),X54)),X53))
        <=> hBOOL(hAPP(fun(product_prod(X3,X1),bool),bool,hAPP(product_prod(X3,X1),fun(fun(product_prod(X3,X1),bool),bool),member(product_prod(X3,X1)),hAPP(X1,product_prod(X3,X1),hAPP(X3,fun(X1,product_prod(X3,X1)),product_Pair(X3,X1),X37),X54)),X52)) )
    <=> ti(fun(product_prod(X3,X1),bool),X53) = ti(fun(product_prod(X3,X1),bool),X52) ),
    file('<stdin>',fact_33_pred__equals__eq2) ).

fof(c_0_45,axiom,
    ! [X6,X41,X42] : hBOOL(hAPP(ty,bool,hAPP(ty,fun(ty,bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X6)))))))),fun(ty,fun(ty,bool)),widen(X6),X41),X42),X42)),
    file('<stdin>',fact_26_widen__refl) ).

fof(c_0_46,axiom,
    ti(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool))),wf_J_mdecl) = wf_J_mdecl,
    file('<stdin>',tsy_c_JWellForm_Owf__J__mdecl_res) ).

fof(c_0_47,axiom,
    ti(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool)))),lconf(product_prod(list(list(char)),exp(list(char))))) = lconf(product_prod(list(list(char)),exp(list(char)))),
    file('<stdin>',tsy_c_Conform_Olconf_res) ).

fof(c_0_48,axiom,
    ti(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))))),wTrt) = wTrt,
    file('<stdin>',tsy_c_WellTypeRT_OWTrt_res) ).

fof(c_0_49,axiom,
    ti(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool)),hconf(product_prod(list(list(char)),exp(list(char))))) = hconf(product_prod(list(list(char)),exp(list(char)))),
    file('<stdin>',tsy_c_Conform_Ohconf_res) ).

fof(c_0_50,axiom,
    ! [X3,X1,X2,X21,X29] :
      ~ ! [X23,X24,X25,X26] : ti(product_prod(X3,product_prod(X1,product_prod(X2,X21))),X29) != hAPP(product_prod(X1,product_prod(X2,X21)),product_prod(X3,product_prod(X1,product_prod(X2,X21))),hAPP(X3,fun(product_prod(X1,product_prod(X2,X21)),product_prod(X3,product_prod(X1,product_prod(X2,X21)))),product_Pair(X3,product_prod(X1,product_prod(X2,X21))),X23),hAPP(product_prod(X2,X21),product_prod(X1,product_prod(X2,X21)),hAPP(X1,fun(product_prod(X2,X21),product_prod(X1,product_prod(X2,X21))),product_Pair(X1,product_prod(X2,X21)),X24),hAPP(X21,product_prod(X2,X21),hAPP(X2,fun(X21,product_prod(X2,X21)),product_Pair(X2,X21),X25),X26))),
    file('<stdin>',fact_13_prod__cases4) ).

fof(c_0_51,axiom,
    ! [X1,X3,X11,X13,X39,X12,X40] :
      ( ti(X3,X12) != ti(X3,X40)
     => hAPP(X1,fun(X3,X1),hAPP(X3,fun(X1,fun(X3,X1)),hAPP(fun(X3,X1),fun(X3,fun(X1,fun(X3,X1))),fun_upd(X3,X1),hAPP(X1,fun(X3,X1),hAPP(X3,fun(X1,fun(X3,X1)),hAPP(fun(X3,X1),fun(X3,fun(X1,fun(X3,X1))),fun_upd(X3,X1),X11),X12),X13)),X40),X39) = hAPP(X1,fun(X3,X1),hAPP(X3,fun(X1,fun(X3,X1)),hAPP(fun(X3,X1),fun(X3,fun(X1,fun(X3,X1))),fun_upd(X3,X1),hAPP(X1,fun(X3,X1),hAPP(X3,fun(X1,fun(X3,X1)),hAPP(fun(X3,X1),fun(X3,fun(X1,fun(X3,X1))),fun_upd(X3,X1),X11),X40),X39)),X12),X13) ),
    file('<stdin>',fact_21_fun__upd__twist) ).

fof(c_0_52,axiom,
    ! [X1,X2,X3,X21,X4,X9,X61,X59] : hAPP(product_prod(X1,X2),X3,hAPP(fun(X1,fun(X2,X3)),fun(product_prod(X1,X2),X3),product_prod_case(X1,X2,X3),X9),hAPP(product_prod(X21,X4),product_prod(X1,X2),hAPP(fun(X21,fun(X4,product_prod(X1,X2))),fun(product_prod(X21,X4),product_prod(X1,X2)),product_prod_case(X21,X4,product_prod(X1,X2)),X61),X59)) = hAPP(product_prod(X21,X4),X3,hAPP(fun(X21,fun(X4,X3)),fun(product_prod(X21,X4),X3),product_prod_case(X21,X4,X3),hAPP(fun(X21,fun(X4,product_prod(X1,X2))),fun(X21,fun(X4,X3)),hAPP(fun(fun(X4,product_prod(X1,X2)),fun(X4,X3)),fun(fun(X21,fun(X4,product_prod(X1,X2))),fun(X21,fun(X4,X3))),combb(fun(X4,product_prod(X1,X2)),fun(X4,X3),X21),hAPP(fun(product_prod(X1,X2),X3),fun(fun(X4,product_prod(X1,X2)),fun(X4,X3)),combb(product_prod(X1,X2),X3,X4),hAPP(fun(X1,fun(X2,X3)),fun(product_prod(X1,X2),X3),product_prod_case(X1,X2,X3),X9))),X61)),X59),
    file('<stdin>',fact_46_split__twice) ).

fof(c_0_53,axiom,
    ! [X1,X2,X3,X9,X61] :
      ( ! [X37,X58] : hAPP(X1,X2,hAPP(X3,fun(X1,X2),X9,X37),X58) = hAPP(product_prod(X3,X1),X2,X61,hAPP(X1,product_prod(X3,X1),hAPP(X3,fun(X1,product_prod(X3,X1)),product_Pair(X3,X1),X37),X58))
     => hAPP(fun(X3,fun(X1,X2)),fun(product_prod(X3,X1),X2),product_prod_case(X3,X1,X2),X9) = ti(fun(product_prod(X3,X1),X2),X61) ),
    file('<stdin>',fact_68_cond__split__eta) ).

fof(c_0_54,axiom,
    ! [X1,X3,X9,X10,X14,X38] : hAPP(X1,fun(X3,X1),hAPP(X3,fun(X1,fun(X3,X1)),hAPP(fun(X3,X1),fun(X3,fun(X1,fun(X3,X1))),fun_upd(X3,X1),hAPP(X1,fun(X3,X1),hAPP(X3,fun(X1,fun(X3,X1)),hAPP(fun(X3,X1),fun(X3,fun(X1,fun(X3,X1))),fun_upd(X3,X1),X9),X10),X14)),X10),X38) = hAPP(X1,fun(X3,X1),hAPP(X3,fun(X1,fun(X3,X1)),hAPP(fun(X3,X1),fun(X3,fun(X1,fun(X3,X1))),fun_upd(X3,X1),X9),X10),X38),
    file('<stdin>',fact_24_fun__upd__upd) ).

fof(c_0_55,axiom,
    ! [X2,X3,X1,X53,X12,X13,X40] :
      ( hBOOL(hAPP(X2,bool,hAPP(product_prod(X3,X1),fun(X2,bool),hAPP(fun(X3,fun(X1,fun(X2,bool))),fun(product_prod(X3,X1),fun(X2,bool)),product_prod_case(X3,X1,fun(X2,bool)),X53),hAPP(X1,product_prod(X3,X1),hAPP(X3,fun(X1,product_prod(X3,X1)),product_Pair(X3,X1),X12),X13)),X40))
     => hBOOL(hAPP(X2,bool,hAPP(X1,fun(X2,bool),hAPP(X3,fun(X1,fun(X2,bool)),X53,X12),X13),X40)) ),
    file('<stdin>',fact_58_splitD_H) ).

fof(c_0_56,axiom,
    ! [X3,X2,X1,X38,X40,X12,X13] :
      ( hBOOL(hAPP(fun(X3,bool),bool,hAPP(X3,fun(fun(X3,bool),bool),member(X3),X38),hAPP(X2,fun(X3,bool),hAPP(X1,fun(X2,fun(X3,bool)),X40,X12),X13)))
     => hBOOL(hAPP(fun(X3,bool),bool,hAPP(X3,fun(fun(X3,bool),bool),member(X3),X38),hAPP(product_prod(X1,X2),fun(X3,bool),hAPP(fun(X1,fun(X2,fun(X3,bool))),fun(product_prod(X1,X2),fun(X3,bool)),product_prod_case(X1,X2,fun(X3,bool)),X40),hAPP(X2,product_prod(X1,X2),hAPP(X1,fun(X2,product_prod(X1,X2)),product_Pair(X1,X2),X12),X13)))) ),
    file('<stdin>',fact_56_mem__splitI) ).

fof(c_0_57,axiom,
    ! [X3,X1,X15,X16,X10] :
      ~ ! [X37] : hAPP(X3,option(X1),hAPP(option(X1),fun(X3,option(X1)),hAPP(X3,fun(option(X1),fun(X3,option(X1))),hAPP(fun(X3,option(X1)),fun(X3,fun(option(X1),fun(X3,option(X1)))),fun_upd(X3,option(X1)),X15),X16),hAPP(X1,option(X1),some(X1),X10)),X37) = none(X1),
    file('<stdin>',fact_94_map__upd__nonempty) ).

fof(c_0_58,axiom,
    ! [X6] : ti(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X6)))))))),fun(ty,fun(ty,bool))),widen(X6)) = widen(X6),
    file('<stdin>',tsy_c_TypeRel_Owiden_res) ).

fof(c_0_59,axiom,
    ! [X1,X3,X11,X12,X13,X10,X14] :
      ( hAPP(X1,option(X3),hAPP(option(X3),fun(X1,option(X3)),hAPP(X1,fun(option(X3),fun(X1,option(X3))),hAPP(fun(X1,option(X3)),fun(X1,fun(option(X3),fun(X1,option(X3)))),fun_upd(X1,option(X3)),X11),X12),hAPP(X3,option(X3),some(X3),X13)),X10) = hAPP(X3,option(X3),some(X3),X14)
    <=> ( ( ti(X1,X10) = ti(X1,X12)
          & ti(X3,X13) = ti(X3,X14) )
        | ( ti(X1,X10) != ti(X1,X12)
          & hAPP(X1,option(X3),X11,X10) = hAPP(X3,option(X3),some(X3),X14) ) ) ),
    file('<stdin>',fact_4_map__upd__Some__unfold) ).

fof(c_0_60,axiom,
    ! [X3,X1,X2,X9] : hAPP(fun(X3,fun(X1,X2)),fun(product_prod(X3,X1),X2),product_prod_case(X3,X1,X2),hAPP(fun(X3,fun(X1,product_prod(X3,X1))),fun(X3,fun(X1,X2)),hAPP(fun(fun(X1,product_prod(X3,X1)),fun(X1,X2)),fun(fun(X3,fun(X1,product_prod(X3,X1))),fun(X3,fun(X1,X2))),combb(fun(X1,product_prod(X3,X1)),fun(X1,X2),X3),hAPP(fun(product_prod(X3,X1),X2),fun(fun(X1,product_prod(X3,X1)),fun(X1,X2)),combb(product_prod(X3,X1),X2,X1),X9)),product_Pair(X3,X1))) = ti(fun(product_prod(X3,X1),X2),X9),
    file('<stdin>',fact_50_split__eta) ).

fof(c_0_61,axiom,
    ! [X3,X1,X10,X37] : hAPP(X3,option(X1),hAPP(option(X1),fun(X3,option(X1)),hAPP(X3,fun(option(X1),fun(X3,option(X1))),hAPP(fun(X3,option(X1)),fun(X3,fun(option(X1),fun(X3,option(X1)))),fun_upd(X3,option(X1)),hAPP(option(X1),fun(X3,option(X1)),combk(option(X1),X3),none(X1))),X10),none(X1)),X37) = none(X1),
    file('<stdin>',fact_96_empty__upd__none) ).

fof(c_0_62,axiom,
    ! [X1,X3,X11,X12,X10,X17,X14] :
      ( hAPP(option(X1),fun(X3,option(X1)),hAPP(X3,fun(option(X1),fun(X3,option(X1))),hAPP(fun(X3,option(X1)),fun(X3,fun(option(X1),fun(X3,option(X1)))),fun_upd(X3,option(X1)),X11),X12),hAPP(X1,option(X1),some(X1),X10)) = hAPP(option(X1),fun(X3,option(X1)),hAPP(X3,fun(option(X1),fun(X3,option(X1))),hAPP(fun(X3,option(X1)),fun(X3,fun(option(X1),fun(X3,option(X1)))),fun_upd(X3,option(X1)),X17),X12),hAPP(X1,option(X1),some(X1),X14))
     => ti(X1,X10) = ti(X1,X14) ),
    file('<stdin>',fact_6_map__upd__eqD1) ).

fof(c_0_63,axiom,
    ! [X3,X1,X9,X12,X13] :
      ( hBOOL(hAPP(product_prod(X3,X1),bool,hAPP(fun(X3,fun(X1,bool)),fun(product_prod(X3,X1),bool),product_prod_case(X3,X1,bool),X9),hAPP(X1,product_prod(X3,X1),hAPP(X3,fun(X1,product_prod(X3,X1)),product_Pair(X3,X1),X12),X13)))
     => hBOOL(hAPP(X1,bool,hAPP(X3,fun(X1,bool),X9,X12),X13)) ),
    file('<stdin>',fact_43_splitD) ).

fof(c_0_64,axiom,
    ! [X3,X1,X40,X59] :
      ( ! [X23,X24] :
          ( ti(product_prod(X3,X1),X59) = hAPP(X1,product_prod(X3,X1),hAPP(X3,fun(X1,product_prod(X3,X1)),product_Pair(X3,X1),X23),X24)
         => hBOOL(hAPP(X1,bool,hAPP(X3,fun(X1,bool),X40,X23),X24)) )
     => hBOOL(hAPP(product_prod(X3,X1),bool,hAPP(fun(X3,fun(X1,bool)),fun(product_prod(X3,X1),bool),product_prod_case(X3,X1,bool),X40),X59)) ),
    file('<stdin>',fact_53_splitI2) ).

fof(c_0_65,axiom,
    ! [X3,X1,X22] :
      ( ! [X36] : hBOOL(hAPP(product_prod(X3,X1),bool,X22,X36))
    <=> ! [X23,X24] : hBOOL(hAPP(product_prod(X3,X1),bool,X22,hAPP(X1,product_prod(X3,X1),hAPP(X3,fun(X1,product_prod(X3,X1)),product_Pair(X3,X1),X23),X24))) ),
    file('<stdin>',fact_17_split__paired__All) ).

fof(c_0_66,axiom,
    ! [X1,X3,X9,X12,X13] :
      ( hBOOL(hAPP(X1,bool,hAPP(X3,fun(X1,bool),X9,X12),X13))
     => hBOOL(hAPP(product_prod(X3,X1),bool,hAPP(fun(X3,fun(X1,bool)),fun(product_prod(X3,X1),bool),product_prod_case(X3,X1,bool),X9),hAPP(X1,product_prod(X3,X1),hAPP(X3,fun(X1,product_prod(X3,X1)),product_Pair(X3,X1),X12),X13))) ),
    file('<stdin>',fact_42_splitI) ).

fof(c_0_67,axiom,
    ! [X1,X3,X51,X12,X13] :
      ( hBOOL(hAPP(X1,bool,hAPP(X3,fun(X1,bool),X51,X12),X13))
     => hBOOL(hAPP(product_prod(X3,X1),bool,hAPP(fun(X3,fun(X1,bool)),fun(product_prod(X3,X1),bool),product_prod_case(X3,X1,bool),X51),hAPP(X1,product_prod(X3,X1),hAPP(X3,fun(X1,product_prod(X3,X1)),product_Pair(X3,X1),X12),X13))) ),
    file('<stdin>',fact_41_prod__caseI) ).

fof(c_0_68,axiom,
    ! [X3,X1,X40,X59] :
      ( hBOOL(hAPP(product_prod(X3,X1),bool,hAPP(fun(X3,fun(X1,bool)),fun(product_prod(X3,X1),bool),product_prod_case(X3,X1,bool),X40),X59))
     => ~ ! [X37,X58] :
            ( ti(product_prod(X3,X1),X59) = hAPP(X1,product_prod(X3,X1),hAPP(X3,fun(X1,product_prod(X3,X1)),product_Pair(X3,X1),X37),X58)
           => ~ hBOOL(hAPP(X1,bool,hAPP(X3,fun(X1,bool),X40,X37),X58)) ) ),
    file('<stdin>',fact_54_splitE) ).

fof(c_0_69,axiom,
    ! [X3,X1,X22] :
      ( ? [X36] : hBOOL(hAPP(product_prod(X3,X1),bool,X22,X36))
    <=> ? [X23,X24] : hBOOL(hAPP(product_prod(X3,X1),bool,X22,hAPP(X1,product_prod(X3,X1),hAPP(X3,fun(X1,product_prod(X3,X1)),product_Pair(X3,X1),X23),X24))) ),
    file('<stdin>',fact_37_split__paired__Ex) ).

fof(c_0_70,axiom,
    ! [X3,X1,X2,X29] :
      ~ ! [X23,X24,X25] : ti(product_prod(X3,product_prod(X1,X2)),X29) != hAPP(product_prod(X1,X2),product_prod(X3,product_prod(X1,X2)),hAPP(X3,fun(product_prod(X1,X2),product_prod(X3,product_prod(X1,X2))),product_Pair(X3,product_prod(X1,X2)),X23),hAPP(X2,product_prod(X1,X2),hAPP(X1,fun(X2,product_prod(X1,X2)),product_Pair(X1,X2),X24),X25)),
    file('<stdin>',fact_29_prod__cases3) ).

fof(c_0_71,axiom,
    ! [X3,X12,X87,X84,X34,X88,X85] :
      ( hAPP(exp(X3),exp(X3),hAPP(ty,fun(exp(X3),exp(X3)),hAPP(X3,fun(ty,fun(exp(X3),exp(X3))),block(X3),X12),X87),X84) = hAPP(exp(X3),exp(X3),hAPP(ty,fun(exp(X3),exp(X3)),hAPP(X3,fun(ty,fun(exp(X3),exp(X3))),block(X3),X34),X88),X85)
    <=> ( ti(X3,X12) = ti(X3,X34)
        & X87 = X88
        & X84 = X85 ) ),
    file('<stdin>',fact_77_exp_Osimps_I10_J) ).

fof(c_0_72,axiom,
    ti(fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),hp) = hp,
    file('<stdin>',tsy_c_State_Ohp_res) ).

fof(c_0_73,axiom,
    ! [X1,X3,X9,X14,X38,X10] :
      ( ( ti(X3,X38) = ti(X3,X10)
       => hAPP(X3,X1,hAPP(X1,fun(X3,X1),hAPP(X3,fun(X1,fun(X3,X1)),hAPP(fun(X3,X1),fun(X3,fun(X1,fun(X3,X1))),fun_upd(X3,X1),X9),X10),X14),X38) = ti(X1,X14) )
      & ( ti(X3,X38) != ti(X3,X10)
       => hAPP(X3,X1,hAPP(X1,fun(X3,X1),hAPP(X3,fun(X1,fun(X3,X1)),hAPP(fun(X3,X1),fun(X3,fun(X1,fun(X3,X1))),fun_upd(X3,X1),X9),X10),X14),X38) = hAPP(X3,X1,X9,X38) ) ),
    file('<stdin>',fact_22_fun__upd__apply) ).

fof(c_0_74,axiom,
    ! [X1,X3,X9,X14,X38,X10] :
      ( ti(X3,X38) != ti(X3,X10)
     => hAPP(X3,X1,hAPP(X1,fun(X3,X1),hAPP(X3,fun(X1,fun(X3,X1)),hAPP(fun(X3,X1),fun(X3,fun(X1,fun(X3,X1))),fun_upd(X3,X1),X9),X10),X14),X38) = hAPP(X3,X1,X9,X38) ),
    file('<stdin>',fact_20_fun__upd__other) ).

fof(c_0_75,axiom,
    ! [X1,X3,X9,X13,X12,X37] :
      ( ( ti(X3,X37) = ti(X3,X12)
       => hAPP(X3,X1,hAPP(X1,fun(X3,X1),hAPP(X3,fun(X1,fun(X3,X1)),hAPP(fun(X3,X1),fun(X3,fun(X1,fun(X3,X1))),fun_upd(X3,X1),X9),X12),X13),X37) = ti(X1,X13) )
      & ( ti(X3,X37) != ti(X3,X12)
       => hAPP(X3,X1,hAPP(X1,fun(X3,X1),hAPP(X3,fun(X1,fun(X3,X1)),hAPP(fun(X3,X1),fun(X3,fun(X1,fun(X3,X1))),fun_upd(X3,X1),X9),X12),X13),X37) = hAPP(X3,X1,X9,X37) ) ),
    file('<stdin>',fact_18_fun__upd__def) ).

fof(c_0_76,axiom,
    ! [X1,X3,X9,X10,X14] : hAPP(X1,X3,hAPP(X3,fun(X1,X3),hAPP(X1,fun(X3,fun(X1,X3)),hAPP(fun(X1,X3),fun(X1,fun(X3,fun(X1,X3))),fun_upd(X1,X3),X9),X10),X14),X10) = ti(X3,X14),
    file('<stdin>',fact_23_fun__upd__same) ).

fof(c_0_77,axiom,
    ! [X3,X76,X77,X30,X75,X74] : hAPP(exp(X3),exp(X3),hAPP(exp(X3),fun(exp(X3),exp(X3)),seq(X3),X76),X77) != hAPP(exp(X3),exp(X3),hAPP(ty,fun(exp(X3),exp(X3)),hAPP(X3,fun(ty,fun(exp(X3),exp(X3))),block(X3),X30),X75),X74),
    file('<stdin>',fact_86_exp_Osimps_I197_J) ).

fof(c_0_78,axiom,
    ! [X3,X30,X75,X74,X76,X77] : hAPP(exp(X3),exp(X3),hAPP(ty,fun(exp(X3),exp(X3)),hAPP(X3,fun(ty,fun(exp(X3),exp(X3))),block(X3),X30),X75),X74) != hAPP(exp(X3),exp(X3),hAPP(exp(X3),fun(exp(X3),exp(X3)),seq(X3),X76),X77),
    file('<stdin>',fact_71_exp_Osimps_I196_J) ).

fof(c_0_79,axiom,
    ! [X3,X30,X74,X32,X72,X73] : hAPP(exp(X3),exp(X3),hAPP(X3,fun(exp(X3),exp(X3)),lAss(X3),X30),X74) != hAPP(exp(X3),exp(X3),hAPP(ty,fun(exp(X3),exp(X3)),hAPP(X3,fun(ty,fun(exp(X3),exp(X3))),block(X3),X32),X72),X73),
    file('<stdin>',fact_87_exp_Osimps_I142_J) ).

fof(c_0_80,axiom,
    ! [X3,X32,X72,X73,X30,X74] : hAPP(exp(X3),exp(X3),hAPP(ty,fun(exp(X3),exp(X3)),hAPP(X3,fun(ty,fun(exp(X3),exp(X3))),block(X3),X32),X72),X73) != hAPP(exp(X3),exp(X3),hAPP(X3,fun(exp(X3),exp(X3)),lAss(X3),X30),X74),
    file('<stdin>',fact_70_exp_Osimps_I143_J) ).

fof(c_0_81,axiom,
    ! [X1,X3,X9,X10,X14] :
      ( hAPP(X1,fun(X3,X1),hAPP(X3,fun(X1,fun(X3,X1)),hAPP(fun(X3,X1),fun(X3,fun(X1,fun(X3,X1))),fun_upd(X3,X1),X9),X10),X14) = ti(fun(X3,X1),X9)
    <=> hAPP(X3,X1,X9,X10) = ti(X1,X14) ),
    file('<stdin>',fact_25_fun__upd__idem__iff) ).

fof(c_0_82,axiom,
    ! [X1,X3,X15,X16,X10] :
      ( hAPP(X1,option(X3),X15,X16) = hAPP(X3,option(X3),some(X3),X10)
     => hAPP(option(X3),fun(X1,option(X3)),hAPP(X1,fun(option(X3),fun(X1,option(X3))),hAPP(fun(X1,option(X3)),fun(X1,fun(option(X3),fun(X1,option(X3)))),fun_upd(X1,option(X3)),X15),X16),hAPP(X3,option(X3),some(X3),X10)) = ti(fun(X1,option(X3)),X15) ),
    file('<stdin>',fact_5_map__upd__triv) ).

fof(c_0_83,axiom,
    ! [X3,X2,X1,X41,X94,X95] : hAPP(X3,X2,hAPP(fun(X3,X1),fun(X3,X2),hAPP(fun(X3,fun(X1,X2)),fun(fun(X3,X1),fun(X3,X2)),combs(X3,X1,X2),X41),X94),X95) = hAPP(X1,X2,hAPP(X3,fun(X1,X2),X41,X95),hAPP(X3,X1,X94,X95)),
    file('<stdin>',help_COMBS_1_1_U) ).

fof(c_0_84,axiom,
    ! [X3,X32,X72,X73,X89] : hAPP(exp(X3),exp(X3),hAPP(ty,fun(exp(X3),exp(X3)),hAPP(X3,fun(ty,fun(exp(X3),exp(X3))),block(X3),X32),X72),X73) != hAPP(val,exp(X3),val_1(X3),X89),
    file('<stdin>',fact_83_exp_Osimps_I83_J) ).

fof(c_0_85,axiom,
    ! [X3,X89,X32,X72,X73] : hAPP(val,exp(X3),val_1(X3),X89) != hAPP(exp(X3),exp(X3),hAPP(ty,fun(exp(X3),exp(X3)),hAPP(X3,fun(ty,fun(exp(X3),exp(X3))),block(X3),X32),X72),X73),
    file('<stdin>',fact_82_exp_Osimps_I82_J) ).

fof(c_0_86,axiom,
    ! [X1,X2,X3,X9,X12,X13] : hAPP(product_prod(X1,X2),X3,hAPP(fun(X1,fun(X2,X3)),fun(product_prod(X1,X2),X3),product_prod_case(X1,X2,X3),X9),hAPP(X2,product_prod(X1,X2),hAPP(X1,fun(X2,product_prod(X1,X2)),product_Pair(X1,X2),X12),X13)) = hAPP(X2,X3,hAPP(X1,fun(X2,X3),X9,X12),X13),
    file('<stdin>',fact_49_split__conv) ).

fof(c_0_87,axiom,
    ! [X1,X2,X3,X51,X12,X13] : hAPP(product_prod(X1,X2),X3,hAPP(fun(X1,fun(X2,X3)),fun(product_prod(X1,X2),X3),product_prod_case(X1,X2,X3),X51),hAPP(X2,product_prod(X1,X2),hAPP(X1,fun(X2,product_prod(X1,X2)),product_Pair(X1,X2),X12),X13)) = hAPP(X2,X3,hAPP(X1,fun(X2,X3),X51,X12),X13),
    file('<stdin>',fact_48_prod_Osimps_I2_J) ).

fof(c_0_88,axiom,
    ! [X1,X2,X3,X40,X12,X13] : hAPP(product_prod(X1,X2),X3,hAPP(fun(X1,fun(X2,X3)),fun(product_prod(X1,X2),X3),produc1605651328_split(X1,X2,X3),X40),hAPP(X2,product_prod(X1,X2),hAPP(X1,fun(X2,product_prod(X1,X2)),product_Pair(X1,X2),X12),X13)) = hAPP(X2,X3,hAPP(X1,fun(X2,X3),X40,X12),X13),
    file('<stdin>',fact_39_internal__split__conv) ).

fof(c_0_89,axiom,
    ! [X1,X2,X3,X51,X12,X13] : hAPP(product_prod(X1,X2),X3,hAPP(fun(X1,fun(X2,X3)),fun(product_prod(X1,X2),X3),product_prod_rec(X1,X2,X3),X51),hAPP(X2,product_prod(X1,X2),hAPP(X1,fun(X2,product_prod(X1,X2)),product_Pair(X1,X2),X12),X13)) = hAPP(X2,X3,hAPP(X1,fun(X2,X3),X51,X12),X13),
    file('<stdin>',fact_32_prod_Orecs) ).

fof(c_0_90,axiom,
    ! [X3,X2,X1,X41,X94,X95] : hAPP(X3,X2,hAPP(X1,fun(X3,X2),hAPP(fun(X3,fun(X1,X2)),fun(X1,fun(X3,X2)),combc(X3,X1,X2),X41),X94),X95) = hAPP(X1,X2,hAPP(X3,fun(X1,X2),X41,X95),X94),
    file('<stdin>',help_COMBC_1_1_U) ).

fof(c_0_91,axiom,
    ! [X3,X2,X1,X41,X94,X95] : hAPP(X3,X2,hAPP(fun(X3,X1),fun(X3,X2),hAPP(fun(X1,X2),fun(fun(X3,X1),fun(X3,X2)),combb(X1,X2,X3),X41),X94),X95) = hAPP(X1,X2,X41,hAPP(X3,X1,X94,X95)),
    file('<stdin>',help_COMBB_1_1_U) ).

fof(c_0_92,axiom,
    ! [X1,X3,X9,X10] : hAPP(X1,fun(X3,X1),hAPP(X3,fun(X1,fun(X3,X1)),hAPP(fun(X3,X1),fun(X3,fun(X1,fun(X3,X1))),fun_upd(X3,X1),X9),X10),hAPP(X3,X1,X9,X10)) = ti(fun(X3,X1),X9),
    file('<stdin>',fact_2_fun__upd__triv) ).

fof(c_0_93,axiom,
    ! [X3,X10,X86] :
      ( hBOOL(hAPP(fun(X3,bool),bool,hAPP(X3,fun(fun(X3,bool),bool),member(X3),X10),X86))
    <=> hBOOL(hAPP(X3,bool,X86,X10)) ),
    file('<stdin>',fact_76_mem__def) ).

fof(c_0_94,axiom,
    ! [X1,X3,X9,X10,X14] :
      ( hAPP(X1,X3,X9,X10) = ti(X3,X14)
     => hAPP(X3,fun(X1,X3),hAPP(X1,fun(X3,fun(X1,X3)),hAPP(fun(X1,X3),fun(X1,fun(X3,fun(X1,X3))),fun_upd(X1,X3),X9),X10),X14) = ti(fun(X1,X3),X9) ),
    file('<stdin>',fact_19_fun__upd__idem) ).

fof(c_0_95,axiom,
    ! [X1,X3,X12,X13,X34,X35] :
      ( hAPP(X1,product_prod(X3,X1),hAPP(X3,fun(X1,product_prod(X3,X1)),product_Pair(X3,X1),X12),X13) = hAPP(X1,product_prod(X3,X1),hAPP(X3,fun(X1,product_prod(X3,X1)),product_Pair(X3,X1),X34),X35)
    <=> ( ti(X3,X12) = ti(X3,X34)
        & ti(X1,X13) = ti(X1,X35) ) ),
    file('<stdin>',fact_16_Pair__eq) ).

fof(c_0_96,axiom,
    ! [X1,X3,X30,X31,X32,X33] :
      ( hAPP(X1,product_prod(X3,X1),hAPP(X3,fun(X1,product_prod(X3,X1)),product_Pair(X3,X1),X30),X31) = hAPP(X1,product_prod(X3,X1),hAPP(X3,fun(X1,product_prod(X3,X1)),product_Pair(X3,X1),X32),X33)
     => ~ ( ti(X3,X30) = ti(X3,X32)
         => ti(X1,X31) != ti(X1,X33) ) ),
    file('<stdin>',fact_15_Pair__inject) ).

fof(c_0_97,axiom,
    ! [X3,X80,X81,X82,X83] :
      ( hAPP(exp(X3),exp(X3),hAPP(exp(X3),fun(exp(X3),exp(X3)),seq(X3),X80),X81) = hAPP(exp(X3),exp(X3),hAPP(exp(X3),fun(exp(X3),exp(X3)),seq(X3),X82),X83)
    <=> ( X80 = X82
        & X81 = X83 ) ),
    file('<stdin>',fact_73_exp_Osimps_I11_J) ).

fof(c_0_98,axiom,
    ! [X3,X12,X84,X34,X85] :
      ( hAPP(exp(X3),exp(X3),hAPP(X3,fun(exp(X3),exp(X3)),lAss(X3),X12),X84) = hAPP(exp(X3),exp(X3),hAPP(X3,fun(exp(X3),exp(X3)),lAss(X3),X34),X85)
    <=> ( ti(X3,X12) = ti(X3,X34)
        & X84 = X85 ) ),
    file('<stdin>',fact_74_exp_Osimps_I6_J) ).

fof(c_0_99,axiom,
    ! [X3,X30,X74,X76,X77] : hAPP(exp(X3),exp(X3),hAPP(X3,fun(exp(X3),exp(X3)),lAss(X3),X30),X74) != hAPP(exp(X3),exp(X3),hAPP(exp(X3),fun(exp(X3),exp(X3)),seq(X3),X76),X77),
    file('<stdin>',fact_85_exp_Osimps_I144_J) ).

fof(c_0_100,axiom,
    ! [X3,X76,X77,X30,X74] : hAPP(exp(X3),exp(X3),hAPP(exp(X3),fun(exp(X3),exp(X3)),seq(X3),X76),X77) != hAPP(exp(X3),exp(X3),hAPP(X3,fun(exp(X3),exp(X3)),lAss(X3),X30),X74),
    file('<stdin>',fact_84_exp_Osimps_I145_J) ).

fof(c_0_101,axiom,
    ! [X2,X3,X1,X40,X59,X60] :
      ( ti(product_prod(X3,X1),X59) = ti(product_prod(X3,X1),X60)
     => hAPP(product_prod(X3,X1),X2,hAPP(fun(X3,fun(X1,X2)),fun(product_prod(X3,X1),X2),product_prod_case(X3,X1,X2),X40),X59) = hAPP(product_prod(X3,X1),X2,hAPP(fun(X3,fun(X1,X2)),fun(product_prod(X3,X1),X2),product_prod_case(X3,X1,X2),X40),X60) ),
    file('<stdin>',fact_44_split__weak__cong) ).

fof(c_0_102,axiom,
    ! [X41,X94] :
      ( ~ hBOOL(hAPP(bool,bool,hAPP(bool,fun(bool,bool),fconj,X41),X94))
      | hBOOL(X94) ),
    file('<stdin>',help_fconj_3_1_U) ).

fof(c_0_103,axiom,
    ! [X41,X94] :
      ( ~ hBOOL(hAPP(bool,bool,hAPP(bool,fun(bool,bool),fconj,X41),X94))
      | hBOOL(X41) ),
    file('<stdin>',help_fconj_2_1_U) ).

fof(c_0_104,axiom,
    ! [X3,X1,X9,X61] :
      ( ! [X37] : hAPP(X3,X1,X9,X37) = hAPP(X3,X1,X61,X37)
     => ti(fun(X3,X1),X9) = ti(fun(X3,X1),X61) ),
    file('<stdin>',fact_75_ext) ).

fof(c_0_105,axiom,
    ! [X3,X76,X77,X89] : hAPP(exp(X3),exp(X3),hAPP(exp(X3),fun(exp(X3),exp(X3)),seq(X3),X76),X77) != hAPP(val,exp(X3),val_1(X3),X89),
    file('<stdin>',fact_80_exp_Osimps_I85_J) ).

fof(c_0_106,axiom,
    ! [X3,X89,X76,X77] : hAPP(val,exp(X3),val_1(X3),X89) != hAPP(exp(X3),exp(X3),hAPP(exp(X3),fun(exp(X3),exp(X3)),seq(X3),X76),X77),
    file('<stdin>',fact_78_exp_Osimps_I84_J) ).

fof(c_0_107,axiom,
    ! [X3,X32,X73,X89] : hAPP(exp(X3),exp(X3),hAPP(X3,fun(exp(X3),exp(X3)),lAss(X3),X32),X73) != hAPP(val,exp(X3),val_1(X3),X89),
    file('<stdin>',fact_81_exp_Osimps_I75_J) ).

fof(c_0_108,axiom,
    ! [X3,X89,X32,X73] : hAPP(val,exp(X3),val_1(X3),X89) != hAPP(exp(X3),exp(X3),hAPP(X3,fun(exp(X3),exp(X3)),lAss(X3),X32),X73),
    file('<stdin>',fact_79_exp_Osimps_I74_J) ).

fof(c_0_109,axiom,
    ! [X94,X41] :
      ( ~ hBOOL(X41)
      | ~ hBOOL(X94)
      | hBOOL(hAPP(bool,bool,hAPP(bool,fun(bool,bool),fconj,X41),X94)) ),
    file('<stdin>',help_fconj_1_1_U) ).

fof(c_0_110,axiom,
    ! [X3,X1,X57] :
      ~ ! [X37,X58] : ti(product_prod(X3,X1),X57) != hAPP(X1,product_prod(X3,X1),hAPP(X3,fun(X1,product_prod(X3,X1)),product_Pair(X3,X1),X37),X58),
    file('<stdin>',fact_38_PairE) ).

fof(c_0_111,axiom,
    ! [X3,X1,X29] :
      ~ ! [X23,X24] : ti(product_prod(X3,X1),X29) != hAPP(X1,product_prod(X3,X1),hAPP(X3,fun(X1,product_prod(X3,X1)),product_Pair(X3,X1),X23),X24),
    file('<stdin>',fact_34_prod_Oexhaust) ).

fof(c_0_112,axiom,
    ! [X1,X3,X41,X94] : hAPP(X1,X3,hAPP(X3,fun(X1,X3),combk(X3,X1),X41),X94) = ti(X3,X41),
    file('<stdin>',help_COMBK_1_1_U) ).

fof(c_0_113,axiom,
    ! [X3,X78,X79] :
      ( hAPP(val,exp(X3),val_1(X3),X78) = hAPP(val,exp(X3),val_1(X3),X79)
    <=> X78 = X79 ),
    file('<stdin>',fact_72_exp_Osimps_I3_J) ).

fof(c_0_114,axiom,
    ! [X2,X3,X7,X8] : ti(X2,hAPP(X3,X2,X7,X8)) = hAPP(X3,X2,X7,X8),
    file('<stdin>',tsy_c_hAPP_res) ).

fof(c_0_115,axiom,
    ! [X3,X1,X2] : ti(fun(fun(X3,fun(X1,X2)),fun(fun(X3,X1),fun(X3,X2))),combs(X3,X1,X2)) = combs(X3,X1,X2),
    file('<stdin>',tsy_c_COMBS_res) ).

fof(c_0_116,axiom,
    ! [X3,X2,X7,X8] : hAPP(X3,X2,ti(fun(X3,X2),X7),X8) = hAPP(X3,X2,X7,X8),
    file('<stdin>',tsy_c_hAPP_arg1) ).

fof(c_0_117,axiom,
    ! [X3,X2,X7,X8] : hAPP(X3,X2,X7,ti(X3,X8)) = hAPP(X3,X2,X7,X8),
    file('<stdin>',tsy_c_hAPP_arg2) ).

fof(c_0_118,axiom,
    ! [X1,X2,X3] : ti(fun(fun(X1,fun(X2,X3)),fun(product_prod(X1,X2),X3)),product_prod_rec(X1,X2,X3)) = product_prod_rec(X1,X2,X3),
    file('<stdin>',tsy_c_Product__Type_Oprod_Oprod__rec_res) ).

fof(c_0_119,axiom,
    ! [X3,X1,X2] : ti(fun(fun(X3,fun(X1,X2)),fun(product_prod(X3,X1),X2)),product_prod_case(X3,X1,X2)) = product_prod_case(X3,X1,X2),
    file('<stdin>',tsy_c_Product__Type_Oprod_Oprod__case_res) ).

fof(c_0_120,axiom,
    ! [X1,X2,X3] : ti(fun(fun(X1,fun(X2,X3)),fun(product_prod(X1,X2),X3)),produc1605651328_split(X1,X2,X3)) = produc1605651328_split(X1,X2,X3),
    file('<stdin>',tsy_c_Product__Type_Ointernal__split_res) ).

fof(c_0_121,axiom,
    ! [X3,X1,X2] : ti(fun(fun(X3,fun(X1,X2)),fun(X1,fun(X3,X2))),combc(X3,X1,X2)) = combc(X3,X1,X2),
    file('<stdin>',tsy_c_COMBC_res) ).

fof(c_0_122,axiom,
    ! [X1,X2,X3] : ti(fun(fun(X1,X2),fun(fun(X3,X1),fun(X3,X2))),combb(X1,X2,X3)) = combb(X1,X2,X3),
    file('<stdin>',tsy_c_COMBB_res) ).

fof(c_0_123,axiom,
    hAPP(list(char),option(val),l_a,v_1) = hAPP(val,option(val),some(val),v_2),
    file('<stdin>',fact_0_InitBlockRed_I3_J) ).

fof(c_0_124,axiom,
    ! [X3,X1] : ti(fun(fun(X3,X1),fun(X3,fun(X1,fun(X3,X1)))),fun_upd(X3,X1)) = fun_upd(X3,X1),
    file('<stdin>',tsy_c_Fun_Ofun__upd_res) ).

fof(c_0_125,axiom,
    ! [X3] : ti(fun(X3,fun(ty,fun(exp(X3),exp(X3)))),block(X3)) = block(X3),
    file('<stdin>',tsy_c_Expr_Oexp_OBlock_res) ).

fof(c_0_126,axiom,
    ! [X4,X5] : ti(fun(X4,fun(X5,product_prod(X4,X5))),product_Pair(X4,X5)) = product_Pair(X4,X5),
    file('<stdin>',tsy_c_Product__Type_OPair_res) ).

fof(c_0_127,axiom,
    ! [X3] : ti(fun(X3,fun(fun(X3,bool),bool)),member(X3)) = member(X3),
    file('<stdin>',tsy_c_member_res) ).

fof(c_0_128,axiom,
    ! [X3] : ti(fun(exp(X3),fun(exp(X3),exp(X3))),seq(X3)) = seq(X3),
    file('<stdin>',tsy_c_Expr_Oexp_OSeq_res) ).

fof(c_0_129,axiom,
    ! [X3] : ti(fun(X3,fun(exp(X3),exp(X3))),lAss(X3)) = lAss(X3),
    file('<stdin>',tsy_c_Expr_Oexp_OLAss_res) ).

fof(c_0_130,axiom,
    ti(fun(list(char),fun(exp(list(char)),bool)),assigned) = assigned,
    file('<stdin>',tsy_c_SmallStep_Oassigned_res) ).

fof(c_0_131,axiom,
    ! [X3,X1] : ti(fun(X3,fun(X1,X3)),combk(X3,X1)) = combk(X3,X1),
    file('<stdin>',tsy_c_COMBK_res) ).

fof(c_0_132,axiom,
    ! [X3,X1,X2] : produc1605651328_split(X3,X1,X2) = product_prod_case(X3,X1,X2),
    file('<stdin>',fact_45_internal__split__def) ).

fof(c_0_133,axiom,
    ti(fun(bool,fun(bool,bool)),fconj) = fconj,
    file('<stdin>',tsy_c_fconj_res) ).

fof(c_0_134,axiom,
    ! [X3] : ti(fun(X3,option(X3)),some(X3)) = some(X3),
    file('<stdin>',tsy_c_Option_Ooption_OSome_res) ).

fof(c_0_135,axiom,
    ! [X3] : ti(fun(val,exp(X3)),val_1(X3)) = val_1(X3),
    file('<stdin>',tsy_c_Expr_Oexp_OVal_res) ).

fof(c_0_136,axiom,
    ! [X92,X93] : ti(X92,ti(X92,X93)) = ti(X92,X93),
    file('<stdin>',help_ti_idem) ).

fof(c_0_137,axiom,
    ti(fun(list(char),option(ty)),e) = e,
    file('<stdin>',tsy_v_E_____res) ).

fof(c_0_138,axiom,
    ! [X1] : ti(option(X1),none(X1)) = none(X1),
    file('<stdin>',tsy_c_Option_Ooption_ONone_res) ).

fof(c_0_139,axiom,
    ! [X3] : ti(X3,undefined(X3)) = undefined(X3),
    file('<stdin>',tsy_c_HOL_Oundefined_res) ).

fof(c_0_140,axiom,
    ti(val,v_2) = v_2,
    file('<stdin>',tsy_v_v_H_____res) ).

fof(c_0_141,axiom,
    ti(ty,t_1) = t_1,
    file('<stdin>',tsy_v_T_____res) ).

fof(c_0_142,axiom,
    ti(ty,t) = t,
    file('<stdin>',tsy_v_T_H_____res) ).

fof(c_0_143,axiom,
    ti(val,unit) = unit,
    file('<stdin>',tsy_c_Value_Oval_OUnit_res) ).

fof(c_0_144,axiom,
    ! [X3,X1,X2,X21,X4,X5,X10,X22] :
      ( ! [X23,X24,X25,X26,X27,X28] : hBOOL(hAPP(product_prod(X3,product_prod(X1,product_prod(X2,product_prod(X21,product_prod(X4,X5))))),bool,X22,hAPP(product_prod(X1,product_prod(X2,product_prod(X21,product_prod(X4,X5)))),product_prod(X3,product_prod(X1,product_prod(X2,product_prod(X21,product_prod(X4,X5))))),hAPP(X3,fun(product_prod(X1,product_prod(X2,product_prod(X21,product_prod(X4,X5)))),product_prod(X3,product_prod(X1,product_prod(X2,product_prod(X21,product_prod(X4,X5)))))),product_Pair(X3,product_prod(X1,product_prod(X2,product_prod(X21,product_prod(X4,X5))))),X23),hAPP(product_prod(X2,product_prod(X21,product_prod(X4,X5))),product_prod(X1,product_prod(X2,product_prod(X21,product_prod(X4,X5)))),hAPP(X1,fun(product_prod(X2,product_prod(X21,product_prod(X4,X5))),product_prod(X1,product_prod(X2,product_prod(X21,product_prod(X4,X5))))),product_Pair(X1,product_prod(X2,product_prod(X21,product_prod(X4,X5)))),X24),hAPP(product_prod(X21,product_prod(X4,X5)),product_prod(X2,product_prod(X21,product_prod(X4,X5))),hAPP(X2,fun(product_prod(X21,product_prod(X4,X5)),product_prod(X2,product_prod(X21,product_prod(X4,X5)))),product_Pair(X2,product_prod(X21,product_prod(X4,X5))),X25),hAPP(product_prod(X4,X5),product_prod(X21,product_prod(X4,X5)),hAPP(X21,fun(product_prod(X4,X5),product_prod(X21,product_prod(X4,X5))),product_Pair(X21,product_prod(X4,X5)),X26),hAPP(X5,product_prod(X4,X5),hAPP(X4,fun(X5,product_prod(X4,X5)),product_Pair(X4,X5),X27),X28)))))))
     => hBOOL(hAPP(product_prod(X3,product_prod(X1,product_prod(X2,product_prod(X21,product_prod(X4,X5))))),bool,X22,X10)) ),
    c_0_0 ).

fof(c_0_145,axiom,
    ! [X22,X19,X49] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),typeSa885026672_sconf,X22),X19),X49))
    <=> hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),product_prod_case(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)),bool),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool)),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool))),fun(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool))),combs(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool)),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(bool,bool)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool))),hAPP(fun(fun(bool,bool),fun(fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool))),fun(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(bool,bool)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool)))),combb(fun(bool,bool),fun(fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool)),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),combb(bool,bool,fun(list(char),option(val)))),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(bool,bool)),hAPP(fun(bool,fun(bool,bool)),fun(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(bool,bool))),combb(bool,fun(bool,bool),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),fconj),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),hconf(product_prod(list(list(char)),exp(list(char)))),X22)))),hAPP(fun(list(char),option(ty)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool)),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool))),fun(fun(list(char),option(ty)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool))),combc(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool)),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool))),hAPP(fun(fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool)),fun(fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool))),fun(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool)))),combb(fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool)),fun(fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool)),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),combc(fun(list(char),option(val)),fun(list(char),option(ty)),bool)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool))),lconf(product_prod(list(list(char)),exp(list(char)))),X22))),X19))),X49)) ),
    c_0_1 ).

fof(c_0_146,axiom,
    ! [X18,X63,X43,X44,X45,X64,X65,X46,X47,X48,X22] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X43),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X44),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),X45),X64),hAPP(val,option(val),some(val),X65))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X46),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X47),X48)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X22)))
     => ( hAPP(list(char),option(val),X48,X64) = hAPP(val,option(val),some(val),X63)
       => hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X64),X18),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),X64),hAPP(val,exp(list(char)),val_1(list(char)),X65))),X43))),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X44),X45))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X64),X18),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),X64),hAPP(val,exp(list(char)),val_1(list(char)),X63))),X46))),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X47),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),X48),X64),hAPP(list(char),option(val),X45,X64)))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X22))) ) ),
    c_0_2 ).

fof(c_0_147,plain,
    ! [X18,X65,X43,X44,X45,X64,X46,X47,X48,X22] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X43),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X44),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),X45),X64),none(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X46),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X47),X48)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X22)))
     => ( hAPP(list(char),option(val),X48,X64) = hAPP(val,option(val),some(val),X65)
       => ( ~ hBOOL(hAPP(exp(list(char)),bool,hAPP(list(char),fun(exp(list(char)),bool),assigned,X64),X43))
         => hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X64),X18),X43)),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X44),X45))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X64),X18),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),X64),hAPP(val,exp(list(char)),val_1(list(char)),X65))),X46))),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X47),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),X48),X64),hAPP(list(char),option(val),X45,X64)))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X22))) ) ) ),
    inference(fof_simplification,[status(thm)],[c_0_3]) ).

fof(c_0_148,axiom,
    ! [X3,X1,X2,X21,X4,X10,X22] :
      ( ! [X23,X24,X25,X26,X27] : hBOOL(hAPP(product_prod(X3,product_prod(X1,product_prod(X2,product_prod(X21,X4)))),bool,X22,hAPP(product_prod(X1,product_prod(X2,product_prod(X21,X4))),product_prod(X3,product_prod(X1,product_prod(X2,product_prod(X21,X4)))),hAPP(X3,fun(product_prod(X1,product_prod(X2,product_prod(X21,X4))),product_prod(X3,product_prod(X1,product_prod(X2,product_prod(X21,X4))))),product_Pair(X3,product_prod(X1,product_prod(X2,product_prod(X21,X4)))),X23),hAPP(product_prod(X2,product_prod(X21,X4)),product_prod(X1,product_prod(X2,product_prod(X21,X4))),hAPP(X1,fun(product_prod(X2,product_prod(X21,X4)),product_prod(X1,product_prod(X2,product_prod(X21,X4)))),product_Pair(X1,product_prod(X2,product_prod(X21,X4))),X24),hAPP(product_prod(X21,X4),product_prod(X2,product_prod(X21,X4)),hAPP(X2,fun(product_prod(X21,X4),product_prod(X2,product_prod(X21,X4))),product_Pair(X2,product_prod(X21,X4)),X25),hAPP(X4,product_prod(X21,X4),hAPP(X21,fun(X4,product_prod(X21,X4)),product_Pair(X21,X4),X26),X27))))))
     => hBOOL(hAPP(product_prod(X3,product_prod(X1,product_prod(X2,product_prod(X21,X4)))),bool,X22,X10)) ),
    c_0_4 ).

fof(c_0_149,axiom,
    ! [X19,X18,X43,X44,X45,X46,X47,X48,X22] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X43),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X44),X45))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X46),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X47),X48)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X22)))
     => ( hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,X22),X44),X19),X43),X18))
       => ( hBOOL(hAPP(fun(list(char),option(ty)),bool,hAPP(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool))),lconf(product_prod(list(list(char)),exp(list(char)))),X22),X44),X45),X19))
         => hBOOL(hAPP(fun(list(char),option(ty)),bool,hAPP(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool))),lconf(product_prod(list(list(char)),exp(list(char)))),X22),X47),X48),X19)) ) ) ),
    c_0_5 ).

fof(c_0_150,axiom,
    ! [X19,X18,X43,X44,X45,X46,X47,X48,X22] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X43),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X44),X45))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X46),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X47),X48)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X22)))
     => ( hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,X22),X44),X19),X43),X18))
       => ( hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),hconf(product_prod(list(list(char)),exp(list(char)))),X22),X44))
         => hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),hconf(product_prod(list(list(char)),exp(list(char)))),X22),X47)) ) ) ),
    c_0_6 ).

fof(c_0_151,axiom,
    ! [X68,X43,X49,X46,X50,X22] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X43),X49)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X46),X50))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X22)))
     => hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),X43),X68)),X49)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),X46),X68)),X50))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X22))) ),
    c_0_7 ).

fof(c_0_152,axiom,
    ! [X64,X43,X49,X46,X50,X22] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X43),X49)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X46),X50))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X22)))
     => hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),X64),X43)),X49)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),X64),X46)),X50))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X22))) ),
    c_0_8 ).

fof(c_0_153,axiom,
    ! [X22,X37,X54,X90,X91] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,X22),X37),X54),X90),X91))
    <=> hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X37),X54)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X90),X91))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X22))) ),
    c_0_9 ).

fof(c_0_154,axiom,
    ! [X19,X18,X43,X49,X46,X50,X22] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X43),X49)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X46),X50))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X22)))
     => ( hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,X22),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hp,X49)),X19),X43),X18))
       => ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),typeSa885026672_sconf,X22),X19),X49))
         => hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),typeSa885026672_sconf,X22),X19),X50)) ) ) ),
    c_0_10 ).

fof(c_0_155,axiom,
    ! [X18,X63,X22,X43,X44,X45,X64,X65,X46,X47,X48] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,X22),X43),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X44),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),X45),X64),hAPP(val,option(val),some(val),X65)))),X46),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X47),X48)))
     => ( hAPP(list(char),option(val),X48,X64) = hAPP(val,option(val),some(val),X63)
       => hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,X22),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X64),X18),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),X64),hAPP(val,exp(list(char)),val_1(list(char)),X65))),X43))),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X44),X45)),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X64),X18),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),X64),hAPP(val,exp(list(char)),val_1(list(char)),X63))),X46))),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X47),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),X48),X64),hAPP(list(char),option(val),X45,X64))))) ) ),
    c_0_11 ).

fof(c_0_156,plain,
    ! [X18,X65,X22,X43,X44,X45,X64,X46,X47,X48] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,X22),X43),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X44),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),X45),X64),none(val)))),X46),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X47),X48)))
     => ( hAPP(list(char),option(val),X48,X64) = hAPP(val,option(val),some(val),X65)
       => ( ~ hBOOL(hAPP(exp(list(char)),bool,hAPP(list(char),fun(exp(list(char)),bool),assigned,X64),X43))
         => hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,X22),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X64),X18),X43)),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X44),X45)),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X64),X18),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),X64),hAPP(val,exp(list(char)),val_1(list(char)),X65))),X46))),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X47),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),X48),X64),hAPP(list(char),option(val),X45,X64))))) ) ) ),
    inference(fof_simplification,[status(thm)],[c_0_12]) ).

fof(c_0_157,plain,
    ! [X18,X22,X43,X44,X45,X64,X46,X47,X48] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,X22),X43),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X44),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),X45),X64),none(val)))),X46),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X47),X48)))
     => ( hAPP(list(char),option(val),X48,X64) = none(val)
       => ( ~ hBOOL(hAPP(exp(list(char)),bool,hAPP(list(char),fun(exp(list(char)),bool),assigned,X64),X43))
         => hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,X22),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X64),X18),X43)),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X44),X45)),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X64),X18),X46)),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X47),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),X48),X64),hAPP(list(char),option(val),X45,X64))))) ) ) ),
    inference(fof_simplification,[status(thm)],[c_0_13]) ).

fof(c_0_158,axiom,
    ! [X68,X22,X43,X49,X46,X50] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,X22),X43),X49),X46),X50))
     => hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,X22),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),X43),X68)),X49),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),X46),X68)),X50)) ),
    c_0_14 ).

fof(c_0_159,axiom,
    ! [X64,X22,X43,X49,X46,X50] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,X22),X43),X49),X46),X50))
     => hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,X22),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),X64),X43)),X49),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),X64),X46)),X50)) ),
    c_0_15 ).

fof(c_0_160,axiom,
    ! [X64,X18,X65,X66,X49,X22] : hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X64),X18),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),X64),hAPP(val,exp(list(char)),val_1(list(char)),X65))),hAPP(val,exp(list(char)),val_1(list(char)),X66)))),X49)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),X66)),X49))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X22))),
    c_0_16 ).

fof(c_0_161,axiom,
    hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),ea),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),ha),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),la),v_1),hAPP(val,option(val),some(val),v))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),e_a),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),h_a),l_a)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,p))),
    c_0_17 ).

fof(c_0_162,axiom,
    ! [X64,X65,X44,X45,X22] : hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),X64),hAPP(val,exp(list(char)),val_1(list(char)),X65))),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X44),X45))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),unit)),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X44),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),X45),X64),hAPP(val,option(val),some(val),X65)))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X22))),
    c_0_18 ).

fof(c_0_163,axiom,
    ! [X3,X1,X2,X21,X4,X5,X29] :
      ~ ! [X23,X24,X25,X26,X27,X28] : ti(product_prod(X3,product_prod(X1,product_prod(X2,product_prod(X21,product_prod(X4,X5))))),X29) != hAPP(product_prod(X1,product_prod(X2,product_prod(X21,product_prod(X4,X5)))),product_prod(X3,product_prod(X1,product_prod(X2,product_prod(X21,product_prod(X4,X5))))),hAPP(X3,fun(product_prod(X1,product_prod(X2,product_prod(X21,product_prod(X4,X5)))),product_prod(X3,product_prod(X1,product_prod(X2,product_prod(X21,product_prod(X4,X5)))))),product_Pair(X3,product_prod(X1,product_prod(X2,product_prod(X21,product_prod(X4,X5))))),X23),hAPP(product_prod(X2,product_prod(X21,product_prod(X4,X5))),product_prod(X1,product_prod(X2,product_prod(X21,product_prod(X4,X5)))),hAPP(X1,fun(product_prod(X2,product_prod(X21,product_prod(X4,X5))),product_prod(X1,product_prod(X2,product_prod(X21,product_prod(X4,X5))))),product_Pair(X1,product_prod(X2,product_prod(X21,product_prod(X4,X5)))),X24),hAPP(product_prod(X21,product_prod(X4,X5)),product_prod(X2,product_prod(X21,product_prod(X4,X5))),hAPP(X2,fun(product_prod(X21,product_prod(X4,X5)),product_prod(X2,product_prod(X21,product_prod(X4,X5)))),product_Pair(X2,product_prod(X21,product_prod(X4,X5))),X25),hAPP(product_prod(X4,X5),product_prod(X21,product_prod(X4,X5)),hAPP(X21,fun(product_prod(X4,X5),product_prod(X21,product_prod(X4,X5))),product_Pair(X21,product_prod(X4,X5)),X26),hAPP(X5,product_prod(X4,X5),hAPP(X4,fun(X5,product_prod(X4,X5)),product_Pair(X4,X5),X27),X28))))),
    c_0_19 ).

fof(c_0_164,axiom,
    ! [X64,X18,X66,X49,X22] : hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X64),X18),hAPP(val,exp(list(char)),val_1(list(char)),X66))),X49)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),X66)),X49))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X22))),
    c_0_20 ).

fof(c_0_165,axiom,
    ! [X65,X68,X49,X22] : hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),X65)),X68)),X49)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X68),X49))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X22))),
    c_0_21 ).

fof(c_0_166,axiom,
    ! [X68,X69,X22,X44,X19,X70,X71] :
      ( hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,X22),X44),X19),X70),X71))
     => ( hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,X22),X44),X19),X68),X69))
       => hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,X22),X44),X19),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),X70),X68)),X69)) ) ),
    c_0_22 ).

fof(c_0_167,axiom,
    ! [X22,X64,X18,X65,X66,X49] : hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,X22),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X64),X18),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),X64),hAPP(val,exp(list(char)),val_1(list(char)),X65))),hAPP(val,exp(list(char)),val_1(list(char)),X66)))),X49),hAPP(val,exp(list(char)),val_1(list(char)),X66)),X49)),
    c_0_23 ).

fof(c_0_168,axiom,
    ! [X18,X19] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),typeSa885026672_sconf,p),X19),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),ha),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),la),v_1),hAPP(val,option(val),some(val),v)))))
     => ( hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,p),ha),X19),ea),X18))
       => ? [X20] :
            ( hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,p),h_a),X19),e_a),X20))
            & hBOOL(hAPP(ty,bool,hAPP(ty,fun(ty,bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(ty,fun(ty,bool)),widen(product_prod(list(list(char)),exp(list(char)))),p),X20),X18)) ) ) ),
    c_0_24 ).

fof(c_0_169,axiom,
    ! [X22,X64,X18,X66,X49] : hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,X22),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X64),X18),hAPP(val,exp(list(char)),val_1(list(char)),X66))),X49),hAPP(val,exp(list(char)),val_1(list(char)),X66)),X49)),
    c_0_25 ).

fof(c_0_170,axiom,
    ! [X22,X65,X68,X49] : hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,X22),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),X65)),X68)),X49),X68),X49)),
    c_0_26 ).

fof(c_0_171,axiom,
    ! [X22,X44,X19,X64,X18,X43,X67] :
      ( hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,X22),X44),hAPP(option(ty),fun(list(char),option(ty)),hAPP(list(char),fun(option(ty),fun(list(char),option(ty))),hAPP(fun(list(char),option(ty)),fun(list(char),fun(option(ty),fun(list(char),option(ty)))),fun_upd(list(char),option(ty)),X19),X64),hAPP(ty,option(ty),some(ty),X18))),X43),X67))
     => hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,X22),X44),X19),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X64),X18),X43)),X67)) ),
    c_0_27 ).

fof(c_0_172,axiom,
    ! [X3,X1,X2,X21,X10,X22] :
      ( ! [X23,X24,X25,X26] : hBOOL(hAPP(product_prod(X3,product_prod(X1,product_prod(X2,X21))),bool,X22,hAPP(product_prod(X1,product_prod(X2,X21)),product_prod(X3,product_prod(X1,product_prod(X2,X21))),hAPP(X3,fun(product_prod(X1,product_prod(X2,X21)),product_prod(X3,product_prod(X1,product_prod(X2,X21)))),product_Pair(X3,product_prod(X1,product_prod(X2,X21))),X23),hAPP(product_prod(X2,X21),product_prod(X1,product_prod(X2,X21)),hAPP(X1,fun(product_prod(X2,X21),product_prod(X1,product_prod(X2,X21))),product_Pair(X1,product_prod(X2,X21)),X24),hAPP(X21,product_prod(X2,X21),hAPP(X2,fun(X21,product_prod(X2,X21)),product_Pair(X2,X21),X25),X26)))))
     => hBOOL(hAPP(product_prod(X3,product_prod(X1,product_prod(X2,X21))),bool,X22,X10)) ),
    c_0_28 ).

fof(c_0_173,axiom,
    hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,p),ha),e),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),v_1),t_1),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),v_1),hAPP(val,exp(list(char)),val_1(list(char)),v))),ea))),t)),
    c_0_29 ).

fof(c_0_174,axiom,
    hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool))),fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),bool),wf_prog(product_prod(list(list(char)),exp(list(char)))),wf_J_mdecl),p)),
    c_0_30 ).

fof(c_0_175,axiom,
    ! [X3,X1,X2,X21,X4,X29] :
      ~ ! [X23,X24,X25,X26,X27] : ti(product_prod(X3,product_prod(X1,product_prod(X2,product_prod(X21,X4)))),X29) != hAPP(product_prod(X1,product_prod(X2,product_prod(X21,X4))),product_prod(X3,product_prod(X1,product_prod(X2,product_prod(X21,X4)))),hAPP(X3,fun(product_prod(X1,product_prod(X2,product_prod(X21,X4))),product_prod(X3,product_prod(X1,product_prod(X2,product_prod(X21,X4))))),product_Pair(X3,product_prod(X1,product_prod(X2,product_prod(X21,X4)))),X23),hAPP(product_prod(X2,product_prod(X21,X4)),product_prod(X1,product_prod(X2,product_prod(X21,X4))),hAPP(X1,fun(product_prod(X2,product_prod(X21,X4)),product_prod(X1,product_prod(X2,product_prod(X21,X4)))),product_Pair(X1,product_prod(X2,product_prod(X21,X4))),X24),hAPP(product_prod(X21,X4),product_prod(X2,product_prod(X21,X4)),hAPP(X2,fun(product_prod(X21,X4),product_prod(X2,product_prod(X21,X4))),product_Pair(X2,product_prod(X21,X4)),X25),hAPP(X4,product_prod(X21,X4),hAPP(X21,fun(X4,product_prod(X21,X4)),product_Pair(X21,X4),X26),X27)))),
    c_0_31 ).

fof(c_0_176,axiom,
    hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),typeSa885026672_sconf,p),e),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),ha),la))),
    c_0_32 ).

fof(c_0_177,axiom,
    ! [X3,X42,X41,X55,X56] :
      ( hBOOL(hAPP(ty,bool,hAPP(ty,fun(ty,bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X3)))))))),fun(ty,fun(ty,bool)),widen(X3),X41),X55),X56))
     => ( hBOOL(hAPP(ty,bool,hAPP(ty,fun(ty,bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X3)))))))),fun(ty,fun(ty,bool)),widen(X3),X41),X56),X42))
       => hBOOL(hAPP(ty,bool,hAPP(ty,fun(ty,bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X3)))))))),fun(ty,fun(ty,bool)),widen(X3),X41),X55),X42)) ) ),
    c_0_33 ).

fof(c_0_178,axiom,
    ! [X2,X3,X1,X38,X40,X59] :
      ( ! [X23,X24] :
          ( ti(product_prod(X3,X1),X59) = hAPP(X1,product_prod(X3,X1),hAPP(X3,fun(X1,product_prod(X3,X1)),product_Pair(X3,X1),X23),X24)
         => hBOOL(hAPP(fun(X2,bool),bool,hAPP(X2,fun(fun(X2,bool),bool),member(X2),X38),hAPP(X1,fun(X2,bool),hAPP(X3,fun(X1,fun(X2,bool)),X40,X23),X24))) )
     => hBOOL(hAPP(fun(X2,bool),bool,hAPP(X2,fun(fun(X2,bool),bool),member(X2),X38),hAPP(product_prod(X3,X1),fun(X2,bool),hAPP(fun(X3,fun(X1,fun(X2,bool))),fun(product_prod(X3,X1),fun(X2,bool)),product_prod_case(X3,X1,fun(X2,bool)),X40),X59))) ),
    c_0_34 ).

fof(c_0_179,axiom,
    ! [X2,X1,X3,X40,X10,X59] :
      ( ! [X23,X24] :
          ( hAPP(X1,product_prod(X3,X1),hAPP(X3,fun(X1,product_prod(X3,X1)),product_Pair(X3,X1),X23),X24) = ti(product_prod(X3,X1),X59)
         => hBOOL(hAPP(X2,bool,hAPP(X1,fun(X2,bool),hAPP(X3,fun(X1,fun(X2,bool)),X40,X23),X24),X10)) )
     => hBOOL(hAPP(X2,bool,hAPP(product_prod(X3,X1),fun(X2,bool),hAPP(fun(X3,fun(X1,fun(X2,bool))),fun(product_prod(X3,X1),fun(X2,bool)),product_prod_case(X3,X1,fun(X2,bool)),X40),X59),X10)) ),
    c_0_35 ).

fof(c_0_180,axiom,
    ti(fun(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool))),fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),bool)),wf_prog(product_prod(list(list(char)),exp(list(char))))) = wf_prog(product_prod(list(list(char)),exp(list(char)))),
    c_0_36 ).

fof(c_0_181,plain,
    ! [X3,X1,X2,X38,X40,X59] :
      ( hBOOL(hAPP(fun(X3,bool),bool,hAPP(X3,fun(fun(X3,bool),bool),member(X3),X38),hAPP(product_prod(X1,X2),fun(X3,bool),hAPP(fun(X1,fun(X2,fun(X3,bool))),fun(product_prod(X1,X2),fun(X3,bool)),product_prod_case(X1,X2,fun(X3,bool)),X40),X59)))
     => ~ ! [X37,X58] :
            ( ti(product_prod(X1,X2),X59) = hAPP(X2,product_prod(X1,X2),hAPP(X1,fun(X2,product_prod(X1,X2)),product_Pair(X1,X2),X37),X58)
           => ~ hBOOL(hAPP(fun(X3,bool),bool,hAPP(X3,fun(fun(X3,bool),bool),member(X3),X38),hAPP(X2,fun(X3,bool),hAPP(X1,fun(X2,fun(X3,bool)),X40,X37),X58))) ) ),
    inference(fof_simplification,[status(thm)],[c_0_37]) ).

fof(c_0_182,plain,
    ! [X2,X3,X1,X40,X59,X38] :
      ( hBOOL(hAPP(X2,bool,hAPP(product_prod(X3,X1),fun(X2,bool),hAPP(fun(X3,fun(X1,fun(X2,bool))),fun(product_prod(X3,X1),fun(X2,bool)),product_prod_case(X3,X1,fun(X2,bool)),X40),X59),X38))
     => ~ ! [X37,X58] :
            ( ti(product_prod(X3,X1),X59) = hAPP(X1,product_prod(X3,X1),hAPP(X3,fun(X1,product_prod(X3,X1)),product_Pair(X3,X1),X37),X58)
           => ~ hBOOL(hAPP(X2,bool,hAPP(X1,fun(X2,bool),hAPP(X3,fun(X1,fun(X2,bool)),X40,X37),X58),X38)) ) ),
    inference(fof_simplification,[status(thm)],[c_0_38]) ).

fof(c_0_183,plain,
    ! [X3,X1,X2,X62,X22,X38] :
      ( hBOOL(hAPP(X3,bool,X62,hAPP(product_prod(X1,X2),X3,hAPP(fun(X1,fun(X2,X3)),fun(product_prod(X1,X2),X3),product_prod_case(X1,X2,X3),X22),X38)))
     => ~ ! [X37,X58] :
            ( ti(product_prod(X1,X2),X38) = hAPP(X2,product_prod(X1,X2),hAPP(X1,fun(X2,product_prod(X1,X2)),product_Pair(X1,X2),X37),X58)
           => ~ hBOOL(hAPP(X3,bool,X62,hAPP(X2,X3,hAPP(X1,fun(X2,X3),X22,X37),X58))) ) ),
    inference(fof_simplification,[status(thm)],[c_0_39]) ).

fof(c_0_184,axiom,
    ! [X3,X1,X2,X10,X22] :
      ( ! [X23,X24,X25] : hBOOL(hAPP(product_prod(X3,product_prod(X1,X2)),bool,X22,hAPP(product_prod(X1,X2),product_prod(X3,product_prod(X1,X2)),hAPP(X3,fun(product_prod(X1,X2),product_prod(X3,product_prod(X1,X2))),product_Pair(X3,product_prod(X1,X2)),X23),hAPP(X2,product_prod(X1,X2),hAPP(X1,fun(X2,product_prod(X1,X2)),product_Pair(X1,X2),X24),X25))))
     => hBOOL(hAPP(product_prod(X3,product_prod(X1,X2)),bool,X22,X10)) ),
    c_0_40 ).

fof(c_0_185,axiom,
    ti(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))))),redp) = redp,
    c_0_41 ).

fof(c_0_186,axiom,
    ! [X3,X1,X22,X62,X37] :
      ( hBOOL(hAPP(product_prod(X3,X1),bool,hAPP(fun(X3,fun(X1,bool)),fun(product_prod(X3,X1),bool),product_prod_case(X3,X1,bool),hAPP(fun(X3,fun(X1,bool)),fun(X3,fun(X1,bool)),hAPP(fun(fun(X1,bool),fun(X1,bool)),fun(fun(X3,fun(X1,bool)),fun(X3,fun(X1,bool))),combb(fun(X1,bool),fun(X1,bool),X3),hAPP(fun(bool,bool),fun(fun(X1,bool),fun(X1,bool)),combb(bool,bool,X1),hAPP(bool,fun(bool,bool),fconj,X22))),X62)),X37))
    <=> ( hBOOL(X22)
        & hBOOL(hAPP(product_prod(X3,X1),bool,hAPP(fun(X3,fun(X1,bool)),fun(product_prod(X3,X1),bool),product_prod_case(X3,X1,bool),X62),X37)) ) ),
    c_0_42 ).

fof(c_0_187,axiom,
    ti(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),typeSa885026672_sconf) = typeSa885026672_sconf,
    c_0_43 ).

fof(c_0_188,axiom,
    ! [X3,X1,X52,X53] :
      ( ! [X37,X54] :
          ( hBOOL(hAPP(fun(product_prod(X3,X1),bool),bool,hAPP(product_prod(X3,X1),fun(fun(product_prod(X3,X1),bool),bool),member(product_prod(X3,X1)),hAPP(X1,product_prod(X3,X1),hAPP(X3,fun(X1,product_prod(X3,X1)),product_Pair(X3,X1),X37),X54)),X53))
        <=> hBOOL(hAPP(fun(product_prod(X3,X1),bool),bool,hAPP(product_prod(X3,X1),fun(fun(product_prod(X3,X1),bool),bool),member(product_prod(X3,X1)),hAPP(X1,product_prod(X3,X1),hAPP(X3,fun(X1,product_prod(X3,X1)),product_Pair(X3,X1),X37),X54)),X52)) )
    <=> ti(fun(product_prod(X3,X1),bool),X53) = ti(fun(product_prod(X3,X1),bool),X52) ),
    c_0_44 ).

fof(c_0_189,axiom,
    ! [X6,X41,X42] : hBOOL(hAPP(ty,bool,hAPP(ty,fun(ty,bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X6)))))))),fun(ty,fun(ty,bool)),widen(X6),X41),X42),X42)),
    c_0_45 ).

fof(c_0_190,axiom,
    ti(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool))),wf_J_mdecl) = wf_J_mdecl,
    c_0_46 ).

fof(c_0_191,axiom,
    ti(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool)))),lconf(product_prod(list(list(char)),exp(list(char))))) = lconf(product_prod(list(list(char)),exp(list(char)))),
    c_0_47 ).

fof(c_0_192,axiom,
    ti(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))))),wTrt) = wTrt,
    c_0_48 ).

fof(c_0_193,axiom,
    ti(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool)),hconf(product_prod(list(list(char)),exp(list(char))))) = hconf(product_prod(list(list(char)),exp(list(char)))),
    c_0_49 ).

fof(c_0_194,axiom,
    ! [X3,X1,X2,X21,X29] :
      ~ ! [X23,X24,X25,X26] : ti(product_prod(X3,product_prod(X1,product_prod(X2,X21))),X29) != hAPP(product_prod(X1,product_prod(X2,X21)),product_prod(X3,product_prod(X1,product_prod(X2,X21))),hAPP(X3,fun(product_prod(X1,product_prod(X2,X21)),product_prod(X3,product_prod(X1,product_prod(X2,X21)))),product_Pair(X3,product_prod(X1,product_prod(X2,X21))),X23),hAPP(product_prod(X2,X21),product_prod(X1,product_prod(X2,X21)),hAPP(X1,fun(product_prod(X2,X21),product_prod(X1,product_prod(X2,X21))),product_Pair(X1,product_prod(X2,X21)),X24),hAPP(X21,product_prod(X2,X21),hAPP(X2,fun(X21,product_prod(X2,X21)),product_Pair(X2,X21),X25),X26))),
    c_0_50 ).

fof(c_0_195,axiom,
    ! [X1,X3,X11,X13,X39,X12,X40] :
      ( ti(X3,X12) != ti(X3,X40)
     => hAPP(X1,fun(X3,X1),hAPP(X3,fun(X1,fun(X3,X1)),hAPP(fun(X3,X1),fun(X3,fun(X1,fun(X3,X1))),fun_upd(X3,X1),hAPP(X1,fun(X3,X1),hAPP(X3,fun(X1,fun(X3,X1)),hAPP(fun(X3,X1),fun(X3,fun(X1,fun(X3,X1))),fun_upd(X3,X1),X11),X12),X13)),X40),X39) = hAPP(X1,fun(X3,X1),hAPP(X3,fun(X1,fun(X3,X1)),hAPP(fun(X3,X1),fun(X3,fun(X1,fun(X3,X1))),fun_upd(X3,X1),hAPP(X1,fun(X3,X1),hAPP(X3,fun(X1,fun(X3,X1)),hAPP(fun(X3,X1),fun(X3,fun(X1,fun(X3,X1))),fun_upd(X3,X1),X11),X40),X39)),X12),X13) ),
    c_0_51 ).

fof(c_0_196,axiom,
    ! [X1,X2,X3,X21,X4,X9,X61,X59] : hAPP(product_prod(X1,X2),X3,hAPP(fun(X1,fun(X2,X3)),fun(product_prod(X1,X2),X3),product_prod_case(X1,X2,X3),X9),hAPP(product_prod(X21,X4),product_prod(X1,X2),hAPP(fun(X21,fun(X4,product_prod(X1,X2))),fun(product_prod(X21,X4),product_prod(X1,X2)),product_prod_case(X21,X4,product_prod(X1,X2)),X61),X59)) = hAPP(product_prod(X21,X4),X3,hAPP(fun(X21,fun(X4,X3)),fun(product_prod(X21,X4),X3),product_prod_case(X21,X4,X3),hAPP(fun(X21,fun(X4,product_prod(X1,X2))),fun(X21,fun(X4,X3)),hAPP(fun(fun(X4,product_prod(X1,X2)),fun(X4,X3)),fun(fun(X21,fun(X4,product_prod(X1,X2))),fun(X21,fun(X4,X3))),combb(fun(X4,product_prod(X1,X2)),fun(X4,X3),X21),hAPP(fun(product_prod(X1,X2),X3),fun(fun(X4,product_prod(X1,X2)),fun(X4,X3)),combb(product_prod(X1,X2),X3,X4),hAPP(fun(X1,fun(X2,X3)),fun(product_prod(X1,X2),X3),product_prod_case(X1,X2,X3),X9))),X61)),X59),
    c_0_52 ).

fof(c_0_197,axiom,
    ! [X1,X2,X3,X9,X61] :
      ( ! [X37,X58] : hAPP(X1,X2,hAPP(X3,fun(X1,X2),X9,X37),X58) = hAPP(product_prod(X3,X1),X2,X61,hAPP(X1,product_prod(X3,X1),hAPP(X3,fun(X1,product_prod(X3,X1)),product_Pair(X3,X1),X37),X58))
     => hAPP(fun(X3,fun(X1,X2)),fun(product_prod(X3,X1),X2),product_prod_case(X3,X1,X2),X9) = ti(fun(product_prod(X3,X1),X2),X61) ),
    c_0_53 ).

fof(c_0_198,axiom,
    ! [X1,X3,X9,X10,X14,X38] : hAPP(X1,fun(X3,X1),hAPP(X3,fun(X1,fun(X3,X1)),hAPP(fun(X3,X1),fun(X3,fun(X1,fun(X3,X1))),fun_upd(X3,X1),hAPP(X1,fun(X3,X1),hAPP(X3,fun(X1,fun(X3,X1)),hAPP(fun(X3,X1),fun(X3,fun(X1,fun(X3,X1))),fun_upd(X3,X1),X9),X10),X14)),X10),X38) = hAPP(X1,fun(X3,X1),hAPP(X3,fun(X1,fun(X3,X1)),hAPP(fun(X3,X1),fun(X3,fun(X1,fun(X3,X1))),fun_upd(X3,X1),X9),X10),X38),
    c_0_54 ).

fof(c_0_199,axiom,
    ! [X2,X3,X1,X53,X12,X13,X40] :
      ( hBOOL(hAPP(X2,bool,hAPP(product_prod(X3,X1),fun(X2,bool),hAPP(fun(X3,fun(X1,fun(X2,bool))),fun(product_prod(X3,X1),fun(X2,bool)),product_prod_case(X3,X1,fun(X2,bool)),X53),hAPP(X1,product_prod(X3,X1),hAPP(X3,fun(X1,product_prod(X3,X1)),product_Pair(X3,X1),X12),X13)),X40))
     => hBOOL(hAPP(X2,bool,hAPP(X1,fun(X2,bool),hAPP(X3,fun(X1,fun(X2,bool)),X53,X12),X13),X40)) ),
    c_0_55 ).

fof(c_0_200,axiom,
    ! [X3,X2,X1,X38,X40,X12,X13] :
      ( hBOOL(hAPP(fun(X3,bool),bool,hAPP(X3,fun(fun(X3,bool),bool),member(X3),X38),hAPP(X2,fun(X3,bool),hAPP(X1,fun(X2,fun(X3,bool)),X40,X12),X13)))
     => hBOOL(hAPP(fun(X3,bool),bool,hAPP(X3,fun(fun(X3,bool),bool),member(X3),X38),hAPP(product_prod(X1,X2),fun(X3,bool),hAPP(fun(X1,fun(X2,fun(X3,bool))),fun(product_prod(X1,X2),fun(X3,bool)),product_prod_case(X1,X2,fun(X3,bool)),X40),hAPP(X2,product_prod(X1,X2),hAPP(X1,fun(X2,product_prod(X1,X2)),product_Pair(X1,X2),X12),X13)))) ),
    c_0_56 ).

fof(c_0_201,axiom,
    ! [X3,X1,X15,X16,X10] :
      ~ ! [X37] : hAPP(X3,option(X1),hAPP(option(X1),fun(X3,option(X1)),hAPP(X3,fun(option(X1),fun(X3,option(X1))),hAPP(fun(X3,option(X1)),fun(X3,fun(option(X1),fun(X3,option(X1)))),fun_upd(X3,option(X1)),X15),X16),hAPP(X1,option(X1),some(X1),X10)),X37) = none(X1),
    c_0_57 ).

fof(c_0_202,axiom,
    ! [X6] : ti(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X6)))))))),fun(ty,fun(ty,bool))),widen(X6)) = widen(X6),
    c_0_58 ).

fof(c_0_203,axiom,
    ! [X1,X3,X11,X12,X13,X10,X14] :
      ( hAPP(X1,option(X3),hAPP(option(X3),fun(X1,option(X3)),hAPP(X1,fun(option(X3),fun(X1,option(X3))),hAPP(fun(X1,option(X3)),fun(X1,fun(option(X3),fun(X1,option(X3)))),fun_upd(X1,option(X3)),X11),X12),hAPP(X3,option(X3),some(X3),X13)),X10) = hAPP(X3,option(X3),some(X3),X14)
    <=> ( ( ti(X1,X10) = ti(X1,X12)
          & ti(X3,X13) = ti(X3,X14) )
        | ( ti(X1,X10) != ti(X1,X12)
          & hAPP(X1,option(X3),X11,X10) = hAPP(X3,option(X3),some(X3),X14) ) ) ),
    c_0_59 ).

fof(c_0_204,axiom,
    ! [X3,X1,X2,X9] : hAPP(fun(X3,fun(X1,X2)),fun(product_prod(X3,X1),X2),product_prod_case(X3,X1,X2),hAPP(fun(X3,fun(X1,product_prod(X3,X1))),fun(X3,fun(X1,X2)),hAPP(fun(fun(X1,product_prod(X3,X1)),fun(X1,X2)),fun(fun(X3,fun(X1,product_prod(X3,X1))),fun(X3,fun(X1,X2))),combb(fun(X1,product_prod(X3,X1)),fun(X1,X2),X3),hAPP(fun(product_prod(X3,X1),X2),fun(fun(X1,product_prod(X3,X1)),fun(X1,X2)),combb(product_prod(X3,X1),X2,X1),X9)),product_Pair(X3,X1))) = ti(fun(product_prod(X3,X1),X2),X9),
    c_0_60 ).

fof(c_0_205,axiom,
    ! [X3,X1,X10,X37] : hAPP(X3,option(X1),hAPP(option(X1),fun(X3,option(X1)),hAPP(X3,fun(option(X1),fun(X3,option(X1))),hAPP(fun(X3,option(X1)),fun(X3,fun(option(X1),fun(X3,option(X1)))),fun_upd(X3,option(X1)),hAPP(option(X1),fun(X3,option(X1)),combk(option(X1),X3),none(X1))),X10),none(X1)),X37) = none(X1),
    c_0_61 ).

fof(c_0_206,axiom,
    ! [X1,X3,X11,X12,X10,X17,X14] :
      ( hAPP(option(X1),fun(X3,option(X1)),hAPP(X3,fun(option(X1),fun(X3,option(X1))),hAPP(fun(X3,option(X1)),fun(X3,fun(option(X1),fun(X3,option(X1)))),fun_upd(X3,option(X1)),X11),X12),hAPP(X1,option(X1),some(X1),X10)) = hAPP(option(X1),fun(X3,option(X1)),hAPP(X3,fun(option(X1),fun(X3,option(X1))),hAPP(fun(X3,option(X1)),fun(X3,fun(option(X1),fun(X3,option(X1)))),fun_upd(X3,option(X1)),X17),X12),hAPP(X1,option(X1),some(X1),X14))
     => ti(X1,X10) = ti(X1,X14) ),
    c_0_62 ).

fof(c_0_207,axiom,
    ! [X3,X1,X9,X12,X13] :
      ( hBOOL(hAPP(product_prod(X3,X1),bool,hAPP(fun(X3,fun(X1,bool)),fun(product_prod(X3,X1),bool),product_prod_case(X3,X1,bool),X9),hAPP(X1,product_prod(X3,X1),hAPP(X3,fun(X1,product_prod(X3,X1)),product_Pair(X3,X1),X12),X13)))
     => hBOOL(hAPP(X1,bool,hAPP(X3,fun(X1,bool),X9,X12),X13)) ),
    c_0_63 ).

fof(c_0_208,axiom,
    ! [X3,X1,X40,X59] :
      ( ! [X23,X24] :
          ( ti(product_prod(X3,X1),X59) = hAPP(X1,product_prod(X3,X1),hAPP(X3,fun(X1,product_prod(X3,X1)),product_Pair(X3,X1),X23),X24)
         => hBOOL(hAPP(X1,bool,hAPP(X3,fun(X1,bool),X40,X23),X24)) )
     => hBOOL(hAPP(product_prod(X3,X1),bool,hAPP(fun(X3,fun(X1,bool)),fun(product_prod(X3,X1),bool),product_prod_case(X3,X1,bool),X40),X59)) ),
    c_0_64 ).

fof(c_0_209,axiom,
    ! [X3,X1,X22] :
      ( ! [X36] : hBOOL(hAPP(product_prod(X3,X1),bool,X22,X36))
    <=> ! [X23,X24] : hBOOL(hAPP(product_prod(X3,X1),bool,X22,hAPP(X1,product_prod(X3,X1),hAPP(X3,fun(X1,product_prod(X3,X1)),product_Pair(X3,X1),X23),X24))) ),
    c_0_65 ).

fof(c_0_210,axiom,
    ! [X1,X3,X9,X12,X13] :
      ( hBOOL(hAPP(X1,bool,hAPP(X3,fun(X1,bool),X9,X12),X13))
     => hBOOL(hAPP(product_prod(X3,X1),bool,hAPP(fun(X3,fun(X1,bool)),fun(product_prod(X3,X1),bool),product_prod_case(X3,X1,bool),X9),hAPP(X1,product_prod(X3,X1),hAPP(X3,fun(X1,product_prod(X3,X1)),product_Pair(X3,X1),X12),X13))) ),
    c_0_66 ).

fof(c_0_211,axiom,
    ! [X1,X3,X51,X12,X13] :
      ( hBOOL(hAPP(X1,bool,hAPP(X3,fun(X1,bool),X51,X12),X13))
     => hBOOL(hAPP(product_prod(X3,X1),bool,hAPP(fun(X3,fun(X1,bool)),fun(product_prod(X3,X1),bool),product_prod_case(X3,X1,bool),X51),hAPP(X1,product_prod(X3,X1),hAPP(X3,fun(X1,product_prod(X3,X1)),product_Pair(X3,X1),X12),X13))) ),
    c_0_67 ).

fof(c_0_212,plain,
    ! [X3,X1,X40,X59] :
      ( hBOOL(hAPP(product_prod(X3,X1),bool,hAPP(fun(X3,fun(X1,bool)),fun(product_prod(X3,X1),bool),product_prod_case(X3,X1,bool),X40),X59))
     => ~ ! [X37,X58] :
            ( ti(product_prod(X3,X1),X59) = hAPP(X1,product_prod(X3,X1),hAPP(X3,fun(X1,product_prod(X3,X1)),product_Pair(X3,X1),X37),X58)
           => ~ hBOOL(hAPP(X1,bool,hAPP(X3,fun(X1,bool),X40,X37),X58)) ) ),
    inference(fof_simplification,[status(thm)],[c_0_68]) ).

fof(c_0_213,axiom,
    ! [X3,X1,X22] :
      ( ? [X36] : hBOOL(hAPP(product_prod(X3,X1),bool,X22,X36))
    <=> ? [X23,X24] : hBOOL(hAPP(product_prod(X3,X1),bool,X22,hAPP(X1,product_prod(X3,X1),hAPP(X3,fun(X1,product_prod(X3,X1)),product_Pair(X3,X1),X23),X24))) ),
    c_0_69 ).

fof(c_0_214,axiom,
    ! [X3,X1,X2,X29] :
      ~ ! [X23,X24,X25] : ti(product_prod(X3,product_prod(X1,X2)),X29) != hAPP(product_prod(X1,X2),product_prod(X3,product_prod(X1,X2)),hAPP(X3,fun(product_prod(X1,X2),product_prod(X3,product_prod(X1,X2))),product_Pair(X3,product_prod(X1,X2)),X23),hAPP(X2,product_prod(X1,X2),hAPP(X1,fun(X2,product_prod(X1,X2)),product_Pair(X1,X2),X24),X25)),
    c_0_70 ).

fof(c_0_215,axiom,
    ! [X3,X12,X87,X84,X34,X88,X85] :
      ( hAPP(exp(X3),exp(X3),hAPP(ty,fun(exp(X3),exp(X3)),hAPP(X3,fun(ty,fun(exp(X3),exp(X3))),block(X3),X12),X87),X84) = hAPP(exp(X3),exp(X3),hAPP(ty,fun(exp(X3),exp(X3)),hAPP(X3,fun(ty,fun(exp(X3),exp(X3))),block(X3),X34),X88),X85)
    <=> ( ti(X3,X12) = ti(X3,X34)
        & X87 = X88
        & X84 = X85 ) ),
    c_0_71 ).

fof(c_0_216,axiom,
    ti(fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),hp) = hp,
    c_0_72 ).

fof(c_0_217,axiom,
    ! [X1,X3,X9,X14,X38,X10] :
      ( ( ti(X3,X38) = ti(X3,X10)
       => hAPP(X3,X1,hAPP(X1,fun(X3,X1),hAPP(X3,fun(X1,fun(X3,X1)),hAPP(fun(X3,X1),fun(X3,fun(X1,fun(X3,X1))),fun_upd(X3,X1),X9),X10),X14),X38) = ti(X1,X14) )
      & ( ti(X3,X38) != ti(X3,X10)
       => hAPP(X3,X1,hAPP(X1,fun(X3,X1),hAPP(X3,fun(X1,fun(X3,X1)),hAPP(fun(X3,X1),fun(X3,fun(X1,fun(X3,X1))),fun_upd(X3,X1),X9),X10),X14),X38) = hAPP(X3,X1,X9,X38) ) ),
    c_0_73 ).

fof(c_0_218,axiom,
    ! [X1,X3,X9,X14,X38,X10] :
      ( ti(X3,X38) != ti(X3,X10)
     => hAPP(X3,X1,hAPP(X1,fun(X3,X1),hAPP(X3,fun(X1,fun(X3,X1)),hAPP(fun(X3,X1),fun(X3,fun(X1,fun(X3,X1))),fun_upd(X3,X1),X9),X10),X14),X38) = hAPP(X3,X1,X9,X38) ),
    c_0_74 ).

fof(c_0_219,axiom,
    ! [X1,X3,X9,X13,X12,X37] :
      ( ( ti(X3,X37) = ti(X3,X12)
       => hAPP(X3,X1,hAPP(X1,fun(X3,X1),hAPP(X3,fun(X1,fun(X3,X1)),hAPP(fun(X3,X1),fun(X3,fun(X1,fun(X3,X1))),fun_upd(X3,X1),X9),X12),X13),X37) = ti(X1,X13) )
      & ( ti(X3,X37) != ti(X3,X12)
       => hAPP(X3,X1,hAPP(X1,fun(X3,X1),hAPP(X3,fun(X1,fun(X3,X1)),hAPP(fun(X3,X1),fun(X3,fun(X1,fun(X3,X1))),fun_upd(X3,X1),X9),X12),X13),X37) = hAPP(X3,X1,X9,X37) ) ),
    c_0_75 ).

fof(c_0_220,axiom,
    ! [X1,X3,X9,X10,X14] : hAPP(X1,X3,hAPP(X3,fun(X1,X3),hAPP(X1,fun(X3,fun(X1,X3)),hAPP(fun(X1,X3),fun(X1,fun(X3,fun(X1,X3))),fun_upd(X1,X3),X9),X10),X14),X10) = ti(X3,X14),
    c_0_76 ).

fof(c_0_221,axiom,
    ! [X3,X76,X77,X30,X75,X74] : hAPP(exp(X3),exp(X3),hAPP(exp(X3),fun(exp(X3),exp(X3)),seq(X3),X76),X77) != hAPP(exp(X3),exp(X3),hAPP(ty,fun(exp(X3),exp(X3)),hAPP(X3,fun(ty,fun(exp(X3),exp(X3))),block(X3),X30),X75),X74),
    c_0_77 ).

fof(c_0_222,axiom,
    ! [X3,X30,X75,X74,X76,X77] : hAPP(exp(X3),exp(X3),hAPP(ty,fun(exp(X3),exp(X3)),hAPP(X3,fun(ty,fun(exp(X3),exp(X3))),block(X3),X30),X75),X74) != hAPP(exp(X3),exp(X3),hAPP(exp(X3),fun(exp(X3),exp(X3)),seq(X3),X76),X77),
    c_0_78 ).

fof(c_0_223,axiom,
    ! [X3,X30,X74,X32,X72,X73] : hAPP(exp(X3),exp(X3),hAPP(X3,fun(exp(X3),exp(X3)),lAss(X3),X30),X74) != hAPP(exp(X3),exp(X3),hAPP(ty,fun(exp(X3),exp(X3)),hAPP(X3,fun(ty,fun(exp(X3),exp(X3))),block(X3),X32),X72),X73),
    c_0_79 ).

fof(c_0_224,axiom,
    ! [X3,X32,X72,X73,X30,X74] : hAPP(exp(X3),exp(X3),hAPP(ty,fun(exp(X3),exp(X3)),hAPP(X3,fun(ty,fun(exp(X3),exp(X3))),block(X3),X32),X72),X73) != hAPP(exp(X3),exp(X3),hAPP(X3,fun(exp(X3),exp(X3)),lAss(X3),X30),X74),
    c_0_80 ).

fof(c_0_225,axiom,
    ! [X1,X3,X9,X10,X14] :
      ( hAPP(X1,fun(X3,X1),hAPP(X3,fun(X1,fun(X3,X1)),hAPP(fun(X3,X1),fun(X3,fun(X1,fun(X3,X1))),fun_upd(X3,X1),X9),X10),X14) = ti(fun(X3,X1),X9)
    <=> hAPP(X3,X1,X9,X10) = ti(X1,X14) ),
    c_0_81 ).

fof(c_0_226,axiom,
    ! [X1,X3,X15,X16,X10] :
      ( hAPP(X1,option(X3),X15,X16) = hAPP(X3,option(X3),some(X3),X10)
     => hAPP(option(X3),fun(X1,option(X3)),hAPP(X1,fun(option(X3),fun(X1,option(X3))),hAPP(fun(X1,option(X3)),fun(X1,fun(option(X3),fun(X1,option(X3)))),fun_upd(X1,option(X3)),X15),X16),hAPP(X3,option(X3),some(X3),X10)) = ti(fun(X1,option(X3)),X15) ),
    c_0_82 ).

fof(c_0_227,axiom,
    ! [X3,X2,X1,X41,X94,X95] : hAPP(X3,X2,hAPP(fun(X3,X1),fun(X3,X2),hAPP(fun(X3,fun(X1,X2)),fun(fun(X3,X1),fun(X3,X2)),combs(X3,X1,X2),X41),X94),X95) = hAPP(X1,X2,hAPP(X3,fun(X1,X2),X41,X95),hAPP(X3,X1,X94,X95)),
    c_0_83 ).

fof(c_0_228,axiom,
    ! [X3,X32,X72,X73,X89] : hAPP(exp(X3),exp(X3),hAPP(ty,fun(exp(X3),exp(X3)),hAPP(X3,fun(ty,fun(exp(X3),exp(X3))),block(X3),X32),X72),X73) != hAPP(val,exp(X3),val_1(X3),X89),
    c_0_84 ).

fof(c_0_229,axiom,
    ! [X3,X89,X32,X72,X73] : hAPP(val,exp(X3),val_1(X3),X89) != hAPP(exp(X3),exp(X3),hAPP(ty,fun(exp(X3),exp(X3)),hAPP(X3,fun(ty,fun(exp(X3),exp(X3))),block(X3),X32),X72),X73),
    c_0_85 ).

fof(c_0_230,axiom,
    ! [X1,X2,X3,X9,X12,X13] : hAPP(product_prod(X1,X2),X3,hAPP(fun(X1,fun(X2,X3)),fun(product_prod(X1,X2),X3),product_prod_case(X1,X2,X3),X9),hAPP(X2,product_prod(X1,X2),hAPP(X1,fun(X2,product_prod(X1,X2)),product_Pair(X1,X2),X12),X13)) = hAPP(X2,X3,hAPP(X1,fun(X2,X3),X9,X12),X13),
    c_0_86 ).

fof(c_0_231,axiom,
    ! [X1,X2,X3,X51,X12,X13] : hAPP(product_prod(X1,X2),X3,hAPP(fun(X1,fun(X2,X3)),fun(product_prod(X1,X2),X3),product_prod_case(X1,X2,X3),X51),hAPP(X2,product_prod(X1,X2),hAPP(X1,fun(X2,product_prod(X1,X2)),product_Pair(X1,X2),X12),X13)) = hAPP(X2,X3,hAPP(X1,fun(X2,X3),X51,X12),X13),
    c_0_87 ).

fof(c_0_232,axiom,
    ! [X1,X2,X3,X40,X12,X13] : hAPP(product_prod(X1,X2),X3,hAPP(fun(X1,fun(X2,X3)),fun(product_prod(X1,X2),X3),produc1605651328_split(X1,X2,X3),X40),hAPP(X2,product_prod(X1,X2),hAPP(X1,fun(X2,product_prod(X1,X2)),product_Pair(X1,X2),X12),X13)) = hAPP(X2,X3,hAPP(X1,fun(X2,X3),X40,X12),X13),
    c_0_88 ).

fof(c_0_233,axiom,
    ! [X1,X2,X3,X51,X12,X13] : hAPP(product_prod(X1,X2),X3,hAPP(fun(X1,fun(X2,X3)),fun(product_prod(X1,X2),X3),product_prod_rec(X1,X2,X3),X51),hAPP(X2,product_prod(X1,X2),hAPP(X1,fun(X2,product_prod(X1,X2)),product_Pair(X1,X2),X12),X13)) = hAPP(X2,X3,hAPP(X1,fun(X2,X3),X51,X12),X13),
    c_0_89 ).

fof(c_0_234,axiom,
    ! [X3,X2,X1,X41,X94,X95] : hAPP(X3,X2,hAPP(X1,fun(X3,X2),hAPP(fun(X3,fun(X1,X2)),fun(X1,fun(X3,X2)),combc(X3,X1,X2),X41),X94),X95) = hAPP(X1,X2,hAPP(X3,fun(X1,X2),X41,X95),X94),
    c_0_90 ).

fof(c_0_235,axiom,
    ! [X3,X2,X1,X41,X94,X95] : hAPP(X3,X2,hAPP(fun(X3,X1),fun(X3,X2),hAPP(fun(X1,X2),fun(fun(X3,X1),fun(X3,X2)),combb(X1,X2,X3),X41),X94),X95) = hAPP(X1,X2,X41,hAPP(X3,X1,X94,X95)),
    c_0_91 ).

fof(c_0_236,axiom,
    ! [X1,X3,X9,X10] : hAPP(X1,fun(X3,X1),hAPP(X3,fun(X1,fun(X3,X1)),hAPP(fun(X3,X1),fun(X3,fun(X1,fun(X3,X1))),fun_upd(X3,X1),X9),X10),hAPP(X3,X1,X9,X10)) = ti(fun(X3,X1),X9),
    c_0_92 ).

fof(c_0_237,axiom,
    ! [X3,X10,X86] :
      ( hBOOL(hAPP(fun(X3,bool),bool,hAPP(X3,fun(fun(X3,bool),bool),member(X3),X10),X86))
    <=> hBOOL(hAPP(X3,bool,X86,X10)) ),
    c_0_93 ).

fof(c_0_238,axiom,
    ! [X1,X3,X9,X10,X14] :
      ( hAPP(X1,X3,X9,X10) = ti(X3,X14)
     => hAPP(X3,fun(X1,X3),hAPP(X1,fun(X3,fun(X1,X3)),hAPP(fun(X1,X3),fun(X1,fun(X3,fun(X1,X3))),fun_upd(X1,X3),X9),X10),X14) = ti(fun(X1,X3),X9) ),
    c_0_94 ).

fof(c_0_239,axiom,
    ! [X1,X3,X12,X13,X34,X35] :
      ( hAPP(X1,product_prod(X3,X1),hAPP(X3,fun(X1,product_prod(X3,X1)),product_Pair(X3,X1),X12),X13) = hAPP(X1,product_prod(X3,X1),hAPP(X3,fun(X1,product_prod(X3,X1)),product_Pair(X3,X1),X34),X35)
    <=> ( ti(X3,X12) = ti(X3,X34)
        & ti(X1,X13) = ti(X1,X35) ) ),
    c_0_95 ).

fof(c_0_240,axiom,
    ! [X1,X3,X30,X31,X32,X33] :
      ( hAPP(X1,product_prod(X3,X1),hAPP(X3,fun(X1,product_prod(X3,X1)),product_Pair(X3,X1),X30),X31) = hAPP(X1,product_prod(X3,X1),hAPP(X3,fun(X1,product_prod(X3,X1)),product_Pair(X3,X1),X32),X33)
     => ~ ( ti(X3,X30) = ti(X3,X32)
         => ti(X1,X31) != ti(X1,X33) ) ),
    c_0_96 ).

fof(c_0_241,axiom,
    ! [X3,X80,X81,X82,X83] :
      ( hAPP(exp(X3),exp(X3),hAPP(exp(X3),fun(exp(X3),exp(X3)),seq(X3),X80),X81) = hAPP(exp(X3),exp(X3),hAPP(exp(X3),fun(exp(X3),exp(X3)),seq(X3),X82),X83)
    <=> ( X80 = X82
        & X81 = X83 ) ),
    c_0_97 ).

fof(c_0_242,axiom,
    ! [X3,X12,X84,X34,X85] :
      ( hAPP(exp(X3),exp(X3),hAPP(X3,fun(exp(X3),exp(X3)),lAss(X3),X12),X84) = hAPP(exp(X3),exp(X3),hAPP(X3,fun(exp(X3),exp(X3)),lAss(X3),X34),X85)
    <=> ( ti(X3,X12) = ti(X3,X34)
        & X84 = X85 ) ),
    c_0_98 ).

fof(c_0_243,axiom,
    ! [X3,X30,X74,X76,X77] : hAPP(exp(X3),exp(X3),hAPP(X3,fun(exp(X3),exp(X3)),lAss(X3),X30),X74) != hAPP(exp(X3),exp(X3),hAPP(exp(X3),fun(exp(X3),exp(X3)),seq(X3),X76),X77),
    c_0_99 ).

fof(c_0_244,axiom,
    ! [X3,X76,X77,X30,X74] : hAPP(exp(X3),exp(X3),hAPP(exp(X3),fun(exp(X3),exp(X3)),seq(X3),X76),X77) != hAPP(exp(X3),exp(X3),hAPP(X3,fun(exp(X3),exp(X3)),lAss(X3),X30),X74),
    c_0_100 ).

fof(c_0_245,axiom,
    ! [X2,X3,X1,X40,X59,X60] :
      ( ti(product_prod(X3,X1),X59) = ti(product_prod(X3,X1),X60)
     => hAPP(product_prod(X3,X1),X2,hAPP(fun(X3,fun(X1,X2)),fun(product_prod(X3,X1),X2),product_prod_case(X3,X1,X2),X40),X59) = hAPP(product_prod(X3,X1),X2,hAPP(fun(X3,fun(X1,X2)),fun(product_prod(X3,X1),X2),product_prod_case(X3,X1,X2),X40),X60) ),
    c_0_101 ).

fof(c_0_246,plain,
    ! [X41,X94] :
      ( ~ hBOOL(hAPP(bool,bool,hAPP(bool,fun(bool,bool),fconj,X41),X94))
      | hBOOL(X94) ),
    inference(fof_simplification,[status(thm)],[c_0_102]) ).

fof(c_0_247,plain,
    ! [X41,X94] :
      ( ~ hBOOL(hAPP(bool,bool,hAPP(bool,fun(bool,bool),fconj,X41),X94))
      | hBOOL(X41) ),
    inference(fof_simplification,[status(thm)],[c_0_103]) ).

fof(c_0_248,axiom,
    ! [X3,X1,X9,X61] :
      ( ! [X37] : hAPP(X3,X1,X9,X37) = hAPP(X3,X1,X61,X37)
     => ti(fun(X3,X1),X9) = ti(fun(X3,X1),X61) ),
    c_0_104 ).

fof(c_0_249,axiom,
    ! [X3,X76,X77,X89] : hAPP(exp(X3),exp(X3),hAPP(exp(X3),fun(exp(X3),exp(X3)),seq(X3),X76),X77) != hAPP(val,exp(X3),val_1(X3),X89),
    c_0_105 ).

fof(c_0_250,axiom,
    ! [X3,X89,X76,X77] : hAPP(val,exp(X3),val_1(X3),X89) != hAPP(exp(X3),exp(X3),hAPP(exp(X3),fun(exp(X3),exp(X3)),seq(X3),X76),X77),
    c_0_106 ).

fof(c_0_251,axiom,
    ! [X3,X32,X73,X89] : hAPP(exp(X3),exp(X3),hAPP(X3,fun(exp(X3),exp(X3)),lAss(X3),X32),X73) != hAPP(val,exp(X3),val_1(X3),X89),
    c_0_107 ).

fof(c_0_252,axiom,
    ! [X3,X89,X32,X73] : hAPP(val,exp(X3),val_1(X3),X89) != hAPP(exp(X3),exp(X3),hAPP(X3,fun(exp(X3),exp(X3)),lAss(X3),X32),X73),
    c_0_108 ).

fof(c_0_253,plain,
    ! [X94,X41] :
      ( ~ hBOOL(X41)
      | ~ hBOOL(X94)
      | hBOOL(hAPP(bool,bool,hAPP(bool,fun(bool,bool),fconj,X41),X94)) ),
    inference(fof_simplification,[status(thm)],[c_0_109]) ).

fof(c_0_254,axiom,
    ! [X3,X1,X57] :
      ~ ! [X37,X58] : ti(product_prod(X3,X1),X57) != hAPP(X1,product_prod(X3,X1),hAPP(X3,fun(X1,product_prod(X3,X1)),product_Pair(X3,X1),X37),X58),
    c_0_110 ).

fof(c_0_255,axiom,
    ! [X3,X1,X29] :
      ~ ! [X23,X24] : ti(product_prod(X3,X1),X29) != hAPP(X1,product_prod(X3,X1),hAPP(X3,fun(X1,product_prod(X3,X1)),product_Pair(X3,X1),X23),X24),
    c_0_111 ).

fof(c_0_256,axiom,
    ! [X1,X3,X41,X94] : hAPP(X1,X3,hAPP(X3,fun(X1,X3),combk(X3,X1),X41),X94) = ti(X3,X41),
    c_0_112 ).

fof(c_0_257,axiom,
    ! [X3,X78,X79] :
      ( hAPP(val,exp(X3),val_1(X3),X78) = hAPP(val,exp(X3),val_1(X3),X79)
    <=> X78 = X79 ),
    c_0_113 ).

fof(c_0_258,axiom,
    ! [X2,X3,X7,X8] : ti(X2,hAPP(X3,X2,X7,X8)) = hAPP(X3,X2,X7,X8),
    c_0_114 ).

fof(c_0_259,axiom,
    ! [X3,X1,X2] : ti(fun(fun(X3,fun(X1,X2)),fun(fun(X3,X1),fun(X3,X2))),combs(X3,X1,X2)) = combs(X3,X1,X2),
    c_0_115 ).

fof(c_0_260,axiom,
    ! [X3,X2,X7,X8] : hAPP(X3,X2,ti(fun(X3,X2),X7),X8) = hAPP(X3,X2,X7,X8),
    c_0_116 ).

fof(c_0_261,axiom,
    ! [X3,X2,X7,X8] : hAPP(X3,X2,X7,ti(X3,X8)) = hAPP(X3,X2,X7,X8),
    c_0_117 ).

fof(c_0_262,axiom,
    ! [X1,X2,X3] : ti(fun(fun(X1,fun(X2,X3)),fun(product_prod(X1,X2),X3)),product_prod_rec(X1,X2,X3)) = product_prod_rec(X1,X2,X3),
    c_0_118 ).

fof(c_0_263,axiom,
    ! [X3,X1,X2] : ti(fun(fun(X3,fun(X1,X2)),fun(product_prod(X3,X1),X2)),product_prod_case(X3,X1,X2)) = product_prod_case(X3,X1,X2),
    c_0_119 ).

fof(c_0_264,axiom,
    ! [X1,X2,X3] : ti(fun(fun(X1,fun(X2,X3)),fun(product_prod(X1,X2),X3)),produc1605651328_split(X1,X2,X3)) = produc1605651328_split(X1,X2,X3),
    c_0_120 ).

fof(c_0_265,axiom,
    ! [X3,X1,X2] : ti(fun(fun(X3,fun(X1,X2)),fun(X1,fun(X3,X2))),combc(X3,X1,X2)) = combc(X3,X1,X2),
    c_0_121 ).

fof(c_0_266,axiom,
    ! [X1,X2,X3] : ti(fun(fun(X1,X2),fun(fun(X3,X1),fun(X3,X2))),combb(X1,X2,X3)) = combb(X1,X2,X3),
    c_0_122 ).

fof(c_0_267,axiom,
    hAPP(list(char),option(val),l_a,v_1) = hAPP(val,option(val),some(val),v_2),
    c_0_123 ).

fof(c_0_268,axiom,
    ! [X3,X1] : ti(fun(fun(X3,X1),fun(X3,fun(X1,fun(X3,X1)))),fun_upd(X3,X1)) = fun_upd(X3,X1),
    c_0_124 ).

fof(c_0_269,axiom,
    ! [X3] : ti(fun(X3,fun(ty,fun(exp(X3),exp(X3)))),block(X3)) = block(X3),
    c_0_125 ).

fof(c_0_270,axiom,
    ! [X4,X5] : ti(fun(X4,fun(X5,product_prod(X4,X5))),product_Pair(X4,X5)) = product_Pair(X4,X5),
    c_0_126 ).

fof(c_0_271,axiom,
    ! [X3] : ti(fun(X3,fun(fun(X3,bool),bool)),member(X3)) = member(X3),
    c_0_127 ).

fof(c_0_272,axiom,
    ! [X3] : ti(fun(exp(X3),fun(exp(X3),exp(X3))),seq(X3)) = seq(X3),
    c_0_128 ).

fof(c_0_273,axiom,
    ! [X3] : ti(fun(X3,fun(exp(X3),exp(X3))),lAss(X3)) = lAss(X3),
    c_0_129 ).

fof(c_0_274,axiom,
    ti(fun(list(char),fun(exp(list(char)),bool)),assigned) = assigned,
    c_0_130 ).

fof(c_0_275,axiom,
    ! [X3,X1] : ti(fun(X3,fun(X1,X3)),combk(X3,X1)) = combk(X3,X1),
    c_0_131 ).

fof(c_0_276,axiom,
    ! [X3,X1,X2] : produc1605651328_split(X3,X1,X2) = product_prod_case(X3,X1,X2),
    c_0_132 ).

fof(c_0_277,axiom,
    ti(fun(bool,fun(bool,bool)),fconj) = fconj,
    c_0_133 ).

fof(c_0_278,axiom,
    ! [X3] : ti(fun(X3,option(X3)),some(X3)) = some(X3),
    c_0_134 ).

fof(c_0_279,axiom,
    ! [X3] : ti(fun(val,exp(X3)),val_1(X3)) = val_1(X3),
    c_0_135 ).

fof(c_0_280,axiom,
    ! [X92,X93] : ti(X92,ti(X92,X93)) = ti(X92,X93),
    c_0_136 ).

fof(c_0_281,axiom,
    ti(fun(list(char),option(ty)),e) = e,
    c_0_137 ).

fof(c_0_282,axiom,
    ! [X1] : ti(option(X1),none(X1)) = none(X1),
    c_0_138 ).

fof(c_0_283,axiom,
    ! [X3] : ti(X3,undefined(X3)) = undefined(X3),
    c_0_139 ).

fof(c_0_284,axiom,
    ti(val,v_2) = v_2,
    c_0_140 ).

fof(c_0_285,axiom,
    ti(ty,t_1) = t_1,
    c_0_141 ).

fof(c_0_286,axiom,
    ti(ty,t) = t,
    c_0_142 ).

fof(c_0_287,axiom,
    ti(val,unit) = unit,
    c_0_143 ).

fof(c_0_288,plain,
    ! [X29,X30,X31,X32,X33,X34,X35,X36] :
      ( ~ hBOOL(hAPP(product_prod(X29,product_prod(X30,product_prod(X31,product_prod(X32,product_prod(X33,X34))))),bool,X36,hAPP(product_prod(X30,product_prod(X31,product_prod(X32,product_prod(X33,X34)))),product_prod(X29,product_prod(X30,product_prod(X31,product_prod(X32,product_prod(X33,X34))))),hAPP(X29,fun(product_prod(X30,product_prod(X31,product_prod(X32,product_prod(X33,X34)))),product_prod(X29,product_prod(X30,product_prod(X31,product_prod(X32,product_prod(X33,X34)))))),product_Pair(X29,product_prod(X30,product_prod(X31,product_prod(X32,product_prod(X33,X34))))),esk2_8(X29,X30,X31,X32,X33,X34,X35,X36)),hAPP(product_prod(X31,product_prod(X32,product_prod(X33,X34))),product_prod(X30,product_prod(X31,product_prod(X32,product_prod(X33,X34)))),hAPP(X30,fun(product_prod(X31,product_prod(X32,product_prod(X33,X34))),product_prod(X30,product_prod(X31,product_prod(X32,product_prod(X33,X34))))),product_Pair(X30,product_prod(X31,product_prod(X32,product_prod(X33,X34)))),esk3_8(X29,X30,X31,X32,X33,X34,X35,X36)),hAPP(product_prod(X32,product_prod(X33,X34)),product_prod(X31,product_prod(X32,product_prod(X33,X34))),hAPP(X31,fun(product_prod(X32,product_prod(X33,X34)),product_prod(X31,product_prod(X32,product_prod(X33,X34)))),product_Pair(X31,product_prod(X32,product_prod(X33,X34))),esk4_8(X29,X30,X31,X32,X33,X34,X35,X36)),hAPP(product_prod(X33,X34),product_prod(X32,product_prod(X33,X34)),hAPP(X32,fun(product_prod(X33,X34),product_prod(X32,product_prod(X33,X34))),product_Pair(X32,product_prod(X33,X34)),esk5_8(X29,X30,X31,X32,X33,X34,X35,X36)),hAPP(X34,product_prod(X33,X34),hAPP(X33,fun(X34,product_prod(X33,X34)),product_Pair(X33,X34),esk6_8(X29,X30,X31,X32,X33,X34,X35,X36)),esk7_8(X29,X30,X31,X32,X33,X34,X35,X36))))))))
      | hBOOL(hAPP(product_prod(X29,product_prod(X30,product_prod(X31,product_prod(X32,product_prod(X33,X34))))),bool,X36,X35)) ),
    inference(skolemize,[status(esa)],[inference(variable_rename,[status(thm)],[inference(fof_nnf,[status(thm)],[c_0_144])])]) ).

fof(c_0_289,plain,
    ! [X50,X51,X52,X53,X54,X55] :
      ( ( ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),typeSa885026672_sconf,X50),X51),X52))
        | hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),product_prod_case(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)),bool),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool)),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool))),fun(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool))),combs(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool)),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(bool,bool)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool))),hAPP(fun(fun(bool,bool),fun(fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool))),fun(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(bool,bool)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool)))),combb(fun(bool,bool),fun(fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool)),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),combb(bool,bool,fun(list(char),option(val)))),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(bool,bool)),hAPP(fun(bool,fun(bool,bool)),fun(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(bool,bool))),combb(bool,fun(bool,bool),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),fconj),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),hconf(product_prod(list(list(char)),exp(list(char)))),X50)))),hAPP(fun(list(char),option(ty)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool)),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool))),fun(fun(list(char),option(ty)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool))),combc(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool)),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool))),hAPP(fun(fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool)),fun(fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool))),fun(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool)))),combb(fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool)),fun(fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool)),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),combc(fun(list(char),option(val)),fun(list(char),option(ty)),bool)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool))),lconf(product_prod(list(list(char)),exp(list(char)))),X50))),X51))),X52)) )
      & ( ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),product_prod_case(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)),bool),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool)),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool))),fun(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool))),combs(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool)),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(bool,bool)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool))),hAPP(fun(fun(bool,bool),fun(fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool))),fun(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(bool,bool)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool)))),combb(fun(bool,bool),fun(fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool)),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),combb(bool,bool,fun(list(char),option(val)))),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(bool,bool)),hAPP(fun(bool,fun(bool,bool)),fun(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(bool,bool))),combb(bool,fun(bool,bool),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),fconj),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),hconf(product_prod(list(list(char)),exp(list(char)))),X53)))),hAPP(fun(list(char),option(ty)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool)),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool))),fun(fun(list(char),option(ty)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool))),combc(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool)),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool))),hAPP(fun(fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool)),fun(fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool))),fun(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool)))),combb(fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool)),fun(fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool)),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),combc(fun(list(char),option(val)),fun(list(char),option(ty)),bool)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool))),lconf(product_prod(list(list(char)),exp(list(char)))),X53))),X54))),X55))
        | hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),typeSa885026672_sconf,X53),X54),X55)) ) ),
    inference(shift_quantors,[status(thm)],[inference(variable_rename,[status(thm)],[inference(shift_quantors,[status(thm)],[inference(fof_nnf,[status(thm)],[c_0_145])])])]) ).

fof(c_0_290,plain,
    ! [X66,X67,X68,X69,X70,X71,X72,X73,X74,X75,X76] :
      ( ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X68),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X69),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),X70),X71),hAPP(val,option(val),some(val),X72))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X73),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X74),X75)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X76)))
      | hAPP(list(char),option(val),X75,X71) != hAPP(val,option(val),some(val),X67)
      | hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X71),X66),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),X71),hAPP(val,exp(list(char)),val_1(list(char)),X72))),X68))),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X69),X70))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X71),X66),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),X71),hAPP(val,exp(list(char)),val_1(list(char)),X67))),X73))),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X74),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),X75),X71),hAPP(list(char),option(val),X70,X71)))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X76))) ),
    inference(variable_rename,[status(thm)],[inference(fof_nnf,[status(thm)],[c_0_146])]) ).

fof(c_0_291,plain,
    ! [X66,X67,X68,X69,X70,X71,X72,X73,X74,X75] :
      ( ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X68),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X69),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),X70),X71),none(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X72),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X73),X74)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X75)))
      | hAPP(list(char),option(val),X74,X71) != hAPP(val,option(val),some(val),X67)
      | hBOOL(hAPP(exp(list(char)),bool,hAPP(list(char),fun(exp(list(char)),bool),assigned,X71),X68))
      | hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X71),X66),X68)),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X69),X70))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X71),X66),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),X71),hAPP(val,exp(list(char)),val_1(list(char)),X67))),X72))),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X73),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),X74),X71),hAPP(list(char),option(val),X70,X71)))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X75))) ),
    inference(variable_rename,[status(thm)],[inference(fof_nnf,[status(thm)],[c_0_147])]) ).

fof(c_0_292,plain,
    ! [X28,X29,X30,X31,X32,X33,X34] :
      ( ~ hBOOL(hAPP(product_prod(X28,product_prod(X29,product_prod(X30,product_prod(X31,X32)))),bool,X34,hAPP(product_prod(X29,product_prod(X30,product_prod(X31,X32))),product_prod(X28,product_prod(X29,product_prod(X30,product_prod(X31,X32)))),hAPP(X28,fun(product_prod(X29,product_prod(X30,product_prod(X31,X32))),product_prod(X28,product_prod(X29,product_prod(X30,product_prod(X31,X32))))),product_Pair(X28,product_prod(X29,product_prod(X30,product_prod(X31,X32)))),esk14_7(X28,X29,X30,X31,X32,X33,X34)),hAPP(product_prod(X30,product_prod(X31,X32)),product_prod(X29,product_prod(X30,product_prod(X31,X32))),hAPP(X29,fun(product_prod(X30,product_prod(X31,X32)),product_prod(X29,product_prod(X30,product_prod(X31,X32)))),product_Pair(X29,product_prod(X30,product_prod(X31,X32))),esk15_7(X28,X29,X30,X31,X32,X33,X34)),hAPP(product_prod(X31,X32),product_prod(X30,product_prod(X31,X32)),hAPP(X30,fun(product_prod(X31,X32),product_prod(X30,product_prod(X31,X32))),product_Pair(X30,product_prod(X31,X32)),esk16_7(X28,X29,X30,X31,X32,X33,X34)),hAPP(X32,product_prod(X31,X32),hAPP(X31,fun(X32,product_prod(X31,X32)),product_Pair(X31,X32),esk17_7(X28,X29,X30,X31,X32,X33,X34)),esk18_7(X28,X29,X30,X31,X32,X33,X34)))))))
      | hBOOL(hAPP(product_prod(X28,product_prod(X29,product_prod(X30,product_prod(X31,X32)))),bool,X34,X33)) ),
    inference(skolemize,[status(esa)],[inference(variable_rename,[status(thm)],[inference(fof_nnf,[status(thm)],[c_0_148])])]) ).

fof(c_0_293,plain,
    ! [X49,X50,X51,X52,X53,X54,X55,X56,X57] :
      ( ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X51),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X52),X53))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X54),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X55),X56)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X57)))
      | ~ hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,X57),X52),X49),X51),X50))
      | ~ hBOOL(hAPP(fun(list(char),option(ty)),bool,hAPP(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool))),lconf(product_prod(list(list(char)),exp(list(char)))),X57),X52),X53),X49))
      | hBOOL(hAPP(fun(list(char),option(ty)),bool,hAPP(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool))),lconf(product_prod(list(list(char)),exp(list(char)))),X57),X55),X56),X49)) ),
    inference(variable_rename,[status(thm)],[inference(fof_nnf,[status(thm)],[c_0_149])]) ).

fof(c_0_294,plain,
    ! [X49,X50,X51,X52,X53,X54,X55,X56,X57] :
      ( ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X51),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X52),X53))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X54),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X55),X56)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X57)))
      | ~ hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,X57),X52),X49),X51),X50))
      | ~ hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),hconf(product_prod(list(list(char)),exp(list(char)))),X57),X52))
      | hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),hconf(product_prod(list(list(char)),exp(list(char)))),X57),X55)) ),
    inference(variable_rename,[status(thm)],[inference(fof_nnf,[status(thm)],[c_0_150])]) ).

fof(c_0_295,plain,
    ! [X69,X70,X71,X72,X73,X74] :
      ( ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X70),X71)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X72),X73))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X74)))
      | hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),X70),X69)),X71)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),X72),X69)),X73))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X74))) ),
    inference(variable_rename,[status(thm)],[inference(fof_nnf,[status(thm)],[c_0_151])]) ).

fof(c_0_296,plain,
    ! [X65,X66,X67,X68,X69,X70] :
      ( ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X66),X67)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X68),X69))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X70)))
      | hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),X65),X66)),X67)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),X65),X68)),X69))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X70))) ),
    inference(variable_rename,[status(thm)],[inference(fof_nnf,[status(thm)],[c_0_152])]) ).

fof(c_0_297,plain,
    ! [X92,X93,X94,X95,X96,X97,X98,X99,X100,X101] :
      ( ( ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,X92),X93),X94),X95),X96))
        | hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X93),X94)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X95),X96))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X92))) )
      & ( ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X98),X99)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X100),X101))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X97)))
        | hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,X97),X98),X99),X100),X101)) ) ),
    inference(shift_quantors,[status(thm)],[inference(variable_rename,[status(thm)],[inference(shift_quantors,[status(thm)],[inference(fof_nnf,[status(thm)],[c_0_153])])])]) ).

fof(c_0_298,plain,
    ! [X51,X52,X53,X54,X55,X56,X57] :
      ( ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X53),X54)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X55),X56))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X57)))
      | ~ hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,X57),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hp,X54)),X51),X53),X52))
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),typeSa885026672_sconf,X57),X51),X54))
      | hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),typeSa885026672_sconf,X57),X51),X56)) ),
    inference(variable_rename,[status(thm)],[inference(fof_nnf,[status(thm)],[c_0_154])]) ).

fof(c_0_299,plain,
    ! [X66,X67,X68,X69,X70,X71,X72,X73,X74,X75,X76] :
      ( ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,X68),X69),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X70),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),X71),X72),hAPP(val,option(val),some(val),X73)))),X74),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X75),X76)))
      | hAPP(list(char),option(val),X76,X72) != hAPP(val,option(val),some(val),X67)
      | hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,X68),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X72),X66),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),X72),hAPP(val,exp(list(char)),val_1(list(char)),X73))),X69))),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X70),X71)),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X72),X66),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),X72),hAPP(val,exp(list(char)),val_1(list(char)),X67))),X74))),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X75),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),X76),X72),hAPP(list(char),option(val),X71,X72))))) ),
    inference(variable_rename,[status(thm)],[inference(fof_nnf,[status(thm)],[c_0_155])]) ).

fof(c_0_300,plain,
    ! [X66,X67,X68,X69,X70,X71,X72,X73,X74,X75] :
      ( ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,X68),X69),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X70),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),X71),X72),none(val)))),X73),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X74),X75)))
      | hAPP(list(char),option(val),X75,X72) != hAPP(val,option(val),some(val),X67)
      | hBOOL(hAPP(exp(list(char)),bool,hAPP(list(char),fun(exp(list(char)),bool),assigned,X72),X69))
      | hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,X68),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X72),X66),X69)),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X70),X71)),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X72),X66),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),X72),hAPP(val,exp(list(char)),val_1(list(char)),X67))),X73))),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X74),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),X75),X72),hAPP(list(char),option(val),X71,X72))))) ),
    inference(variable_rename,[status(thm)],[inference(fof_nnf,[status(thm)],[c_0_156])]) ).

fof(c_0_301,plain,
    ! [X65,X66,X67,X68,X69,X70,X71,X72,X73] :
      ( ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,X66),X67),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X68),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),X69),X70),none(val)))),X71),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X72),X73)))
      | hAPP(list(char),option(val),X73,X70) != none(val)
      | hBOOL(hAPP(exp(list(char)),bool,hAPP(list(char),fun(exp(list(char)),bool),assigned,X70),X67))
      | hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,X66),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X70),X65),X67)),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X68),X69)),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X70),X65),X71)),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X72),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),X73),X70),hAPP(list(char),option(val),X69,X70))))) ),
    inference(variable_rename,[status(thm)],[inference(fof_nnf,[status(thm)],[c_0_157])]) ).

fof(c_0_302,plain,
    ! [X69,X70,X71,X72,X73,X74] :
      ( ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,X70),X71),X72),X73),X74))
      | hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,X70),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),X71),X69)),X72),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),X73),X69)),X74)) ),
    inference(variable_rename,[status(thm)],[inference(fof_nnf,[status(thm)],[c_0_158])]) ).

fof(c_0_303,plain,
    ! [X65,X66,X67,X68,X69,X70] :
      ( ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,X66),X67),X68),X69),X70))
      | hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,X66),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),X65),X67)),X68),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),X65),X69)),X70)) ),
    inference(variable_rename,[status(thm)],[inference(fof_nnf,[status(thm)],[c_0_159])]) ).

fof(c_0_304,plain,
    ! [X67,X68,X69,X70,X71,X72] : hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X67),X68),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),X67),hAPP(val,exp(list(char)),val_1(list(char)),X69))),hAPP(val,exp(list(char)),val_1(list(char)),X70)))),X71)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),X70)),X71))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X72))),
    inference(variable_rename,[status(thm)],[c_0_160]) ).

fof(c_0_305,axiom,
    hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),ea),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),ha),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),la),v_1),hAPP(val,option(val),some(val),v))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),e_a),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),h_a),l_a)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,p))),
    c_0_161 ).

fof(c_0_306,plain,
    ! [X66,X67,X68,X69,X70] : hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),X66),hAPP(val,exp(list(char)),val_1(list(char)),X67))),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X68),X69))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),unit)),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X68),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),X69),X66),hAPP(val,option(val),some(val),X67)))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X70))),
    inference(variable_rename,[status(thm)],[c_0_162]) ).

fof(c_0_307,plain,
    ! [X30,X31,X32,X33,X34,X35,X36] : ti(product_prod(X30,product_prod(X31,product_prod(X32,product_prod(X33,product_prod(X34,X35))))),X36) = hAPP(product_prod(X31,product_prod(X32,product_prod(X33,product_prod(X34,X35)))),product_prod(X30,product_prod(X31,product_prod(X32,product_prod(X33,product_prod(X34,X35))))),hAPP(X30,fun(product_prod(X31,product_prod(X32,product_prod(X33,product_prod(X34,X35)))),product_prod(X30,product_prod(X31,product_prod(X32,product_prod(X33,product_prod(X34,X35)))))),product_Pair(X30,product_prod(X31,product_prod(X32,product_prod(X33,product_prod(X34,X35))))),esk8_7(X30,X31,X32,X33,X34,X35,X36)),hAPP(product_prod(X32,product_prod(X33,product_prod(X34,X35))),product_prod(X31,product_prod(X32,product_prod(X33,product_prod(X34,X35)))),hAPP(X31,fun(product_prod(X32,product_prod(X33,product_prod(X34,X35))),product_prod(X31,product_prod(X32,product_prod(X33,product_prod(X34,X35))))),product_Pair(X31,product_prod(X32,product_prod(X33,product_prod(X34,X35)))),esk9_7(X30,X31,X32,X33,X34,X35,X36)),hAPP(product_prod(X33,product_prod(X34,X35)),product_prod(X32,product_prod(X33,product_prod(X34,X35))),hAPP(X32,fun(product_prod(X33,product_prod(X34,X35)),product_prod(X32,product_prod(X33,product_prod(X34,X35)))),product_Pair(X32,product_prod(X33,product_prod(X34,X35))),esk10_7(X30,X31,X32,X33,X34,X35,X36)),hAPP(product_prod(X34,X35),product_prod(X33,product_prod(X34,X35)),hAPP(X33,fun(product_prod(X34,X35),product_prod(X33,product_prod(X34,X35))),product_Pair(X33,product_prod(X34,X35)),esk11_7(X30,X31,X32,X33,X34,X35,X36)),hAPP(X35,product_prod(X34,X35),hAPP(X34,fun(X35,product_prod(X34,X35)),product_Pair(X34,X35),esk12_7(X30,X31,X32,X33,X34,X35,X36)),esk13_7(X30,X31,X32,X33,X34,X35,X36)))))),
    inference(skolemize,[status(esa)],[inference(variable_rename,[status(thm)],[inference(fof_nnf,[status(thm)],[c_0_163])])]) ).

fof(c_0_308,plain,
    ! [X67,X68,X69,X70,X71] : hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X67),X68),hAPP(val,exp(list(char)),val_1(list(char)),X69))),X70)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),X69)),X70))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X71))),
    inference(variable_rename,[status(thm)],[c_0_164]) ).

fof(c_0_309,plain,
    ! [X69,X70,X71,X72] : hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),X69)),X70)),X71)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X70),X71))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X72))),
    inference(variable_rename,[status(thm)],[c_0_165]) ).

fof(c_0_310,plain,
    ! [X72,X73,X74,X75,X76,X77,X78] :
      ( ~ hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,X74),X75),X76),X77),X78))
      | ~ hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,X74),X75),X76),X72),X73))
      | hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,X74),X75),X76),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),X77),X72)),X73)) ),
    inference(shift_quantors,[status(thm)],[inference(variable_rename,[status(thm)],[inference(shift_quantors,[status(thm)],[inference(fof_nnf,[status(thm)],[c_0_166])])])]) ).

fof(c_0_311,plain,
    ! [X67,X68,X69,X70,X71,X72] : hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,X67),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X68),X69),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),X68),hAPP(val,exp(list(char)),val_1(list(char)),X70))),hAPP(val,exp(list(char)),val_1(list(char)),X71)))),X72),hAPP(val,exp(list(char)),val_1(list(char)),X71)),X72)),
    inference(variable_rename,[status(thm)],[c_0_167]) ).

fof(c_0_312,plain,
    ! [X21,X22] :
      ( ( hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,p),h_a),X22),e_a),esk1_2(X21,X22)))
        | ~ hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,p),ha),X22),ea),X21))
        | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),typeSa885026672_sconf,p),X22),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),ha),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),la),v_1),hAPP(val,option(val),some(val),v))))) )
      & ( hBOOL(hAPP(ty,bool,hAPP(ty,fun(ty,bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(ty,fun(ty,bool)),widen(product_prod(list(list(char)),exp(list(char)))),p),esk1_2(X21,X22)),X21))
        | ~ hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,p),ha),X22),ea),X21))
        | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),typeSa885026672_sconf,p),X22),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),ha),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),la),v_1),hAPP(val,option(val),some(val),v))))) ) ),
    inference(distribute,[status(thm)],[inference(skolemize,[status(esa)],[inference(variable_rename,[status(thm)],[inference(fof_nnf,[status(thm)],[c_0_168])])])]) ).

fof(c_0_313,plain,
    ! [X67,X68,X69,X70,X71] : hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,X67),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X68),X69),hAPP(val,exp(list(char)),val_1(list(char)),X70))),X71),hAPP(val,exp(list(char)),val_1(list(char)),X70)),X71)),
    inference(variable_rename,[status(thm)],[c_0_169]) ).

fof(c_0_314,plain,
    ! [X69,X70,X71,X72] : hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,X69),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),X70)),X71)),X72),X71),X72)),
    inference(variable_rename,[status(thm)],[c_0_170]) ).

fof(c_0_315,plain,
    ! [X68,X69,X70,X71,X72,X73,X74] :
      ( ~ hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,X68),X69),hAPP(option(ty),fun(list(char),option(ty)),hAPP(list(char),fun(option(ty),fun(list(char),option(ty))),hAPP(fun(list(char),option(ty)),fun(list(char),fun(option(ty),fun(list(char),option(ty)))),fun_upd(list(char),option(ty)),X70),X71),hAPP(ty,option(ty),some(ty),X72))),X73),X74))
      | hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,X68),X69),X70),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X71),X72),X73)),X74)) ),
    inference(variable_rename,[status(thm)],[inference(fof_nnf,[status(thm)],[c_0_171])]) ).

fof(c_0_316,plain,
    ! [X27,X28,X29,X30,X31,X32] :
      ( ~ hBOOL(hAPP(product_prod(X27,product_prod(X28,product_prod(X29,X30))),bool,X32,hAPP(product_prod(X28,product_prod(X29,X30)),product_prod(X27,product_prod(X28,product_prod(X29,X30))),hAPP(X27,fun(product_prod(X28,product_prod(X29,X30)),product_prod(X27,product_prod(X28,product_prod(X29,X30)))),product_Pair(X27,product_prod(X28,product_prod(X29,X30))),esk24_6(X27,X28,X29,X30,X31,X32)),hAPP(product_prod(X29,X30),product_prod(X28,product_prod(X29,X30)),hAPP(X28,fun(product_prod(X29,X30),product_prod(X28,product_prod(X29,X30))),product_Pair(X28,product_prod(X29,X30)),esk25_6(X27,X28,X29,X30,X31,X32)),hAPP(X30,product_prod(X29,X30),hAPP(X29,fun(X30,product_prod(X29,X30)),product_Pair(X29,X30),esk26_6(X27,X28,X29,X30,X31,X32)),esk27_6(X27,X28,X29,X30,X31,X32))))))
      | hBOOL(hAPP(product_prod(X27,product_prod(X28,product_prod(X29,X30))),bool,X32,X31)) ),
    inference(skolemize,[status(esa)],[inference(variable_rename,[status(thm)],[inference(fof_nnf,[status(thm)],[c_0_172])])]) ).

fof(c_0_317,axiom,
    hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,p),ha),e),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),v_1),t_1),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),v_1),hAPP(val,exp(list(char)),val_1(list(char)),v))),ea))),t)),
    c_0_173 ).

fof(c_0_318,axiom,
    hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool))),fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),bool),wf_prog(product_prod(list(list(char)),exp(list(char)))),wf_J_mdecl),p)),
    c_0_174 ).

fof(c_0_319,plain,
    ! [X30,X31,X32,X33,X34,X35] : ti(product_prod(X30,product_prod(X31,product_prod(X32,product_prod(X33,X34)))),X35) = hAPP(product_prod(X31,product_prod(X32,product_prod(X33,X34))),product_prod(X30,product_prod(X31,product_prod(X32,product_prod(X33,X34)))),hAPP(X30,fun(product_prod(X31,product_prod(X32,product_prod(X33,X34))),product_prod(X30,product_prod(X31,product_prod(X32,product_prod(X33,X34))))),product_Pair(X30,product_prod(X31,product_prod(X32,product_prod(X33,X34)))),esk19_6(X30,X31,X32,X33,X34,X35)),hAPP(product_prod(X32,product_prod(X33,X34)),product_prod(X31,product_prod(X32,product_prod(X33,X34))),hAPP(X31,fun(product_prod(X32,product_prod(X33,X34)),product_prod(X31,product_prod(X32,product_prod(X33,X34)))),product_Pair(X31,product_prod(X32,product_prod(X33,X34))),esk20_6(X30,X31,X32,X33,X34,X35)),hAPP(product_prod(X33,X34),product_prod(X32,product_prod(X33,X34)),hAPP(X32,fun(product_prod(X33,X34),product_prod(X32,product_prod(X33,X34))),product_Pair(X32,product_prod(X33,X34)),esk21_6(X30,X31,X32,X33,X34,X35)),hAPP(X34,product_prod(X33,X34),hAPP(X33,fun(X34,product_prod(X33,X34)),product_Pair(X33,X34),esk22_6(X30,X31,X32,X33,X34,X35)),esk23_6(X30,X31,X32,X33,X34,X35))))),
    inference(skolemize,[status(esa)],[inference(variable_rename,[status(thm)],[inference(fof_nnf,[status(thm)],[c_0_175])])]) ).

fof(c_0_320,axiom,
    hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),typeSa885026672_sconf,p),e),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),ha),la))),
    c_0_176 ).

fof(c_0_321,plain,
    ! [X57,X58,X59,X60,X61] :
      ( ~ hBOOL(hAPP(ty,bool,hAPP(ty,fun(ty,bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X57)))))))),fun(ty,fun(ty,bool)),widen(X57),X59),X60),X61))
      | ~ hBOOL(hAPP(ty,bool,hAPP(ty,fun(ty,bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X57)))))))),fun(ty,fun(ty,bool)),widen(X57),X59),X61),X58))
      | hBOOL(hAPP(ty,bool,hAPP(ty,fun(ty,bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X57)))))))),fun(ty,fun(ty,bool)),widen(X57),X59),X60),X58)) ),
    inference(variable_rename,[status(thm)],[inference(fof_nnf,[status(thm)],[c_0_177])]) ).

fof(c_0_322,plain,
    ! [X60,X61,X62,X63,X64,X65] :
      ( ( ti(product_prod(X61,X62),X65) = hAPP(X62,product_prod(X61,X62),hAPP(X61,fun(X62,product_prod(X61,X62)),product_Pair(X61,X62),esk60_6(X60,X61,X62,X63,X64,X65)),esk61_6(X60,X61,X62,X63,X64,X65))
        | hBOOL(hAPP(fun(X60,bool),bool,hAPP(X60,fun(fun(X60,bool),bool),member(X60),X63),hAPP(product_prod(X61,X62),fun(X60,bool),hAPP(fun(X61,fun(X62,fun(X60,bool))),fun(product_prod(X61,X62),fun(X60,bool)),product_prod_case(X61,X62,fun(X60,bool)),X64),X65))) )
      & ( ~ hBOOL(hAPP(fun(X60,bool),bool,hAPP(X60,fun(fun(X60,bool),bool),member(X60),X63),hAPP(X62,fun(X60,bool),hAPP(X61,fun(X62,fun(X60,bool)),X64,esk60_6(X60,X61,X62,X63,X64,X65)),esk61_6(X60,X61,X62,X63,X64,X65))))
        | hBOOL(hAPP(fun(X60,bool),bool,hAPP(X60,fun(fun(X60,bool),bool),member(X60),X63),hAPP(product_prod(X61,X62),fun(X60,bool),hAPP(fun(X61,fun(X62,fun(X60,bool))),fun(product_prod(X61,X62),fun(X60,bool)),product_prod_case(X61,X62,fun(X60,bool)),X64),X65))) ) ),
    inference(distribute,[status(thm)],[inference(skolemize,[status(esa)],[inference(variable_rename,[status(thm)],[inference(fof_nnf,[status(thm)],[c_0_178])])])]) ).

fof(c_0_323,plain,
    ! [X60,X61,X62,X63,X64,X65] :
      ( ( hAPP(X61,product_prod(X62,X61),hAPP(X62,fun(X61,product_prod(X62,X61)),product_Pair(X62,X61),esk58_6(X60,X61,X62,X63,X64,X65)),esk59_6(X60,X61,X62,X63,X64,X65)) = ti(product_prod(X62,X61),X65)
        | hBOOL(hAPP(X60,bool,hAPP(product_prod(X62,X61),fun(X60,bool),hAPP(fun(X62,fun(X61,fun(X60,bool))),fun(product_prod(X62,X61),fun(X60,bool)),product_prod_case(X62,X61,fun(X60,bool)),X63),X65),X64)) )
      & ( ~ hBOOL(hAPP(X60,bool,hAPP(X61,fun(X60,bool),hAPP(X62,fun(X61,fun(X60,bool)),X63,esk58_6(X60,X61,X62,X63,X64,X65)),esk59_6(X60,X61,X62,X63,X64,X65)),X64))
        | hBOOL(hAPP(X60,bool,hAPP(product_prod(X62,X61),fun(X60,bool),hAPP(fun(X62,fun(X61,fun(X60,bool))),fun(product_prod(X62,X61),fun(X60,bool)),product_prod_case(X62,X61,fun(X60,bool)),X63),X65),X64)) ) ),
    inference(distribute,[status(thm)],[inference(skolemize,[status(esa)],[inference(variable_rename,[status(thm)],[inference(fof_nnf,[status(thm)],[c_0_179])])])]) ).

fof(c_0_324,axiom,
    ti(fun(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool))),fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),bool)),wf_prog(product_prod(list(list(char)),exp(list(char))))) = wf_prog(product_prod(list(list(char)),exp(list(char)))),
    c_0_180 ).

fof(c_0_325,plain,
    ! [X60,X61,X62,X63,X64,X65] :
      ( ( ti(product_prod(X61,X62),X65) = hAPP(X62,product_prod(X61,X62),hAPP(X61,fun(X62,product_prod(X61,X62)),product_Pair(X61,X62),esk56_6(X60,X61,X62,X63,X64,X65)),esk57_6(X60,X61,X62,X63,X64,X65))
        | ~ hBOOL(hAPP(fun(X60,bool),bool,hAPP(X60,fun(fun(X60,bool),bool),member(X60),X63),hAPP(product_prod(X61,X62),fun(X60,bool),hAPP(fun(X61,fun(X62,fun(X60,bool))),fun(product_prod(X61,X62),fun(X60,bool)),product_prod_case(X61,X62,fun(X60,bool)),X64),X65))) )
      & ( hBOOL(hAPP(fun(X60,bool),bool,hAPP(X60,fun(fun(X60,bool),bool),member(X60),X63),hAPP(X62,fun(X60,bool),hAPP(X61,fun(X62,fun(X60,bool)),X64,esk56_6(X60,X61,X62,X63,X64,X65)),esk57_6(X60,X61,X62,X63,X64,X65))))
        | ~ hBOOL(hAPP(fun(X60,bool),bool,hAPP(X60,fun(fun(X60,bool),bool),member(X60),X63),hAPP(product_prod(X61,X62),fun(X60,bool),hAPP(fun(X61,fun(X62,fun(X60,bool))),fun(product_prod(X61,X62),fun(X60,bool)),product_prod_case(X61,X62,fun(X60,bool)),X64),X65))) ) ),
    inference(distribute,[status(thm)],[inference(skolemize,[status(esa)],[inference(variable_rename,[status(thm)],[inference(fof_nnf,[status(thm)],[c_0_181])])])]) ).

fof(c_0_326,plain,
    ! [X60,X61,X62,X63,X64,X65] :
      ( ( ti(product_prod(X61,X62),X64) = hAPP(X62,product_prod(X61,X62),hAPP(X61,fun(X62,product_prod(X61,X62)),product_Pair(X61,X62),esk54_6(X60,X61,X62,X63,X64,X65)),esk55_6(X60,X61,X62,X63,X64,X65))
        | ~ hBOOL(hAPP(X60,bool,hAPP(product_prod(X61,X62),fun(X60,bool),hAPP(fun(X61,fun(X62,fun(X60,bool))),fun(product_prod(X61,X62),fun(X60,bool)),product_prod_case(X61,X62,fun(X60,bool)),X63),X64),X65)) )
      & ( hBOOL(hAPP(X60,bool,hAPP(X62,fun(X60,bool),hAPP(X61,fun(X62,fun(X60,bool)),X63,esk54_6(X60,X61,X62,X63,X64,X65)),esk55_6(X60,X61,X62,X63,X64,X65)),X65))
        | ~ hBOOL(hAPP(X60,bool,hAPP(product_prod(X61,X62),fun(X60,bool),hAPP(fun(X61,fun(X62,fun(X60,bool))),fun(product_prod(X61,X62),fun(X60,bool)),product_prod_case(X61,X62,fun(X60,bool)),X63),X64),X65)) ) ),
    inference(distribute,[status(thm)],[inference(skolemize,[status(esa)],[inference(variable_rename,[status(thm)],[inference(fof_nnf,[status(thm)],[c_0_182])])])]) ).

fof(c_0_327,plain,
    ! [X63,X64,X65,X66,X67,X68] :
      ( ( ti(product_prod(X64,X65),X68) = hAPP(X65,product_prod(X64,X65),hAPP(X64,fun(X65,product_prod(X64,X65)),product_Pair(X64,X65),esk64_6(X63,X64,X65,X66,X67,X68)),esk65_6(X63,X64,X65,X66,X67,X68))
        | ~ hBOOL(hAPP(X63,bool,X66,hAPP(product_prod(X64,X65),X63,hAPP(fun(X64,fun(X65,X63)),fun(product_prod(X64,X65),X63),product_prod_case(X64,X65,X63),X67),X68))) )
      & ( hBOOL(hAPP(X63,bool,X66,hAPP(X65,X63,hAPP(X64,fun(X65,X63),X67,esk64_6(X63,X64,X65,X66,X67,X68)),esk65_6(X63,X64,X65,X66,X67,X68))))
        | ~ hBOOL(hAPP(X63,bool,X66,hAPP(product_prod(X64,X65),X63,hAPP(fun(X64,fun(X65,X63)),fun(product_prod(X64,X65),X63),product_prod_case(X64,X65,X63),X67),X68))) ) ),
    inference(distribute,[status(thm)],[inference(skolemize,[status(esa)],[inference(variable_rename,[status(thm)],[inference(fof_nnf,[status(thm)],[c_0_183])])])]) ).

fof(c_0_328,plain,
    ! [X26,X27,X28,X29,X30] :
      ( ~ hBOOL(hAPP(product_prod(X26,product_prod(X27,X28)),bool,X30,hAPP(product_prod(X27,X28),product_prod(X26,product_prod(X27,X28)),hAPP(X26,fun(product_prod(X27,X28),product_prod(X26,product_prod(X27,X28))),product_Pair(X26,product_prod(X27,X28)),esk38_5(X26,X27,X28,X29,X30)),hAPP(X28,product_prod(X27,X28),hAPP(X27,fun(X28,product_prod(X27,X28)),product_Pair(X27,X28),esk39_5(X26,X27,X28,X29,X30)),esk40_5(X26,X27,X28,X29,X30)))))
      | hBOOL(hAPP(product_prod(X26,product_prod(X27,X28)),bool,X30,X29)) ),
    inference(skolemize,[status(esa)],[inference(variable_rename,[status(thm)],[inference(fof_nnf,[status(thm)],[c_0_184])])]) ).

fof(c_0_329,axiom,
    ti(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))))),redp) = redp,
    c_0_185 ).

fof(c_0_330,plain,
    ! [X63,X64,X65,X66,X67,X68,X69,X70,X71,X72] :
      ( ( hBOOL(X65)
        | ~ hBOOL(hAPP(product_prod(X63,X64),bool,hAPP(fun(X63,fun(X64,bool)),fun(product_prod(X63,X64),bool),product_prod_case(X63,X64,bool),hAPP(fun(X63,fun(X64,bool)),fun(X63,fun(X64,bool)),hAPP(fun(fun(X64,bool),fun(X64,bool)),fun(fun(X63,fun(X64,bool)),fun(X63,fun(X64,bool))),combb(fun(X64,bool),fun(X64,bool),X63),hAPP(fun(bool,bool),fun(fun(X64,bool),fun(X64,bool)),combb(bool,bool,X64),hAPP(bool,fun(bool,bool),fconj,X65))),X66)),X67)) )
      & ( hBOOL(hAPP(product_prod(X63,X64),bool,hAPP(fun(X63,fun(X64,bool)),fun(product_prod(X63,X64),bool),product_prod_case(X63,X64,bool),X66),X67))
        | ~ hBOOL(hAPP(product_prod(X63,X64),bool,hAPP(fun(X63,fun(X64,bool)),fun(product_prod(X63,X64),bool),product_prod_case(X63,X64,bool),hAPP(fun(X63,fun(X64,bool)),fun(X63,fun(X64,bool)),hAPP(fun(fun(X64,bool),fun(X64,bool)),fun(fun(X63,fun(X64,bool)),fun(X63,fun(X64,bool))),combb(fun(X64,bool),fun(X64,bool),X63),hAPP(fun(bool,bool),fun(fun(X64,bool),fun(X64,bool)),combb(bool,bool,X64),hAPP(bool,fun(bool,bool),fconj,X65))),X66)),X67)) )
      & ( ~ hBOOL(X70)
        | ~ hBOOL(hAPP(product_prod(X68,X69),bool,hAPP(fun(X68,fun(X69,bool)),fun(product_prod(X68,X69),bool),product_prod_case(X68,X69,bool),X71),X72))
        | hBOOL(hAPP(product_prod(X68,X69),bool,hAPP(fun(X68,fun(X69,bool)),fun(product_prod(X68,X69),bool),product_prod_case(X68,X69,bool),hAPP(fun(X68,fun(X69,bool)),fun(X68,fun(X69,bool)),hAPP(fun(fun(X69,bool),fun(X69,bool)),fun(fun(X68,fun(X69,bool)),fun(X68,fun(X69,bool))),combb(fun(X69,bool),fun(X69,bool),X68),hAPP(fun(bool,bool),fun(fun(X69,bool),fun(X69,bool)),combb(bool,bool,X69),hAPP(bool,fun(bool,bool),fconj,X70))),X71)),X72)) ) ),
    inference(distribute,[status(thm)],[inference(shift_quantors,[status(thm)],[inference(variable_rename,[status(thm)],[inference(shift_quantors,[status(thm)],[inference(fof_nnf,[status(thm)],[c_0_186])])])])]) ).

fof(c_0_331,axiom,
    ti(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),typeSa885026672_sconf) = typeSa885026672_sconf,
    c_0_187 ).

fof(c_0_332,plain,
    ! [X55,X56,X57,X58,X61,X62,X63,X64,X65,X66,X67,X68] :
      ( ( ~ hBOOL(hAPP(fun(product_prod(X55,X56),bool),bool,hAPP(product_prod(X55,X56),fun(fun(product_prod(X55,X56),bool),bool),member(product_prod(X55,X56)),hAPP(X56,product_prod(X55,X56),hAPP(X55,fun(X56,product_prod(X55,X56)),product_Pair(X55,X56),esk41_4(X55,X56,X57,X58)),esk42_4(X55,X56,X57,X58))),X58))
        | ~ hBOOL(hAPP(fun(product_prod(X55,X56),bool),bool,hAPP(product_prod(X55,X56),fun(fun(product_prod(X55,X56),bool),bool),member(product_prod(X55,X56)),hAPP(X56,product_prod(X55,X56),hAPP(X55,fun(X56,product_prod(X55,X56)),product_Pair(X55,X56),esk41_4(X55,X56,X57,X58)),esk42_4(X55,X56,X57,X58))),X57))
        | ti(fun(product_prod(X55,X56),bool),X58) = ti(fun(product_prod(X55,X56),bool),X57) )
      & ( hBOOL(hAPP(fun(product_prod(X55,X56),bool),bool,hAPP(product_prod(X55,X56),fun(fun(product_prod(X55,X56),bool),bool),member(product_prod(X55,X56)),hAPP(X56,product_prod(X55,X56),hAPP(X55,fun(X56,product_prod(X55,X56)),product_Pair(X55,X56),esk41_4(X55,X56,X57,X58)),esk42_4(X55,X56,X57,X58))),X58))
        | hBOOL(hAPP(fun(product_prod(X55,X56),bool),bool,hAPP(product_prod(X55,X56),fun(fun(product_prod(X55,X56),bool),bool),member(product_prod(X55,X56)),hAPP(X56,product_prod(X55,X56),hAPP(X55,fun(X56,product_prod(X55,X56)),product_Pair(X55,X56),esk41_4(X55,X56,X57,X58)),esk42_4(X55,X56,X57,X58))),X57))
        | ti(fun(product_prod(X55,X56),bool),X58) = ti(fun(product_prod(X55,X56),bool),X57) )
      & ( ~ hBOOL(hAPP(fun(product_prod(X61,X62),bool),bool,hAPP(product_prod(X61,X62),fun(fun(product_prod(X61,X62),bool),bool),member(product_prod(X61,X62)),hAPP(X62,product_prod(X61,X62),hAPP(X61,fun(X62,product_prod(X61,X62)),product_Pair(X61,X62),X65),X66)),X64))
        | hBOOL(hAPP(fun(product_prod(X61,X62),bool),bool,hAPP(product_prod(X61,X62),fun(fun(product_prod(X61,X62),bool),bool),member(product_prod(X61,X62)),hAPP(X62,product_prod(X61,X62),hAPP(X61,fun(X62,product_prod(X61,X62)),product_Pair(X61,X62),X65),X66)),X63))
        | ti(fun(product_prod(X61,X62),bool),X64) != ti(fun(product_prod(X61,X62),bool),X63) )
      & ( ~ hBOOL(hAPP(fun(product_prod(X61,X62),bool),bool,hAPP(product_prod(X61,X62),fun(fun(product_prod(X61,X62),bool),bool),member(product_prod(X61,X62)),hAPP(X62,product_prod(X61,X62),hAPP(X61,fun(X62,product_prod(X61,X62)),product_Pair(X61,X62),X67),X68)),X63))
        | hBOOL(hAPP(fun(product_prod(X61,X62),bool),bool,hAPP(product_prod(X61,X62),fun(fun(product_prod(X61,X62),bool),bool),member(product_prod(X61,X62)),hAPP(X62,product_prod(X61,X62),hAPP(X61,fun(X62,product_prod(X61,X62)),product_Pair(X61,X62),X67),X68)),X64))
        | ti(fun(product_prod(X61,X62),bool),X64) != ti(fun(product_prod(X61,X62),bool),X63) ) ),
    inference(distribute,[status(thm)],[inference(shift_quantors,[status(thm)],[inference(skolemize,[status(esa)],[inference(variable_rename,[status(thm)],[inference(shift_quantors,[status(thm)],[inference(fof_nnf,[status(thm)],[c_0_188])])])])])]) ).

fof(c_0_333,plain,
    ! [X43,X44,X45] : hBOOL(hAPP(ty,bool,hAPP(ty,fun(ty,bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X43)))))))),fun(ty,fun(ty,bool)),widen(X43),X44),X45),X45)),
    inference(variable_rename,[status(thm)],[c_0_189]) ).

fof(c_0_334,axiom,
    ti(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool))),wf_J_mdecl) = wf_J_mdecl,
    c_0_190 ).

fof(c_0_335,axiom,
    ti(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool)))),lconf(product_prod(list(list(char)),exp(list(char))))) = lconf(product_prod(list(list(char)),exp(list(char)))),
    c_0_191 ).

fof(c_0_336,axiom,
    ti(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))))),wTrt) = wTrt,
    c_0_192 ).

fof(c_0_337,axiom,
    ti(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool)),hconf(product_prod(list(list(char)),exp(list(char))))) = hconf(product_prod(list(list(char)),exp(list(char)))),
    c_0_193 ).

fof(c_0_338,plain,
    ! [X30,X31,X32,X33,X34] : ti(product_prod(X30,product_prod(X31,product_prod(X32,X33))),X34) = hAPP(product_prod(X31,product_prod(X32,X33)),product_prod(X30,product_prod(X31,product_prod(X32,X33))),hAPP(X30,fun(product_prod(X31,product_prod(X32,X33)),product_prod(X30,product_prod(X31,product_prod(X32,X33)))),product_Pair(X30,product_prod(X31,product_prod(X32,X33))),esk28_5(X30,X31,X32,X33,X34)),hAPP(product_prod(X32,X33),product_prod(X31,product_prod(X32,X33)),hAPP(X31,fun(product_prod(X32,X33),product_prod(X31,product_prod(X32,X33))),product_Pair(X31,product_prod(X32,X33)),esk29_5(X30,X31,X32,X33,X34)),hAPP(X33,product_prod(X32,X33),hAPP(X32,fun(X33,product_prod(X32,X33)),product_Pair(X32,X33),esk30_5(X30,X31,X32,X33,X34)),esk31_5(X30,X31,X32,X33,X34)))),
    inference(skolemize,[status(esa)],[inference(variable_rename,[status(thm)],[inference(fof_nnf,[status(thm)],[c_0_194])])]) ).

fof(c_0_339,plain,
    ! [X41,X42,X43,X44,X45,X46,X47] :
      ( ti(X42,X46) = ti(X42,X47)
      | hAPP(X41,fun(X42,X41),hAPP(X42,fun(X41,fun(X42,X41)),hAPP(fun(X42,X41),fun(X42,fun(X41,fun(X42,X41))),fun_upd(X42,X41),hAPP(X41,fun(X42,X41),hAPP(X42,fun(X41,fun(X42,X41)),hAPP(fun(X42,X41),fun(X42,fun(X41,fun(X42,X41))),fun_upd(X42,X41),X43),X46),X44)),X47),X45) = hAPP(X41,fun(X42,X41),hAPP(X42,fun(X41,fun(X42,X41)),hAPP(fun(X42,X41),fun(X42,fun(X41,fun(X42,X41))),fun_upd(X42,X41),hAPP(X41,fun(X42,X41),hAPP(X42,fun(X41,fun(X42,X41)),hAPP(fun(X42,X41),fun(X42,fun(X41,fun(X42,X41))),fun_upd(X42,X41),X43),X47),X45)),X46),X44) ),
    inference(variable_rename,[status(thm)],[inference(fof_nnf,[status(thm)],[c_0_195])]) ).

fof(c_0_340,plain,
    ! [X62,X63,X64,X65,X66,X67,X68,X69] : hAPP(product_prod(X62,X63),X64,hAPP(fun(X62,fun(X63,X64)),fun(product_prod(X62,X63),X64),product_prod_case(X62,X63,X64),X67),hAPP(product_prod(X65,X66),product_prod(X62,X63),hAPP(fun(X65,fun(X66,product_prod(X62,X63))),fun(product_prod(X65,X66),product_prod(X62,X63)),product_prod_case(X65,X66,product_prod(X62,X63)),X68),X69)) = hAPP(product_prod(X65,X66),X64,hAPP(fun(X65,fun(X66,X64)),fun(product_prod(X65,X66),X64),product_prod_case(X65,X66,X64),hAPP(fun(X65,fun(X66,product_prod(X62,X63))),fun(X65,fun(X66,X64)),hAPP(fun(fun(X66,product_prod(X62,X63)),fun(X66,X64)),fun(fun(X65,fun(X66,product_prod(X62,X63))),fun(X65,fun(X66,X64))),combb(fun(X66,product_prod(X62,X63)),fun(X66,X64),X65),hAPP(fun(product_prod(X62,X63),X64),fun(fun(X66,product_prod(X62,X63)),fun(X66,X64)),combb(product_prod(X62,X63),X64,X66),hAPP(fun(X62,fun(X63,X64)),fun(product_prod(X62,X63),X64),product_prod_case(X62,X63,X64),X67))),X68)),X69),
    inference(variable_rename,[status(thm)],[c_0_196]) ).

fof(c_0_341,plain,
    ! [X62,X63,X64,X65,X66] :
      ( hAPP(X62,X63,hAPP(X64,fun(X62,X63),X65,esk62_5(X62,X63,X64,X65,X66)),esk63_5(X62,X63,X64,X65,X66)) != hAPP(product_prod(X64,X62),X63,X66,hAPP(X62,product_prod(X64,X62),hAPP(X64,fun(X62,product_prod(X64,X62)),product_Pair(X64,X62),esk62_5(X62,X63,X64,X65,X66)),esk63_5(X62,X63,X64,X65,X66)))
      | hAPP(fun(X64,fun(X62,X63)),fun(product_prod(X64,X62),X63),product_prod_case(X64,X62,X63),X65) = ti(fun(product_prod(X64,X62),X63),X66) ),
    inference(skolemize,[status(esa)],[inference(variable_rename,[status(thm)],[inference(fof_nnf,[status(thm)],[c_0_197])])]) ).

fof(c_0_342,plain,
    ! [X39,X40,X41,X42,X43,X44] : hAPP(X39,fun(X40,X39),hAPP(X40,fun(X39,fun(X40,X39)),hAPP(fun(X40,X39),fun(X40,fun(X39,fun(X40,X39))),fun_upd(X40,X39),hAPP(X39,fun(X40,X39),hAPP(X40,fun(X39,fun(X40,X39)),hAPP(fun(X40,X39),fun(X40,fun(X39,fun(X40,X39))),fun_upd(X40,X39),X41),X42),X43)),X42),X44) = hAPP(X39,fun(X40,X39),hAPP(X40,fun(X39,fun(X40,X39)),hAPP(fun(X40,X39),fun(X40,fun(X39,fun(X40,X39))),fun_upd(X40,X39),X41),X42),X44),
    inference(variable_rename,[status(thm)],[c_0_198]) ).

fof(c_0_343,plain,
    ! [X54,X55,X56,X57,X58,X59,X60] :
      ( ~ hBOOL(hAPP(X54,bool,hAPP(product_prod(X55,X56),fun(X54,bool),hAPP(fun(X55,fun(X56,fun(X54,bool))),fun(product_prod(X55,X56),fun(X54,bool)),product_prod_case(X55,X56,fun(X54,bool)),X57),hAPP(X56,product_prod(X55,X56),hAPP(X55,fun(X56,product_prod(X55,X56)),product_Pair(X55,X56),X58),X59)),X60))
      | hBOOL(hAPP(X54,bool,hAPP(X56,fun(X54,bool),hAPP(X55,fun(X56,fun(X54,bool)),X57,X58),X59),X60)) ),
    inference(variable_rename,[status(thm)],[inference(fof_nnf,[status(thm)],[c_0_199])]) ).

fof(c_0_344,plain,
    ! [X41,X42,X43,X44,X45,X46,X47] :
      ( ~ hBOOL(hAPP(fun(X41,bool),bool,hAPP(X41,fun(fun(X41,bool),bool),member(X41),X44),hAPP(X42,fun(X41,bool),hAPP(X43,fun(X42,fun(X41,bool)),X45,X46),X47)))
      | hBOOL(hAPP(fun(X41,bool),bool,hAPP(X41,fun(fun(X41,bool),bool),member(X41),X44),hAPP(product_prod(X43,X42),fun(X41,bool),hAPP(fun(X43,fun(X42,fun(X41,bool))),fun(product_prod(X43,X42),fun(X41,bool)),product_prod_case(X43,X42,fun(X41,bool)),X45),hAPP(X42,product_prod(X43,X42),hAPP(X43,fun(X42,product_prod(X43,X42)),product_Pair(X43,X42),X46),X47)))) ),
    inference(variable_rename,[status(thm)],[inference(fof_nnf,[status(thm)],[c_0_200])]) ).

fof(c_0_345,plain,
    ! [X38,X39,X40,X41,X42] : hAPP(X38,option(X39),hAPP(option(X39),fun(X38,option(X39)),hAPP(X38,fun(option(X39),fun(X38,option(X39))),hAPP(fun(X38,option(X39)),fun(X38,fun(option(X39),fun(X38,option(X39)))),fun_upd(X38,option(X39)),X40),X41),hAPP(X39,option(X39),some(X39),X42)),esk67_5(X38,X39,X40,X41,X42)) != none(X39),
    inference(skolemize,[status(esa)],[inference(variable_rename,[status(thm)],[inference(fof_nnf,[status(thm)],[c_0_201])])]) ).

fof(c_0_346,plain,
    ! [X7] : ti(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X7)))))))),fun(ty,fun(ty,bool))),widen(X7)) = widen(X7),
    inference(variable_rename,[status(thm)],[c_0_202]) ).

fof(c_0_347,plain,
    ! [X15,X16,X17,X18,X19,X20,X21,X22,X23,X24,X25,X26,X27,X28] :
      ( ( ti(X15,X20) != ti(X15,X18)
        | ti(X15,X20) = ti(X15,X18)
        | hAPP(X15,option(X16),hAPP(option(X16),fun(X15,option(X16)),hAPP(X15,fun(option(X16),fun(X15,option(X16))),hAPP(fun(X15,option(X16)),fun(X15,fun(option(X16),fun(X15,option(X16)))),fun_upd(X15,option(X16)),X17),X18),hAPP(X16,option(X16),some(X16),X19)),X20) != hAPP(X16,option(X16),some(X16),X21) )
      & ( hAPP(X15,option(X16),X17,X20) = hAPP(X16,option(X16),some(X16),X21)
        | ti(X15,X20) = ti(X15,X18)
        | hAPP(X15,option(X16),hAPP(option(X16),fun(X15,option(X16)),hAPP(X15,fun(option(X16),fun(X15,option(X16))),hAPP(fun(X15,option(X16)),fun(X15,fun(option(X16),fun(X15,option(X16)))),fun_upd(X15,option(X16)),X17),X18),hAPP(X16,option(X16),some(X16),X19)),X20) != hAPP(X16,option(X16),some(X16),X21) )
      & ( ti(X15,X20) != ti(X15,X18)
        | ti(X16,X19) = ti(X16,X21)
        | hAPP(X15,option(X16),hAPP(option(X16),fun(X15,option(X16)),hAPP(X15,fun(option(X16),fun(X15,option(X16))),hAPP(fun(X15,option(X16)),fun(X15,fun(option(X16),fun(X15,option(X16)))),fun_upd(X15,option(X16)),X17),X18),hAPP(X16,option(X16),some(X16),X19)),X20) != hAPP(X16,option(X16),some(X16),X21) )
      & ( hAPP(X15,option(X16),X17,X20) = hAPP(X16,option(X16),some(X16),X21)
        | ti(X16,X19) = ti(X16,X21)
        | hAPP(X15,option(X16),hAPP(option(X16),fun(X15,option(X16)),hAPP(X15,fun(option(X16),fun(X15,option(X16))),hAPP(fun(X15,option(X16)),fun(X15,fun(option(X16),fun(X15,option(X16)))),fun_upd(X15,option(X16)),X17),X18),hAPP(X16,option(X16),some(X16),X19)),X20) != hAPP(X16,option(X16),some(X16),X21) )
      & ( ti(X22,X27) != ti(X22,X25)
        | ti(X23,X26) != ti(X23,X28)
        | hAPP(X22,option(X23),hAPP(option(X23),fun(X22,option(X23)),hAPP(X22,fun(option(X23),fun(X22,option(X23))),hAPP(fun(X22,option(X23)),fun(X22,fun(option(X23),fun(X22,option(X23)))),fun_upd(X22,option(X23)),X24),X25),hAPP(X23,option(X23),some(X23),X26)),X27) = hAPP(X23,option(X23),some(X23),X28) )
      & ( ti(X22,X27) = ti(X22,X25)
        | hAPP(X22,option(X23),X24,X27) != hAPP(X23,option(X23),some(X23),X28)
        | hAPP(X22,option(X23),hAPP(option(X23),fun(X22,option(X23)),hAPP(X22,fun(option(X23),fun(X22,option(X23))),hAPP(fun(X22,option(X23)),fun(X22,fun(option(X23),fun(X22,option(X23)))),fun_upd(X22,option(X23)),X24),X25),hAPP(X23,option(X23),some(X23),X26)),X27) = hAPP(X23,option(X23),some(X23),X28) ) ),
    inference(distribute,[status(thm)],[inference(shift_quantors,[status(thm)],[inference(variable_rename,[status(thm)],[inference(shift_quantors,[status(thm)],[inference(fof_nnf,[status(thm)],[c_0_203])])])])]) ).

fof(c_0_348,plain,
    ! [X10,X11,X12,X13] : hAPP(fun(X10,fun(X11,X12)),fun(product_prod(X10,X11),X12),product_prod_case(X10,X11,X12),hAPP(fun(X10,fun(X11,product_prod(X10,X11))),fun(X10,fun(X11,X12)),hAPP(fun(fun(X11,product_prod(X10,X11)),fun(X11,X12)),fun(fun(X10,fun(X11,product_prod(X10,X11))),fun(X10,fun(X11,X12))),combb(fun(X11,product_prod(X10,X11)),fun(X11,X12),X10),hAPP(fun(product_prod(X10,X11),X12),fun(fun(X11,product_prod(X10,X11)),fun(X11,X12)),combb(product_prod(X10,X11),X12,X11),X13)),product_Pair(X10,X11))) = ti(fun(product_prod(X10,X11),X12),X13),
    inference(variable_rename,[status(thm)],[c_0_204]) ).

fof(c_0_349,plain,
    ! [X38,X39,X40,X41] : hAPP(X38,option(X39),hAPP(option(X39),fun(X38,option(X39)),hAPP(X38,fun(option(X39),fun(X38,option(X39))),hAPP(fun(X38,option(X39)),fun(X38,fun(option(X39),fun(X38,option(X39)))),fun_upd(X38,option(X39)),hAPP(option(X39),fun(X38,option(X39)),combk(option(X39),X38),none(X39))),X40),none(X39)),X41) = none(X39),
    inference(variable_rename,[status(thm)],[c_0_205]) ).

fof(c_0_350,plain,
    ! [X18,X19,X20,X21,X22,X23,X24] :
      ( hAPP(option(X18),fun(X19,option(X18)),hAPP(X19,fun(option(X18),fun(X19,option(X18))),hAPP(fun(X19,option(X18)),fun(X19,fun(option(X18),fun(X19,option(X18)))),fun_upd(X19,option(X18)),X20),X21),hAPP(X18,option(X18),some(X18),X22)) != hAPP(option(X18),fun(X19,option(X18)),hAPP(X19,fun(option(X18),fun(X19,option(X18))),hAPP(fun(X19,option(X18)),fun(X19,fun(option(X18),fun(X19,option(X18)))),fun_upd(X19,option(X18)),X23),X21),hAPP(X18,option(X18),some(X18),X24))
      | ti(X18,X22) = ti(X18,X24) ),
    inference(variable_rename,[status(thm)],[inference(fof_nnf,[status(thm)],[c_0_206])]) ).

fof(c_0_351,plain,
    ! [X14,X15,X16,X17,X18] :
      ( ~ hBOOL(hAPP(product_prod(X14,X15),bool,hAPP(fun(X14,fun(X15,bool)),fun(product_prod(X14,X15),bool),product_prod_case(X14,X15,bool),X16),hAPP(X15,product_prod(X14,X15),hAPP(X14,fun(X15,product_prod(X14,X15)),product_Pair(X14,X15),X17),X18)))
      | hBOOL(hAPP(X15,bool,hAPP(X14,fun(X15,bool),X16,X17),X18)) ),
    inference(variable_rename,[status(thm)],[inference(fof_nnf,[status(thm)],[c_0_207])]) ).

fof(c_0_352,plain,
    ! [X60,X61,X62,X63] :
      ( ( ti(product_prod(X60,X61),X63) = hAPP(X61,product_prod(X60,X61),hAPP(X60,fun(X61,product_prod(X60,X61)),product_Pair(X60,X61),esk50_4(X60,X61,X62,X63)),esk51_4(X60,X61,X62,X63))
        | hBOOL(hAPP(product_prod(X60,X61),bool,hAPP(fun(X60,fun(X61,bool)),fun(product_prod(X60,X61),bool),product_prod_case(X60,X61,bool),X62),X63)) )
      & ( ~ hBOOL(hAPP(X61,bool,hAPP(X60,fun(X61,bool),X62,esk50_4(X60,X61,X62,X63)),esk51_4(X60,X61,X62,X63)))
        | hBOOL(hAPP(product_prod(X60,X61),bool,hAPP(fun(X60,fun(X61,bool)),fun(product_prod(X60,X61),bool),product_prod_case(X60,X61,bool),X62),X63)) ) ),
    inference(distribute,[status(thm)],[inference(skolemize,[status(esa)],[inference(variable_rename,[status(thm)],[inference(fof_nnf,[status(thm)],[c_0_208])])])]) ).

fof(c_0_353,plain,
    ! [X37,X38,X39,X41,X42,X43,X44,X45,X48] :
      ( ( ~ hBOOL(hAPP(product_prod(X37,X38),bool,X39,esk32_3(X37,X38,X39)))
        | hBOOL(hAPP(product_prod(X37,X38),bool,X39,hAPP(X38,product_prod(X37,X38),hAPP(X37,fun(X38,product_prod(X37,X38)),product_Pair(X37,X38),X41),X42))) )
      & ( ~ hBOOL(hAPP(product_prod(X43,X44),bool,X45,hAPP(X44,product_prod(X43,X44),hAPP(X43,fun(X44,product_prod(X43,X44)),product_Pair(X43,X44),esk33_3(X43,X44,X45)),esk34_3(X43,X44,X45))))
        | hBOOL(hAPP(product_prod(X43,X44),bool,X45,X48)) ) ),
    inference(shift_quantors,[status(thm)],[inference(skolemize,[status(esa)],[inference(variable_rename,[status(thm)],[inference(shift_quantors,[status(thm)],[inference(fof_nnf,[status(thm)],[c_0_209])])])])]) ).

fof(c_0_354,plain,
    ! [X14,X15,X16,X17,X18] :
      ( ~ hBOOL(hAPP(X14,bool,hAPP(X15,fun(X14,bool),X16,X17),X18))
      | hBOOL(hAPP(product_prod(X15,X14),bool,hAPP(fun(X15,fun(X14,bool)),fun(product_prod(X15,X14),bool),product_prod_case(X15,X14,bool),X16),hAPP(X14,product_prod(X15,X14),hAPP(X15,fun(X14,product_prod(X15,X14)),product_Pair(X15,X14),X17),X18))) ),
    inference(variable_rename,[status(thm)],[inference(fof_nnf,[status(thm)],[c_0_210])]) ).

fof(c_0_355,plain,
    ! [X52,X53,X54,X55,X56] :
      ( ~ hBOOL(hAPP(X52,bool,hAPP(X53,fun(X52,bool),X54,X55),X56))
      | hBOOL(hAPP(product_prod(X53,X52),bool,hAPP(fun(X53,fun(X52,bool)),fun(product_prod(X53,X52),bool),product_prod_case(X53,X52,bool),X54),hAPP(X52,product_prod(X53,X52),hAPP(X53,fun(X52,product_prod(X53,X52)),product_Pair(X53,X52),X55),X56))) ),
    inference(variable_rename,[status(thm)],[inference(fof_nnf,[status(thm)],[c_0_211])]) ).

fof(c_0_356,plain,
    ! [X60,X61,X62,X63] :
      ( ( ti(product_prod(X60,X61),X63) = hAPP(X61,product_prod(X60,X61),hAPP(X60,fun(X61,product_prod(X60,X61)),product_Pair(X60,X61),esk52_4(X60,X61,X62,X63)),esk53_4(X60,X61,X62,X63))
        | ~ hBOOL(hAPP(product_prod(X60,X61),bool,hAPP(fun(X60,fun(X61,bool)),fun(product_prod(X60,X61),bool),product_prod_case(X60,X61,bool),X62),X63)) )
      & ( hBOOL(hAPP(X61,bool,hAPP(X60,fun(X61,bool),X62,esk52_4(X60,X61,X62,X63)),esk53_4(X60,X61,X62,X63)))
        | ~ hBOOL(hAPP(product_prod(X60,X61),bool,hAPP(fun(X60,fun(X61,bool)),fun(product_prod(X60,X61),bool),product_prod_case(X60,X61,bool),X62),X63)) ) ),
    inference(distribute,[status(thm)],[inference(skolemize,[status(esa)],[inference(variable_rename,[status(thm)],[inference(fof_nnf,[status(thm)],[c_0_212])])])]) ).

fof(c_0_357,plain,
    ! [X37,X38,X39,X40,X43,X44,X45,X46,X47] :
      ( ( ~ hBOOL(hAPP(product_prod(X37,X38),bool,X39,X40))
        | hBOOL(hAPP(product_prod(X37,X38),bool,X39,hAPP(X38,product_prod(X37,X38),hAPP(X37,fun(X38,product_prod(X37,X38)),product_Pair(X37,X38),esk45_3(X37,X38,X39)),esk46_3(X37,X38,X39)))) )
      & ( ~ hBOOL(hAPP(product_prod(X43,X44),bool,X45,hAPP(X44,product_prod(X43,X44),hAPP(X43,fun(X44,product_prod(X43,X44)),product_Pair(X43,X44),X46),X47)))
        | hBOOL(hAPP(product_prod(X43,X44),bool,X45,esk47_3(X43,X44,X45))) ) ),
    inference(shift_quantors,[status(thm)],[inference(skolemize,[status(esa)],[inference(variable_rename,[status(thm)],[inference(shift_quantors,[status(thm)],[inference(fof_nnf,[status(thm)],[c_0_213])])])])]) ).

fof(c_0_358,plain,
    ! [X30,X31,X32,X33] : ti(product_prod(X30,product_prod(X31,X32)),X33) = hAPP(product_prod(X31,X32),product_prod(X30,product_prod(X31,X32)),hAPP(X30,fun(product_prod(X31,X32),product_prod(X30,product_prod(X31,X32))),product_Pair(X30,product_prod(X31,X32)),esk35_4(X30,X31,X32,X33)),hAPP(X32,product_prod(X31,X32),hAPP(X31,fun(X32,product_prod(X31,X32)),product_Pair(X31,X32),esk36_4(X30,X31,X32,X33)),esk37_4(X30,X31,X32,X33))),
    inference(skolemize,[status(esa)],[inference(variable_rename,[status(thm)],[inference(fof_nnf,[status(thm)],[c_0_214])])]) ).

fof(c_0_359,plain,
    ! [X89,X90,X91,X92,X93,X94,X95,X96,X97,X98,X99,X100,X101,X102] :
      ( ( ti(X89,X90) = ti(X89,X93)
        | hAPP(exp(X89),exp(X89),hAPP(ty,fun(exp(X89),exp(X89)),hAPP(X89,fun(ty,fun(exp(X89),exp(X89))),block(X89),X90),X91),X92) != hAPP(exp(X89),exp(X89),hAPP(ty,fun(exp(X89),exp(X89)),hAPP(X89,fun(ty,fun(exp(X89),exp(X89))),block(X89),X93),X94),X95) )
      & ( X91 = X94
        | hAPP(exp(X89),exp(X89),hAPP(ty,fun(exp(X89),exp(X89)),hAPP(X89,fun(ty,fun(exp(X89),exp(X89))),block(X89),X90),X91),X92) != hAPP(exp(X89),exp(X89),hAPP(ty,fun(exp(X89),exp(X89)),hAPP(X89,fun(ty,fun(exp(X89),exp(X89))),block(X89),X93),X94),X95) )
      & ( X92 = X95
        | hAPP(exp(X89),exp(X89),hAPP(ty,fun(exp(X89),exp(X89)),hAPP(X89,fun(ty,fun(exp(X89),exp(X89))),block(X89),X90),X91),X92) != hAPP(exp(X89),exp(X89),hAPP(ty,fun(exp(X89),exp(X89)),hAPP(X89,fun(ty,fun(exp(X89),exp(X89))),block(X89),X93),X94),X95) )
      & ( ti(X96,X97) != ti(X96,X100)
        | X98 != X101
        | X99 != X102
        | hAPP(exp(X96),exp(X96),hAPP(ty,fun(exp(X96),exp(X96)),hAPP(X96,fun(ty,fun(exp(X96),exp(X96))),block(X96),X97),X98),X99) = hAPP(exp(X96),exp(X96),hAPP(ty,fun(exp(X96),exp(X96)),hAPP(X96,fun(ty,fun(exp(X96),exp(X96))),block(X96),X100),X101),X102) ) ),
    inference(distribute,[status(thm)],[inference(shift_quantors,[status(thm)],[inference(variable_rename,[status(thm)],[inference(shift_quantors,[status(thm)],[inference(fof_nnf,[status(thm)],[c_0_215])])])])]) ).

fof(c_0_360,axiom,
    ti(fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),hp) = hp,
    c_0_216 ).

fof(c_0_361,plain,
    ! [X39,X40,X41,X42,X43,X44,X45,X46,X47,X48,X49,X50] :
      ( ( ti(X40,X43) != ti(X40,X44)
        | hAPP(X40,X39,hAPP(X39,fun(X40,X39),hAPP(X40,fun(X39,fun(X40,X39)),hAPP(fun(X40,X39),fun(X40,fun(X39,fun(X40,X39))),fun_upd(X40,X39),X41),X44),X42),X43) = ti(X39,X42) )
      & ( ti(X46,X49) = ti(X46,X50)
        | hAPP(X46,X45,hAPP(X45,fun(X46,X45),hAPP(X46,fun(X45,fun(X46,X45)),hAPP(fun(X46,X45),fun(X46,fun(X45,fun(X46,X45))),fun_upd(X46,X45),X47),X50),X48),X49) = hAPP(X46,X45,X47,X49) ) ),
    inference(shift_quantors,[status(thm)],[inference(variable_rename,[status(thm)],[inference(shift_quantors,[status(thm)],[inference(fof_nnf,[status(thm)],[c_0_217])])])]) ).

fof(c_0_362,plain,
    ! [X39,X40,X41,X42,X43,X44] :
      ( ti(X40,X43) = ti(X40,X44)
      | hAPP(X40,X39,hAPP(X39,fun(X40,X39),hAPP(X40,fun(X39,fun(X40,X39)),hAPP(fun(X40,X39),fun(X40,fun(X39,fun(X40,X39))),fun_upd(X40,X39),X41),X44),X42),X43) = hAPP(X40,X39,X41,X43) ),
    inference(variable_rename,[status(thm)],[inference(fof_nnf,[status(thm)],[c_0_218])]) ).

fof(c_0_363,plain,
    ! [X38,X39,X40,X41,X42,X43,X44,X45,X46,X47,X48,X49] :
      ( ( ti(X39,X43) != ti(X39,X42)
        | hAPP(X39,X38,hAPP(X38,fun(X39,X38),hAPP(X39,fun(X38,fun(X39,X38)),hAPP(fun(X39,X38),fun(X39,fun(X38,fun(X39,X38))),fun_upd(X39,X38),X40),X42),X41),X43) = ti(X38,X41) )
      & ( ti(X45,X49) = ti(X45,X48)
        | hAPP(X45,X44,hAPP(X44,fun(X45,X44),hAPP(X45,fun(X44,fun(X45,X44)),hAPP(fun(X45,X44),fun(X45,fun(X44,fun(X45,X44))),fun_upd(X45,X44),X46),X48),X47),X49) = hAPP(X45,X44,X46,X49) ) ),
    inference(shift_quantors,[status(thm)],[inference(variable_rename,[status(thm)],[inference(shift_quantors,[status(thm)],[inference(fof_nnf,[status(thm)],[c_0_219])])])]) ).

fof(c_0_364,plain,
    ! [X15,X16,X17,X18,X19] : hAPP(X15,X16,hAPP(X16,fun(X15,X16),hAPP(X15,fun(X16,fun(X15,X16)),hAPP(fun(X15,X16),fun(X15,fun(X16,fun(X15,X16))),fun_upd(X15,X16),X17),X18),X19),X18) = ti(X16,X19),
    inference(variable_rename,[status(thm)],[c_0_220]) ).

fof(c_0_365,plain,
    ! [X78,X79,X80,X81,X82,X83] : hAPP(exp(X78),exp(X78),hAPP(exp(X78),fun(exp(X78),exp(X78)),seq(X78),X79),X80) != hAPP(exp(X78),exp(X78),hAPP(ty,fun(exp(X78),exp(X78)),hAPP(X78,fun(ty,fun(exp(X78),exp(X78))),block(X78),X81),X82),X83),
    inference(variable_rename,[status(thm)],[c_0_221]) ).

fof(c_0_366,plain,
    ! [X78,X79,X80,X81,X82,X83] : hAPP(exp(X78),exp(X78),hAPP(ty,fun(exp(X78),exp(X78)),hAPP(X78,fun(ty,fun(exp(X78),exp(X78))),block(X78),X79),X80),X81) != hAPP(exp(X78),exp(X78),hAPP(exp(X78),fun(exp(X78),exp(X78)),seq(X78),X82),X83),
    inference(variable_rename,[status(thm)],[c_0_222]) ).

fof(c_0_367,plain,
    ! [X75,X76,X77,X78,X79,X80] : hAPP(exp(X75),exp(X75),hAPP(X75,fun(exp(X75),exp(X75)),lAss(X75),X76),X77) != hAPP(exp(X75),exp(X75),hAPP(ty,fun(exp(X75),exp(X75)),hAPP(X75,fun(ty,fun(exp(X75),exp(X75))),block(X75),X78),X79),X80),
    inference(variable_rename,[status(thm)],[c_0_223]) ).

fof(c_0_368,plain,
    ! [X75,X76,X77,X78,X79,X80] : hAPP(exp(X75),exp(X75),hAPP(ty,fun(exp(X75),exp(X75)),hAPP(X75,fun(ty,fun(exp(X75),exp(X75))),block(X75),X76),X77),X78) != hAPP(exp(X75),exp(X75),hAPP(X75,fun(exp(X75),exp(X75)),lAss(X75),X79),X80),
    inference(variable_rename,[status(thm)],[c_0_224]) ).

fof(c_0_369,plain,
    ! [X15,X16,X17,X18,X19,X20,X21,X22,X23,X24] :
      ( ( hAPP(X15,fun(X16,X15),hAPP(X16,fun(X15,fun(X16,X15)),hAPP(fun(X16,X15),fun(X16,fun(X15,fun(X16,X15))),fun_upd(X16,X15),X17),X18),X19) != ti(fun(X16,X15),X17)
        | hAPP(X16,X15,X17,X18) = ti(X15,X19) )
      & ( hAPP(X21,X20,X22,X23) != ti(X20,X24)
        | hAPP(X20,fun(X21,X20),hAPP(X21,fun(X20,fun(X21,X20)),hAPP(fun(X21,X20),fun(X21,fun(X20,fun(X21,X20))),fun_upd(X21,X20),X22),X23),X24) = ti(fun(X21,X20),X22) ) ),
    inference(shift_quantors,[status(thm)],[inference(variable_rename,[status(thm)],[inference(shift_quantors,[status(thm)],[inference(fof_nnf,[status(thm)],[c_0_225])])])]) ).

fof(c_0_370,plain,
    ! [X17,X18,X19,X20,X21] :
      ( hAPP(X17,option(X18),X19,X20) != hAPP(X18,option(X18),some(X18),X21)
      | hAPP(option(X18),fun(X17,option(X18)),hAPP(X17,fun(option(X18),fun(X17,option(X18))),hAPP(fun(X17,option(X18)),fun(X17,fun(option(X18),fun(X17,option(X18)))),fun_upd(X17,option(X18)),X19),X20),hAPP(X18,option(X18),some(X18),X21)) = ti(fun(X17,option(X18)),X19) ),
    inference(variable_rename,[status(thm)],[inference(fof_nnf,[status(thm)],[c_0_226])]) ).

fof(c_0_371,plain,
    ! [X96,X97,X98,X99,X100,X101] : hAPP(X96,X97,hAPP(fun(X96,X98),fun(X96,X97),hAPP(fun(X96,fun(X98,X97)),fun(fun(X96,X98),fun(X96,X97)),combs(X96,X98,X97),X99),X100),X101) = hAPP(X98,X97,hAPP(X96,fun(X98,X97),X99,X101),hAPP(X96,X98,X100,X101)),
    inference(variable_rename,[status(thm)],[c_0_227]) ).

fof(c_0_372,plain,
    ! [X90,X91,X92,X93,X94] : hAPP(exp(X90),exp(X90),hAPP(ty,fun(exp(X90),exp(X90)),hAPP(X90,fun(ty,fun(exp(X90),exp(X90))),block(X90),X91),X92),X93) != hAPP(val,exp(X90),val_1(X90),X94),
    inference(variable_rename,[status(thm)],[c_0_228]) ).

fof(c_0_373,plain,
    ! [X90,X91,X92,X93,X94] : hAPP(val,exp(X90),val_1(X90),X91) != hAPP(exp(X90),exp(X90),hAPP(ty,fun(exp(X90),exp(X90)),hAPP(X90,fun(ty,fun(exp(X90),exp(X90))),block(X90),X92),X93),X94),
    inference(variable_rename,[status(thm)],[c_0_229]) ).

fof(c_0_374,plain,
    ! [X14,X15,X16,X17,X18,X19] : hAPP(product_prod(X14,X15),X16,hAPP(fun(X14,fun(X15,X16)),fun(product_prod(X14,X15),X16),product_prod_case(X14,X15,X16),X17),hAPP(X15,product_prod(X14,X15),hAPP(X14,fun(X15,product_prod(X14,X15)),product_Pair(X14,X15),X18),X19)) = hAPP(X15,X16,hAPP(X14,fun(X15,X16),X17,X18),X19),
    inference(variable_rename,[status(thm)],[c_0_230]) ).

fof(c_0_375,plain,
    ! [X52,X53,X54,X55,X56,X57] : hAPP(product_prod(X52,X53),X54,hAPP(fun(X52,fun(X53,X54)),fun(product_prod(X52,X53),X54),product_prod_case(X52,X53,X54),X55),hAPP(X53,product_prod(X52,X53),hAPP(X52,fun(X53,product_prod(X52,X53)),product_Pair(X52,X53),X56),X57)) = hAPP(X53,X54,hAPP(X52,fun(X53,X54),X55,X56),X57),
    inference(variable_rename,[status(thm)],[c_0_231]) ).

fof(c_0_376,plain,
    ! [X41,X42,X43,X44,X45,X46] : hAPP(product_prod(X41,X42),X43,hAPP(fun(X41,fun(X42,X43)),fun(product_prod(X41,X42),X43),produc1605651328_split(X41,X42,X43),X44),hAPP(X42,product_prod(X41,X42),hAPP(X41,fun(X42,product_prod(X41,X42)),product_Pair(X41,X42),X45),X46)) = hAPP(X42,X43,hAPP(X41,fun(X42,X43),X44,X45),X46),
    inference(variable_rename,[status(thm)],[c_0_232]) ).

fof(c_0_377,plain,
    ! [X52,X53,X54,X55,X56,X57] : hAPP(product_prod(X52,X53),X54,hAPP(fun(X52,fun(X53,X54)),fun(product_prod(X52,X53),X54),product_prod_rec(X52,X53,X54),X55),hAPP(X53,product_prod(X52,X53),hAPP(X52,fun(X53,product_prod(X52,X53)),product_Pair(X52,X53),X56),X57)) = hAPP(X53,X54,hAPP(X52,fun(X53,X54),X55,X56),X57),
    inference(variable_rename,[status(thm)],[c_0_233]) ).

fof(c_0_378,plain,
    ! [X96,X97,X98,X99,X100,X101] : hAPP(X96,X97,hAPP(X98,fun(X96,X97),hAPP(fun(X96,fun(X98,X97)),fun(X98,fun(X96,X97)),combc(X96,X98,X97),X99),X100),X101) = hAPP(X98,X97,hAPP(X96,fun(X98,X97),X99,X101),X100),
    inference(variable_rename,[status(thm)],[c_0_234]) ).

fof(c_0_379,plain,
    ! [X96,X97,X98,X99,X100,X101] : hAPP(X96,X97,hAPP(fun(X96,X98),fun(X96,X97),hAPP(fun(X98,X97),fun(fun(X96,X98),fun(X96,X97)),combb(X98,X97,X96),X99),X100),X101) = hAPP(X98,X97,X99,hAPP(X96,X98,X100,X101)),
    inference(variable_rename,[status(thm)],[c_0_235]) ).

fof(c_0_380,plain,
    ! [X11,X12,X13,X14] : hAPP(X11,fun(X12,X11),hAPP(X12,fun(X11,fun(X12,X11)),hAPP(fun(X12,X11),fun(X12,fun(X11,fun(X12,X11))),fun_upd(X12,X11),X13),X14),hAPP(X12,X11,X13,X14)) = ti(fun(X12,X11),X13),
    inference(variable_rename,[status(thm)],[c_0_236]) ).

fof(c_0_381,plain,
    ! [X87,X88,X89,X90,X91,X92] :
      ( ( ~ hBOOL(hAPP(fun(X87,bool),bool,hAPP(X87,fun(fun(X87,bool),bool),member(X87),X88),X89))
        | hBOOL(hAPP(X87,bool,X89,X88)) )
      & ( ~ hBOOL(hAPP(X90,bool,X92,X91))
        | hBOOL(hAPP(fun(X90,bool),bool,hAPP(X90,fun(fun(X90,bool),bool),member(X90),X91),X92)) ) ),
    inference(shift_quantors,[status(thm)],[inference(variable_rename,[status(thm)],[inference(shift_quantors,[status(thm)],[inference(fof_nnf,[status(thm)],[c_0_237])])])]) ).

fof(c_0_382,plain,
    ! [X15,X16,X17,X18,X19] :
      ( hAPP(X15,X16,X17,X18) != ti(X16,X19)
      | hAPP(X16,fun(X15,X16),hAPP(X15,fun(X16,fun(X15,X16)),hAPP(fun(X15,X16),fun(X15,fun(X16,fun(X15,X16))),fun_upd(X15,X16),X17),X18),X19) = ti(fun(X15,X16),X17) ),
    inference(variable_rename,[status(thm)],[inference(fof_nnf,[status(thm)],[c_0_238])]) ).

fof(c_0_383,plain,
    ! [X36,X37,X38,X39,X40,X41,X42,X43,X44,X45,X46,X47] :
      ( ( ti(X37,X38) = ti(X37,X40)
        | hAPP(X36,product_prod(X37,X36),hAPP(X37,fun(X36,product_prod(X37,X36)),product_Pair(X37,X36),X38),X39) != hAPP(X36,product_prod(X37,X36),hAPP(X37,fun(X36,product_prod(X37,X36)),product_Pair(X37,X36),X40),X41) )
      & ( ti(X36,X39) = ti(X36,X41)
        | hAPP(X36,product_prod(X37,X36),hAPP(X37,fun(X36,product_prod(X37,X36)),product_Pair(X37,X36),X38),X39) != hAPP(X36,product_prod(X37,X36),hAPP(X37,fun(X36,product_prod(X37,X36)),product_Pair(X37,X36),X40),X41) )
      & ( ti(X43,X44) != ti(X43,X46)
        | ti(X42,X45) != ti(X42,X47)
        | hAPP(X42,product_prod(X43,X42),hAPP(X43,fun(X42,product_prod(X43,X42)),product_Pair(X43,X42),X44),X45) = hAPP(X42,product_prod(X43,X42),hAPP(X43,fun(X42,product_prod(X43,X42)),product_Pair(X43,X42),X46),X47) ) ),
    inference(distribute,[status(thm)],[inference(shift_quantors,[status(thm)],[inference(variable_rename,[status(thm)],[inference(shift_quantors,[status(thm)],[inference(fof_nnf,[status(thm)],[c_0_239])])])])]) ).

fof(c_0_384,plain,
    ! [X34,X35,X36,X37,X38,X39] :
      ( ( ti(X35,X36) = ti(X35,X38)
        | hAPP(X34,product_prod(X35,X34),hAPP(X35,fun(X34,product_prod(X35,X34)),product_Pair(X35,X34),X36),X37) != hAPP(X34,product_prod(X35,X34),hAPP(X35,fun(X34,product_prod(X35,X34)),product_Pair(X35,X34),X38),X39) )
      & ( ti(X34,X37) = ti(X34,X39)
        | hAPP(X34,product_prod(X35,X34),hAPP(X35,fun(X34,product_prod(X35,X34)),product_Pair(X35,X34),X36),X37) != hAPP(X34,product_prod(X35,X34),hAPP(X35,fun(X34,product_prod(X35,X34)),product_Pair(X35,X34),X38),X39) ) ),
    inference(distribute,[status(thm)],[inference(variable_rename,[status(thm)],[inference(fof_nnf,[status(thm)],[c_0_240])])]) ).

fof(c_0_385,plain,
    ! [X84,X85,X86,X87,X88,X89,X90,X91,X92,X93] :
      ( ( X85 = X87
        | hAPP(exp(X84),exp(X84),hAPP(exp(X84),fun(exp(X84),exp(X84)),seq(X84),X85),X86) != hAPP(exp(X84),exp(X84),hAPP(exp(X84),fun(exp(X84),exp(X84)),seq(X84),X87),X88) )
      & ( X86 = X88
        | hAPP(exp(X84),exp(X84),hAPP(exp(X84),fun(exp(X84),exp(X84)),seq(X84),X85),X86) != hAPP(exp(X84),exp(X84),hAPP(exp(X84),fun(exp(X84),exp(X84)),seq(X84),X87),X88) )
      & ( X90 != X92
        | X91 != X93
        | hAPP(exp(X89),exp(X89),hAPP(exp(X89),fun(exp(X89),exp(X89)),seq(X89),X90),X91) = hAPP(exp(X89),exp(X89),hAPP(exp(X89),fun(exp(X89),exp(X89)),seq(X89),X92),X93) ) ),
    inference(distribute,[status(thm)],[inference(shift_quantors,[status(thm)],[inference(variable_rename,[status(thm)],[inference(shift_quantors,[status(thm)],[inference(fof_nnf,[status(thm)],[c_0_241])])])])]) ).

fof(c_0_386,plain,
    ! [X86,X87,X88,X89,X90,X91,X92,X93,X94,X95] :
      ( ( ti(X86,X87) = ti(X86,X89)
        | hAPP(exp(X86),exp(X86),hAPP(X86,fun(exp(X86),exp(X86)),lAss(X86),X87),X88) != hAPP(exp(X86),exp(X86),hAPP(X86,fun(exp(X86),exp(X86)),lAss(X86),X89),X90) )
      & ( X88 = X90
        | hAPP(exp(X86),exp(X86),hAPP(X86,fun(exp(X86),exp(X86)),lAss(X86),X87),X88) != hAPP(exp(X86),exp(X86),hAPP(X86,fun(exp(X86),exp(X86)),lAss(X86),X89),X90) )
      & ( ti(X91,X92) != ti(X91,X94)
        | X93 != X95
        | hAPP(exp(X91),exp(X91),hAPP(X91,fun(exp(X91),exp(X91)),lAss(X91),X92),X93) = hAPP(exp(X91),exp(X91),hAPP(X91,fun(exp(X91),exp(X91)),lAss(X91),X94),X95) ) ),
    inference(distribute,[status(thm)],[inference(shift_quantors,[status(thm)],[inference(variable_rename,[status(thm)],[inference(shift_quantors,[status(thm)],[inference(fof_nnf,[status(thm)],[c_0_242])])])])]) ).

fof(c_0_387,plain,
    ! [X78,X79,X80,X81,X82] : hAPP(exp(X78),exp(X78),hAPP(X78,fun(exp(X78),exp(X78)),lAss(X78),X79),X80) != hAPP(exp(X78),exp(X78),hAPP(exp(X78),fun(exp(X78),exp(X78)),seq(X78),X81),X82),
    inference(variable_rename,[status(thm)],[c_0_243]) ).

fof(c_0_388,plain,
    ! [X78,X79,X80,X81,X82] : hAPP(exp(X78),exp(X78),hAPP(exp(X78),fun(exp(X78),exp(X78)),seq(X78),X79),X80) != hAPP(exp(X78),exp(X78),hAPP(X78,fun(exp(X78),exp(X78)),lAss(X78),X81),X82),
    inference(variable_rename,[status(thm)],[c_0_244]) ).

fof(c_0_389,plain,
    ! [X61,X62,X63,X64,X65,X66] :
      ( ti(product_prod(X62,X63),X65) != ti(product_prod(X62,X63),X66)
      | hAPP(product_prod(X62,X63),X61,hAPP(fun(X62,fun(X63,X61)),fun(product_prod(X62,X63),X61),product_prod_case(X62,X63,X61),X64),X65) = hAPP(product_prod(X62,X63),X61,hAPP(fun(X62,fun(X63,X61)),fun(product_prod(X62,X63),X61),product_prod_case(X62,X63,X61),X64),X66) ),
    inference(variable_rename,[status(thm)],[inference(fof_nnf,[status(thm)],[c_0_245])]) ).

fof(c_0_390,plain,
    ! [X95,X96] :
      ( ~ hBOOL(hAPP(bool,bool,hAPP(bool,fun(bool,bool),fconj,X95),X96))
      | hBOOL(X96) ),
    inference(variable_rename,[status(thm)],[c_0_246]) ).

fof(c_0_391,plain,
    ! [X95,X96] :
      ( ~ hBOOL(hAPP(bool,bool,hAPP(bool,fun(bool,bool),fconj,X95),X96))
      | hBOOL(X95) ),
    inference(shift_quantors,[status(thm)],[inference(variable_rename,[status(thm)],[inference(shift_quantors,[status(thm)],[c_0_247])])]) ).

fof(c_0_392,plain,
    ! [X62,X63,X64,X65] :
      ( hAPP(X62,X63,X64,esk66_4(X62,X63,X64,X65)) != hAPP(X62,X63,X65,esk66_4(X62,X63,X64,X65))
      | ti(fun(X62,X63),X64) = ti(fun(X62,X63),X65) ),
    inference(skolemize,[status(esa)],[inference(variable_rename,[status(thm)],[inference(fof_nnf,[status(thm)],[c_0_248])])]) ).

fof(c_0_393,plain,
    ! [X90,X91,X92,X93] : hAPP(exp(X90),exp(X90),hAPP(exp(X90),fun(exp(X90),exp(X90)),seq(X90),X91),X92) != hAPP(val,exp(X90),val_1(X90),X93),
    inference(variable_rename,[status(thm)],[c_0_249]) ).

fof(c_0_394,plain,
    ! [X90,X91,X92,X93] : hAPP(val,exp(X90),val_1(X90),X91) != hAPP(exp(X90),exp(X90),hAPP(exp(X90),fun(exp(X90),exp(X90)),seq(X90),X92),X93),
    inference(variable_rename,[status(thm)],[c_0_250]) ).

fof(c_0_395,plain,
    ! [X90,X91,X92,X93] : hAPP(exp(X90),exp(X90),hAPP(X90,fun(exp(X90),exp(X90)),lAss(X90),X91),X92) != hAPP(val,exp(X90),val_1(X90),X93),
    inference(variable_rename,[status(thm)],[c_0_251]) ).

fof(c_0_396,plain,
    ! [X90,X91,X92,X93] : hAPP(val,exp(X90),val_1(X90),X91) != hAPP(exp(X90),exp(X90),hAPP(X90,fun(exp(X90),exp(X90)),lAss(X90),X92),X93),
    inference(variable_rename,[status(thm)],[c_0_252]) ).

fof(c_0_397,plain,
    ! [X95,X96] :
      ( ~ hBOOL(X96)
      | ~ hBOOL(X95)
      | hBOOL(hAPP(bool,bool,hAPP(bool,fun(bool,bool),fconj,X96),X95)) ),
    inference(variable_rename,[status(thm)],[c_0_253]) ).

fof(c_0_398,plain,
    ! [X59,X60,X61] : ti(product_prod(X59,X60),X61) = hAPP(X60,product_prod(X59,X60),hAPP(X59,fun(X60,product_prod(X59,X60)),product_Pair(X59,X60),esk48_3(X59,X60,X61)),esk49_3(X59,X60,X61)),
    inference(skolemize,[status(esa)],[inference(variable_rename,[status(thm)],[inference(fof_nnf,[status(thm)],[c_0_254])])]) ).

fof(c_0_399,plain,
    ! [X30,X31,X32] : ti(product_prod(X30,X31),X32) = hAPP(X31,product_prod(X30,X31),hAPP(X30,fun(X31,product_prod(X30,X31)),product_Pair(X30,X31),esk43_3(X30,X31,X32)),esk44_3(X30,X31,X32)),
    inference(skolemize,[status(esa)],[inference(variable_rename,[status(thm)],[inference(fof_nnf,[status(thm)],[c_0_255])])]) ).

fof(c_0_400,plain,
    ! [X95,X96,X97,X98] : hAPP(X95,X96,hAPP(X96,fun(X95,X96),combk(X96,X95),X97),X98) = ti(X96,X97),
    inference(variable_rename,[status(thm)],[c_0_256]) ).

fof(c_0_401,plain,
    ! [X80,X81,X82,X83,X84,X85] :
      ( ( hAPP(val,exp(X80),val_1(X80),X81) != hAPP(val,exp(X80),val_1(X80),X82)
        | X81 = X82 )
      & ( X84 != X85
        | hAPP(val,exp(X83),val_1(X83),X84) = hAPP(val,exp(X83),val_1(X83),X85) ) ),
    inference(shift_quantors,[status(thm)],[inference(variable_rename,[status(thm)],[inference(shift_quantors,[status(thm)],[inference(fof_nnf,[status(thm)],[c_0_257])])])]) ).

fof(c_0_402,plain,
    ! [X9,X10,X11,X12] : ti(X9,hAPP(X10,X9,X11,X12)) = hAPP(X10,X9,X11,X12),
    inference(variable_rename,[status(thm)],[c_0_258]) ).

fof(c_0_403,plain,
    ! [X4,X5,X6] : ti(fun(fun(X4,fun(X5,X6)),fun(fun(X4,X5),fun(X4,X6))),combs(X4,X5,X6)) = combs(X4,X5,X6),
    inference(variable_rename,[status(thm)],[c_0_259]) ).

fof(c_0_404,plain,
    ! [X9,X10,X11,X12] : hAPP(X9,X10,ti(fun(X9,X10),X11),X12) = hAPP(X9,X10,X11,X12),
    inference(variable_rename,[status(thm)],[c_0_260]) ).

fof(c_0_405,plain,
    ! [X9,X10,X11,X12] : hAPP(X9,X10,X11,ti(X9,X12)) = hAPP(X9,X10,X11,X12),
    inference(variable_rename,[status(thm)],[c_0_261]) ).

fof(c_0_406,plain,
    ! [X4,X5,X6] : ti(fun(fun(X4,fun(X5,X6)),fun(product_prod(X4,X5),X6)),product_prod_rec(X4,X5,X6)) = product_prod_rec(X4,X5,X6),
    inference(variable_rename,[status(thm)],[c_0_262]) ).

fof(c_0_407,plain,
    ! [X4,X5,X6] : ti(fun(fun(X4,fun(X5,X6)),fun(product_prod(X4,X5),X6)),product_prod_case(X4,X5,X6)) = product_prod_case(X4,X5,X6),
    inference(variable_rename,[status(thm)],[c_0_263]) ).

fof(c_0_408,plain,
    ! [X4,X5,X6] : ti(fun(fun(X4,fun(X5,X6)),fun(product_prod(X4,X5),X6)),produc1605651328_split(X4,X5,X6)) = produc1605651328_split(X4,X5,X6),
    inference(variable_rename,[status(thm)],[c_0_264]) ).

fof(c_0_409,plain,
    ! [X4,X5,X6] : ti(fun(fun(X4,fun(X5,X6)),fun(X5,fun(X4,X6))),combc(X4,X5,X6)) = combc(X4,X5,X6),
    inference(variable_rename,[status(thm)],[c_0_265]) ).

fof(c_0_410,plain,
    ! [X4,X5,X6] : ti(fun(fun(X4,X5),fun(fun(X6,X4),fun(X6,X5))),combb(X4,X5,X6)) = combb(X4,X5,X6),
    inference(variable_rename,[status(thm)],[c_0_266]) ).

fof(c_0_411,axiom,
    hAPP(list(char),option(val),l_a,v_1) = hAPP(val,option(val),some(val),v_2),
    c_0_267 ).

fof(c_0_412,plain,
    ! [X4,X5] : ti(fun(fun(X4,X5),fun(X4,fun(X5,fun(X4,X5)))),fun_upd(X4,X5)) = fun_upd(X4,X5),
    inference(variable_rename,[status(thm)],[c_0_268]) ).

fof(c_0_413,plain,
    ! [X4] : ti(fun(X4,fun(ty,fun(exp(X4),exp(X4)))),block(X4)) = block(X4),
    inference(variable_rename,[status(thm)],[c_0_269]) ).

fof(c_0_414,plain,
    ! [X6,X7] : ti(fun(X6,fun(X7,product_prod(X6,X7))),product_Pair(X6,X7)) = product_Pair(X6,X7),
    inference(variable_rename,[status(thm)],[c_0_270]) ).

fof(c_0_415,plain,
    ! [X4] : ti(fun(X4,fun(fun(X4,bool),bool)),member(X4)) = member(X4),
    inference(variable_rename,[status(thm)],[c_0_271]) ).

fof(c_0_416,plain,
    ! [X4] : ti(fun(exp(X4),fun(exp(X4),exp(X4))),seq(X4)) = seq(X4),
    inference(variable_rename,[status(thm)],[c_0_272]) ).

fof(c_0_417,plain,
    ! [X4] : ti(fun(X4,fun(exp(X4),exp(X4))),lAss(X4)) = lAss(X4),
    inference(variable_rename,[status(thm)],[c_0_273]) ).

fof(c_0_418,axiom,
    ti(fun(list(char),fun(exp(list(char)),bool)),assigned) = assigned,
    c_0_274 ).

fof(c_0_419,plain,
    ! [X4,X5] : ti(fun(X4,fun(X5,X4)),combk(X4,X5)) = combk(X4,X5),
    inference(variable_rename,[status(thm)],[c_0_275]) ).

fof(c_0_420,plain,
    ! [X4,X5,X6] : produc1605651328_split(X4,X5,X6) = product_prod_case(X4,X5,X6),
    inference(variable_rename,[status(thm)],[c_0_276]) ).

fof(c_0_421,axiom,
    ti(fun(bool,fun(bool,bool)),fconj) = fconj,
    c_0_277 ).

fof(c_0_422,plain,
    ! [X4] : ti(fun(X4,option(X4)),some(X4)) = some(X4),
    inference(variable_rename,[status(thm)],[c_0_278]) ).

fof(c_0_423,plain,
    ! [X4] : ti(fun(val,exp(X4)),val_1(X4)) = val_1(X4),
    inference(variable_rename,[status(thm)],[c_0_279]) ).

fof(c_0_424,plain,
    ! [X94,X95] : ti(X94,ti(X94,X95)) = ti(X94,X95),
    inference(variable_rename,[status(thm)],[c_0_280]) ).

fof(c_0_425,axiom,
    ti(fun(list(char),option(ty)),e) = e,
    c_0_281 ).

fof(c_0_426,plain,
    ! [X2] : ti(option(X2),none(X2)) = none(X2),
    inference(variable_rename,[status(thm)],[c_0_282]) ).

fof(c_0_427,plain,
    ! [X4] : ti(X4,undefined(X4)) = undefined(X4),
    inference(variable_rename,[status(thm)],[c_0_283]) ).

fof(c_0_428,axiom,
    ti(val,v_2) = v_2,
    c_0_284 ).

fof(c_0_429,axiom,
    ti(ty,t_1) = t_1,
    c_0_285 ).

fof(c_0_430,axiom,
    ti(ty,t) = t,
    c_0_286 ).

fof(c_0_431,axiom,
    ti(val,unit) = unit,
    c_0_287 ).

cnf(c_0_432,plain,
    ( hBOOL(hAPP(product_prod(X1,product_prod(X2,product_prod(X3,product_prod(X4,product_prod(X5,X6))))),bool,X7,X8))
    | ~ hBOOL(hAPP(product_prod(X1,product_prod(X2,product_prod(X3,product_prod(X4,product_prod(X5,X6))))),bool,X7,hAPP(product_prod(X2,product_prod(X3,product_prod(X4,product_prod(X5,X6)))),product_prod(X1,product_prod(X2,product_prod(X3,product_prod(X4,product_prod(X5,X6))))),hAPP(X1,fun(product_prod(X2,product_prod(X3,product_prod(X4,product_prod(X5,X6)))),product_prod(X1,product_prod(X2,product_prod(X3,product_prod(X4,product_prod(X5,X6)))))),product_Pair(X1,product_prod(X2,product_prod(X3,product_prod(X4,product_prod(X5,X6))))),esk2_8(X1,X2,X3,X4,X5,X6,X8,X7)),hAPP(product_prod(X3,product_prod(X4,product_prod(X5,X6))),product_prod(X2,product_prod(X3,product_prod(X4,product_prod(X5,X6)))),hAPP(X2,fun(product_prod(X3,product_prod(X4,product_prod(X5,X6))),product_prod(X2,product_prod(X3,product_prod(X4,product_prod(X5,X6))))),product_Pair(X2,product_prod(X3,product_prod(X4,product_prod(X5,X6)))),esk3_8(X1,X2,X3,X4,X5,X6,X8,X7)),hAPP(product_prod(X4,product_prod(X5,X6)),product_prod(X3,product_prod(X4,product_prod(X5,X6))),hAPP(X3,fun(product_prod(X4,product_prod(X5,X6)),product_prod(X3,product_prod(X4,product_prod(X5,X6)))),product_Pair(X3,product_prod(X4,product_prod(X5,X6))),esk4_8(X1,X2,X3,X4,X5,X6,X8,X7)),hAPP(product_prod(X5,X6),product_prod(X4,product_prod(X5,X6)),hAPP(X4,fun(product_prod(X5,X6),product_prod(X4,product_prod(X5,X6))),product_Pair(X4,product_prod(X5,X6)),esk5_8(X1,X2,X3,X4,X5,X6,X8,X7)),hAPP(X6,product_prod(X5,X6),hAPP(X5,fun(X6,product_prod(X5,X6)),product_Pair(X5,X6),esk6_8(X1,X2,X3,X4,X5,X6,X8,X7)),esk7_8(X1,X2,X3,X4,X5,X6,X8,X7)))))))) ),
    inference(split_conjunct,[status(thm)],[c_0_288]) ).

cnf(c_0_433,plain,
    ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),typeSa885026672_sconf,X1),X2),X3))
    | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),product_prod_case(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)),bool),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool)),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool))),fun(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool))),combs(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool)),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(bool,bool)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool))),hAPP(fun(fun(bool,bool),fun(fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool))),fun(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(bool,bool)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool)))),combb(fun(bool,bool),fun(fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool)),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),combb(bool,bool,fun(list(char),option(val)))),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(bool,bool)),hAPP(fun(bool,fun(bool,bool)),fun(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(bool,bool))),combb(bool,fun(bool,bool),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),fconj),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),hconf(product_prod(list(list(char)),exp(list(char)))),X1)))),hAPP(fun(list(char),option(ty)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool)),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool))),fun(fun(list(char),option(ty)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool))),combc(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool)),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool))),hAPP(fun(fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool)),fun(fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool))),fun(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool)))),combb(fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool)),fun(fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool)),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),combc(fun(list(char),option(val)),fun(list(char),option(ty)),bool)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool))),lconf(product_prod(list(list(char)),exp(list(char)))),X1))),X2))),X3)) ),
    inference(split_conjunct,[status(thm)],[c_0_289]) ).

cnf(c_0_434,plain,
    ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X1),X2),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),X1),hAPP(val,exp(list(char)),val_1(list(char)),X3))),X4))),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X5),X6))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X1),X2),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),X1),hAPP(val,exp(list(char)),val_1(list(char)),X7))),X8))),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X9),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),X10),X1),hAPP(list(char),option(val),X6,X1)))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X11)))
    | hAPP(list(char),option(val),X10,X1) != hAPP(val,option(val),some(val),X7)
    | ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X4),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X5),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),X6),X1),hAPP(val,option(val),some(val),X3))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X8),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X9),X10)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X11))) ),
    inference(split_conjunct,[status(thm)],[c_0_290]) ).

cnf(c_0_435,plain,
    ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X1),X2),X3)),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X4),X5))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X1),X2),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),X1),hAPP(val,exp(list(char)),val_1(list(char)),X6))),X7))),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X8),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),X9),X1),hAPP(list(char),option(val),X5,X1)))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X10)))
    | hBOOL(hAPP(exp(list(char)),bool,hAPP(list(char),fun(exp(list(char)),bool),assigned,X1),X3))
    | hAPP(list(char),option(val),X9,X1) != hAPP(val,option(val),some(val),X6)
    | ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X3),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X4),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),X5),X1),none(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X7),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X8),X9)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X10))) ),
    inference(split_conjunct,[status(thm)],[c_0_291]) ).

cnf(c_0_436,plain,
    ( hBOOL(hAPP(product_prod(X1,product_prod(X2,product_prod(X3,product_prod(X4,X5)))),bool,X6,X7))
    | ~ hBOOL(hAPP(product_prod(X1,product_prod(X2,product_prod(X3,product_prod(X4,X5)))),bool,X6,hAPP(product_prod(X2,product_prod(X3,product_prod(X4,X5))),product_prod(X1,product_prod(X2,product_prod(X3,product_prod(X4,X5)))),hAPP(X1,fun(product_prod(X2,product_prod(X3,product_prod(X4,X5))),product_prod(X1,product_prod(X2,product_prod(X3,product_prod(X4,X5))))),product_Pair(X1,product_prod(X2,product_prod(X3,product_prod(X4,X5)))),esk14_7(X1,X2,X3,X4,X5,X7,X6)),hAPP(product_prod(X3,product_prod(X4,X5)),product_prod(X2,product_prod(X3,product_prod(X4,X5))),hAPP(X2,fun(product_prod(X3,product_prod(X4,X5)),product_prod(X2,product_prod(X3,product_prod(X4,X5)))),product_Pair(X2,product_prod(X3,product_prod(X4,X5))),esk15_7(X1,X2,X3,X4,X5,X7,X6)),hAPP(product_prod(X4,X5),product_prod(X3,product_prod(X4,X5)),hAPP(X3,fun(product_prod(X4,X5),product_prod(X3,product_prod(X4,X5))),product_Pair(X3,product_prod(X4,X5)),esk16_7(X1,X2,X3,X4,X5,X7,X6)),hAPP(X5,product_prod(X4,X5),hAPP(X4,fun(X5,product_prod(X4,X5)),product_Pair(X4,X5),esk17_7(X1,X2,X3,X4,X5,X7,X6)),esk18_7(X1,X2,X3,X4,X5,X7,X6))))))) ),
    inference(split_conjunct,[status(thm)],[c_0_292]) ).

cnf(c_0_437,plain,
    ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),product_prod_case(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)),bool),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool)),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool))),fun(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool))),combs(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool)),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(bool,bool)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool))),hAPP(fun(fun(bool,bool),fun(fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool))),fun(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(bool,bool)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool)))),combb(fun(bool,bool),fun(fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool)),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),combb(bool,bool,fun(list(char),option(val)))),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(bool,bool)),hAPP(fun(bool,fun(bool,bool)),fun(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(bool,bool))),combb(bool,fun(bool,bool),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),fconj),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),hconf(product_prod(list(list(char)),exp(list(char)))),X1)))),hAPP(fun(list(char),option(ty)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool)),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool))),fun(fun(list(char),option(ty)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool))),combc(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool)),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool))),hAPP(fun(fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool)),fun(fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool))),fun(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool)))),combb(fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool)),fun(fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool)),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),combc(fun(list(char),option(val)),fun(list(char),option(ty)),bool)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool))),lconf(product_prod(list(list(char)),exp(list(char)))),X1))),X2))),X3))
    | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),typeSa885026672_sconf,X1),X2),X3)) ),
    inference(split_conjunct,[status(thm)],[c_0_289]) ).

cnf(c_0_438,plain,
    ( hBOOL(hAPP(fun(list(char),option(ty)),bool,hAPP(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool))),lconf(product_prod(list(list(char)),exp(list(char)))),X1),X2),X3),X4))
    | ~ hBOOL(hAPP(fun(list(char),option(ty)),bool,hAPP(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool))),lconf(product_prod(list(list(char)),exp(list(char)))),X1),X5),X6),X4))
    | ~ hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,X1),X5),X4),X7),X8))
    | ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X7),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X5),X6))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X9),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X2),X3)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X1))) ),
    inference(split_conjunct,[status(thm)],[c_0_293]) ).

cnf(c_0_439,plain,
    ( hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),hconf(product_prod(list(list(char)),exp(list(char)))),X1),X2))
    | ~ hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),hconf(product_prod(list(list(char)),exp(list(char)))),X1),X3))
    | ~ hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,X1),X3),X4),X5),X6))
    | ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X5),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X3),X7))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X8),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X2),X9)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X1))) ),
    inference(split_conjunct,[status(thm)],[c_0_294]) ).

cnf(c_0_440,plain,
    ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),X1),X2)),X3)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),X4),X2)),X5))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X6)))
    | ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X1),X3)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X4),X5))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X6))) ),
    inference(split_conjunct,[status(thm)],[c_0_295]) ).

cnf(c_0_441,plain,
    ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),X1),X2)),X3)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),X1),X4)),X5))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X6)))
    | ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X2),X3)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X4),X5))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X6))) ),
    inference(split_conjunct,[status(thm)],[c_0_296]) ).

cnf(c_0_442,plain,
    ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,X1),X2),X3),X4),X5))
    | ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X2),X3)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X4),X5))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X1))) ),
    inference(split_conjunct,[status(thm)],[c_0_297]) ).

cnf(c_0_443,plain,
    ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),typeSa885026672_sconf,X1),X2),X3))
    | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),typeSa885026672_sconf,X1),X2),X4))
    | ~ hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,X1),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hp,X4)),X2),X5),X6))
    | ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X5),X4)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X7),X3))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X1))) ),
    inference(split_conjunct,[status(thm)],[c_0_298]) ).

cnf(c_0_444,plain,
    ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,X1),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X2),X3),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),X2),hAPP(val,exp(list(char)),val_1(list(char)),X4))),X5))),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X6),X7)),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X2),X3),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),X2),hAPP(val,exp(list(char)),val_1(list(char)),X8))),X9))),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X10),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),X11),X2),hAPP(list(char),option(val),X7,X2)))))
    | hAPP(list(char),option(val),X11,X2) != hAPP(val,option(val),some(val),X8)
    | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,X1),X5),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X6),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),X7),X2),hAPP(val,option(val),some(val),X4)))),X9),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X10),X11))) ),
    inference(split_conjunct,[status(thm)],[c_0_299]) ).

cnf(c_0_445,plain,
    ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,X1),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X2),X3),X4)),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X5),X6)),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X2),X3),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),X2),hAPP(val,exp(list(char)),val_1(list(char)),X7))),X8))),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X9),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),X10),X2),hAPP(list(char),option(val),X6,X2)))))
    | hBOOL(hAPP(exp(list(char)),bool,hAPP(list(char),fun(exp(list(char)),bool),assigned,X2),X4))
    | hAPP(list(char),option(val),X10,X2) != hAPP(val,option(val),some(val),X7)
    | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,X1),X4),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X5),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),X6),X2),none(val)))),X8),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X9),X10))) ),
    inference(split_conjunct,[status(thm)],[c_0_300]) ).

cnf(c_0_446,plain,
    ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X1),X2)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X3),X4))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X5)))
    | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,X5),X1),X2),X3),X4)) ),
    inference(split_conjunct,[status(thm)],[c_0_297]) ).

cnf(c_0_447,plain,
    ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,X1),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X2),X3),X4)),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X5),X6)),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X2),X3),X7)),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X8),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),X9),X2),hAPP(list(char),option(val),X6,X2)))))
    | hBOOL(hAPP(exp(list(char)),bool,hAPP(list(char),fun(exp(list(char)),bool),assigned,X2),X4))
    | hAPP(list(char),option(val),X9,X2) != none(val)
    | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,X1),X4),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X5),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),X6),X2),none(val)))),X7),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X8),X9))) ),
    inference(split_conjunct,[status(thm)],[c_0_301]) ).

cnf(c_0_448,plain,
    ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,X1),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),X2),X3)),X4),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),X5),X3)),X6))
    | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,X1),X2),X4),X5),X6)) ),
    inference(split_conjunct,[status(thm)],[c_0_302]) ).

cnf(c_0_449,plain,
    ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,X1),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),X2),X3)),X4),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),X2),X5)),X6))
    | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,X1),X3),X4),X5),X6)) ),
    inference(split_conjunct,[status(thm)],[c_0_303]) ).

cnf(c_0_450,plain,
    hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X1),X2),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),X1),hAPP(val,exp(list(char)),val_1(list(char)),X3))),hAPP(val,exp(list(char)),val_1(list(char)),X4)))),X5)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),X4)),X5))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X6))),
    inference(split_conjunct,[status(thm)],[c_0_304]) ).

cnf(c_0_451,plain,
    hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),ea),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),ha),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),la),v_1),hAPP(val,option(val),some(val),v))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),e_a),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),h_a),l_a)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,p))),
    inference(split_conjunct,[status(thm)],[c_0_305]) ).

cnf(c_0_452,plain,
    hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),X1),hAPP(val,exp(list(char)),val_1(list(char)),X2))),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X3),X4))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),unit)),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X3),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),X4),X1),hAPP(val,option(val),some(val),X2)))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X5))),
    inference(split_conjunct,[status(thm)],[c_0_306]) ).

cnf(c_0_453,plain,
    ti(product_prod(X1,product_prod(X2,product_prod(X3,product_prod(X4,product_prod(X5,X6))))),X7) = hAPP(product_prod(X2,product_prod(X3,product_prod(X4,product_prod(X5,X6)))),product_prod(X1,product_prod(X2,product_prod(X3,product_prod(X4,product_prod(X5,X6))))),hAPP(X1,fun(product_prod(X2,product_prod(X3,product_prod(X4,product_prod(X5,X6)))),product_prod(X1,product_prod(X2,product_prod(X3,product_prod(X4,product_prod(X5,X6)))))),product_Pair(X1,product_prod(X2,product_prod(X3,product_prod(X4,product_prod(X5,X6))))),esk8_7(X1,X2,X3,X4,X5,X6,X7)),hAPP(product_prod(X3,product_prod(X4,product_prod(X5,X6))),product_prod(X2,product_prod(X3,product_prod(X4,product_prod(X5,X6)))),hAPP(X2,fun(product_prod(X3,product_prod(X4,product_prod(X5,X6))),product_prod(X2,product_prod(X3,product_prod(X4,product_prod(X5,X6))))),product_Pair(X2,product_prod(X3,product_prod(X4,product_prod(X5,X6)))),esk9_7(X1,X2,X3,X4,X5,X6,X7)),hAPP(product_prod(X4,product_prod(X5,X6)),product_prod(X3,product_prod(X4,product_prod(X5,X6))),hAPP(X3,fun(product_prod(X4,product_prod(X5,X6)),product_prod(X3,product_prod(X4,product_prod(X5,X6)))),product_Pair(X3,product_prod(X4,product_prod(X5,X6))),esk10_7(X1,X2,X3,X4,X5,X6,X7)),hAPP(product_prod(X5,X6),product_prod(X4,product_prod(X5,X6)),hAPP(X4,fun(product_prod(X5,X6),product_prod(X4,product_prod(X5,X6))),product_Pair(X4,product_prod(X5,X6)),esk11_7(X1,X2,X3,X4,X5,X6,X7)),hAPP(X6,product_prod(X5,X6),hAPP(X5,fun(X6,product_prod(X5,X6)),product_Pair(X5,X6),esk12_7(X1,X2,X3,X4,X5,X6,X7)),esk13_7(X1,X2,X3,X4,X5,X6,X7)))))),
    inference(split_conjunct,[status(thm)],[c_0_307]) ).

cnf(c_0_454,plain,
    hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X1),X2),hAPP(val,exp(list(char)),val_1(list(char)),X3))),X4)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),X3)),X4))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X5))),
    inference(split_conjunct,[status(thm)],[c_0_308]) ).

cnf(c_0_455,plain,
    hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),X1)),X2)),X3)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X2),X3))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X4))),
    inference(split_conjunct,[status(thm)],[c_0_309]) ).

cnf(c_0_456,plain,
    ( hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,X1),X2),X3),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),X4),X5)),X6))
    | ~ hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,X1),X2),X3),X5),X6))
    | ~ hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,X1),X2),X3),X4),X7)) ),
    inference(split_conjunct,[status(thm)],[c_0_310]) ).

cnf(c_0_457,plain,
    hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,X1),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X2),X3),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),X2),hAPP(val,exp(list(char)),val_1(list(char)),X4))),hAPP(val,exp(list(char)),val_1(list(char)),X5)))),X6),hAPP(val,exp(list(char)),val_1(list(char)),X5)),X6)),
    inference(split_conjunct,[status(thm)],[c_0_311]) ).

cnf(c_0_458,plain,
    ( hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,p),h_a),X1),e_a),esk1_2(X2,X1)))
    | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),typeSa885026672_sconf,p),X1),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),ha),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),la),v_1),hAPP(val,option(val),some(val),v)))))
    | ~ hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,p),ha),X1),ea),X2)) ),
    inference(split_conjunct,[status(thm)],[c_0_312]) ).

cnf(c_0_459,plain,
    hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,X1),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X2),X3),hAPP(val,exp(list(char)),val_1(list(char)),X4))),X5),hAPP(val,exp(list(char)),val_1(list(char)),X4)),X5)),
    inference(split_conjunct,[status(thm)],[c_0_313]) ).

cnf(c_0_460,plain,
    hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,X1),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),X2)),X3)),X4),X3),X4)),
    inference(split_conjunct,[status(thm)],[c_0_314]) ).

cnf(c_0_461,plain,
    ( hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,X1),X2),X3),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X4),X5),X6)),X7))
    | ~ hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,X1),X2),hAPP(option(ty),fun(list(char),option(ty)),hAPP(list(char),fun(option(ty),fun(list(char),option(ty))),hAPP(fun(list(char),option(ty)),fun(list(char),fun(option(ty),fun(list(char),option(ty)))),fun_upd(list(char),option(ty)),X3),X4),hAPP(ty,option(ty),some(ty),X5))),X6),X7)) ),
    inference(split_conjunct,[status(thm)],[c_0_315]) ).

cnf(c_0_462,plain,
    ( hBOOL(hAPP(ty,bool,hAPP(ty,fun(ty,bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(ty,fun(ty,bool)),widen(product_prod(list(list(char)),exp(list(char)))),p),esk1_2(X2,X1)),X2))
    | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),typeSa885026672_sconf,p),X1),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),ha),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),la),v_1),hAPP(val,option(val),some(val),v)))))
    | ~ hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,p),ha),X1),ea),X2)) ),
    inference(split_conjunct,[status(thm)],[c_0_312]) ).

cnf(c_0_463,plain,
    ( hBOOL(hAPP(product_prod(X1,product_prod(X2,product_prod(X3,X4))),bool,X5,X6))
    | ~ hBOOL(hAPP(product_prod(X1,product_prod(X2,product_prod(X3,X4))),bool,X5,hAPP(product_prod(X2,product_prod(X3,X4)),product_prod(X1,product_prod(X2,product_prod(X3,X4))),hAPP(X1,fun(product_prod(X2,product_prod(X3,X4)),product_prod(X1,product_prod(X2,product_prod(X3,X4)))),product_Pair(X1,product_prod(X2,product_prod(X3,X4))),esk24_6(X1,X2,X3,X4,X6,X5)),hAPP(product_prod(X3,X4),product_prod(X2,product_prod(X3,X4)),hAPP(X2,fun(product_prod(X3,X4),product_prod(X2,product_prod(X3,X4))),product_Pair(X2,product_prod(X3,X4)),esk25_6(X1,X2,X3,X4,X6,X5)),hAPP(X4,product_prod(X3,X4),hAPP(X3,fun(X4,product_prod(X3,X4)),product_Pair(X3,X4),esk26_6(X1,X2,X3,X4,X6,X5)),esk27_6(X1,X2,X3,X4,X6,X5)))))) ),
    inference(split_conjunct,[status(thm)],[c_0_316]) ).

cnf(c_0_464,plain,
    hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,p),ha),e),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),v_1),t_1),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),v_1),hAPP(val,exp(list(char)),val_1(list(char)),v))),ea))),t)),
    inference(split_conjunct,[status(thm)],[c_0_317]) ).

cnf(c_0_465,plain,
    hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool))),fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),bool),wf_prog(product_prod(list(list(char)),exp(list(char)))),wf_J_mdecl),p)),
    inference(split_conjunct,[status(thm)],[c_0_318]) ).

cnf(c_0_466,plain,
    ti(product_prod(X1,product_prod(X2,product_prod(X3,product_prod(X4,X5)))),X6) = hAPP(product_prod(X2,product_prod(X3,product_prod(X4,X5))),product_prod(X1,product_prod(X2,product_prod(X3,product_prod(X4,X5)))),hAPP(X1,fun(product_prod(X2,product_prod(X3,product_prod(X4,X5))),product_prod(X1,product_prod(X2,product_prod(X3,product_prod(X4,X5))))),product_Pair(X1,product_prod(X2,product_prod(X3,product_prod(X4,X5)))),esk19_6(X1,X2,X3,X4,X5,X6)),hAPP(product_prod(X3,product_prod(X4,X5)),product_prod(X2,product_prod(X3,product_prod(X4,X5))),hAPP(X2,fun(product_prod(X3,product_prod(X4,X5)),product_prod(X2,product_prod(X3,product_prod(X4,X5)))),product_Pair(X2,product_prod(X3,product_prod(X4,X5))),esk20_6(X1,X2,X3,X4,X5,X6)),hAPP(product_prod(X4,X5),product_prod(X3,product_prod(X4,X5)),hAPP(X3,fun(product_prod(X4,X5),product_prod(X3,product_prod(X4,X5))),product_Pair(X3,product_prod(X4,X5)),esk21_6(X1,X2,X3,X4,X5,X6)),hAPP(X5,product_prod(X4,X5),hAPP(X4,fun(X5,product_prod(X4,X5)),product_Pair(X4,X5),esk22_6(X1,X2,X3,X4,X5,X6)),esk23_6(X1,X2,X3,X4,X5,X6))))),
    inference(split_conjunct,[status(thm)],[c_0_319]) ).

cnf(c_0_467,plain,
    hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),typeSa885026672_sconf,p),e),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),ha),la))),
    inference(split_conjunct,[status(thm)],[c_0_320]) ).

cnf(c_0_468,plain,
    ( hBOOL(hAPP(ty,bool,hAPP(ty,fun(ty,bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X1)))))))),fun(ty,fun(ty,bool)),widen(X1),X2),X3),X4))
    | ~ hBOOL(hAPP(ty,bool,hAPP(ty,fun(ty,bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X1)))))))),fun(ty,fun(ty,bool)),widen(X1),X2),X5),X4))
    | ~ hBOOL(hAPP(ty,bool,hAPP(ty,fun(ty,bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X1)))))))),fun(ty,fun(ty,bool)),widen(X1),X2),X3),X5)) ),
    inference(split_conjunct,[status(thm)],[c_0_321]) ).

cnf(c_0_469,plain,
    ( hBOOL(hAPP(fun(X1,bool),bool,hAPP(X1,fun(fun(X1,bool),bool),member(X1),X2),hAPP(product_prod(X3,X4),fun(X1,bool),hAPP(fun(X3,fun(X4,fun(X1,bool))),fun(product_prod(X3,X4),fun(X1,bool)),product_prod_case(X3,X4,fun(X1,bool)),X5),X6)))
    | ~ hBOOL(hAPP(fun(X1,bool),bool,hAPP(X1,fun(fun(X1,bool),bool),member(X1),X2),hAPP(X4,fun(X1,bool),hAPP(X3,fun(X4,fun(X1,bool)),X5,esk60_6(X1,X3,X4,X2,X5,X6)),esk61_6(X1,X3,X4,X2,X5,X6)))) ),
    inference(split_conjunct,[status(thm)],[c_0_322]) ).

cnf(c_0_470,plain,
    ( hBOOL(hAPP(X1,bool,hAPP(product_prod(X2,X3),fun(X1,bool),hAPP(fun(X2,fun(X3,fun(X1,bool))),fun(product_prod(X2,X3),fun(X1,bool)),product_prod_case(X2,X3,fun(X1,bool)),X4),X5),X6))
    | ~ hBOOL(hAPP(X1,bool,hAPP(X3,fun(X1,bool),hAPP(X2,fun(X3,fun(X1,bool)),X4,esk58_6(X1,X3,X2,X4,X6,X5)),esk59_6(X1,X3,X2,X4,X6,X5)),X6)) ),
    inference(split_conjunct,[status(thm)],[c_0_323]) ).

cnf(c_0_471,plain,
    ti(fun(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool))),fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),bool)),wf_prog(product_prod(list(list(char)),exp(list(char))))) = wf_prog(product_prod(list(list(char)),exp(list(char)))),
    inference(split_conjunct,[status(thm)],[c_0_324]) ).

cnf(c_0_472,plain,
    ( hBOOL(hAPP(fun(X1,bool),bool,hAPP(X1,fun(fun(X1,bool),bool),member(X1),X2),hAPP(X4,fun(X1,bool),hAPP(X3,fun(X4,fun(X1,bool)),X5,esk56_6(X1,X3,X4,X2,X5,X6)),esk57_6(X1,X3,X4,X2,X5,X6))))
    | ~ hBOOL(hAPP(fun(X1,bool),bool,hAPP(X1,fun(fun(X1,bool),bool),member(X1),X2),hAPP(product_prod(X3,X4),fun(X1,bool),hAPP(fun(X3,fun(X4,fun(X1,bool))),fun(product_prod(X3,X4),fun(X1,bool)),product_prod_case(X3,X4,fun(X1,bool)),X5),X6))) ),
    inference(split_conjunct,[status(thm)],[c_0_325]) ).

cnf(c_0_473,plain,
    ( hBOOL(hAPP(X1,bool,hAPP(X3,fun(X1,bool),hAPP(X2,fun(X3,fun(X1,bool)),X4,esk54_6(X1,X2,X3,X4,X5,X6)),esk55_6(X1,X2,X3,X4,X5,X6)),X6))
    | ~ hBOOL(hAPP(X1,bool,hAPP(product_prod(X2,X3),fun(X1,bool),hAPP(fun(X2,fun(X3,fun(X1,bool))),fun(product_prod(X2,X3),fun(X1,bool)),product_prod_case(X2,X3,fun(X1,bool)),X4),X5),X6)) ),
    inference(split_conjunct,[status(thm)],[c_0_326]) ).

cnf(c_0_474,plain,
    ( hBOOL(hAPP(X1,bool,X2,hAPP(X4,X1,hAPP(X3,fun(X4,X1),X5,esk64_6(X1,X3,X4,X2,X5,X6)),esk65_6(X1,X3,X4,X2,X5,X6))))
    | ~ hBOOL(hAPP(X1,bool,X2,hAPP(product_prod(X3,X4),X1,hAPP(fun(X3,fun(X4,X1)),fun(product_prod(X3,X4),X1),product_prod_case(X3,X4,X1),X5),X6))) ),
    inference(split_conjunct,[status(thm)],[c_0_327]) ).

cnf(c_0_475,plain,
    ( hBOOL(hAPP(product_prod(X1,product_prod(X2,X3)),bool,X4,X5))
    | ~ hBOOL(hAPP(product_prod(X1,product_prod(X2,X3)),bool,X4,hAPP(product_prod(X2,X3),product_prod(X1,product_prod(X2,X3)),hAPP(X1,fun(product_prod(X2,X3),product_prod(X1,product_prod(X2,X3))),product_Pair(X1,product_prod(X2,X3)),esk38_5(X1,X2,X3,X5,X4)),hAPP(X3,product_prod(X2,X3),hAPP(X2,fun(X3,product_prod(X2,X3)),product_Pair(X2,X3),esk39_5(X1,X2,X3,X5,X4)),esk40_5(X1,X2,X3,X5,X4))))) ),
    inference(split_conjunct,[status(thm)],[c_0_328]) ).

cnf(c_0_476,plain,
    ti(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))))),redp) = redp,
    inference(split_conjunct,[status(thm)],[c_0_329]) ).

cnf(c_0_477,plain,
    ( hBOOL(hAPP(product_prod(X1,X2),bool,hAPP(fun(X1,fun(X2,bool)),fun(product_prod(X1,X2),bool),product_prod_case(X1,X2,bool),X4),X5))
    | ~ hBOOL(hAPP(product_prod(X1,X2),bool,hAPP(fun(X1,fun(X2,bool)),fun(product_prod(X1,X2),bool),product_prod_case(X1,X2,bool),hAPP(fun(X1,fun(X2,bool)),fun(X1,fun(X2,bool)),hAPP(fun(fun(X2,bool),fun(X2,bool)),fun(fun(X1,fun(X2,bool)),fun(X1,fun(X2,bool))),combb(fun(X2,bool),fun(X2,bool),X1),hAPP(fun(bool,bool),fun(fun(X2,bool),fun(X2,bool)),combb(bool,bool,X2),hAPP(bool,fun(bool,bool),fconj,X3))),X4)),X5)) ),
    inference(split_conjunct,[status(thm)],[c_0_330]) ).

cnf(c_0_478,plain,
    ( hBOOL(X3)
    | ~ hBOOL(hAPP(product_prod(X1,X2),bool,hAPP(fun(X1,fun(X2,bool)),fun(product_prod(X1,X2),bool),product_prod_case(X1,X2,bool),hAPP(fun(X1,fun(X2,bool)),fun(X1,fun(X2,bool)),hAPP(fun(fun(X2,bool),fun(X2,bool)),fun(fun(X1,fun(X2,bool)),fun(X1,fun(X2,bool))),combb(fun(X2,bool),fun(X2,bool),X1),hAPP(fun(bool,bool),fun(fun(X2,bool),fun(X2,bool)),combb(bool,bool,X2),hAPP(bool,fun(bool,bool),fconj,X3))),X4)),X5)) ),
    inference(split_conjunct,[status(thm)],[c_0_330]) ).

cnf(c_0_479,plain,
    ti(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),typeSa885026672_sconf) = typeSa885026672_sconf,
    inference(split_conjunct,[status(thm)],[c_0_331]) ).

cnf(c_0_480,plain,
    ( ti(fun(product_prod(X1,X2),bool),X3) = ti(fun(product_prod(X1,X2),bool),X4)
    | ~ hBOOL(hAPP(fun(product_prod(X1,X2),bool),bool,hAPP(product_prod(X1,X2),fun(fun(product_prod(X1,X2),bool),bool),member(product_prod(X1,X2)),hAPP(X2,product_prod(X1,X2),hAPP(X1,fun(X2,product_prod(X1,X2)),product_Pair(X1,X2),esk41_4(X1,X2,X4,X3)),esk42_4(X1,X2,X4,X3))),X4))
    | ~ hBOOL(hAPP(fun(product_prod(X1,X2),bool),bool,hAPP(product_prod(X1,X2),fun(fun(product_prod(X1,X2),bool),bool),member(product_prod(X1,X2)),hAPP(X2,product_prod(X1,X2),hAPP(X1,fun(X2,product_prod(X1,X2)),product_Pair(X1,X2),esk41_4(X1,X2,X4,X3)),esk42_4(X1,X2,X4,X3))),X3)) ),
    inference(split_conjunct,[status(thm)],[c_0_332]) ).

cnf(c_0_481,plain,
    hBOOL(hAPP(ty,bool,hAPP(ty,fun(ty,bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X1)))))))),fun(ty,fun(ty,bool)),widen(X1),X2),X3),X3)),
    inference(split_conjunct,[status(thm)],[c_0_333]) ).

cnf(c_0_482,plain,
    ti(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool))),wf_J_mdecl) = wf_J_mdecl,
    inference(split_conjunct,[status(thm)],[c_0_334]) ).

cnf(c_0_483,plain,
    ti(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool)))),lconf(product_prod(list(list(char)),exp(list(char))))) = lconf(product_prod(list(list(char)),exp(list(char)))),
    inference(split_conjunct,[status(thm)],[c_0_335]) ).

cnf(c_0_484,plain,
    ti(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))))),wTrt) = wTrt,
    inference(split_conjunct,[status(thm)],[c_0_336]) ).

cnf(c_0_485,plain,
    ti(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool)),hconf(product_prod(list(list(char)),exp(list(char))))) = hconf(product_prod(list(list(char)),exp(list(char)))),
    inference(split_conjunct,[status(thm)],[c_0_337]) ).

cnf(c_0_486,plain,
    ( hBOOL(hAPP(product_prod(X1,X2),bool,hAPP(fun(X1,fun(X2,bool)),fun(product_prod(X1,X2),bool),product_prod_case(X1,X2,bool),hAPP(fun(X1,fun(X2,bool)),fun(X1,fun(X2,bool)),hAPP(fun(fun(X2,bool),fun(X2,bool)),fun(fun(X1,fun(X2,bool)),fun(X1,fun(X2,bool))),combb(fun(X2,bool),fun(X2,bool),X1),hAPP(fun(bool,bool),fun(fun(X2,bool),fun(X2,bool)),combb(bool,bool,X2),hAPP(bool,fun(bool,bool),fconj,X3))),X4)),X5))
    | ~ hBOOL(hAPP(product_prod(X1,X2),bool,hAPP(fun(X1,fun(X2,bool)),fun(product_prod(X1,X2),bool),product_prod_case(X1,X2,bool),X4),X5))
    | ~ hBOOL(X3) ),
    inference(split_conjunct,[status(thm)],[c_0_330]) ).

cnf(c_0_487,plain,
    ti(product_prod(X1,product_prod(X2,product_prod(X3,X4))),X5) = hAPP(product_prod(X2,product_prod(X3,X4)),product_prod(X1,product_prod(X2,product_prod(X3,X4))),hAPP(X1,fun(product_prod(X2,product_prod(X3,X4)),product_prod(X1,product_prod(X2,product_prod(X3,X4)))),product_Pair(X1,product_prod(X2,product_prod(X3,X4))),esk28_5(X1,X2,X3,X4,X5)),hAPP(product_prod(X3,X4),product_prod(X2,product_prod(X3,X4)),hAPP(X2,fun(product_prod(X3,X4),product_prod(X2,product_prod(X3,X4))),product_Pair(X2,product_prod(X3,X4)),esk29_5(X1,X2,X3,X4,X5)),hAPP(X4,product_prod(X3,X4),hAPP(X3,fun(X4,product_prod(X3,X4)),product_Pair(X3,X4),esk30_5(X1,X2,X3,X4,X5)),esk31_5(X1,X2,X3,X4,X5)))),
    inference(split_conjunct,[status(thm)],[c_0_338]) ).

cnf(c_0_488,plain,
    ( hAPP(X1,fun(X2,X1),hAPP(X2,fun(X1,fun(X2,X1)),hAPP(fun(X2,X1),fun(X2,fun(X1,fun(X2,X1))),fun_upd(X2,X1),hAPP(X1,fun(X2,X1),hAPP(X2,fun(X1,fun(X2,X1)),hAPP(fun(X2,X1),fun(X2,fun(X1,fun(X2,X1))),fun_upd(X2,X1),X3),X4),X5)),X6),X7) = hAPP(X1,fun(X2,X1),hAPP(X2,fun(X1,fun(X2,X1)),hAPP(fun(X2,X1),fun(X2,fun(X1,fun(X2,X1))),fun_upd(X2,X1),hAPP(X1,fun(X2,X1),hAPP(X2,fun(X1,fun(X2,X1)),hAPP(fun(X2,X1),fun(X2,fun(X1,fun(X2,X1))),fun_upd(X2,X1),X3),X6),X7)),X4),X5)
    | ti(X2,X4) = ti(X2,X6) ),
    inference(split_conjunct,[status(thm)],[c_0_339]) ).

cnf(c_0_489,plain,
    ( ti(product_prod(X3,X4),X6) = hAPP(X4,product_prod(X3,X4),hAPP(X3,fun(X4,product_prod(X3,X4)),product_Pair(X3,X4),esk56_6(X1,X3,X4,X2,X5,X6)),esk57_6(X1,X3,X4,X2,X5,X6))
    | ~ hBOOL(hAPP(fun(X1,bool),bool,hAPP(X1,fun(fun(X1,bool),bool),member(X1),X2),hAPP(product_prod(X3,X4),fun(X1,bool),hAPP(fun(X3,fun(X4,fun(X1,bool))),fun(product_prod(X3,X4),fun(X1,bool)),product_prod_case(X3,X4,fun(X1,bool)),X5),X6))) ),
    inference(split_conjunct,[status(thm)],[c_0_325]) ).

cnf(c_0_490,plain,
    ( ti(product_prod(X2,X3),X5) = hAPP(X3,product_prod(X2,X3),hAPP(X2,fun(X3,product_prod(X2,X3)),product_Pair(X2,X3),esk54_6(X1,X2,X3,X4,X5,X6)),esk55_6(X1,X2,X3,X4,X5,X6))
    | ~ hBOOL(hAPP(X1,bool,hAPP(product_prod(X2,X3),fun(X1,bool),hAPP(fun(X2,fun(X3,fun(X1,bool))),fun(product_prod(X2,X3),fun(X1,bool)),product_prod_case(X2,X3,fun(X1,bool)),X4),X5),X6)) ),
    inference(split_conjunct,[status(thm)],[c_0_326]) ).

cnf(c_0_491,plain,
    hAPP(product_prod(X1,X2),X3,hAPP(fun(X1,fun(X2,X3)),fun(product_prod(X1,X2),X3),product_prod_case(X1,X2,X3),X4),hAPP(product_prod(X5,X6),product_prod(X1,X2),hAPP(fun(X5,fun(X6,product_prod(X1,X2))),fun(product_prod(X5,X6),product_prod(X1,X2)),product_prod_case(X5,X6,product_prod(X1,X2)),X7),X8)) = hAPP(product_prod(X5,X6),X3,hAPP(fun(X5,fun(X6,X3)),fun(product_prod(X5,X6),X3),product_prod_case(X5,X6,X3),hAPP(fun(X5,fun(X6,product_prod(X1,X2))),fun(X5,fun(X6,X3)),hAPP(fun(fun(X6,product_prod(X1,X2)),fun(X6,X3)),fun(fun(X5,fun(X6,product_prod(X1,X2))),fun(X5,fun(X6,X3))),combb(fun(X6,product_prod(X1,X2)),fun(X6,X3),X5),hAPP(fun(product_prod(X1,X2),X3),fun(fun(X6,product_prod(X1,X2)),fun(X6,X3)),combb(product_prod(X1,X2),X3,X6),hAPP(fun(X1,fun(X2,X3)),fun(product_prod(X1,X2),X3),product_prod_case(X1,X2,X3),X4))),X7)),X8),
    inference(split_conjunct,[status(thm)],[c_0_340]) ).

cnf(c_0_492,plain,
    ( ti(product_prod(X3,X4),X6) = hAPP(X4,product_prod(X3,X4),hAPP(X3,fun(X4,product_prod(X3,X4)),product_Pair(X3,X4),esk64_6(X1,X3,X4,X2,X5,X6)),esk65_6(X1,X3,X4,X2,X5,X6))
    | ~ hBOOL(hAPP(X1,bool,X2,hAPP(product_prod(X3,X4),X1,hAPP(fun(X3,fun(X4,X1)),fun(product_prod(X3,X4),X1),product_prod_case(X3,X4,X1),X5),X6))) ),
    inference(split_conjunct,[status(thm)],[c_0_327]) ).

cnf(c_0_493,plain,
    ( hBOOL(hAPP(fun(X1,bool),bool,hAPP(X1,fun(fun(X1,bool),bool),member(X1),X2),hAPP(product_prod(X3,X4),fun(X1,bool),hAPP(fun(X3,fun(X4,fun(X1,bool))),fun(product_prod(X3,X4),fun(X1,bool)),product_prod_case(X3,X4,fun(X1,bool)),X5),X6)))
    | ti(product_prod(X3,X4),X6) = hAPP(X4,product_prod(X3,X4),hAPP(X3,fun(X4,product_prod(X3,X4)),product_Pair(X3,X4),esk60_6(X1,X3,X4,X2,X5,X6)),esk61_6(X1,X3,X4,X2,X5,X6)) ),
    inference(split_conjunct,[status(thm)],[c_0_322]) ).

cnf(c_0_494,plain,
    ( ti(fun(product_prod(X1,X2),bool),X3) = ti(fun(product_prod(X1,X2),bool),X4)
    | hBOOL(hAPP(fun(product_prod(X1,X2),bool),bool,hAPP(product_prod(X1,X2),fun(fun(product_prod(X1,X2),bool),bool),member(product_prod(X1,X2)),hAPP(X2,product_prod(X1,X2),hAPP(X1,fun(X2,product_prod(X1,X2)),product_Pair(X1,X2),esk41_4(X1,X2,X4,X3)),esk42_4(X1,X2,X4,X3))),X4))
    | hBOOL(hAPP(fun(product_prod(X1,X2),bool),bool,hAPP(product_prod(X1,X2),fun(fun(product_prod(X1,X2),bool),bool),member(product_prod(X1,X2)),hAPP(X2,product_prod(X1,X2),hAPP(X1,fun(X2,product_prod(X1,X2)),product_Pair(X1,X2),esk41_4(X1,X2,X4,X3)),esk42_4(X1,X2,X4,X3))),X3)) ),
    inference(split_conjunct,[status(thm)],[c_0_332]) ).

cnf(c_0_495,plain,
    ( hBOOL(hAPP(X1,bool,hAPP(product_prod(X2,X3),fun(X1,bool),hAPP(fun(X2,fun(X3,fun(X1,bool))),fun(product_prod(X2,X3),fun(X1,bool)),product_prod_case(X2,X3,fun(X1,bool)),X4),X5),X6))
    | hAPP(X3,product_prod(X2,X3),hAPP(X2,fun(X3,product_prod(X2,X3)),product_Pair(X2,X3),esk58_6(X1,X3,X2,X4,X6,X5)),esk59_6(X1,X3,X2,X4,X6,X5)) = ti(product_prod(X2,X3),X5) ),
    inference(split_conjunct,[status(thm)],[c_0_323]) ).

cnf(c_0_496,plain,
    ( hAPP(fun(X1,fun(X2,X3)),fun(product_prod(X1,X2),X3),product_prod_case(X1,X2,X3),X4) = ti(fun(product_prod(X1,X2),X3),X5)
    | hAPP(X2,X3,hAPP(X1,fun(X2,X3),X4,esk62_5(X2,X3,X1,X4,X5)),esk63_5(X2,X3,X1,X4,X5)) != hAPP(product_prod(X1,X2),X3,X5,hAPP(X2,product_prod(X1,X2),hAPP(X1,fun(X2,product_prod(X1,X2)),product_Pair(X1,X2),esk62_5(X2,X3,X1,X4,X5)),esk63_5(X2,X3,X1,X4,X5))) ),
    inference(split_conjunct,[status(thm)],[c_0_341]) ).

cnf(c_0_497,plain,
    hAPP(X1,fun(X2,X1),hAPP(X2,fun(X1,fun(X2,X1)),hAPP(fun(X2,X1),fun(X2,fun(X1,fun(X2,X1))),fun_upd(X2,X1),hAPP(X1,fun(X2,X1),hAPP(X2,fun(X1,fun(X2,X1)),hAPP(fun(X2,X1),fun(X2,fun(X1,fun(X2,X1))),fun_upd(X2,X1),X3),X4),X5)),X4),X6) = hAPP(X1,fun(X2,X1),hAPP(X2,fun(X1,fun(X2,X1)),hAPP(fun(X2,X1),fun(X2,fun(X1,fun(X2,X1))),fun_upd(X2,X1),X3),X4),X6),
    inference(split_conjunct,[status(thm)],[c_0_342]) ).

cnf(c_0_498,plain,
    ( hBOOL(hAPP(X1,bool,hAPP(X2,fun(X1,bool),hAPP(X3,fun(X2,fun(X1,bool)),X4,X5),X6),X7))
    | ~ hBOOL(hAPP(X1,bool,hAPP(product_prod(X3,X2),fun(X1,bool),hAPP(fun(X3,fun(X2,fun(X1,bool))),fun(product_prod(X3,X2),fun(X1,bool)),product_prod_case(X3,X2,fun(X1,bool)),X4),hAPP(X2,product_prod(X3,X2),hAPP(X3,fun(X2,product_prod(X3,X2)),product_Pair(X3,X2),X5),X6)),X7)) ),
    inference(split_conjunct,[status(thm)],[c_0_343]) ).

cnf(c_0_499,plain,
    ( hBOOL(hAPP(fun(product_prod(X1,X2),bool),bool,hAPP(product_prod(X1,X2),fun(fun(product_prod(X1,X2),bool),bool),member(product_prod(X1,X2)),hAPP(X2,product_prod(X1,X2),hAPP(X1,fun(X2,product_prod(X1,X2)),product_Pair(X1,X2),X5),X6)),X4))
    | ti(fun(product_prod(X1,X2),bool),X3) != ti(fun(product_prod(X1,X2),bool),X4)
    | ~ hBOOL(hAPP(fun(product_prod(X1,X2),bool),bool,hAPP(product_prod(X1,X2),fun(fun(product_prod(X1,X2),bool),bool),member(product_prod(X1,X2)),hAPP(X2,product_prod(X1,X2),hAPP(X1,fun(X2,product_prod(X1,X2)),product_Pair(X1,X2),X5),X6)),X3)) ),
    inference(split_conjunct,[status(thm)],[c_0_332]) ).

cnf(c_0_500,plain,
    ( hBOOL(hAPP(fun(product_prod(X1,X2),bool),bool,hAPP(product_prod(X1,X2),fun(fun(product_prod(X1,X2),bool),bool),member(product_prod(X1,X2)),hAPP(X2,product_prod(X1,X2),hAPP(X1,fun(X2,product_prod(X1,X2)),product_Pair(X1,X2),X5),X6)),X3))
    | ti(fun(product_prod(X1,X2),bool),X3) != ti(fun(product_prod(X1,X2),bool),X4)
    | ~ hBOOL(hAPP(fun(product_prod(X1,X2),bool),bool,hAPP(product_prod(X1,X2),fun(fun(product_prod(X1,X2),bool),bool),member(product_prod(X1,X2)),hAPP(X2,product_prod(X1,X2),hAPP(X1,fun(X2,product_prod(X1,X2)),product_Pair(X1,X2),X5),X6)),X4)) ),
    inference(split_conjunct,[status(thm)],[c_0_332]) ).

cnf(c_0_501,plain,
    ( hBOOL(hAPP(fun(X1,bool),bool,hAPP(X1,fun(fun(X1,bool),bool),member(X1),X2),hAPP(product_prod(X3,X4),fun(X1,bool),hAPP(fun(X3,fun(X4,fun(X1,bool))),fun(product_prod(X3,X4),fun(X1,bool)),product_prod_case(X3,X4,fun(X1,bool)),X5),hAPP(X4,product_prod(X3,X4),hAPP(X3,fun(X4,product_prod(X3,X4)),product_Pair(X3,X4),X6),X7))))
    | ~ hBOOL(hAPP(fun(X1,bool),bool,hAPP(X1,fun(fun(X1,bool),bool),member(X1),X2),hAPP(X4,fun(X1,bool),hAPP(X3,fun(X4,fun(X1,bool)),X5,X6),X7))) ),
    inference(split_conjunct,[status(thm)],[c_0_344]) ).

cnf(c_0_502,plain,
    hAPP(X1,option(X2),hAPP(option(X2),fun(X1,option(X2)),hAPP(X1,fun(option(X2),fun(X1,option(X2))),hAPP(fun(X1,option(X2)),fun(X1,fun(option(X2),fun(X1,option(X2)))),fun_upd(X1,option(X2)),X3),X4),hAPP(X2,option(X2),some(X2),X5)),esk67_5(X1,X2,X3,X4,X5)) != none(X2),
    inference(split_conjunct,[status(thm)],[c_0_345]) ).

cnf(c_0_503,plain,
    ti(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X1)))))))),fun(ty,fun(ty,bool))),widen(X1)) = widen(X1),
    inference(split_conjunct,[status(thm)],[c_0_346]) ).

cnf(c_0_504,plain,
    ( ti(X1,X6) = ti(X1,X4)
    | hAPP(X1,option(X2),X3,X6) = hAPP(X2,option(X2),some(X2),X7)
    | hAPP(X1,option(X2),hAPP(option(X2),fun(X1,option(X2)),hAPP(X1,fun(option(X2),fun(X1,option(X2))),hAPP(fun(X1,option(X2)),fun(X1,fun(option(X2),fun(X1,option(X2)))),fun_upd(X1,option(X2)),X3),X4),hAPP(X2,option(X2),some(X2),X5)),X6) != hAPP(X2,option(X2),some(X2),X7) ),
    inference(split_conjunct,[status(thm)],[c_0_347]) ).

cnf(c_0_505,plain,
    ( ti(X2,X5) = ti(X2,X7)
    | hAPP(X1,option(X2),X3,X6) = hAPP(X2,option(X2),some(X2),X7)
    | hAPP(X1,option(X2),hAPP(option(X2),fun(X1,option(X2)),hAPP(X1,fun(option(X2),fun(X1,option(X2))),hAPP(fun(X1,option(X2)),fun(X1,fun(option(X2),fun(X1,option(X2)))),fun_upd(X1,option(X2)),X3),X4),hAPP(X2,option(X2),some(X2),X5)),X6) != hAPP(X2,option(X2),some(X2),X7) ),
    inference(split_conjunct,[status(thm)],[c_0_347]) ).

cnf(c_0_506,plain,
    ( ti(X1,X6) = ti(X1,X4)
    | hAPP(X1,option(X2),hAPP(option(X2),fun(X1,option(X2)),hAPP(X1,fun(option(X2),fun(X1,option(X2))),hAPP(fun(X1,option(X2)),fun(X1,fun(option(X2),fun(X1,option(X2)))),fun_upd(X1,option(X2)),X3),X4),hAPP(X2,option(X2),some(X2),X5)),X6) != hAPP(X2,option(X2),some(X2),X7)
    | ti(X1,X6) != ti(X1,X4) ),
    inference(split_conjunct,[status(thm)],[c_0_347]) ).

cnf(c_0_507,plain,
    ( ti(X2,X5) = ti(X2,X7)
    | hAPP(X1,option(X2),hAPP(option(X2),fun(X1,option(X2)),hAPP(X1,fun(option(X2),fun(X1,option(X2))),hAPP(fun(X1,option(X2)),fun(X1,fun(option(X2),fun(X1,option(X2)))),fun_upd(X1,option(X2)),X3),X4),hAPP(X2,option(X2),some(X2),X5)),X6) != hAPP(X2,option(X2),some(X2),X7)
    | ti(X1,X6) != ti(X1,X4) ),
    inference(split_conjunct,[status(thm)],[c_0_347]) ).

cnf(c_0_508,plain,
    hAPP(fun(X1,fun(X2,X3)),fun(product_prod(X1,X2),X3),product_prod_case(X1,X2,X3),hAPP(fun(X1,fun(X2,product_prod(X1,X2))),fun(X1,fun(X2,X3)),hAPP(fun(fun(X2,product_prod(X1,X2)),fun(X2,X3)),fun(fun(X1,fun(X2,product_prod(X1,X2))),fun(X1,fun(X2,X3))),combb(fun(X2,product_prod(X1,X2)),fun(X2,X3),X1),hAPP(fun(product_prod(X1,X2),X3),fun(fun(X2,product_prod(X1,X2)),fun(X2,X3)),combb(product_prod(X1,X2),X3,X2),X4)),product_Pair(X1,X2))) = ti(fun(product_prod(X1,X2),X3),X4),
    inference(split_conjunct,[status(thm)],[c_0_348]) ).

cnf(c_0_509,plain,
    hAPP(X1,option(X2),hAPP(option(X2),fun(X1,option(X2)),hAPP(X1,fun(option(X2),fun(X1,option(X2))),hAPP(fun(X1,option(X2)),fun(X1,fun(option(X2),fun(X1,option(X2)))),fun_upd(X1,option(X2)),hAPP(option(X2),fun(X1,option(X2)),combk(option(X2),X1),none(X2))),X3),none(X2)),X4) = none(X2),
    inference(split_conjunct,[status(thm)],[c_0_349]) ).

cnf(c_0_510,plain,
    ( ti(X1,X2) = ti(X1,X3)
    | hAPP(option(X1),fun(X4,option(X1)),hAPP(X4,fun(option(X1),fun(X4,option(X1))),hAPP(fun(X4,option(X1)),fun(X4,fun(option(X1),fun(X4,option(X1)))),fun_upd(X4,option(X1)),X5),X6),hAPP(X1,option(X1),some(X1),X2)) != hAPP(option(X1),fun(X4,option(X1)),hAPP(X4,fun(option(X1),fun(X4,option(X1))),hAPP(fun(X4,option(X1)),fun(X4,fun(option(X1),fun(X4,option(X1)))),fun_upd(X4,option(X1)),X7),X6),hAPP(X1,option(X1),some(X1),X3)) ),
    inference(split_conjunct,[status(thm)],[c_0_350]) ).

cnf(c_0_511,plain,
    ( hBOOL(hAPP(X1,bool,hAPP(X2,fun(X1,bool),X3,X4),X5))
    | ~ hBOOL(hAPP(product_prod(X2,X1),bool,hAPP(fun(X2,fun(X1,bool)),fun(product_prod(X2,X1),bool),product_prod_case(X2,X1,bool),X3),hAPP(X1,product_prod(X2,X1),hAPP(X2,fun(X1,product_prod(X2,X1)),product_Pair(X2,X1),X4),X5))) ),
    inference(split_conjunct,[status(thm)],[c_0_351]) ).

cnf(c_0_512,plain,
    ( hBOOL(hAPP(product_prod(X1,X2),bool,hAPP(fun(X1,fun(X2,bool)),fun(product_prod(X1,X2),bool),product_prod_case(X1,X2,bool),X3),X4))
    | ~ hBOOL(hAPP(X2,bool,hAPP(X1,fun(X2,bool),X3,esk50_4(X1,X2,X3,X4)),esk51_4(X1,X2,X3,X4))) ),
    inference(split_conjunct,[status(thm)],[c_0_352]) ).

cnf(c_0_513,plain,
    ( hBOOL(hAPP(product_prod(X1,X2),bool,X3,X4))
    | ~ hBOOL(hAPP(product_prod(X1,X2),bool,X3,hAPP(X2,product_prod(X1,X2),hAPP(X1,fun(X2,product_prod(X1,X2)),product_Pair(X1,X2),esk33_3(X1,X2,X3)),esk34_3(X1,X2,X3)))) ),
    inference(split_conjunct,[status(thm)],[c_0_353]) ).

cnf(c_0_514,plain,
    ( hAPP(X1,option(X2),hAPP(option(X2),fun(X1,option(X2)),hAPP(X1,fun(option(X2),fun(X1,option(X2))),hAPP(fun(X1,option(X2)),fun(X1,fun(option(X2),fun(X1,option(X2)))),fun_upd(X1,option(X2)),X3),X4),hAPP(X2,option(X2),some(X2),X5)),X6) = hAPP(X2,option(X2),some(X2),X7)
    | ti(X1,X6) = ti(X1,X4)
    | hAPP(X1,option(X2),X3,X6) != hAPP(X2,option(X2),some(X2),X7) ),
    inference(split_conjunct,[status(thm)],[c_0_347]) ).

cnf(c_0_515,plain,
    ( hBOOL(hAPP(product_prod(X1,X2),bool,hAPP(fun(X1,fun(X2,bool)),fun(product_prod(X1,X2),bool),product_prod_case(X1,X2,bool),X3),hAPP(X2,product_prod(X1,X2),hAPP(X1,fun(X2,product_prod(X1,X2)),product_Pair(X1,X2),X4),X5)))
    | ~ hBOOL(hAPP(X2,bool,hAPP(X1,fun(X2,bool),X3,X4),X5)) ),
    inference(split_conjunct,[status(thm)],[c_0_354]) ).

cnf(c_0_516,plain,
    ( hBOOL(hAPP(product_prod(X1,X2),bool,hAPP(fun(X1,fun(X2,bool)),fun(product_prod(X1,X2),bool),product_prod_case(X1,X2,bool),X3),hAPP(X2,product_prod(X1,X2),hAPP(X1,fun(X2,product_prod(X1,X2)),product_Pair(X1,X2),X4),X5)))
    | ~ hBOOL(hAPP(X2,bool,hAPP(X1,fun(X2,bool),X3,X4),X5)) ),
    inference(split_conjunct,[status(thm)],[c_0_355]) ).

cnf(c_0_517,plain,
    ( hBOOL(hAPP(X2,bool,hAPP(X1,fun(X2,bool),X3,esk52_4(X1,X2,X3,X4)),esk53_4(X1,X2,X3,X4)))
    | ~ hBOOL(hAPP(product_prod(X1,X2),bool,hAPP(fun(X1,fun(X2,bool)),fun(product_prod(X1,X2),bool),product_prod_case(X1,X2,bool),X3),X4)) ),
    inference(split_conjunct,[status(thm)],[c_0_356]) ).

cnf(c_0_518,plain,
    ( hAPP(X1,option(X2),hAPP(option(X2),fun(X1,option(X2)),hAPP(X1,fun(option(X2),fun(X1,option(X2))),hAPP(fun(X1,option(X2)),fun(X1,fun(option(X2),fun(X1,option(X2)))),fun_upd(X1,option(X2)),X3),X4),hAPP(X2,option(X2),some(X2),X5)),X6) = hAPP(X2,option(X2),some(X2),X7)
    | ti(X2,X5) != ti(X2,X7)
    | ti(X1,X6) != ti(X1,X4) ),
    inference(split_conjunct,[status(thm)],[c_0_347]) ).

cnf(c_0_519,plain,
    ( hBOOL(hAPP(product_prod(X1,X2),bool,X3,esk47_3(X1,X2,X3)))
    | ~ hBOOL(hAPP(product_prod(X1,X2),bool,X3,hAPP(X2,product_prod(X1,X2),hAPP(X1,fun(X2,product_prod(X1,X2)),product_Pair(X1,X2),X4),X5))) ),
    inference(split_conjunct,[status(thm)],[c_0_357]) ).

cnf(c_0_520,plain,
    ti(product_prod(X1,product_prod(X2,X3)),X4) = hAPP(product_prod(X2,X3),product_prod(X1,product_prod(X2,X3)),hAPP(X1,fun(product_prod(X2,X3),product_prod(X1,product_prod(X2,X3))),product_Pair(X1,product_prod(X2,X3)),esk35_4(X1,X2,X3,X4)),hAPP(X3,product_prod(X2,X3),hAPP(X2,fun(X3,product_prod(X2,X3)),product_Pair(X2,X3),esk36_4(X1,X2,X3,X4)),esk37_4(X1,X2,X3,X4))),
    inference(split_conjunct,[status(thm)],[c_0_358]) ).

cnf(c_0_521,plain,
    ( ti(X1,X2) = ti(X1,X5)
    | hAPP(exp(X1),exp(X1),hAPP(ty,fun(exp(X1),exp(X1)),hAPP(X1,fun(ty,fun(exp(X1),exp(X1))),block(X1),X2),X3),X4) != hAPP(exp(X1),exp(X1),hAPP(ty,fun(exp(X1),exp(X1)),hAPP(X1,fun(ty,fun(exp(X1),exp(X1))),block(X1),X5),X6),X7) ),
    inference(split_conjunct,[status(thm)],[c_0_359]) ).

cnf(c_0_522,plain,
    ( X3 = X6
    | hAPP(exp(X1),exp(X1),hAPP(ty,fun(exp(X1),exp(X1)),hAPP(X1,fun(ty,fun(exp(X1),exp(X1))),block(X1),X2),X3),X4) != hAPP(exp(X1),exp(X1),hAPP(ty,fun(exp(X1),exp(X1)),hAPP(X1,fun(ty,fun(exp(X1),exp(X1))),block(X1),X5),X6),X7) ),
    inference(split_conjunct,[status(thm)],[c_0_359]) ).

cnf(c_0_523,plain,
    ( X4 = X7
    | hAPP(exp(X1),exp(X1),hAPP(ty,fun(exp(X1),exp(X1)),hAPP(X1,fun(ty,fun(exp(X1),exp(X1))),block(X1),X2),X3),X4) != hAPP(exp(X1),exp(X1),hAPP(ty,fun(exp(X1),exp(X1)),hAPP(X1,fun(ty,fun(exp(X1),exp(X1))),block(X1),X5),X6),X7) ),
    inference(split_conjunct,[status(thm)],[c_0_359]) ).

cnf(c_0_524,plain,
    ( hBOOL(hAPP(product_prod(X1,X2),bool,X3,hAPP(X2,product_prod(X1,X2),hAPP(X1,fun(X2,product_prod(X1,X2)),product_Pair(X1,X2),esk45_3(X1,X2,X3)),esk46_3(X1,X2,X3))))
    | ~ hBOOL(hAPP(product_prod(X1,X2),bool,X3,X4)) ),
    inference(split_conjunct,[status(thm)],[c_0_357]) ).

cnf(c_0_525,plain,
    ( ti(product_prod(X1,X2),X4) = hAPP(X2,product_prod(X1,X2),hAPP(X1,fun(X2,product_prod(X1,X2)),product_Pair(X1,X2),esk52_4(X1,X2,X3,X4)),esk53_4(X1,X2,X3,X4))
    | ~ hBOOL(hAPP(product_prod(X1,X2),bool,hAPP(fun(X1,fun(X2,bool)),fun(product_prod(X1,X2),bool),product_prod_case(X1,X2,bool),X3),X4)) ),
    inference(split_conjunct,[status(thm)],[c_0_356]) ).

cnf(c_0_526,plain,
    ti(fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),hp) = hp,
    inference(split_conjunct,[status(thm)],[c_0_360]) ).

cnf(c_0_527,plain,
    ( hAPP(X1,X2,hAPP(X2,fun(X1,X2),hAPP(X1,fun(X2,fun(X1,X2)),hAPP(fun(X1,X2),fun(X1,fun(X2,fun(X1,X2))),fun_upd(X1,X2),X3),X4),X5),X6) = hAPP(X1,X2,X3,X6)
    | ti(X1,X6) = ti(X1,X4) ),
    inference(split_conjunct,[status(thm)],[c_0_361]) ).

cnf(c_0_528,plain,
    ( hAPP(X1,X2,hAPP(X2,fun(X1,X2),hAPP(X1,fun(X2,fun(X1,X2)),hAPP(fun(X1,X2),fun(X1,fun(X2,fun(X1,X2))),fun_upd(X1,X2),X3),X4),X5),X6) = hAPP(X1,X2,X3,X6)
    | ti(X1,X6) = ti(X1,X4) ),
    inference(split_conjunct,[status(thm)],[c_0_362]) ).

cnf(c_0_529,plain,
    ( hAPP(X1,X2,hAPP(X2,fun(X1,X2),hAPP(X1,fun(X2,fun(X1,X2)),hAPP(fun(X1,X2),fun(X1,fun(X2,fun(X1,X2))),fun_upd(X1,X2),X3),X4),X5),X6) = hAPP(X1,X2,X3,X6)
    | ti(X1,X6) = ti(X1,X4) ),
    inference(split_conjunct,[status(thm)],[c_0_363]) ).

cnf(c_0_530,plain,
    ( hAPP(X1,X2,hAPP(X2,fun(X1,X2),hAPP(X1,fun(X2,fun(X1,X2)),hAPP(fun(X1,X2),fun(X1,fun(X2,fun(X1,X2))),fun_upd(X1,X2),X3),X4),X5),X6) = ti(X2,X5)
    | ti(X1,X6) != ti(X1,X4) ),
    inference(split_conjunct,[status(thm)],[c_0_361]) ).

cnf(c_0_531,plain,
    ( hAPP(X1,X2,hAPP(X2,fun(X1,X2),hAPP(X1,fun(X2,fun(X1,X2)),hAPP(fun(X1,X2),fun(X1,fun(X2,fun(X1,X2))),fun_upd(X1,X2),X3),X4),X5),X6) = ti(X2,X5)
    | ti(X1,X6) != ti(X1,X4) ),
    inference(split_conjunct,[status(thm)],[c_0_363]) ).

cnf(c_0_532,plain,
    hAPP(X1,X2,hAPP(X2,fun(X1,X2),hAPP(X1,fun(X2,fun(X1,X2)),hAPP(fun(X1,X2),fun(X1,fun(X2,fun(X1,X2))),fun_upd(X1,X2),X3),X4),X5),X4) = ti(X2,X5),
    inference(split_conjunct,[status(thm)],[c_0_364]) ).

cnf(c_0_533,plain,
    ( hBOOL(hAPP(product_prod(X1,X2),bool,X3,hAPP(X2,product_prod(X1,X2),hAPP(X1,fun(X2,product_prod(X1,X2)),product_Pair(X1,X2),X4),X5)))
    | ~ hBOOL(hAPP(product_prod(X1,X2),bool,X3,esk32_3(X1,X2,X3))) ),
    inference(split_conjunct,[status(thm)],[c_0_353]) ).

cnf(c_0_534,plain,
    hAPP(exp(X1),exp(X1),hAPP(exp(X1),fun(exp(X1),exp(X1)),seq(X1),X2),X3) != hAPP(exp(X1),exp(X1),hAPP(ty,fun(exp(X1),exp(X1)),hAPP(X1,fun(ty,fun(exp(X1),exp(X1))),block(X1),X4),X5),X6),
    inference(split_conjunct,[status(thm)],[c_0_365]) ).

cnf(c_0_535,plain,
    hAPP(exp(X1),exp(X1),hAPP(ty,fun(exp(X1),exp(X1)),hAPP(X1,fun(ty,fun(exp(X1),exp(X1))),block(X1),X2),X3),X4) != hAPP(exp(X1),exp(X1),hAPP(exp(X1),fun(exp(X1),exp(X1)),seq(X1),X5),X6),
    inference(split_conjunct,[status(thm)],[c_0_366]) ).

cnf(c_0_536,plain,
    hAPP(exp(X1),exp(X1),hAPP(X1,fun(exp(X1),exp(X1)),lAss(X1),X2),X3) != hAPP(exp(X1),exp(X1),hAPP(ty,fun(exp(X1),exp(X1)),hAPP(X1,fun(ty,fun(exp(X1),exp(X1))),block(X1),X4),X5),X6),
    inference(split_conjunct,[status(thm)],[c_0_367]) ).

cnf(c_0_537,plain,
    hAPP(exp(X1),exp(X1),hAPP(ty,fun(exp(X1),exp(X1)),hAPP(X1,fun(ty,fun(exp(X1),exp(X1))),block(X1),X2),X3),X4) != hAPP(exp(X1),exp(X1),hAPP(X1,fun(exp(X1),exp(X1)),lAss(X1),X5),X6),
    inference(split_conjunct,[status(thm)],[c_0_368]) ).

cnf(c_0_538,plain,
    ( hBOOL(hAPP(product_prod(X1,X2),bool,hAPP(fun(X1,fun(X2,bool)),fun(product_prod(X1,X2),bool),product_prod_case(X1,X2,bool),X3),X4))
    | ti(product_prod(X1,X2),X4) = hAPP(X2,product_prod(X1,X2),hAPP(X1,fun(X2,product_prod(X1,X2)),product_Pair(X1,X2),esk50_4(X1,X2,X3,X4)),esk51_4(X1,X2,X3,X4)) ),
    inference(split_conjunct,[status(thm)],[c_0_352]) ).

cnf(c_0_539,plain,
    ( hAPP(X1,X2,X3,X4) = ti(X2,X5)
    | hAPP(X2,fun(X1,X2),hAPP(X1,fun(X2,fun(X1,X2)),hAPP(fun(X1,X2),fun(X1,fun(X2,fun(X1,X2))),fun_upd(X1,X2),X3),X4),X5) != ti(fun(X1,X2),X3) ),
    inference(split_conjunct,[status(thm)],[c_0_369]) ).

cnf(c_0_540,plain,
    ( hAPP(exp(X1),exp(X1),hAPP(ty,fun(exp(X1),exp(X1)),hAPP(X1,fun(ty,fun(exp(X1),exp(X1))),block(X1),X2),X3),X4) = hAPP(exp(X1),exp(X1),hAPP(ty,fun(exp(X1),exp(X1)),hAPP(X1,fun(ty,fun(exp(X1),exp(X1))),block(X1),X5),X6),X7)
    | X4 != X7
    | X3 != X6
    | ti(X1,X2) != ti(X1,X5) ),
    inference(split_conjunct,[status(thm)],[c_0_359]) ).

cnf(c_0_541,plain,
    ( hAPP(option(X1),fun(X2,option(X1)),hAPP(X2,fun(option(X1),fun(X2,option(X1))),hAPP(fun(X2,option(X1)),fun(X2,fun(option(X1),fun(X2,option(X1)))),fun_upd(X2,option(X1)),X3),X4),hAPP(X1,option(X1),some(X1),X5)) = ti(fun(X2,option(X1)),X3)
    | hAPP(X2,option(X1),X3,X4) != hAPP(X1,option(X1),some(X1),X5) ),
    inference(split_conjunct,[status(thm)],[c_0_370]) ).

cnf(c_0_542,plain,
    hAPP(X1,X2,hAPP(fun(X1,X3),fun(X1,X2),hAPP(fun(X1,fun(X3,X2)),fun(fun(X1,X3),fun(X1,X2)),combs(X1,X3,X2),X4),X5),X6) = hAPP(X3,X2,hAPP(X1,fun(X3,X2),X4,X6),hAPP(X1,X3,X5,X6)),
    inference(split_conjunct,[status(thm)],[c_0_371]) ).

cnf(c_0_543,plain,
    hAPP(exp(X1),exp(X1),hAPP(ty,fun(exp(X1),exp(X1)),hAPP(X1,fun(ty,fun(exp(X1),exp(X1))),block(X1),X2),X3),X4) != hAPP(val,exp(X1),val_1(X1),X5),
    inference(split_conjunct,[status(thm)],[c_0_372]) ).

cnf(c_0_544,plain,
    hAPP(val,exp(X1),val_1(X1),X2) != hAPP(exp(X1),exp(X1),hAPP(ty,fun(exp(X1),exp(X1)),hAPP(X1,fun(ty,fun(exp(X1),exp(X1))),block(X1),X3),X4),X5),
    inference(split_conjunct,[status(thm)],[c_0_373]) ).

cnf(c_0_545,plain,
    hAPP(product_prod(X1,X2),X3,hAPP(fun(X1,fun(X2,X3)),fun(product_prod(X1,X2),X3),product_prod_case(X1,X2,X3),X4),hAPP(X2,product_prod(X1,X2),hAPP(X1,fun(X2,product_prod(X1,X2)),product_Pair(X1,X2),X5),X6)) = hAPP(X2,X3,hAPP(X1,fun(X2,X3),X4,X5),X6),
    inference(split_conjunct,[status(thm)],[c_0_374]) ).

cnf(c_0_546,plain,
    hAPP(product_prod(X1,X2),X3,hAPP(fun(X1,fun(X2,X3)),fun(product_prod(X1,X2),X3),product_prod_case(X1,X2,X3),X4),hAPP(X2,product_prod(X1,X2),hAPP(X1,fun(X2,product_prod(X1,X2)),product_Pair(X1,X2),X5),X6)) = hAPP(X2,X3,hAPP(X1,fun(X2,X3),X4,X5),X6),
    inference(split_conjunct,[status(thm)],[c_0_375]) ).

cnf(c_0_547,plain,
    hAPP(product_prod(X1,X2),X3,hAPP(fun(X1,fun(X2,X3)),fun(product_prod(X1,X2),X3),produc1605651328_split(X1,X2,X3),X4),hAPP(X2,product_prod(X1,X2),hAPP(X1,fun(X2,product_prod(X1,X2)),product_Pair(X1,X2),X5),X6)) = hAPP(X2,X3,hAPP(X1,fun(X2,X3),X4,X5),X6),
    inference(split_conjunct,[status(thm)],[c_0_376]) ).

cnf(c_0_548,plain,
    hAPP(product_prod(X1,X2),X3,hAPP(fun(X1,fun(X2,X3)),fun(product_prod(X1,X2),X3),product_prod_rec(X1,X2,X3),X4),hAPP(X2,product_prod(X1,X2),hAPP(X1,fun(X2,product_prod(X1,X2)),product_Pair(X1,X2),X5),X6)) = hAPP(X2,X3,hAPP(X1,fun(X2,X3),X4,X5),X6),
    inference(split_conjunct,[status(thm)],[c_0_377]) ).

cnf(c_0_549,plain,
    hAPP(X1,X2,hAPP(X3,fun(X1,X2),hAPP(fun(X1,fun(X3,X2)),fun(X3,fun(X1,X2)),combc(X1,X3,X2),X4),X5),X6) = hAPP(X3,X2,hAPP(X1,fun(X3,X2),X4,X6),X5),
    inference(split_conjunct,[status(thm)],[c_0_378]) ).

cnf(c_0_550,plain,
    hAPP(X1,X2,hAPP(fun(X1,X3),fun(X1,X2),hAPP(fun(X3,X2),fun(fun(X1,X3),fun(X1,X2)),combb(X3,X2,X1),X4),X5),X6) = hAPP(X3,X2,X4,hAPP(X1,X3,X5,X6)),
    inference(split_conjunct,[status(thm)],[c_0_379]) ).

cnf(c_0_551,plain,
    hAPP(X1,fun(X2,X1),hAPP(X2,fun(X1,fun(X2,X1)),hAPP(fun(X2,X1),fun(X2,fun(X1,fun(X2,X1))),fun_upd(X2,X1),X3),X4),hAPP(X2,X1,X3,X4)) = ti(fun(X2,X1),X3),
    inference(split_conjunct,[status(thm)],[c_0_380]) ).

cnf(c_0_552,plain,
    ( hBOOL(hAPP(X1,bool,X2,X3))
    | ~ hBOOL(hAPP(fun(X1,bool),bool,hAPP(X1,fun(fun(X1,bool),bool),member(X1),X3),X2)) ),
    inference(split_conjunct,[status(thm)],[c_0_381]) ).

cnf(c_0_553,plain,
    ( hAPP(X1,fun(X2,X1),hAPP(X2,fun(X1,fun(X2,X1)),hAPP(fun(X2,X1),fun(X2,fun(X1,fun(X2,X1))),fun_upd(X2,X1),X3),X4),X5) = ti(fun(X2,X1),X3)
    | hAPP(X2,X1,X3,X4) != ti(X1,X5) ),
    inference(split_conjunct,[status(thm)],[c_0_369]) ).

cnf(c_0_554,plain,
    ( hAPP(X1,fun(X2,X1),hAPP(X2,fun(X1,fun(X2,X1)),hAPP(fun(X2,X1),fun(X2,fun(X1,fun(X2,X1))),fun_upd(X2,X1),X3),X4),X5) = ti(fun(X2,X1),X3)
    | hAPP(X2,X1,X3,X4) != ti(X1,X5) ),
    inference(split_conjunct,[status(thm)],[c_0_382]) ).

cnf(c_0_555,plain,
    ( ti(X2,X3) = ti(X2,X5)
    | hAPP(X1,product_prod(X2,X1),hAPP(X2,fun(X1,product_prod(X2,X1)),product_Pair(X2,X1),X3),X4) != hAPP(X1,product_prod(X2,X1),hAPP(X2,fun(X1,product_prod(X2,X1)),product_Pair(X2,X1),X5),X6) ),
    inference(split_conjunct,[status(thm)],[c_0_383]) ).

cnf(c_0_556,plain,
    ( ti(X1,X4) = ti(X1,X6)
    | hAPP(X1,product_prod(X2,X1),hAPP(X2,fun(X1,product_prod(X2,X1)),product_Pair(X2,X1),X3),X4) != hAPP(X1,product_prod(X2,X1),hAPP(X2,fun(X1,product_prod(X2,X1)),product_Pair(X2,X1),X5),X6) ),
    inference(split_conjunct,[status(thm)],[c_0_383]) ).

cnf(c_0_557,plain,
    ( ti(X2,X3) = ti(X2,X5)
    | hAPP(X1,product_prod(X2,X1),hAPP(X2,fun(X1,product_prod(X2,X1)),product_Pair(X2,X1),X3),X4) != hAPP(X1,product_prod(X2,X1),hAPP(X2,fun(X1,product_prod(X2,X1)),product_Pair(X2,X1),X5),X6) ),
    inference(split_conjunct,[status(thm)],[c_0_384]) ).

cnf(c_0_558,plain,
    ( ti(X1,X4) = ti(X1,X6)
    | hAPP(X1,product_prod(X2,X1),hAPP(X2,fun(X1,product_prod(X2,X1)),product_Pair(X2,X1),X3),X4) != hAPP(X1,product_prod(X2,X1),hAPP(X2,fun(X1,product_prod(X2,X1)),product_Pair(X2,X1),X5),X6) ),
    inference(split_conjunct,[status(thm)],[c_0_384]) ).

cnf(c_0_559,plain,
    ( X2 = X4
    | hAPP(exp(X1),exp(X1),hAPP(exp(X1),fun(exp(X1),exp(X1)),seq(X1),X2),X3) != hAPP(exp(X1),exp(X1),hAPP(exp(X1),fun(exp(X1),exp(X1)),seq(X1),X4),X5) ),
    inference(split_conjunct,[status(thm)],[c_0_385]) ).

cnf(c_0_560,plain,
    ( X3 = X5
    | hAPP(exp(X1),exp(X1),hAPP(exp(X1),fun(exp(X1),exp(X1)),seq(X1),X2),X3) != hAPP(exp(X1),exp(X1),hAPP(exp(X1),fun(exp(X1),exp(X1)),seq(X1),X4),X5) ),
    inference(split_conjunct,[status(thm)],[c_0_385]) ).

cnf(c_0_561,plain,
    ( ti(X1,X2) = ti(X1,X4)
    | hAPP(exp(X1),exp(X1),hAPP(X1,fun(exp(X1),exp(X1)),lAss(X1),X2),X3) != hAPP(exp(X1),exp(X1),hAPP(X1,fun(exp(X1),exp(X1)),lAss(X1),X4),X5) ),
    inference(split_conjunct,[status(thm)],[c_0_386]) ).

cnf(c_0_562,plain,
    hAPP(exp(X1),exp(X1),hAPP(X1,fun(exp(X1),exp(X1)),lAss(X1),X2),X3) != hAPP(exp(X1),exp(X1),hAPP(exp(X1),fun(exp(X1),exp(X1)),seq(X1),X4),X5),
    inference(split_conjunct,[status(thm)],[c_0_387]) ).

cnf(c_0_563,plain,
    hAPP(exp(X1),exp(X1),hAPP(exp(X1),fun(exp(X1),exp(X1)),seq(X1),X2),X3) != hAPP(exp(X1),exp(X1),hAPP(X1,fun(exp(X1),exp(X1)),lAss(X1),X4),X5),
    inference(split_conjunct,[status(thm)],[c_0_388]) ).

cnf(c_0_564,plain,
    ( X3 = X5
    | hAPP(exp(X1),exp(X1),hAPP(X1,fun(exp(X1),exp(X1)),lAss(X1),X2),X3) != hAPP(exp(X1),exp(X1),hAPP(X1,fun(exp(X1),exp(X1)),lAss(X1),X4),X5) ),
    inference(split_conjunct,[status(thm)],[c_0_386]) ).

cnf(c_0_565,plain,
    ( hAPP(product_prod(X1,X2),X3,hAPP(fun(X1,fun(X2,X3)),fun(product_prod(X1,X2),X3),product_prod_case(X1,X2,X3),X4),X5) = hAPP(product_prod(X1,X2),X3,hAPP(fun(X1,fun(X2,X3)),fun(product_prod(X1,X2),X3),product_prod_case(X1,X2,X3),X4),X6)
    | ti(product_prod(X1,X2),X5) != ti(product_prod(X1,X2),X6) ),
    inference(split_conjunct,[status(thm)],[c_0_389]) ).

cnf(c_0_566,plain,
    ( hBOOL(hAPP(fun(X1,bool),bool,hAPP(X1,fun(fun(X1,bool),bool),member(X1),X2),X3))
    | ~ hBOOL(hAPP(X1,bool,X3,X2)) ),
    inference(split_conjunct,[status(thm)],[c_0_381]) ).

cnf(c_0_567,plain,
    ( hBOOL(X1)
    | ~ hBOOL(hAPP(bool,bool,hAPP(bool,fun(bool,bool),fconj,X2),X1)) ),
    inference(split_conjunct,[status(thm)],[c_0_390]) ).

cnf(c_0_568,plain,
    ( hBOOL(X1)
    | ~ hBOOL(hAPP(bool,bool,hAPP(bool,fun(bool,bool),fconj,X1),X2)) ),
    inference(split_conjunct,[status(thm)],[c_0_391]) ).

cnf(c_0_569,plain,
    ( ti(fun(X1,X2),X3) = ti(fun(X1,X2),X4)
    | hAPP(X1,X2,X3,esk66_4(X1,X2,X3,X4)) != hAPP(X1,X2,X4,esk66_4(X1,X2,X3,X4)) ),
    inference(split_conjunct,[status(thm)],[c_0_392]) ).

cnf(c_0_570,plain,
    ( hAPP(X1,product_prod(X2,X1),hAPP(X2,fun(X1,product_prod(X2,X1)),product_Pair(X2,X1),X3),X4) = hAPP(X1,product_prod(X2,X1),hAPP(X2,fun(X1,product_prod(X2,X1)),product_Pair(X2,X1),X5),X6)
    | ti(X1,X4) != ti(X1,X6)
    | ti(X2,X3) != ti(X2,X5) ),
    inference(split_conjunct,[status(thm)],[c_0_383]) ).

cnf(c_0_571,plain,
    hAPP(exp(X1),exp(X1),hAPP(exp(X1),fun(exp(X1),exp(X1)),seq(X1),X2),X3) != hAPP(val,exp(X1),val_1(X1),X4),
    inference(split_conjunct,[status(thm)],[c_0_393]) ).

cnf(c_0_572,plain,
    hAPP(val,exp(X1),val_1(X1),X2) != hAPP(exp(X1),exp(X1),hAPP(exp(X1),fun(exp(X1),exp(X1)),seq(X1),X3),X4),
    inference(split_conjunct,[status(thm)],[c_0_394]) ).

cnf(c_0_573,plain,
    ( hAPP(exp(X1),exp(X1),hAPP(X1,fun(exp(X1),exp(X1)),lAss(X1),X2),X3) = hAPP(exp(X1),exp(X1),hAPP(X1,fun(exp(X1),exp(X1)),lAss(X1),X4),X5)
    | X3 != X5
    | ti(X1,X2) != ti(X1,X4) ),
    inference(split_conjunct,[status(thm)],[c_0_386]) ).

cnf(c_0_574,plain,
    hAPP(exp(X1),exp(X1),hAPP(X1,fun(exp(X1),exp(X1)),lAss(X1),X2),X3) != hAPP(val,exp(X1),val_1(X1),X4),
    inference(split_conjunct,[status(thm)],[c_0_395]) ).

cnf(c_0_575,plain,
    hAPP(val,exp(X1),val_1(X1),X2) != hAPP(exp(X1),exp(X1),hAPP(X1,fun(exp(X1),exp(X1)),lAss(X1),X3),X4),
    inference(split_conjunct,[status(thm)],[c_0_396]) ).

cnf(c_0_576,plain,
    ( hAPP(exp(X1),exp(X1),hAPP(exp(X1),fun(exp(X1),exp(X1)),seq(X1),X2),X3) = hAPP(exp(X1),exp(X1),hAPP(exp(X1),fun(exp(X1),exp(X1)),seq(X1),X4),X5)
    | X3 != X5
    | X2 != X4 ),
    inference(split_conjunct,[status(thm)],[c_0_385]) ).

cnf(c_0_577,plain,
    ( hBOOL(hAPP(bool,bool,hAPP(bool,fun(bool,bool),fconj,X1),X2))
    | ~ hBOOL(X2)
    | ~ hBOOL(X1) ),
    inference(split_conjunct,[status(thm)],[c_0_397]) ).

cnf(c_0_578,plain,
    ti(product_prod(X1,X2),X3) = hAPP(X2,product_prod(X1,X2),hAPP(X1,fun(X2,product_prod(X1,X2)),product_Pair(X1,X2),esk48_3(X1,X2,X3)),esk49_3(X1,X2,X3)),
    inference(split_conjunct,[status(thm)],[c_0_398]) ).

cnf(c_0_579,plain,
    ti(product_prod(X1,X2),X3) = hAPP(X2,product_prod(X1,X2),hAPP(X1,fun(X2,product_prod(X1,X2)),product_Pair(X1,X2),esk43_3(X1,X2,X3)),esk44_3(X1,X2,X3)),
    inference(split_conjunct,[status(thm)],[c_0_399]) ).

cnf(c_0_580,plain,
    hAPP(X1,X2,hAPP(X2,fun(X1,X2),combk(X2,X1),X3),X4) = ti(X2,X3),
    inference(split_conjunct,[status(thm)],[c_0_400]) ).

cnf(c_0_581,plain,
    ( X1 = X2
    | hAPP(val,exp(X3),val_1(X3),X1) != hAPP(val,exp(X3),val_1(X3),X2) ),
    inference(split_conjunct,[status(thm)],[c_0_401]) ).

cnf(c_0_582,plain,
    ti(X1,hAPP(X2,X1,X3,X4)) = hAPP(X2,X1,X3,X4),
    inference(split_conjunct,[status(thm)],[c_0_402]) ).

cnf(c_0_583,plain,
    ti(fun(fun(X1,fun(X2,X3)),fun(fun(X1,X2),fun(X1,X3))),combs(X1,X2,X3)) = combs(X1,X2,X3),
    inference(split_conjunct,[status(thm)],[c_0_403]) ).

cnf(c_0_584,plain,
    hAPP(X1,X2,ti(fun(X1,X2),X3),X4) = hAPP(X1,X2,X3,X4),
    inference(split_conjunct,[status(thm)],[c_0_404]) ).

cnf(c_0_585,plain,
    hAPP(X1,X2,X3,ti(X1,X4)) = hAPP(X1,X2,X3,X4),
    inference(split_conjunct,[status(thm)],[c_0_405]) ).

cnf(c_0_586,plain,
    ( hAPP(val,exp(X1),val_1(X1),X2) = hAPP(val,exp(X1),val_1(X1),X3)
    | X2 != X3 ),
    inference(split_conjunct,[status(thm)],[c_0_401]) ).

cnf(c_0_587,plain,
    ti(fun(fun(X1,fun(X2,X3)),fun(product_prod(X1,X2),X3)),product_prod_rec(X1,X2,X3)) = product_prod_rec(X1,X2,X3),
    inference(split_conjunct,[status(thm)],[c_0_406]) ).

cnf(c_0_588,plain,
    ti(fun(fun(X1,fun(X2,X3)),fun(product_prod(X1,X2),X3)),product_prod_case(X1,X2,X3)) = product_prod_case(X1,X2,X3),
    inference(split_conjunct,[status(thm)],[c_0_407]) ).

cnf(c_0_589,plain,
    ti(fun(fun(X1,fun(X2,X3)),fun(product_prod(X1,X2),X3)),produc1605651328_split(X1,X2,X3)) = produc1605651328_split(X1,X2,X3),
    inference(split_conjunct,[status(thm)],[c_0_408]) ).

cnf(c_0_590,plain,
    ti(fun(fun(X1,fun(X2,X3)),fun(X2,fun(X1,X3))),combc(X1,X2,X3)) = combc(X1,X2,X3),
    inference(split_conjunct,[status(thm)],[c_0_409]) ).

cnf(c_0_591,plain,
    ti(fun(fun(X1,X2),fun(fun(X3,X1),fun(X3,X2))),combb(X1,X2,X3)) = combb(X1,X2,X3),
    inference(split_conjunct,[status(thm)],[c_0_410]) ).

cnf(c_0_592,plain,
    hAPP(list(char),option(val),l_a,v_1) = hAPP(val,option(val),some(val),v_2),
    inference(split_conjunct,[status(thm)],[c_0_411]) ).

cnf(c_0_593,plain,
    ti(fun(fun(X1,X2),fun(X1,fun(X2,fun(X1,X2)))),fun_upd(X1,X2)) = fun_upd(X1,X2),
    inference(split_conjunct,[status(thm)],[c_0_412]) ).

cnf(c_0_594,plain,
    ti(fun(X1,fun(ty,fun(exp(X1),exp(X1)))),block(X1)) = block(X1),
    inference(split_conjunct,[status(thm)],[c_0_413]) ).

cnf(c_0_595,plain,
    ti(fun(X1,fun(X2,product_prod(X1,X2))),product_Pair(X1,X2)) = product_Pair(X1,X2),
    inference(split_conjunct,[status(thm)],[c_0_414]) ).

cnf(c_0_596,plain,
    ti(fun(X1,fun(fun(X1,bool),bool)),member(X1)) = member(X1),
    inference(split_conjunct,[status(thm)],[c_0_415]) ).

cnf(c_0_597,plain,
    ti(fun(exp(X1),fun(exp(X1),exp(X1))),seq(X1)) = seq(X1),
    inference(split_conjunct,[status(thm)],[c_0_416]) ).

cnf(c_0_598,plain,
    ti(fun(X1,fun(exp(X1),exp(X1))),lAss(X1)) = lAss(X1),
    inference(split_conjunct,[status(thm)],[c_0_417]) ).

cnf(c_0_599,plain,
    ti(fun(list(char),fun(exp(list(char)),bool)),assigned) = assigned,
    inference(split_conjunct,[status(thm)],[c_0_418]) ).

cnf(c_0_600,plain,
    ti(fun(X1,fun(X2,X1)),combk(X1,X2)) = combk(X1,X2),
    inference(split_conjunct,[status(thm)],[c_0_419]) ).

cnf(c_0_601,plain,
    produc1605651328_split(X1,X2,X3) = product_prod_case(X1,X2,X3),
    inference(split_conjunct,[status(thm)],[c_0_420]) ).

cnf(c_0_602,plain,
    ti(fun(bool,fun(bool,bool)),fconj) = fconj,
    inference(split_conjunct,[status(thm)],[c_0_421]) ).

cnf(c_0_603,plain,
    ti(fun(X1,option(X1)),some(X1)) = some(X1),
    inference(split_conjunct,[status(thm)],[c_0_422]) ).

cnf(c_0_604,plain,
    ti(fun(val,exp(X1)),val_1(X1)) = val_1(X1),
    inference(split_conjunct,[status(thm)],[c_0_423]) ).

cnf(c_0_605,plain,
    ti(X1,ti(X1,X2)) = ti(X1,X2),
    inference(split_conjunct,[status(thm)],[c_0_424]) ).

cnf(c_0_606,plain,
    ti(fun(list(char),option(ty)),e) = e,
    inference(split_conjunct,[status(thm)],[c_0_425]) ).

cnf(c_0_607,plain,
    ti(option(X1),none(X1)) = none(X1),
    inference(split_conjunct,[status(thm)],[c_0_426]) ).

cnf(c_0_608,plain,
    ti(X1,undefined(X1)) = undefined(X1),
    inference(split_conjunct,[status(thm)],[c_0_427]) ).

cnf(c_0_609,plain,
    ti(val,v_2) = v_2,
    inference(split_conjunct,[status(thm)],[c_0_428]) ).

cnf(c_0_610,plain,
    ti(ty,t_1) = t_1,
    inference(split_conjunct,[status(thm)],[c_0_429]) ).

cnf(c_0_611,plain,
    ti(ty,t) = t,
    inference(split_conjunct,[status(thm)],[c_0_430]) ).

cnf(c_0_612,plain,
    ti(val,unit) = unit,
    inference(split_conjunct,[status(thm)],[c_0_431]) ).

cnf(c_0_613,plain,
    ( hBOOL(hAPP(product_prod(X1,product_prod(X2,product_prod(X3,product_prod(X4,product_prod(X5,X6))))),bool,X7,X8))
    | ~ hBOOL(hAPP(product_prod(X1,product_prod(X2,product_prod(X3,product_prod(X4,product_prod(X5,X6))))),bool,X7,hAPP(product_prod(X2,product_prod(X3,product_prod(X4,product_prod(X5,X6)))),product_prod(X1,product_prod(X2,product_prod(X3,product_prod(X4,product_prod(X5,X6))))),hAPP(X1,fun(product_prod(X2,product_prod(X3,product_prod(X4,product_prod(X5,X6)))),product_prod(X1,product_prod(X2,product_prod(X3,product_prod(X4,product_prod(X5,X6)))))),product_Pair(X1,product_prod(X2,product_prod(X3,product_prod(X4,product_prod(X5,X6))))),esk2_8(X1,X2,X3,X4,X5,X6,X8,X7)),hAPP(product_prod(X3,product_prod(X4,product_prod(X5,X6))),product_prod(X2,product_prod(X3,product_prod(X4,product_prod(X5,X6)))),hAPP(X2,fun(product_prod(X3,product_prod(X4,product_prod(X5,X6))),product_prod(X2,product_prod(X3,product_prod(X4,product_prod(X5,X6))))),product_Pair(X2,product_prod(X3,product_prod(X4,product_prod(X5,X6)))),esk3_8(X1,X2,X3,X4,X5,X6,X8,X7)),hAPP(product_prod(X4,product_prod(X5,X6)),product_prod(X3,product_prod(X4,product_prod(X5,X6))),hAPP(X3,fun(product_prod(X4,product_prod(X5,X6)),product_prod(X3,product_prod(X4,product_prod(X5,X6)))),product_Pair(X3,product_prod(X4,product_prod(X5,X6))),esk4_8(X1,X2,X3,X4,X5,X6,X8,X7)),hAPP(product_prod(X5,X6),product_prod(X4,product_prod(X5,X6)),hAPP(X4,fun(product_prod(X5,X6),product_prod(X4,product_prod(X5,X6))),product_Pair(X4,product_prod(X5,X6)),esk5_8(X1,X2,X3,X4,X5,X6,X8,X7)),hAPP(X6,product_prod(X5,X6),hAPP(X5,fun(X6,product_prod(X5,X6)),product_Pair(X5,X6),esk6_8(X1,X2,X3,X4,X5,X6,X8,X7)),esk7_8(X1,X2,X3,X4,X5,X6,X8,X7)))))))) ),
    c_0_432,
    [final] ).

cnf(c_0_614,plain,
    ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),typeSa885026672_sconf,X1),X2),X3))
    | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),product_prod_case(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)),bool),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool)),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool))),fun(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool))),combs(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool)),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(bool,bool)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool))),hAPP(fun(fun(bool,bool),fun(fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool))),fun(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(bool,bool)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool)))),combb(fun(bool,bool),fun(fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool)),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),combb(bool,bool,fun(list(char),option(val)))),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(bool,bool)),hAPP(fun(bool,fun(bool,bool)),fun(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(bool,bool))),combb(bool,fun(bool,bool),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),fconj),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),hconf(product_prod(list(list(char)),exp(list(char)))),X1)))),hAPP(fun(list(char),option(ty)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool)),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool))),fun(fun(list(char),option(ty)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool))),combc(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool)),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool))),hAPP(fun(fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool)),fun(fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool))),fun(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool)))),combb(fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool)),fun(fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool)),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),combc(fun(list(char),option(val)),fun(list(char),option(ty)),bool)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool))),lconf(product_prod(list(list(char)),exp(list(char)))),X1))),X2))),X3)) ),
    c_0_433,
    [final] ).

cnf(c_0_615,plain,
    ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X1),X2),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),X1),hAPP(val,exp(list(char)),val_1(list(char)),X3))),X4))),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X5),X6))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X1),X2),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),X1),hAPP(val,exp(list(char)),val_1(list(char)),X7))),X8))),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X9),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),X10),X1),hAPP(list(char),option(val),X6,X1)))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X11)))
    | hAPP(list(char),option(val),X10,X1) != hAPP(val,option(val),some(val),X7)
    | ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X4),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X5),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),X6),X1),hAPP(val,option(val),some(val),X3))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X8),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X9),X10)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X11))) ),
    c_0_434,
    [final] ).

cnf(c_0_616,plain,
    ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X1),X2),X3)),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X4),X5))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X1),X2),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),X1),hAPP(val,exp(list(char)),val_1(list(char)),X6))),X7))),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X8),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),X9),X1),hAPP(list(char),option(val),X5,X1)))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X10)))
    | hBOOL(hAPP(exp(list(char)),bool,hAPP(list(char),fun(exp(list(char)),bool),assigned,X1),X3))
    | hAPP(list(char),option(val),X9,X1) != hAPP(val,option(val),some(val),X6)
    | ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X3),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X4),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),X5),X1),none(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X7),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X8),X9)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X10))) ),
    c_0_435,
    [final] ).

cnf(c_0_617,plain,
    ( hBOOL(hAPP(product_prod(X1,product_prod(X2,product_prod(X3,product_prod(X4,X5)))),bool,X6,X7))
    | ~ hBOOL(hAPP(product_prod(X1,product_prod(X2,product_prod(X3,product_prod(X4,X5)))),bool,X6,hAPP(product_prod(X2,product_prod(X3,product_prod(X4,X5))),product_prod(X1,product_prod(X2,product_prod(X3,product_prod(X4,X5)))),hAPP(X1,fun(product_prod(X2,product_prod(X3,product_prod(X4,X5))),product_prod(X1,product_prod(X2,product_prod(X3,product_prod(X4,X5))))),product_Pair(X1,product_prod(X2,product_prod(X3,product_prod(X4,X5)))),esk14_7(X1,X2,X3,X4,X5,X7,X6)),hAPP(product_prod(X3,product_prod(X4,X5)),product_prod(X2,product_prod(X3,product_prod(X4,X5))),hAPP(X2,fun(product_prod(X3,product_prod(X4,X5)),product_prod(X2,product_prod(X3,product_prod(X4,X5)))),product_Pair(X2,product_prod(X3,product_prod(X4,X5))),esk15_7(X1,X2,X3,X4,X5,X7,X6)),hAPP(product_prod(X4,X5),product_prod(X3,product_prod(X4,X5)),hAPP(X3,fun(product_prod(X4,X5),product_prod(X3,product_prod(X4,X5))),product_Pair(X3,product_prod(X4,X5)),esk16_7(X1,X2,X3,X4,X5,X7,X6)),hAPP(X5,product_prod(X4,X5),hAPP(X4,fun(X5,product_prod(X4,X5)),product_Pair(X4,X5),esk17_7(X1,X2,X3,X4,X5,X7,X6)),esk18_7(X1,X2,X3,X4,X5,X7,X6))))))) ),
    c_0_436,
    [final] ).

cnf(c_0_618,plain,
    ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),product_prod_case(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)),bool),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool)),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool))),fun(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool))),combs(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool)),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(bool,bool)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool))),hAPP(fun(fun(bool,bool),fun(fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool))),fun(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(bool,bool)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool)))),combb(fun(bool,bool),fun(fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool)),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),combb(bool,bool,fun(list(char),option(val)))),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(bool,bool)),hAPP(fun(bool,fun(bool,bool)),fun(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(bool,bool))),combb(bool,fun(bool,bool),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),fconj),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),hconf(product_prod(list(list(char)),exp(list(char)))),X1)))),hAPP(fun(list(char),option(ty)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool)),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool))),fun(fun(list(char),option(ty)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool))),combc(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool)),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool))),hAPP(fun(fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool)),fun(fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool))),fun(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool)))),combb(fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool)),fun(fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool)),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),combc(fun(list(char),option(val)),fun(list(char),option(ty)),bool)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool))),lconf(product_prod(list(list(char)),exp(list(char)))),X1))),X2))),X3))
    | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),typeSa885026672_sconf,X1),X2),X3)) ),
    c_0_437,
    [final] ).

cnf(c_0_619,plain,
    ( hBOOL(hAPP(fun(list(char),option(ty)),bool,hAPP(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool))),lconf(product_prod(list(list(char)),exp(list(char)))),X1),X2),X3),X4))
    | ~ hBOOL(hAPP(fun(list(char),option(ty)),bool,hAPP(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool))),lconf(product_prod(list(list(char)),exp(list(char)))),X1),X5),X6),X4))
    | ~ hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,X1),X5),X4),X7),X8))
    | ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X7),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X5),X6))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X9),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X2),X3)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X1))) ),
    c_0_438,
    [final] ).

cnf(c_0_620,plain,
    ( hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),hconf(product_prod(list(list(char)),exp(list(char)))),X1),X2))
    | ~ hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),hconf(product_prod(list(list(char)),exp(list(char)))),X1),X3))
    | ~ hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,X1),X3),X4),X5),X6))
    | ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X5),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X3),X7))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X8),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X2),X9)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X1))) ),
    c_0_439,
    [final] ).

cnf(c_0_621,plain,
    ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),X1),X2)),X3)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),X4),X2)),X5))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X6)))
    | ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X1),X3)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X4),X5))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X6))) ),
    c_0_440,
    [final] ).

cnf(c_0_622,plain,
    ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),X1),X2)),X3)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),X1),X4)),X5))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X6)))
    | ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X2),X3)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X4),X5))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X6))) ),
    c_0_441,
    [final] ).

cnf(c_0_623,plain,
    ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,X1),X2),X3),X4),X5))
    | ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X2),X3)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X4),X5))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X1))) ),
    c_0_442,
    [final] ).

cnf(c_0_624,plain,
    ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),typeSa885026672_sconf,X1),X2),X3))
    | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),typeSa885026672_sconf,X1),X2),X4))
    | ~ hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,X1),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hp,X4)),X2),X5),X6))
    | ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X5),X4)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X7),X3))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X1))) ),
    c_0_443,
    [final] ).

cnf(c_0_625,plain,
    ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,X1),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X2),X3),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),X2),hAPP(val,exp(list(char)),val_1(list(char)),X4))),X5))),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X6),X7)),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X2),X3),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),X2),hAPP(val,exp(list(char)),val_1(list(char)),X8))),X9))),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X10),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),X11),X2),hAPP(list(char),option(val),X7,X2)))))
    | hAPP(list(char),option(val),X11,X2) != hAPP(val,option(val),some(val),X8)
    | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,X1),X5),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X6),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),X7),X2),hAPP(val,option(val),some(val),X4)))),X9),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X10),X11))) ),
    c_0_444,
    [final] ).

cnf(c_0_626,plain,
    ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,X1),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X2),X3),X4)),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X5),X6)),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X2),X3),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),X2),hAPP(val,exp(list(char)),val_1(list(char)),X7))),X8))),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X9),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),X10),X2),hAPP(list(char),option(val),X6,X2)))))
    | hBOOL(hAPP(exp(list(char)),bool,hAPP(list(char),fun(exp(list(char)),bool),assigned,X2),X4))
    | hAPP(list(char),option(val),X10,X2) != hAPP(val,option(val),some(val),X7)
    | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,X1),X4),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X5),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),X6),X2),none(val)))),X8),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X9),X10))) ),
    c_0_445,
    [final] ).

cnf(c_0_627,plain,
    ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X1),X2)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X3),X4))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X5)))
    | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,X5),X1),X2),X3),X4)) ),
    c_0_446,
    [final] ).

cnf(c_0_628,plain,
    ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,X1),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X2),X3),X4)),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X5),X6)),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X2),X3),X7)),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X8),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),X9),X2),hAPP(list(char),option(val),X6,X2)))))
    | hBOOL(hAPP(exp(list(char)),bool,hAPP(list(char),fun(exp(list(char)),bool),assigned,X2),X4))
    | hAPP(list(char),option(val),X9,X2) != none(val)
    | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,X1),X4),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X5),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),X6),X2),none(val)))),X7),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X8),X9))) ),
    c_0_447,
    [final] ).

cnf(c_0_629,plain,
    ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,X1),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),X2),X3)),X4),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),X5),X3)),X6))
    | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,X1),X2),X4),X5),X6)) ),
    c_0_448,
    [final] ).

cnf(c_0_630,plain,
    ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,X1),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),X2),X3)),X4),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),X2),X5)),X6))
    | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,X1),X3),X4),X5),X6)) ),
    c_0_449,
    [final] ).

cnf(c_0_631,plain,
    hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X1),X2),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),X1),hAPP(val,exp(list(char)),val_1(list(char)),X3))),hAPP(val,exp(list(char)),val_1(list(char)),X4)))),X5)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),X4)),X5))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X6))),
    c_0_450,
    [final] ).

cnf(c_0_632,plain,
    hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),ea),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),ha),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),la),v_1),hAPP(val,option(val),some(val),v))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),e_a),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),h_a),l_a)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,p))),
    c_0_451,
    [final] ).

cnf(c_0_633,plain,
    hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),X1),hAPP(val,exp(list(char)),val_1(list(char)),X2))),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X3),X4))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),unit)),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X3),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),X4),X1),hAPP(val,option(val),some(val),X2)))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X5))),
    c_0_452,
    [final] ).

cnf(c_0_634,plain,
    hAPP(product_prod(X2,product_prod(X3,product_prod(X4,product_prod(X5,X6)))),product_prod(X1,product_prod(X2,product_prod(X3,product_prod(X4,product_prod(X5,X6))))),hAPP(X1,fun(product_prod(X2,product_prod(X3,product_prod(X4,product_prod(X5,X6)))),product_prod(X1,product_prod(X2,product_prod(X3,product_prod(X4,product_prod(X5,X6)))))),product_Pair(X1,product_prod(X2,product_prod(X3,product_prod(X4,product_prod(X5,X6))))),esk8_7(X1,X2,X3,X4,X5,X6,X7)),hAPP(product_prod(X3,product_prod(X4,product_prod(X5,X6))),product_prod(X2,product_prod(X3,product_prod(X4,product_prod(X5,X6)))),hAPP(X2,fun(product_prod(X3,product_prod(X4,product_prod(X5,X6))),product_prod(X2,product_prod(X3,product_prod(X4,product_prod(X5,X6))))),product_Pair(X2,product_prod(X3,product_prod(X4,product_prod(X5,X6)))),esk9_7(X1,X2,X3,X4,X5,X6,X7)),hAPP(product_prod(X4,product_prod(X5,X6)),product_prod(X3,product_prod(X4,product_prod(X5,X6))),hAPP(X3,fun(product_prod(X4,product_prod(X5,X6)),product_prod(X3,product_prod(X4,product_prod(X5,X6)))),product_Pair(X3,product_prod(X4,product_prod(X5,X6))),esk10_7(X1,X2,X3,X4,X5,X6,X7)),hAPP(product_prod(X5,X6),product_prod(X4,product_prod(X5,X6)),hAPP(X4,fun(product_prod(X5,X6),product_prod(X4,product_prod(X5,X6))),product_Pair(X4,product_prod(X5,X6)),esk11_7(X1,X2,X3,X4,X5,X6,X7)),hAPP(X6,product_prod(X5,X6),hAPP(X5,fun(X6,product_prod(X5,X6)),product_Pair(X5,X6),esk12_7(X1,X2,X3,X4,X5,X6,X7)),esk13_7(X1,X2,X3,X4,X5,X6,X7)))))) = ti(product_prod(X1,product_prod(X2,product_prod(X3,product_prod(X4,product_prod(X5,X6))))),X7),
    c_0_453,
    [final] ).

cnf(c_0_635,plain,
    hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X1),X2),hAPP(val,exp(list(char)),val_1(list(char)),X3))),X4)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),X3)),X4))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X5))),
    c_0_454,
    [final] ).

cnf(c_0_636,plain,
    hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),X1)),X2)),X3)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X2),X3))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X4))),
    c_0_455,
    [final] ).

cnf(c_0_637,plain,
    ( hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,X1),X2),X3),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),X4),X5)),X6))
    | ~ hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,X1),X2),X3),X5),X6))
    | ~ hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,X1),X2),X3),X4),X7)) ),
    c_0_456,
    [final] ).

cnf(c_0_638,plain,
    hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,X1),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X2),X3),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),X2),hAPP(val,exp(list(char)),val_1(list(char)),X4))),hAPP(val,exp(list(char)),val_1(list(char)),X5)))),X6),hAPP(val,exp(list(char)),val_1(list(char)),X5)),X6)),
    c_0_457,
    [final] ).

cnf(c_0_639,plain,
    ( hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,p),h_a),X1),e_a),esk1_2(X2,X1)))
    | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),typeSa885026672_sconf,p),X1),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),ha),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),la),v_1),hAPP(val,option(val),some(val),v)))))
    | ~ hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,p),ha),X1),ea),X2)) ),
    c_0_458,
    [final] ).

cnf(c_0_640,plain,
    hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,X1),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X2),X3),hAPP(val,exp(list(char)),val_1(list(char)),X4))),X5),hAPP(val,exp(list(char)),val_1(list(char)),X4)),X5)),
    c_0_459,
    [final] ).

cnf(c_0_641,plain,
    hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,X1),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),X2)),X3)),X4),X3),X4)),
    c_0_460,
    [final] ).

cnf(c_0_642,plain,
    ( hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,X1),X2),X3),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X4),X5),X6)),X7))
    | ~ hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,X1),X2),hAPP(option(ty),fun(list(char),option(ty)),hAPP(list(char),fun(option(ty),fun(list(char),option(ty))),hAPP(fun(list(char),option(ty)),fun(list(char),fun(option(ty),fun(list(char),option(ty)))),fun_upd(list(char),option(ty)),X3),X4),hAPP(ty,option(ty),some(ty),X5))),X6),X7)) ),
    c_0_461,
    [final] ).

cnf(c_0_643,plain,
    ( hBOOL(hAPP(ty,bool,hAPP(ty,fun(ty,bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(ty,fun(ty,bool)),widen(product_prod(list(list(char)),exp(list(char)))),p),esk1_2(X2,X1)),X2))
    | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),typeSa885026672_sconf,p),X1),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),ha),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),la),v_1),hAPP(val,option(val),some(val),v)))))
    | ~ hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,p),ha),X1),ea),X2)) ),
    c_0_462,
    [final] ).

cnf(c_0_644,plain,
    ( hBOOL(hAPP(product_prod(X1,product_prod(X2,product_prod(X3,X4))),bool,X5,X6))
    | ~ hBOOL(hAPP(product_prod(X1,product_prod(X2,product_prod(X3,X4))),bool,X5,hAPP(product_prod(X2,product_prod(X3,X4)),product_prod(X1,product_prod(X2,product_prod(X3,X4))),hAPP(X1,fun(product_prod(X2,product_prod(X3,X4)),product_prod(X1,product_prod(X2,product_prod(X3,X4)))),product_Pair(X1,product_prod(X2,product_prod(X3,X4))),esk24_6(X1,X2,X3,X4,X6,X5)),hAPP(product_prod(X3,X4),product_prod(X2,product_prod(X3,X4)),hAPP(X2,fun(product_prod(X3,X4),product_prod(X2,product_prod(X3,X4))),product_Pair(X2,product_prod(X3,X4)),esk25_6(X1,X2,X3,X4,X6,X5)),hAPP(X4,product_prod(X3,X4),hAPP(X3,fun(X4,product_prod(X3,X4)),product_Pair(X3,X4),esk26_6(X1,X2,X3,X4,X6,X5)),esk27_6(X1,X2,X3,X4,X6,X5)))))) ),
    c_0_463,
    [final] ).

cnf(c_0_645,plain,
    hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,p),ha),e),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),v_1),t_1),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),v_1),hAPP(val,exp(list(char)),val_1(list(char)),v))),ea))),t)),
    c_0_464,
    [final] ).

cnf(c_0_646,plain,
    hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool))),fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),bool),wf_prog(product_prod(list(list(char)),exp(list(char)))),wf_J_mdecl),p)),
    c_0_465,
    [final] ).

cnf(c_0_647,plain,
    hAPP(product_prod(X2,product_prod(X3,product_prod(X4,X5))),product_prod(X1,product_prod(X2,product_prod(X3,product_prod(X4,X5)))),hAPP(X1,fun(product_prod(X2,product_prod(X3,product_prod(X4,X5))),product_prod(X1,product_prod(X2,product_prod(X3,product_prod(X4,X5))))),product_Pair(X1,product_prod(X2,product_prod(X3,product_prod(X4,X5)))),esk19_6(X1,X2,X3,X4,X5,X6)),hAPP(product_prod(X3,product_prod(X4,X5)),product_prod(X2,product_prod(X3,product_prod(X4,X5))),hAPP(X2,fun(product_prod(X3,product_prod(X4,X5)),product_prod(X2,product_prod(X3,product_prod(X4,X5)))),product_Pair(X2,product_prod(X3,product_prod(X4,X5))),esk20_6(X1,X2,X3,X4,X5,X6)),hAPP(product_prod(X4,X5),product_prod(X3,product_prod(X4,X5)),hAPP(X3,fun(product_prod(X4,X5),product_prod(X3,product_prod(X4,X5))),product_Pair(X3,product_prod(X4,X5)),esk21_6(X1,X2,X3,X4,X5,X6)),hAPP(X5,product_prod(X4,X5),hAPP(X4,fun(X5,product_prod(X4,X5)),product_Pair(X4,X5),esk22_6(X1,X2,X3,X4,X5,X6)),esk23_6(X1,X2,X3,X4,X5,X6))))) = ti(product_prod(X1,product_prod(X2,product_prod(X3,product_prod(X4,X5)))),X6),
    c_0_466,
    [final] ).

cnf(c_0_648,plain,
    hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),typeSa885026672_sconf,p),e),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),ha),la))),
    c_0_467,
    [final] ).

cnf(c_0_649,plain,
    ( hBOOL(hAPP(ty,bool,hAPP(ty,fun(ty,bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X1)))))))),fun(ty,fun(ty,bool)),widen(X1),X2),X3),X4))
    | ~ hBOOL(hAPP(ty,bool,hAPP(ty,fun(ty,bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X1)))))))),fun(ty,fun(ty,bool)),widen(X1),X2),X5),X4))
    | ~ hBOOL(hAPP(ty,bool,hAPP(ty,fun(ty,bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X1)))))))),fun(ty,fun(ty,bool)),widen(X1),X2),X3),X5)) ),
    c_0_468,
    [final] ).

cnf(c_0_650,plain,
    ( hBOOL(hAPP(fun(X1,bool),bool,hAPP(X1,fun(fun(X1,bool),bool),member(X1),X2),hAPP(product_prod(X3,X4),fun(X1,bool),hAPP(fun(X3,fun(X4,fun(X1,bool))),fun(product_prod(X3,X4),fun(X1,bool)),product_prod_case(X3,X4,fun(X1,bool)),X5),X6)))
    | ~ hBOOL(hAPP(fun(X1,bool),bool,hAPP(X1,fun(fun(X1,bool),bool),member(X1),X2),hAPP(X4,fun(X1,bool),hAPP(X3,fun(X4,fun(X1,bool)),X5,esk60_6(X1,X3,X4,X2,X5,X6)),esk61_6(X1,X3,X4,X2,X5,X6)))) ),
    c_0_469,
    [final] ).

cnf(c_0_651,plain,
    ( hBOOL(hAPP(X1,bool,hAPP(product_prod(X2,X3),fun(X1,bool),hAPP(fun(X2,fun(X3,fun(X1,bool))),fun(product_prod(X2,X3),fun(X1,bool)),product_prod_case(X2,X3,fun(X1,bool)),X4),X5),X6))
    | ~ hBOOL(hAPP(X1,bool,hAPP(X3,fun(X1,bool),hAPP(X2,fun(X3,fun(X1,bool)),X4,esk58_6(X1,X3,X2,X4,X6,X5)),esk59_6(X1,X3,X2,X4,X6,X5)),X6)) ),
    c_0_470,
    [final] ).

cnf(c_0_652,plain,
    ti(fun(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool))),fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),bool)),wf_prog(product_prod(list(list(char)),exp(list(char))))) = wf_prog(product_prod(list(list(char)),exp(list(char)))),
    c_0_471,
    [final] ).

cnf(c_0_653,plain,
    ( hBOOL(hAPP(fun(X1,bool),bool,hAPP(X1,fun(fun(X1,bool),bool),member(X1),X2),hAPP(X4,fun(X1,bool),hAPP(X3,fun(X4,fun(X1,bool)),X5,esk56_6(X1,X3,X4,X2,X5,X6)),esk57_6(X1,X3,X4,X2,X5,X6))))
    | ~ hBOOL(hAPP(fun(X1,bool),bool,hAPP(X1,fun(fun(X1,bool),bool),member(X1),X2),hAPP(product_prod(X3,X4),fun(X1,bool),hAPP(fun(X3,fun(X4,fun(X1,bool))),fun(product_prod(X3,X4),fun(X1,bool)),product_prod_case(X3,X4,fun(X1,bool)),X5),X6))) ),
    c_0_472,
    [final] ).

cnf(c_0_654,plain,
    ( hBOOL(hAPP(X1,bool,hAPP(X3,fun(X1,bool),hAPP(X2,fun(X3,fun(X1,bool)),X4,esk54_6(X1,X2,X3,X4,X5,X6)),esk55_6(X1,X2,X3,X4,X5,X6)),X6))
    | ~ hBOOL(hAPP(X1,bool,hAPP(product_prod(X2,X3),fun(X1,bool),hAPP(fun(X2,fun(X3,fun(X1,bool))),fun(product_prod(X2,X3),fun(X1,bool)),product_prod_case(X2,X3,fun(X1,bool)),X4),X5),X6)) ),
    c_0_473,
    [final] ).

cnf(c_0_655,plain,
    ( hBOOL(hAPP(X1,bool,X2,hAPP(X4,X1,hAPP(X3,fun(X4,X1),X5,esk64_6(X1,X3,X4,X2,X5,X6)),esk65_6(X1,X3,X4,X2,X5,X6))))
    | ~ hBOOL(hAPP(X1,bool,X2,hAPP(product_prod(X3,X4),X1,hAPP(fun(X3,fun(X4,X1)),fun(product_prod(X3,X4),X1),product_prod_case(X3,X4,X1),X5),X6))) ),
    c_0_474,
    [final] ).

cnf(c_0_656,plain,
    ( hBOOL(hAPP(product_prod(X1,product_prod(X2,X3)),bool,X4,X5))
    | ~ hBOOL(hAPP(product_prod(X1,product_prod(X2,X3)),bool,X4,hAPP(product_prod(X2,X3),product_prod(X1,product_prod(X2,X3)),hAPP(X1,fun(product_prod(X2,X3),product_prod(X1,product_prod(X2,X3))),product_Pair(X1,product_prod(X2,X3)),esk38_5(X1,X2,X3,X5,X4)),hAPP(X3,product_prod(X2,X3),hAPP(X2,fun(X3,product_prod(X2,X3)),product_Pair(X2,X3),esk39_5(X1,X2,X3,X5,X4)),esk40_5(X1,X2,X3,X5,X4))))) ),
    c_0_475,
    [final] ).

cnf(c_0_657,plain,
    ti(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))))),redp) = redp,
    c_0_476,
    [final] ).

cnf(c_0_658,plain,
    ( hBOOL(hAPP(product_prod(X1,X2),bool,hAPP(fun(X1,fun(X2,bool)),fun(product_prod(X1,X2),bool),product_prod_case(X1,X2,bool),X4),X5))
    | ~ hBOOL(hAPP(product_prod(X1,X2),bool,hAPP(fun(X1,fun(X2,bool)),fun(product_prod(X1,X2),bool),product_prod_case(X1,X2,bool),hAPP(fun(X1,fun(X2,bool)),fun(X1,fun(X2,bool)),hAPP(fun(fun(X2,bool),fun(X2,bool)),fun(fun(X1,fun(X2,bool)),fun(X1,fun(X2,bool))),combb(fun(X2,bool),fun(X2,bool),X1),hAPP(fun(bool,bool),fun(fun(X2,bool),fun(X2,bool)),combb(bool,bool,X2),hAPP(bool,fun(bool,bool),fconj,X3))),X4)),X5)) ),
    c_0_477,
    [final] ).

cnf(c_0_659,plain,
    ( hBOOL(X3)
    | ~ hBOOL(hAPP(product_prod(X1,X2),bool,hAPP(fun(X1,fun(X2,bool)),fun(product_prod(X1,X2),bool),product_prod_case(X1,X2,bool),hAPP(fun(X1,fun(X2,bool)),fun(X1,fun(X2,bool)),hAPP(fun(fun(X2,bool),fun(X2,bool)),fun(fun(X1,fun(X2,bool)),fun(X1,fun(X2,bool))),combb(fun(X2,bool),fun(X2,bool),X1),hAPP(fun(bool,bool),fun(fun(X2,bool),fun(X2,bool)),combb(bool,bool,X2),hAPP(bool,fun(bool,bool),fconj,X3))),X4)),X5)) ),
    c_0_478,
    [final] ).

cnf(c_0_660,plain,
    ti(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),typeSa885026672_sconf) = typeSa885026672_sconf,
    c_0_479,
    [final] ).

cnf(c_0_661,plain,
    ( ti(fun(product_prod(X1,X2),bool),X3) = ti(fun(product_prod(X1,X2),bool),X4)
    | ~ hBOOL(hAPP(fun(product_prod(X1,X2),bool),bool,hAPP(product_prod(X1,X2),fun(fun(product_prod(X1,X2),bool),bool),member(product_prod(X1,X2)),hAPP(X2,product_prod(X1,X2),hAPP(X1,fun(X2,product_prod(X1,X2)),product_Pair(X1,X2),esk41_4(X1,X2,X4,X3)),esk42_4(X1,X2,X4,X3))),X4))
    | ~ hBOOL(hAPP(fun(product_prod(X1,X2),bool),bool,hAPP(product_prod(X1,X2),fun(fun(product_prod(X1,X2),bool),bool),member(product_prod(X1,X2)),hAPP(X2,product_prod(X1,X2),hAPP(X1,fun(X2,product_prod(X1,X2)),product_Pair(X1,X2),esk41_4(X1,X2,X4,X3)),esk42_4(X1,X2,X4,X3))),X3)) ),
    c_0_480,
    [final] ).

cnf(c_0_662,plain,
    hBOOL(hAPP(ty,bool,hAPP(ty,fun(ty,bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X1)))))))),fun(ty,fun(ty,bool)),widen(X1),X2),X3),X3)),
    c_0_481,
    [final] ).

cnf(c_0_663,plain,
    ti(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool))),wf_J_mdecl) = wf_J_mdecl,
    c_0_482,
    [final] ).

cnf(c_0_664,plain,
    ti(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool)))),lconf(product_prod(list(list(char)),exp(list(char))))) = lconf(product_prod(list(list(char)),exp(list(char)))),
    c_0_483,
    [final] ).

cnf(c_0_665,plain,
    ti(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))))),wTrt) = wTrt,
    c_0_484,
    [final] ).

cnf(c_0_666,plain,
    ti(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool)),hconf(product_prod(list(list(char)),exp(list(char))))) = hconf(product_prod(list(list(char)),exp(list(char)))),
    c_0_485,
    [final] ).

cnf(c_0_667,plain,
    ( hBOOL(hAPP(product_prod(X1,X2),bool,hAPP(fun(X1,fun(X2,bool)),fun(product_prod(X1,X2),bool),product_prod_case(X1,X2,bool),hAPP(fun(X1,fun(X2,bool)),fun(X1,fun(X2,bool)),hAPP(fun(fun(X2,bool),fun(X2,bool)),fun(fun(X1,fun(X2,bool)),fun(X1,fun(X2,bool))),combb(fun(X2,bool),fun(X2,bool),X1),hAPP(fun(bool,bool),fun(fun(X2,bool),fun(X2,bool)),combb(bool,bool,X2),hAPP(bool,fun(bool,bool),fconj,X3))),X4)),X5))
    | ~ hBOOL(hAPP(product_prod(X1,X2),bool,hAPP(fun(X1,fun(X2,bool)),fun(product_prod(X1,X2),bool),product_prod_case(X1,X2,bool),X4),X5))
    | ~ hBOOL(X3) ),
    c_0_486,
    [final] ).

cnf(c_0_668,plain,
    hAPP(product_prod(X2,product_prod(X3,X4)),product_prod(X1,product_prod(X2,product_prod(X3,X4))),hAPP(X1,fun(product_prod(X2,product_prod(X3,X4)),product_prod(X1,product_prod(X2,product_prod(X3,X4)))),product_Pair(X1,product_prod(X2,product_prod(X3,X4))),esk28_5(X1,X2,X3,X4,X5)),hAPP(product_prod(X3,X4),product_prod(X2,product_prod(X3,X4)),hAPP(X2,fun(product_prod(X3,X4),product_prod(X2,product_prod(X3,X4))),product_Pair(X2,product_prod(X3,X4)),esk29_5(X1,X2,X3,X4,X5)),hAPP(X4,product_prod(X3,X4),hAPP(X3,fun(X4,product_prod(X3,X4)),product_Pair(X3,X4),esk30_5(X1,X2,X3,X4,X5)),esk31_5(X1,X2,X3,X4,X5)))) = ti(product_prod(X1,product_prod(X2,product_prod(X3,X4))),X5),
    c_0_487,
    [final] ).

cnf(c_0_669,plain,
    ( hAPP(X1,fun(X2,X1),hAPP(X2,fun(X1,fun(X2,X1)),hAPP(fun(X2,X1),fun(X2,fun(X1,fun(X2,X1))),fun_upd(X2,X1),hAPP(X1,fun(X2,X1),hAPP(X2,fun(X1,fun(X2,X1)),hAPP(fun(X2,X1),fun(X2,fun(X1,fun(X2,X1))),fun_upd(X2,X1),X3),X4),X5)),X6),X7) = hAPP(X1,fun(X2,X1),hAPP(X2,fun(X1,fun(X2,X1)),hAPP(fun(X2,X1),fun(X2,fun(X1,fun(X2,X1))),fun_upd(X2,X1),hAPP(X1,fun(X2,X1),hAPP(X2,fun(X1,fun(X2,X1)),hAPP(fun(X2,X1),fun(X2,fun(X1,fun(X2,X1))),fun_upd(X2,X1),X3),X6),X7)),X4),X5)
    | ti(X2,X4) = ti(X2,X6) ),
    c_0_488,
    [final] ).

cnf(c_0_670,plain,
    ( hAPP(X4,product_prod(X3,X4),hAPP(X3,fun(X4,product_prod(X3,X4)),product_Pair(X3,X4),esk56_6(X1,X3,X4,X2,X5,X6)),esk57_6(X1,X3,X4,X2,X5,X6)) = ti(product_prod(X3,X4),X6)
    | ~ hBOOL(hAPP(fun(X1,bool),bool,hAPP(X1,fun(fun(X1,bool),bool),member(X1),X2),hAPP(product_prod(X3,X4),fun(X1,bool),hAPP(fun(X3,fun(X4,fun(X1,bool))),fun(product_prod(X3,X4),fun(X1,bool)),product_prod_case(X3,X4,fun(X1,bool)),X5),X6))) ),
    c_0_489,
    [final] ).

cnf(c_0_671,plain,
    ( hAPP(X3,product_prod(X2,X3),hAPP(X2,fun(X3,product_prod(X2,X3)),product_Pair(X2,X3),esk54_6(X1,X2,X3,X4,X5,X6)),esk55_6(X1,X2,X3,X4,X5,X6)) = ti(product_prod(X2,X3),X5)
    | ~ hBOOL(hAPP(X1,bool,hAPP(product_prod(X2,X3),fun(X1,bool),hAPP(fun(X2,fun(X3,fun(X1,bool))),fun(product_prod(X2,X3),fun(X1,bool)),product_prod_case(X2,X3,fun(X1,bool)),X4),X5),X6)) ),
    c_0_490,
    [final] ).

cnf(c_0_672,plain,
    hAPP(product_prod(X5,X6),X3,hAPP(fun(X5,fun(X6,X3)),fun(product_prod(X5,X6),X3),product_prod_case(X5,X6,X3),hAPP(fun(X5,fun(X6,product_prod(X1,X2))),fun(X5,fun(X6,X3)),hAPP(fun(fun(X6,product_prod(X1,X2)),fun(X6,X3)),fun(fun(X5,fun(X6,product_prod(X1,X2))),fun(X5,fun(X6,X3))),combb(fun(X6,product_prod(X1,X2)),fun(X6,X3),X5),hAPP(fun(product_prod(X1,X2),X3),fun(fun(X6,product_prod(X1,X2)),fun(X6,X3)),combb(product_prod(X1,X2),X3,X6),hAPP(fun(X1,fun(X2,X3)),fun(product_prod(X1,X2),X3),product_prod_case(X1,X2,X3),X4))),X7)),X8) = hAPP(product_prod(X1,X2),X3,hAPP(fun(X1,fun(X2,X3)),fun(product_prod(X1,X2),X3),product_prod_case(X1,X2,X3),X4),hAPP(product_prod(X5,X6),product_prod(X1,X2),hAPP(fun(X5,fun(X6,product_prod(X1,X2))),fun(product_prod(X5,X6),product_prod(X1,X2)),product_prod_case(X5,X6,product_prod(X1,X2)),X7),X8)),
    c_0_491,
    [final] ).

cnf(c_0_673,plain,
    ( hAPP(X4,product_prod(X3,X4),hAPP(X3,fun(X4,product_prod(X3,X4)),product_Pair(X3,X4),esk64_6(X1,X3,X4,X2,X5,X6)),esk65_6(X1,X3,X4,X2,X5,X6)) = ti(product_prod(X3,X4),X6)
    | ~ hBOOL(hAPP(X1,bool,X2,hAPP(product_prod(X3,X4),X1,hAPP(fun(X3,fun(X4,X1)),fun(product_prod(X3,X4),X1),product_prod_case(X3,X4,X1),X5),X6))) ),
    c_0_492,
    [final] ).

cnf(c_0_674,plain,
    ( hBOOL(hAPP(fun(X1,bool),bool,hAPP(X1,fun(fun(X1,bool),bool),member(X1),X2),hAPP(product_prod(X3,X4),fun(X1,bool),hAPP(fun(X3,fun(X4,fun(X1,bool))),fun(product_prod(X3,X4),fun(X1,bool)),product_prod_case(X3,X4,fun(X1,bool)),X5),X6)))
    | hAPP(X4,product_prod(X3,X4),hAPP(X3,fun(X4,product_prod(X3,X4)),product_Pair(X3,X4),esk60_6(X1,X3,X4,X2,X5,X6)),esk61_6(X1,X3,X4,X2,X5,X6)) = ti(product_prod(X3,X4),X6) ),
    c_0_493,
    [final] ).

cnf(c_0_675,plain,
    ( ti(fun(product_prod(X1,X2),bool),X3) = ti(fun(product_prod(X1,X2),bool),X4)
    | hBOOL(hAPP(fun(product_prod(X1,X2),bool),bool,hAPP(product_prod(X1,X2),fun(fun(product_prod(X1,X2),bool),bool),member(product_prod(X1,X2)),hAPP(X2,product_prod(X1,X2),hAPP(X1,fun(X2,product_prod(X1,X2)),product_Pair(X1,X2),esk41_4(X1,X2,X4,X3)),esk42_4(X1,X2,X4,X3))),X4))
    | hBOOL(hAPP(fun(product_prod(X1,X2),bool),bool,hAPP(product_prod(X1,X2),fun(fun(product_prod(X1,X2),bool),bool),member(product_prod(X1,X2)),hAPP(X2,product_prod(X1,X2),hAPP(X1,fun(X2,product_prod(X1,X2)),product_Pair(X1,X2),esk41_4(X1,X2,X4,X3)),esk42_4(X1,X2,X4,X3))),X3)) ),
    c_0_494,
    [final] ).

cnf(c_0_676,plain,
    ( hBOOL(hAPP(X1,bool,hAPP(product_prod(X2,X3),fun(X1,bool),hAPP(fun(X2,fun(X3,fun(X1,bool))),fun(product_prod(X2,X3),fun(X1,bool)),product_prod_case(X2,X3,fun(X1,bool)),X4),X5),X6))
    | hAPP(X3,product_prod(X2,X3),hAPP(X2,fun(X3,product_prod(X2,X3)),product_Pair(X2,X3),esk58_6(X1,X3,X2,X4,X6,X5)),esk59_6(X1,X3,X2,X4,X6,X5)) = ti(product_prod(X2,X3),X5) ),
    c_0_495,
    [final] ).

cnf(c_0_677,plain,
    ( hAPP(fun(X1,fun(X2,X3)),fun(product_prod(X1,X2),X3),product_prod_case(X1,X2,X3),X4) = ti(fun(product_prod(X1,X2),X3),X5)
    | hAPP(X2,X3,hAPP(X1,fun(X2,X3),X4,esk62_5(X2,X3,X1,X4,X5)),esk63_5(X2,X3,X1,X4,X5)) != hAPP(product_prod(X1,X2),X3,X5,hAPP(X2,product_prod(X1,X2),hAPP(X1,fun(X2,product_prod(X1,X2)),product_Pair(X1,X2),esk62_5(X2,X3,X1,X4,X5)),esk63_5(X2,X3,X1,X4,X5))) ),
    c_0_496,
    [final] ).

cnf(c_0_678,plain,
    hAPP(X1,fun(X2,X1),hAPP(X2,fun(X1,fun(X2,X1)),hAPP(fun(X2,X1),fun(X2,fun(X1,fun(X2,X1))),fun_upd(X2,X1),hAPP(X1,fun(X2,X1),hAPP(X2,fun(X1,fun(X2,X1)),hAPP(fun(X2,X1),fun(X2,fun(X1,fun(X2,X1))),fun_upd(X2,X1),X3),X4),X5)),X4),X6) = hAPP(X1,fun(X2,X1),hAPP(X2,fun(X1,fun(X2,X1)),hAPP(fun(X2,X1),fun(X2,fun(X1,fun(X2,X1))),fun_upd(X2,X1),X3),X4),X6),
    c_0_497,
    [final] ).

cnf(c_0_679,plain,
    ( hBOOL(hAPP(X1,bool,hAPP(X2,fun(X1,bool),hAPP(X3,fun(X2,fun(X1,bool)),X4,X5),X6),X7))
    | ~ hBOOL(hAPP(X1,bool,hAPP(product_prod(X3,X2),fun(X1,bool),hAPP(fun(X3,fun(X2,fun(X1,bool))),fun(product_prod(X3,X2),fun(X1,bool)),product_prod_case(X3,X2,fun(X1,bool)),X4),hAPP(X2,product_prod(X3,X2),hAPP(X3,fun(X2,product_prod(X3,X2)),product_Pair(X3,X2),X5),X6)),X7)) ),
    c_0_498,
    [final] ).

cnf(c_0_680,plain,
    ( hBOOL(hAPP(fun(product_prod(X1,X2),bool),bool,hAPP(product_prod(X1,X2),fun(fun(product_prod(X1,X2),bool),bool),member(product_prod(X1,X2)),hAPP(X2,product_prod(X1,X2),hAPP(X1,fun(X2,product_prod(X1,X2)),product_Pair(X1,X2),X5),X6)),X4))
    | ti(fun(product_prod(X1,X2),bool),X3) != ti(fun(product_prod(X1,X2),bool),X4)
    | ~ hBOOL(hAPP(fun(product_prod(X1,X2),bool),bool,hAPP(product_prod(X1,X2),fun(fun(product_prod(X1,X2),bool),bool),member(product_prod(X1,X2)),hAPP(X2,product_prod(X1,X2),hAPP(X1,fun(X2,product_prod(X1,X2)),product_Pair(X1,X2),X5),X6)),X3)) ),
    c_0_499,
    [final] ).

cnf(c_0_681,plain,
    ( hBOOL(hAPP(fun(product_prod(X1,X2),bool),bool,hAPP(product_prod(X1,X2),fun(fun(product_prod(X1,X2),bool),bool),member(product_prod(X1,X2)),hAPP(X2,product_prod(X1,X2),hAPP(X1,fun(X2,product_prod(X1,X2)),product_Pair(X1,X2),X5),X6)),X3))
    | ti(fun(product_prod(X1,X2),bool),X3) != ti(fun(product_prod(X1,X2),bool),X4)
    | ~ hBOOL(hAPP(fun(product_prod(X1,X2),bool),bool,hAPP(product_prod(X1,X2),fun(fun(product_prod(X1,X2),bool),bool),member(product_prod(X1,X2)),hAPP(X2,product_prod(X1,X2),hAPP(X1,fun(X2,product_prod(X1,X2)),product_Pair(X1,X2),X5),X6)),X4)) ),
    c_0_500,
    [final] ).

cnf(c_0_682,plain,
    ( hBOOL(hAPP(fun(X1,bool),bool,hAPP(X1,fun(fun(X1,bool),bool),member(X1),X2),hAPP(product_prod(X3,X4),fun(X1,bool),hAPP(fun(X3,fun(X4,fun(X1,bool))),fun(product_prod(X3,X4),fun(X1,bool)),product_prod_case(X3,X4,fun(X1,bool)),X5),hAPP(X4,product_prod(X3,X4),hAPP(X3,fun(X4,product_prod(X3,X4)),product_Pair(X3,X4),X6),X7))))
    | ~ hBOOL(hAPP(fun(X1,bool),bool,hAPP(X1,fun(fun(X1,bool),bool),member(X1),X2),hAPP(X4,fun(X1,bool),hAPP(X3,fun(X4,fun(X1,bool)),X5,X6),X7))) ),
    c_0_501,
    [final] ).

cnf(c_0_683,plain,
    hAPP(X1,option(X2),hAPP(option(X2),fun(X1,option(X2)),hAPP(X1,fun(option(X2),fun(X1,option(X2))),hAPP(fun(X1,option(X2)),fun(X1,fun(option(X2),fun(X1,option(X2)))),fun_upd(X1,option(X2)),X3),X4),hAPP(X2,option(X2),some(X2),X5)),esk67_5(X1,X2,X3,X4,X5)) != none(X2),
    c_0_502,
    [final] ).

cnf(c_0_684,plain,
    ti(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X1)))))))),fun(ty,fun(ty,bool))),widen(X1)) = widen(X1),
    c_0_503,
    [final] ).

cnf(c_0_685,plain,
    ( ti(X1,X6) = ti(X1,X4)
    | hAPP(X1,option(X2),X3,X6) = hAPP(X2,option(X2),some(X2),X7)
    | hAPP(X1,option(X2),hAPP(option(X2),fun(X1,option(X2)),hAPP(X1,fun(option(X2),fun(X1,option(X2))),hAPP(fun(X1,option(X2)),fun(X1,fun(option(X2),fun(X1,option(X2)))),fun_upd(X1,option(X2)),X3),X4),hAPP(X2,option(X2),some(X2),X5)),X6) != hAPP(X2,option(X2),some(X2),X7) ),
    c_0_504,
    [final] ).

cnf(c_0_686,plain,
    ( ti(X2,X5) = ti(X2,X7)
    | hAPP(X1,option(X2),X3,X6) = hAPP(X2,option(X2),some(X2),X7)
    | hAPP(X1,option(X2),hAPP(option(X2),fun(X1,option(X2)),hAPP(X1,fun(option(X2),fun(X1,option(X2))),hAPP(fun(X1,option(X2)),fun(X1,fun(option(X2),fun(X1,option(X2)))),fun_upd(X1,option(X2)),X3),X4),hAPP(X2,option(X2),some(X2),X5)),X6) != hAPP(X2,option(X2),some(X2),X7) ),
    c_0_505,
    [final] ).

cnf(c_0_687,plain,
    ( ti(X1,X6) = ti(X1,X4)
    | hAPP(X1,option(X2),hAPP(option(X2),fun(X1,option(X2)),hAPP(X1,fun(option(X2),fun(X1,option(X2))),hAPP(fun(X1,option(X2)),fun(X1,fun(option(X2),fun(X1,option(X2)))),fun_upd(X1,option(X2)),X3),X4),hAPP(X2,option(X2),some(X2),X5)),X6) != hAPP(X2,option(X2),some(X2),X7)
    | ti(X1,X6) != ti(X1,X4) ),
    c_0_506,
    [final] ).

cnf(c_0_688,plain,
    ( ti(X2,X5) = ti(X2,X7)
    | hAPP(X1,option(X2),hAPP(option(X2),fun(X1,option(X2)),hAPP(X1,fun(option(X2),fun(X1,option(X2))),hAPP(fun(X1,option(X2)),fun(X1,fun(option(X2),fun(X1,option(X2)))),fun_upd(X1,option(X2)),X3),X4),hAPP(X2,option(X2),some(X2),X5)),X6) != hAPP(X2,option(X2),some(X2),X7)
    | ti(X1,X6) != ti(X1,X4) ),
    c_0_507,
    [final] ).

cnf(c_0_689,plain,
    hAPP(fun(X1,fun(X2,X3)),fun(product_prod(X1,X2),X3),product_prod_case(X1,X2,X3),hAPP(fun(X1,fun(X2,product_prod(X1,X2))),fun(X1,fun(X2,X3)),hAPP(fun(fun(X2,product_prod(X1,X2)),fun(X2,X3)),fun(fun(X1,fun(X2,product_prod(X1,X2))),fun(X1,fun(X2,X3))),combb(fun(X2,product_prod(X1,X2)),fun(X2,X3),X1),hAPP(fun(product_prod(X1,X2),X3),fun(fun(X2,product_prod(X1,X2)),fun(X2,X3)),combb(product_prod(X1,X2),X3,X2),X4)),product_Pair(X1,X2))) = ti(fun(product_prod(X1,X2),X3),X4),
    c_0_508,
    [final] ).

cnf(c_0_690,plain,
    hAPP(X1,option(X2),hAPP(option(X2),fun(X1,option(X2)),hAPP(X1,fun(option(X2),fun(X1,option(X2))),hAPP(fun(X1,option(X2)),fun(X1,fun(option(X2),fun(X1,option(X2)))),fun_upd(X1,option(X2)),hAPP(option(X2),fun(X1,option(X2)),combk(option(X2),X1),none(X2))),X3),none(X2)),X4) = none(X2),
    c_0_509,
    [final] ).

cnf(c_0_691,plain,
    ( ti(X1,X2) = ti(X1,X3)
    | hAPP(option(X1),fun(X4,option(X1)),hAPP(X4,fun(option(X1),fun(X4,option(X1))),hAPP(fun(X4,option(X1)),fun(X4,fun(option(X1),fun(X4,option(X1)))),fun_upd(X4,option(X1)),X5),X6),hAPP(X1,option(X1),some(X1),X2)) != hAPP(option(X1),fun(X4,option(X1)),hAPP(X4,fun(option(X1),fun(X4,option(X1))),hAPP(fun(X4,option(X1)),fun(X4,fun(option(X1),fun(X4,option(X1)))),fun_upd(X4,option(X1)),X7),X6),hAPP(X1,option(X1),some(X1),X3)) ),
    c_0_510,
    [final] ).

cnf(c_0_692,plain,
    ( hBOOL(hAPP(X1,bool,hAPP(X2,fun(X1,bool),X3,X4),X5))
    | ~ hBOOL(hAPP(product_prod(X2,X1),bool,hAPP(fun(X2,fun(X1,bool)),fun(product_prod(X2,X1),bool),product_prod_case(X2,X1,bool),X3),hAPP(X1,product_prod(X2,X1),hAPP(X2,fun(X1,product_prod(X2,X1)),product_Pair(X2,X1),X4),X5))) ),
    c_0_511,
    [final] ).

cnf(c_0_693,plain,
    ( hBOOL(hAPP(product_prod(X1,X2),bool,hAPP(fun(X1,fun(X2,bool)),fun(product_prod(X1,X2),bool),product_prod_case(X1,X2,bool),X3),X4))
    | ~ hBOOL(hAPP(X2,bool,hAPP(X1,fun(X2,bool),X3,esk50_4(X1,X2,X3,X4)),esk51_4(X1,X2,X3,X4))) ),
    c_0_512,
    [final] ).

cnf(c_0_694,plain,
    ( hBOOL(hAPP(product_prod(X1,X2),bool,X3,X4))
    | ~ hBOOL(hAPP(product_prod(X1,X2),bool,X3,hAPP(X2,product_prod(X1,X2),hAPP(X1,fun(X2,product_prod(X1,X2)),product_Pair(X1,X2),esk33_3(X1,X2,X3)),esk34_3(X1,X2,X3)))) ),
    c_0_513,
    [final] ).

cnf(c_0_695,plain,
    ( hAPP(X1,option(X2),hAPP(option(X2),fun(X1,option(X2)),hAPP(X1,fun(option(X2),fun(X1,option(X2))),hAPP(fun(X1,option(X2)),fun(X1,fun(option(X2),fun(X1,option(X2)))),fun_upd(X1,option(X2)),X3),X4),hAPP(X2,option(X2),some(X2),X5)),X6) = hAPP(X2,option(X2),some(X2),X7)
    | ti(X1,X6) = ti(X1,X4)
    | hAPP(X1,option(X2),X3,X6) != hAPP(X2,option(X2),some(X2),X7) ),
    c_0_514,
    [final] ).

cnf(c_0_696,plain,
    ( hBOOL(hAPP(product_prod(X1,X2),bool,hAPP(fun(X1,fun(X2,bool)),fun(product_prod(X1,X2),bool),product_prod_case(X1,X2,bool),X3),hAPP(X2,product_prod(X1,X2),hAPP(X1,fun(X2,product_prod(X1,X2)),product_Pair(X1,X2),X4),X5)))
    | ~ hBOOL(hAPP(X2,bool,hAPP(X1,fun(X2,bool),X3,X4),X5)) ),
    c_0_515,
    [final] ).

cnf(c_0_697,plain,
    ( hBOOL(hAPP(product_prod(X1,X2),bool,hAPP(fun(X1,fun(X2,bool)),fun(product_prod(X1,X2),bool),product_prod_case(X1,X2,bool),X3),hAPP(X2,product_prod(X1,X2),hAPP(X1,fun(X2,product_prod(X1,X2)),product_Pair(X1,X2),X4),X5)))
    | ~ hBOOL(hAPP(X2,bool,hAPP(X1,fun(X2,bool),X3,X4),X5)) ),
    c_0_516,
    [final] ).

cnf(c_0_698,plain,
    ( hBOOL(hAPP(X2,bool,hAPP(X1,fun(X2,bool),X3,esk52_4(X1,X2,X3,X4)),esk53_4(X1,X2,X3,X4)))
    | ~ hBOOL(hAPP(product_prod(X1,X2),bool,hAPP(fun(X1,fun(X2,bool)),fun(product_prod(X1,X2),bool),product_prod_case(X1,X2,bool),X3),X4)) ),
    c_0_517,
    [final] ).

cnf(c_0_699,plain,
    ( hAPP(X1,option(X2),hAPP(option(X2),fun(X1,option(X2)),hAPP(X1,fun(option(X2),fun(X1,option(X2))),hAPP(fun(X1,option(X2)),fun(X1,fun(option(X2),fun(X1,option(X2)))),fun_upd(X1,option(X2)),X3),X4),hAPP(X2,option(X2),some(X2),X5)),X6) = hAPP(X2,option(X2),some(X2),X7)
    | ti(X2,X5) != ti(X2,X7)
    | ti(X1,X6) != ti(X1,X4) ),
    c_0_518,
    [final] ).

cnf(c_0_700,plain,
    ( hBOOL(hAPP(product_prod(X1,X2),bool,X3,esk47_3(X1,X2,X3)))
    | ~ hBOOL(hAPP(product_prod(X1,X2),bool,X3,hAPP(X2,product_prod(X1,X2),hAPP(X1,fun(X2,product_prod(X1,X2)),product_Pair(X1,X2),X4),X5))) ),
    c_0_519,
    [final] ).

cnf(c_0_701,plain,
    hAPP(product_prod(X2,X3),product_prod(X1,product_prod(X2,X3)),hAPP(X1,fun(product_prod(X2,X3),product_prod(X1,product_prod(X2,X3))),product_Pair(X1,product_prod(X2,X3)),esk35_4(X1,X2,X3,X4)),hAPP(X3,product_prod(X2,X3),hAPP(X2,fun(X3,product_prod(X2,X3)),product_Pair(X2,X3),esk36_4(X1,X2,X3,X4)),esk37_4(X1,X2,X3,X4))) = ti(product_prod(X1,product_prod(X2,X3)),X4),
    c_0_520,
    [final] ).

cnf(c_0_702,plain,
    ( ti(X1,X2) = ti(X1,X5)
    | hAPP(exp(X1),exp(X1),hAPP(ty,fun(exp(X1),exp(X1)),hAPP(X1,fun(ty,fun(exp(X1),exp(X1))),block(X1),X2),X3),X4) != hAPP(exp(X1),exp(X1),hAPP(ty,fun(exp(X1),exp(X1)),hAPP(X1,fun(ty,fun(exp(X1),exp(X1))),block(X1),X5),X6),X7) ),
    c_0_521,
    [final] ).

cnf(c_0_703,plain,
    ( X3 = X6
    | hAPP(exp(X1),exp(X1),hAPP(ty,fun(exp(X1),exp(X1)),hAPP(X1,fun(ty,fun(exp(X1),exp(X1))),block(X1),X2),X3),X4) != hAPP(exp(X1),exp(X1),hAPP(ty,fun(exp(X1),exp(X1)),hAPP(X1,fun(ty,fun(exp(X1),exp(X1))),block(X1),X5),X6),X7) ),
    c_0_522,
    [final] ).

cnf(c_0_704,plain,
    ( X4 = X7
    | hAPP(exp(X1),exp(X1),hAPP(ty,fun(exp(X1),exp(X1)),hAPP(X1,fun(ty,fun(exp(X1),exp(X1))),block(X1),X2),X3),X4) != hAPP(exp(X1),exp(X1),hAPP(ty,fun(exp(X1),exp(X1)),hAPP(X1,fun(ty,fun(exp(X1),exp(X1))),block(X1),X5),X6),X7) ),
    c_0_523,
    [final] ).

cnf(c_0_705,plain,
    ( hBOOL(hAPP(product_prod(X1,X2),bool,X3,hAPP(X2,product_prod(X1,X2),hAPP(X1,fun(X2,product_prod(X1,X2)),product_Pair(X1,X2),esk45_3(X1,X2,X3)),esk46_3(X1,X2,X3))))
    | ~ hBOOL(hAPP(product_prod(X1,X2),bool,X3,X4)) ),
    c_0_524,
    [final] ).

cnf(c_0_706,plain,
    ( hAPP(X2,product_prod(X1,X2),hAPP(X1,fun(X2,product_prod(X1,X2)),product_Pair(X1,X2),esk52_4(X1,X2,X3,X4)),esk53_4(X1,X2,X3,X4)) = ti(product_prod(X1,X2),X4)
    | ~ hBOOL(hAPP(product_prod(X1,X2),bool,hAPP(fun(X1,fun(X2,bool)),fun(product_prod(X1,X2),bool),product_prod_case(X1,X2,bool),X3),X4)) ),
    c_0_525,
    [final] ).

cnf(c_0_707,plain,
    ti(fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),hp) = hp,
    c_0_526,
    [final] ).

cnf(c_0_708,plain,
    ( hAPP(X1,X2,hAPP(X2,fun(X1,X2),hAPP(X1,fun(X2,fun(X1,X2)),hAPP(fun(X1,X2),fun(X1,fun(X2,fun(X1,X2))),fun_upd(X1,X2),X3),X4),X5),X6) = hAPP(X1,X2,X3,X6)
    | ti(X1,X6) = ti(X1,X4) ),
    c_0_527,
    [final] ).

cnf(c_0_709,plain,
    ( hAPP(X1,X2,hAPP(X2,fun(X1,X2),hAPP(X1,fun(X2,fun(X1,X2)),hAPP(fun(X1,X2),fun(X1,fun(X2,fun(X1,X2))),fun_upd(X1,X2),X3),X4),X5),X6) = hAPP(X1,X2,X3,X6)
    | ti(X1,X6) = ti(X1,X4) ),
    c_0_528,
    [final] ).

cnf(c_0_710,plain,
    ( hAPP(X1,X2,hAPP(X2,fun(X1,X2),hAPP(X1,fun(X2,fun(X1,X2)),hAPP(fun(X1,X2),fun(X1,fun(X2,fun(X1,X2))),fun_upd(X1,X2),X3),X4),X5),X6) = hAPP(X1,X2,X3,X6)
    | ti(X1,X6) = ti(X1,X4) ),
    c_0_529,
    [final] ).

cnf(c_0_711,plain,
    ( hAPP(X1,X2,hAPP(X2,fun(X1,X2),hAPP(X1,fun(X2,fun(X1,X2)),hAPP(fun(X1,X2),fun(X1,fun(X2,fun(X1,X2))),fun_upd(X1,X2),X3),X4),X5),X6) = ti(X2,X5)
    | ti(X1,X6) != ti(X1,X4) ),
    c_0_530,
    [final] ).

cnf(c_0_712,plain,
    ( hAPP(X1,X2,hAPP(X2,fun(X1,X2),hAPP(X1,fun(X2,fun(X1,X2)),hAPP(fun(X1,X2),fun(X1,fun(X2,fun(X1,X2))),fun_upd(X1,X2),X3),X4),X5),X6) = ti(X2,X5)
    | ti(X1,X6) != ti(X1,X4) ),
    c_0_531,
    [final] ).

cnf(c_0_713,plain,
    hAPP(X1,X2,hAPP(X2,fun(X1,X2),hAPP(X1,fun(X2,fun(X1,X2)),hAPP(fun(X1,X2),fun(X1,fun(X2,fun(X1,X2))),fun_upd(X1,X2),X3),X4),X5),X4) = ti(X2,X5),
    c_0_532,
    [final] ).

cnf(c_0_714,plain,
    ( hBOOL(hAPP(product_prod(X1,X2),bool,X3,hAPP(X2,product_prod(X1,X2),hAPP(X1,fun(X2,product_prod(X1,X2)),product_Pair(X1,X2),X4),X5)))
    | ~ hBOOL(hAPP(product_prod(X1,X2),bool,X3,esk32_3(X1,X2,X3))) ),
    c_0_533,
    [final] ).

cnf(c_0_715,plain,
    hAPP(exp(X1),exp(X1),hAPP(exp(X1),fun(exp(X1),exp(X1)),seq(X1),X2),X3) != hAPP(exp(X1),exp(X1),hAPP(ty,fun(exp(X1),exp(X1)),hAPP(X1,fun(ty,fun(exp(X1),exp(X1))),block(X1),X4),X5),X6),
    c_0_534,
    [final] ).

cnf(c_0_716,plain,
    hAPP(exp(X1),exp(X1),hAPP(ty,fun(exp(X1),exp(X1)),hAPP(X1,fun(ty,fun(exp(X1),exp(X1))),block(X1),X2),X3),X4) != hAPP(exp(X1),exp(X1),hAPP(exp(X1),fun(exp(X1),exp(X1)),seq(X1),X5),X6),
    c_0_535,
    [final] ).

cnf(c_0_717,plain,
    hAPP(exp(X1),exp(X1),hAPP(X1,fun(exp(X1),exp(X1)),lAss(X1),X2),X3) != hAPP(exp(X1),exp(X1),hAPP(ty,fun(exp(X1),exp(X1)),hAPP(X1,fun(ty,fun(exp(X1),exp(X1))),block(X1),X4),X5),X6),
    c_0_536,
    [final] ).

cnf(c_0_718,plain,
    hAPP(exp(X1),exp(X1),hAPP(ty,fun(exp(X1),exp(X1)),hAPP(X1,fun(ty,fun(exp(X1),exp(X1))),block(X1),X2),X3),X4) != hAPP(exp(X1),exp(X1),hAPP(X1,fun(exp(X1),exp(X1)),lAss(X1),X5),X6),
    c_0_537,
    [final] ).

cnf(c_0_719,plain,
    ( hBOOL(hAPP(product_prod(X1,X2),bool,hAPP(fun(X1,fun(X2,bool)),fun(product_prod(X1,X2),bool),product_prod_case(X1,X2,bool),X3),X4))
    | hAPP(X2,product_prod(X1,X2),hAPP(X1,fun(X2,product_prod(X1,X2)),product_Pair(X1,X2),esk50_4(X1,X2,X3,X4)),esk51_4(X1,X2,X3,X4)) = ti(product_prod(X1,X2),X4) ),
    c_0_538,
    [final] ).

cnf(c_0_720,plain,
    ( hAPP(X1,X2,X3,X4) = ti(X2,X5)
    | hAPP(X2,fun(X1,X2),hAPP(X1,fun(X2,fun(X1,X2)),hAPP(fun(X1,X2),fun(X1,fun(X2,fun(X1,X2))),fun_upd(X1,X2),X3),X4),X5) != ti(fun(X1,X2),X3) ),
    c_0_539,
    [final] ).

cnf(c_0_721,plain,
    ( hAPP(exp(X1),exp(X1),hAPP(ty,fun(exp(X1),exp(X1)),hAPP(X1,fun(ty,fun(exp(X1),exp(X1))),block(X1),X2),X3),X4) = hAPP(exp(X1),exp(X1),hAPP(ty,fun(exp(X1),exp(X1)),hAPP(X1,fun(ty,fun(exp(X1),exp(X1))),block(X1),X5),X6),X7)
    | X4 != X7
    | X3 != X6
    | ti(X1,X2) != ti(X1,X5) ),
    c_0_540,
    [final] ).

cnf(c_0_722,plain,
    ( hAPP(option(X1),fun(X2,option(X1)),hAPP(X2,fun(option(X1),fun(X2,option(X1))),hAPP(fun(X2,option(X1)),fun(X2,fun(option(X1),fun(X2,option(X1)))),fun_upd(X2,option(X1)),X3),X4),hAPP(X1,option(X1),some(X1),X5)) = ti(fun(X2,option(X1)),X3)
    | hAPP(X2,option(X1),X3,X4) != hAPP(X1,option(X1),some(X1),X5) ),
    c_0_541,
    [final] ).

cnf(c_0_723,plain,
    hAPP(X1,X2,hAPP(fun(X1,X3),fun(X1,X2),hAPP(fun(X1,fun(X3,X2)),fun(fun(X1,X3),fun(X1,X2)),combs(X1,X3,X2),X4),X5),X6) = hAPP(X3,X2,hAPP(X1,fun(X3,X2),X4,X6),hAPP(X1,X3,X5,X6)),
    c_0_542,
    [final] ).

cnf(c_0_724,plain,
    hAPP(exp(X1),exp(X1),hAPP(ty,fun(exp(X1),exp(X1)),hAPP(X1,fun(ty,fun(exp(X1),exp(X1))),block(X1),X2),X3),X4) != hAPP(val,exp(X1),val_1(X1),X5),
    c_0_543,
    [final] ).

cnf(c_0_725,plain,
    hAPP(val,exp(X1),val_1(X1),X2) != hAPP(exp(X1),exp(X1),hAPP(ty,fun(exp(X1),exp(X1)),hAPP(X1,fun(ty,fun(exp(X1),exp(X1))),block(X1),X3),X4),X5),
    c_0_544,
    [final] ).

cnf(c_0_726,plain,
    hAPP(product_prod(X1,X2),X3,hAPP(fun(X1,fun(X2,X3)),fun(product_prod(X1,X2),X3),product_prod_case(X1,X2,X3),X4),hAPP(X2,product_prod(X1,X2),hAPP(X1,fun(X2,product_prod(X1,X2)),product_Pair(X1,X2),X5),X6)) = hAPP(X2,X3,hAPP(X1,fun(X2,X3),X4,X5),X6),
    c_0_545,
    [final] ).

cnf(c_0_727,plain,
    hAPP(product_prod(X1,X2),X3,hAPP(fun(X1,fun(X2,X3)),fun(product_prod(X1,X2),X3),product_prod_case(X1,X2,X3),X4),hAPP(X2,product_prod(X1,X2),hAPP(X1,fun(X2,product_prod(X1,X2)),product_Pair(X1,X2),X5),X6)) = hAPP(X2,X3,hAPP(X1,fun(X2,X3),X4,X5),X6),
    c_0_546,
    [final] ).

cnf(c_0_728,plain,
    hAPP(product_prod(X1,X2),X3,hAPP(fun(X1,fun(X2,X3)),fun(product_prod(X1,X2),X3),produc1605651328_split(X1,X2,X3),X4),hAPP(X2,product_prod(X1,X2),hAPP(X1,fun(X2,product_prod(X1,X2)),product_Pair(X1,X2),X5),X6)) = hAPP(X2,X3,hAPP(X1,fun(X2,X3),X4,X5),X6),
    c_0_547,
    [final] ).

cnf(c_0_729,plain,
    hAPP(product_prod(X1,X2),X3,hAPP(fun(X1,fun(X2,X3)),fun(product_prod(X1,X2),X3),product_prod_rec(X1,X2,X3),X4),hAPP(X2,product_prod(X1,X2),hAPP(X1,fun(X2,product_prod(X1,X2)),product_Pair(X1,X2),X5),X6)) = hAPP(X2,X3,hAPP(X1,fun(X2,X3),X4,X5),X6),
    c_0_548,
    [final] ).

cnf(c_0_730,plain,
    hAPP(X1,X2,hAPP(X3,fun(X1,X2),hAPP(fun(X1,fun(X3,X2)),fun(X3,fun(X1,X2)),combc(X1,X3,X2),X4),X5),X6) = hAPP(X3,X2,hAPP(X1,fun(X3,X2),X4,X6),X5),
    c_0_549,
    [final] ).

cnf(c_0_731,plain,
    hAPP(X1,X2,hAPP(fun(X1,X3),fun(X1,X2),hAPP(fun(X3,X2),fun(fun(X1,X3),fun(X1,X2)),combb(X3,X2,X1),X4),X5),X6) = hAPP(X3,X2,X4,hAPP(X1,X3,X5,X6)),
    c_0_550,
    [final] ).

cnf(c_0_732,plain,
    hAPP(X1,fun(X2,X1),hAPP(X2,fun(X1,fun(X2,X1)),hAPP(fun(X2,X1),fun(X2,fun(X1,fun(X2,X1))),fun_upd(X2,X1),X3),X4),hAPP(X2,X1,X3,X4)) = ti(fun(X2,X1),X3),
    c_0_551,
    [final] ).

cnf(c_0_733,plain,
    ( hBOOL(hAPP(X1,bool,X2,X3))
    | ~ hBOOL(hAPP(fun(X1,bool),bool,hAPP(X1,fun(fun(X1,bool),bool),member(X1),X3),X2)) ),
    c_0_552,
    [final] ).

cnf(c_0_734,plain,
    ( hAPP(X1,fun(X2,X1),hAPP(X2,fun(X1,fun(X2,X1)),hAPP(fun(X2,X1),fun(X2,fun(X1,fun(X2,X1))),fun_upd(X2,X1),X3),X4),X5) = ti(fun(X2,X1),X3)
    | hAPP(X2,X1,X3,X4) != ti(X1,X5) ),
    c_0_553,
    [final] ).

cnf(c_0_735,plain,
    ( hAPP(X1,fun(X2,X1),hAPP(X2,fun(X1,fun(X2,X1)),hAPP(fun(X2,X1),fun(X2,fun(X1,fun(X2,X1))),fun_upd(X2,X1),X3),X4),X5) = ti(fun(X2,X1),X3)
    | hAPP(X2,X1,X3,X4) != ti(X1,X5) ),
    c_0_554,
    [final] ).

cnf(c_0_736,plain,
    ( ti(X2,X3) = ti(X2,X5)
    | hAPP(X1,product_prod(X2,X1),hAPP(X2,fun(X1,product_prod(X2,X1)),product_Pair(X2,X1),X3),X4) != hAPP(X1,product_prod(X2,X1),hAPP(X2,fun(X1,product_prod(X2,X1)),product_Pair(X2,X1),X5),X6) ),
    c_0_555,
    [final] ).

cnf(c_0_737,plain,
    ( ti(X1,X4) = ti(X1,X6)
    | hAPP(X1,product_prod(X2,X1),hAPP(X2,fun(X1,product_prod(X2,X1)),product_Pair(X2,X1),X3),X4) != hAPP(X1,product_prod(X2,X1),hAPP(X2,fun(X1,product_prod(X2,X1)),product_Pair(X2,X1),X5),X6) ),
    c_0_556,
    [final] ).

cnf(c_0_738,plain,
    ( ti(X2,X3) = ti(X2,X5)
    | hAPP(X1,product_prod(X2,X1),hAPP(X2,fun(X1,product_prod(X2,X1)),product_Pair(X2,X1),X3),X4) != hAPP(X1,product_prod(X2,X1),hAPP(X2,fun(X1,product_prod(X2,X1)),product_Pair(X2,X1),X5),X6) ),
    c_0_557,
    [final] ).

cnf(c_0_739,plain,
    ( ti(X1,X4) = ti(X1,X6)
    | hAPP(X1,product_prod(X2,X1),hAPP(X2,fun(X1,product_prod(X2,X1)),product_Pair(X2,X1),X3),X4) != hAPP(X1,product_prod(X2,X1),hAPP(X2,fun(X1,product_prod(X2,X1)),product_Pair(X2,X1),X5),X6) ),
    c_0_558,
    [final] ).

cnf(c_0_740,plain,
    ( X2 = X4
    | hAPP(exp(X1),exp(X1),hAPP(exp(X1),fun(exp(X1),exp(X1)),seq(X1),X2),X3) != hAPP(exp(X1),exp(X1),hAPP(exp(X1),fun(exp(X1),exp(X1)),seq(X1),X4),X5) ),
    c_0_559,
    [final] ).

cnf(c_0_741,plain,
    ( X3 = X5
    | hAPP(exp(X1),exp(X1),hAPP(exp(X1),fun(exp(X1),exp(X1)),seq(X1),X2),X3) != hAPP(exp(X1),exp(X1),hAPP(exp(X1),fun(exp(X1),exp(X1)),seq(X1),X4),X5) ),
    c_0_560,
    [final] ).

cnf(c_0_742,plain,
    ( ti(X1,X2) = ti(X1,X4)
    | hAPP(exp(X1),exp(X1),hAPP(X1,fun(exp(X1),exp(X1)),lAss(X1),X2),X3) != hAPP(exp(X1),exp(X1),hAPP(X1,fun(exp(X1),exp(X1)),lAss(X1),X4),X5) ),
    c_0_561,
    [final] ).

cnf(c_0_743,plain,
    hAPP(exp(X1),exp(X1),hAPP(X1,fun(exp(X1),exp(X1)),lAss(X1),X2),X3) != hAPP(exp(X1),exp(X1),hAPP(exp(X1),fun(exp(X1),exp(X1)),seq(X1),X4),X5),
    c_0_562,
    [final] ).

cnf(c_0_744,plain,
    hAPP(exp(X1),exp(X1),hAPP(exp(X1),fun(exp(X1),exp(X1)),seq(X1),X2),X3) != hAPP(exp(X1),exp(X1),hAPP(X1,fun(exp(X1),exp(X1)),lAss(X1),X4),X5),
    c_0_563,
    [final] ).

cnf(c_0_745,plain,
    ( X3 = X5
    | hAPP(exp(X1),exp(X1),hAPP(X1,fun(exp(X1),exp(X1)),lAss(X1),X2),X3) != hAPP(exp(X1),exp(X1),hAPP(X1,fun(exp(X1),exp(X1)),lAss(X1),X4),X5) ),
    c_0_564,
    [final] ).

cnf(c_0_746,plain,
    ( hAPP(product_prod(X1,X2),X3,hAPP(fun(X1,fun(X2,X3)),fun(product_prod(X1,X2),X3),product_prod_case(X1,X2,X3),X4),X5) = hAPP(product_prod(X1,X2),X3,hAPP(fun(X1,fun(X2,X3)),fun(product_prod(X1,X2),X3),product_prod_case(X1,X2,X3),X4),X6)
    | ti(product_prod(X1,X2),X5) != ti(product_prod(X1,X2),X6) ),
    c_0_565,
    [final] ).

cnf(c_0_747,plain,
    ( hBOOL(hAPP(fun(X1,bool),bool,hAPP(X1,fun(fun(X1,bool),bool),member(X1),X2),X3))
    | ~ hBOOL(hAPP(X1,bool,X3,X2)) ),
    c_0_566,
    [final] ).

cnf(c_0_748,plain,
    ( hBOOL(X1)
    | ~ hBOOL(hAPP(bool,bool,hAPP(bool,fun(bool,bool),fconj,X2),X1)) ),
    c_0_567,
    [final] ).

cnf(c_0_749,plain,
    ( hBOOL(X1)
    | ~ hBOOL(hAPP(bool,bool,hAPP(bool,fun(bool,bool),fconj,X1),X2)) ),
    c_0_568,
    [final] ).

cnf(c_0_750,plain,
    ( ti(fun(X1,X2),X3) = ti(fun(X1,X2),X4)
    | hAPP(X1,X2,X3,esk66_4(X1,X2,X3,X4)) != hAPP(X1,X2,X4,esk66_4(X1,X2,X3,X4)) ),
    c_0_569,
    [final] ).

cnf(c_0_751,plain,
    ( hAPP(X1,product_prod(X2,X1),hAPP(X2,fun(X1,product_prod(X2,X1)),product_Pair(X2,X1),X3),X4) = hAPP(X1,product_prod(X2,X1),hAPP(X2,fun(X1,product_prod(X2,X1)),product_Pair(X2,X1),X5),X6)
    | ti(X1,X4) != ti(X1,X6)
    | ti(X2,X3) != ti(X2,X5) ),
    c_0_570,
    [final] ).

cnf(c_0_752,plain,
    hAPP(exp(X1),exp(X1),hAPP(exp(X1),fun(exp(X1),exp(X1)),seq(X1),X2),X3) != hAPP(val,exp(X1),val_1(X1),X4),
    c_0_571,
    [final] ).

cnf(c_0_753,plain,
    hAPP(val,exp(X1),val_1(X1),X2) != hAPP(exp(X1),exp(X1),hAPP(exp(X1),fun(exp(X1),exp(X1)),seq(X1),X3),X4),
    c_0_572,
    [final] ).

cnf(c_0_754,plain,
    ( hAPP(exp(X1),exp(X1),hAPP(X1,fun(exp(X1),exp(X1)),lAss(X1),X2),X3) = hAPP(exp(X1),exp(X1),hAPP(X1,fun(exp(X1),exp(X1)),lAss(X1),X4),X5)
    | X3 != X5
    | ti(X1,X2) != ti(X1,X4) ),
    c_0_573,
    [final] ).

cnf(c_0_755,plain,
    hAPP(exp(X1),exp(X1),hAPP(X1,fun(exp(X1),exp(X1)),lAss(X1),X2),X3) != hAPP(val,exp(X1),val_1(X1),X4),
    c_0_574,
    [final] ).

cnf(c_0_756,plain,
    hAPP(val,exp(X1),val_1(X1),X2) != hAPP(exp(X1),exp(X1),hAPP(X1,fun(exp(X1),exp(X1)),lAss(X1),X3),X4),
    c_0_575,
    [final] ).

cnf(c_0_757,plain,
    ( hAPP(exp(X1),exp(X1),hAPP(exp(X1),fun(exp(X1),exp(X1)),seq(X1),X2),X3) = hAPP(exp(X1),exp(X1),hAPP(exp(X1),fun(exp(X1),exp(X1)),seq(X1),X4),X5)
    | X3 != X5
    | X2 != X4 ),
    c_0_576,
    [final] ).

cnf(c_0_758,plain,
    ( hBOOL(hAPP(bool,bool,hAPP(bool,fun(bool,bool),fconj,X1),X2))
    | ~ hBOOL(X2)
    | ~ hBOOL(X1) ),
    c_0_577,
    [final] ).

cnf(c_0_759,plain,
    hAPP(X2,product_prod(X1,X2),hAPP(X1,fun(X2,product_prod(X1,X2)),product_Pair(X1,X2),esk48_3(X1,X2,X3)),esk49_3(X1,X2,X3)) = ti(product_prod(X1,X2),X3),
    c_0_578,
    [final] ).

cnf(c_0_760,plain,
    hAPP(X2,product_prod(X1,X2),hAPP(X1,fun(X2,product_prod(X1,X2)),product_Pair(X1,X2),esk43_3(X1,X2,X3)),esk44_3(X1,X2,X3)) = ti(product_prod(X1,X2),X3),
    c_0_579,
    [final] ).

cnf(c_0_761,plain,
    hAPP(X1,X2,hAPP(X2,fun(X1,X2),combk(X2,X1),X3),X4) = ti(X2,X3),
    c_0_580,
    [final] ).

cnf(c_0_762,plain,
    ( X1 = X2
    | hAPP(val,exp(X3),val_1(X3),X1) != hAPP(val,exp(X3),val_1(X3),X2) ),
    c_0_581,
    [final] ).

cnf(c_0_763,plain,
    ti(X1,hAPP(X2,X1,X3,X4)) = hAPP(X2,X1,X3,X4),
    c_0_582,
    [final] ).

cnf(c_0_764,plain,
    ti(fun(fun(X1,fun(X2,X3)),fun(fun(X1,X2),fun(X1,X3))),combs(X1,X2,X3)) = combs(X1,X2,X3),
    c_0_583,
    [final] ).

cnf(c_0_765,plain,
    hAPP(X1,X2,ti(fun(X1,X2),X3),X4) = hAPP(X1,X2,X3,X4),
    c_0_584,
    [final] ).

cnf(c_0_766,plain,
    hAPP(X1,X2,X3,ti(X1,X4)) = hAPP(X1,X2,X3,X4),
    c_0_585,
    [final] ).

cnf(c_0_767,plain,
    ( hAPP(val,exp(X1),val_1(X1),X2) = hAPP(val,exp(X1),val_1(X1),X3)
    | X2 != X3 ),
    c_0_586,
    [final] ).

cnf(c_0_768,plain,
    ti(fun(fun(X1,fun(X2,X3)),fun(product_prod(X1,X2),X3)),product_prod_rec(X1,X2,X3)) = product_prod_rec(X1,X2,X3),
    c_0_587,
    [final] ).

cnf(c_0_769,plain,
    ti(fun(fun(X1,fun(X2,X3)),fun(product_prod(X1,X2),X3)),product_prod_case(X1,X2,X3)) = product_prod_case(X1,X2,X3),
    c_0_588,
    [final] ).

cnf(c_0_770,plain,
    ti(fun(fun(X1,fun(X2,X3)),fun(product_prod(X1,X2),X3)),produc1605651328_split(X1,X2,X3)) = produc1605651328_split(X1,X2,X3),
    c_0_589,
    [final] ).

cnf(c_0_771,plain,
    ti(fun(fun(X1,fun(X2,X3)),fun(X2,fun(X1,X3))),combc(X1,X2,X3)) = combc(X1,X2,X3),
    c_0_590,
    [final] ).

cnf(c_0_772,plain,
    ti(fun(fun(X1,X2),fun(fun(X3,X1),fun(X3,X2))),combb(X1,X2,X3)) = combb(X1,X2,X3),
    c_0_591,
    [final] ).

cnf(c_0_773,plain,
    hAPP(list(char),option(val),l_a,v_1) = hAPP(val,option(val),some(val),v_2),
    c_0_592,
    [final] ).

cnf(c_0_774,plain,
    ti(fun(fun(X1,X2),fun(X1,fun(X2,fun(X1,X2)))),fun_upd(X1,X2)) = fun_upd(X1,X2),
    c_0_593,
    [final] ).

cnf(c_0_775,plain,
    ti(fun(X1,fun(ty,fun(exp(X1),exp(X1)))),block(X1)) = block(X1),
    c_0_594,
    [final] ).

cnf(c_0_776,plain,
    ti(fun(X1,fun(X2,product_prod(X1,X2))),product_Pair(X1,X2)) = product_Pair(X1,X2),
    c_0_595,
    [final] ).

cnf(c_0_777,plain,
    ti(fun(X1,fun(fun(X1,bool),bool)),member(X1)) = member(X1),
    c_0_596,
    [final] ).

cnf(c_0_778,plain,
    ti(fun(exp(X1),fun(exp(X1),exp(X1))),seq(X1)) = seq(X1),
    c_0_597,
    [final] ).

cnf(c_0_779,plain,
    ti(fun(X1,fun(exp(X1),exp(X1))),lAss(X1)) = lAss(X1),
    c_0_598,
    [final] ).

cnf(c_0_780,plain,
    ti(fun(list(char),fun(exp(list(char)),bool)),assigned) = assigned,
    c_0_599,
    [final] ).

cnf(c_0_781,plain,
    ti(fun(X1,fun(X2,X1)),combk(X1,X2)) = combk(X1,X2),
    c_0_600,
    [final] ).

cnf(c_0_782,plain,
    product_prod_case(X1,X2,X3) = produc1605651328_split(X1,X2,X3),
    c_0_601,
    [final] ).

cnf(c_0_783,plain,
    ti(fun(bool,fun(bool,bool)),fconj) = fconj,
    c_0_602,
    [final] ).

cnf(c_0_784,plain,
    ti(fun(X1,option(X1)),some(X1)) = some(X1),
    c_0_603,
    [final] ).

cnf(c_0_785,plain,
    ti(fun(val,exp(X1)),val_1(X1)) = val_1(X1),
    c_0_604,
    [final] ).

cnf(c_0_786,plain,
    ti(X1,ti(X1,X2)) = ti(X1,X2),
    c_0_605,
    [final] ).

cnf(c_0_787,plain,
    ti(fun(list(char),option(ty)),e) = e,
    c_0_606,
    [final] ).

cnf(c_0_788,plain,
    ti(option(X1),none(X1)) = none(X1),
    c_0_607,
    [final] ).

cnf(c_0_789,plain,
    ti(X1,undefined(X1)) = undefined(X1),
    c_0_608,
    [final] ).

cnf(c_0_790,plain,
    ti(val,v_2) = v_2,
    c_0_609,
    [final] ).

cnf(c_0_791,plain,
    ti(ty,t_1) = t_1,
    c_0_610,
    [final] ).

cnf(c_0_792,plain,
    ti(ty,t) = t,
    c_0_611,
    [final] ).

cnf(c_0_793,plain,
    ti(val,unit) = unit,
    c_0_612,
    [final] ).

% End CNF derivation
% Generating one_way clauses for all literals in the CNF.
cnf(c_0_613_0,axiom,
    ( hBOOL(hAPP(product_prod(X1,product_prod(X2,product_prod(X3,product_prod(X4,product_prod(X5,X6))))),bool,X7,X8))
    | ~ hBOOL(hAPP(product_prod(X1,product_prod(X2,product_prod(X3,product_prod(X4,product_prod(X5,X6))))),bool,X7,hAPP(product_prod(X2,product_prod(X3,product_prod(X4,product_prod(X5,X6)))),product_prod(X1,product_prod(X2,product_prod(X3,product_prod(X4,product_prod(X5,X6))))),hAPP(X1,fun(product_prod(X2,product_prod(X3,product_prod(X4,product_prod(X5,X6)))),product_prod(X1,product_prod(X2,product_prod(X3,product_prod(X4,product_prod(X5,X6)))))),product_Pair(X1,product_prod(X2,product_prod(X3,product_prod(X4,product_prod(X5,X6))))),sk1_esk2_8(X1,X2,X3,X4,X5,X6,X8,X7)),hAPP(product_prod(X3,product_prod(X4,product_prod(X5,X6))),product_prod(X2,product_prod(X3,product_prod(X4,product_prod(X5,X6)))),hAPP(X2,fun(product_prod(X3,product_prod(X4,product_prod(X5,X6))),product_prod(X2,product_prod(X3,product_prod(X4,product_prod(X5,X6))))),product_Pair(X2,product_prod(X3,product_prod(X4,product_prod(X5,X6)))),sk1_esk3_8(X1,X2,X3,X4,X5,X6,X8,X7)),hAPP(product_prod(X4,product_prod(X5,X6)),product_prod(X3,product_prod(X4,product_prod(X5,X6))),hAPP(X3,fun(product_prod(X4,product_prod(X5,X6)),product_prod(X3,product_prod(X4,product_prod(X5,X6)))),product_Pair(X3,product_prod(X4,product_prod(X5,X6))),sk1_esk4_8(X1,X2,X3,X4,X5,X6,X8,X7)),hAPP(product_prod(X5,X6),product_prod(X4,product_prod(X5,X6)),hAPP(X4,fun(product_prod(X5,X6),product_prod(X4,product_prod(X5,X6))),product_Pair(X4,product_prod(X5,X6)),sk1_esk5_8(X1,X2,X3,X4,X5,X6,X8,X7)),hAPP(X6,product_prod(X5,X6),hAPP(X5,fun(X6,product_prod(X5,X6)),product_Pair(X5,X6),sk1_esk6_8(X1,X2,X3,X4,X5,X6,X8,X7)),sk1_esk7_8(X1,X2,X3,X4,X5,X6,X8,X7)))))))) ),
    inference(literals_permutation,[status(thm)],[c_0_613]) ).

cnf(c_0_613_1,axiom,
    ( ~ hBOOL(hAPP(product_prod(X1,product_prod(X2,product_prod(X3,product_prod(X4,product_prod(X5,X6))))),bool,X7,hAPP(product_prod(X2,product_prod(X3,product_prod(X4,product_prod(X5,X6)))),product_prod(X1,product_prod(X2,product_prod(X3,product_prod(X4,product_prod(X5,X6))))),hAPP(X1,fun(product_prod(X2,product_prod(X3,product_prod(X4,product_prod(X5,X6)))),product_prod(X1,product_prod(X2,product_prod(X3,product_prod(X4,product_prod(X5,X6)))))),product_Pair(X1,product_prod(X2,product_prod(X3,product_prod(X4,product_prod(X5,X6))))),sk1_esk2_8(X1,X2,X3,X4,X5,X6,X8,X7)),hAPP(product_prod(X3,product_prod(X4,product_prod(X5,X6))),product_prod(X2,product_prod(X3,product_prod(X4,product_prod(X5,X6)))),hAPP(X2,fun(product_prod(X3,product_prod(X4,product_prod(X5,X6))),product_prod(X2,product_prod(X3,product_prod(X4,product_prod(X5,X6))))),product_Pair(X2,product_prod(X3,product_prod(X4,product_prod(X5,X6)))),sk1_esk3_8(X1,X2,X3,X4,X5,X6,X8,X7)),hAPP(product_prod(X4,product_prod(X5,X6)),product_prod(X3,product_prod(X4,product_prod(X5,X6))),hAPP(X3,fun(product_prod(X4,product_prod(X5,X6)),product_prod(X3,product_prod(X4,product_prod(X5,X6)))),product_Pair(X3,product_prod(X4,product_prod(X5,X6))),sk1_esk4_8(X1,X2,X3,X4,X5,X6,X8,X7)),hAPP(product_prod(X5,X6),product_prod(X4,product_prod(X5,X6)),hAPP(X4,fun(product_prod(X5,X6),product_prod(X4,product_prod(X5,X6))),product_Pair(X4,product_prod(X5,X6)),sk1_esk5_8(X1,X2,X3,X4,X5,X6,X8,X7)),hAPP(X6,product_prod(X5,X6),hAPP(X5,fun(X6,product_prod(X5,X6)),product_Pair(X5,X6),sk1_esk6_8(X1,X2,X3,X4,X5,X6,X8,X7)),sk1_esk7_8(X1,X2,X3,X4,X5,X6,X8,X7))))))))
    | hBOOL(hAPP(product_prod(X1,product_prod(X2,product_prod(X3,product_prod(X4,product_prod(X5,X6))))),bool,X7,X8)) ),
    inference(literals_permutation,[status(thm)],[c_0_613]) ).

cnf(c_0_614_0,axiom,
    ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),typeSa885026672_sconf,X1),X2),X3))
    | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),product_prod_case(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)),bool),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool)),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool))),fun(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool))),combs(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool)),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(bool,bool)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool))),hAPP(fun(fun(bool,bool),fun(fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool))),fun(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(bool,bool)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool)))),combb(fun(bool,bool),fun(fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool)),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),combb(bool,bool,fun(list(char),option(val)))),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(bool,bool)),hAPP(fun(bool,fun(bool,bool)),fun(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(bool,bool))),combb(bool,fun(bool,bool),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),fconj),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),hconf(product_prod(list(list(char)),exp(list(char)))),X1)))),hAPP(fun(list(char),option(ty)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool)),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool))),fun(fun(list(char),option(ty)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool))),combc(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool)),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool))),hAPP(fun(fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool)),fun(fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool))),fun(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool)))),combb(fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool)),fun(fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool)),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),combc(fun(list(char),option(val)),fun(list(char),option(ty)),bool)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool))),lconf(product_prod(list(list(char)),exp(list(char)))),X1))),X2))),X3)) ),
    inference(literals_permutation,[status(thm)],[c_0_614]) ).

cnf(c_0_614_1,axiom,
    ( ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),product_prod_case(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)),bool),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool)),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool))),fun(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool))),combs(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool)),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(bool,bool)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool))),hAPP(fun(fun(bool,bool),fun(fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool))),fun(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(bool,bool)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool)))),combb(fun(bool,bool),fun(fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool)),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),combb(bool,bool,fun(list(char),option(val)))),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(bool,bool)),hAPP(fun(bool,fun(bool,bool)),fun(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(bool,bool))),combb(bool,fun(bool,bool),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),fconj),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),hconf(product_prod(list(list(char)),exp(list(char)))),X1)))),hAPP(fun(list(char),option(ty)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool)),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool))),fun(fun(list(char),option(ty)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool))),combc(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool)),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool))),hAPP(fun(fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool)),fun(fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool))),fun(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool)))),combb(fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool)),fun(fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool)),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),combc(fun(list(char),option(val)),fun(list(char),option(ty)),bool)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool))),lconf(product_prod(list(list(char)),exp(list(char)))),X1))),X2))),X3))
    | hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),typeSa885026672_sconf,X1),X2),X3)) ),
    inference(literals_permutation,[status(thm)],[c_0_614]) ).

cnf(c_0_615_0,axiom,
    ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X1),X2),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),X1),hAPP(val,exp(list(char)),val_1(list(char)),X3))),X4))),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X5),X6))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X1),X2),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),X1),hAPP(val,exp(list(char)),val_1(list(char)),X7))),X8))),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X9),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),X10),X1),hAPP(list(char),option(val),X6,X1)))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X11)))
    | hAPP(list(char),option(val),X10,X1) != hAPP(val,option(val),some(val),X7)
    | ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X4),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X5),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),X6),X1),hAPP(val,option(val),some(val),X3))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X8),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X9),X10)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X11))) ),
    inference(literals_permutation,[status(thm)],[c_0_615]) ).

cnf(c_0_615_1,axiom,
    ( hAPP(list(char),option(val),X10,X1) != hAPP(val,option(val),some(val),X7)
    | hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X1),X2),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),X1),hAPP(val,exp(list(char)),val_1(list(char)),X3))),X4))),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X5),X6))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X1),X2),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),X1),hAPP(val,exp(list(char)),val_1(list(char)),X7))),X8))),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X9),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),X10),X1),hAPP(list(char),option(val),X6,X1)))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X11)))
    | ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X4),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X5),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),X6),X1),hAPP(val,option(val),some(val),X3))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X8),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X9),X10)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X11))) ),
    inference(literals_permutation,[status(thm)],[c_0_615]) ).

cnf(c_0_615_2,axiom,
    ( ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X4),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X5),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),X6),X1),hAPP(val,option(val),some(val),X3))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X8),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X9),X10)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X11)))
    | hAPP(list(char),option(val),X10,X1) != hAPP(val,option(val),some(val),X7)
    | hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X1),X2),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),X1),hAPP(val,exp(list(char)),val_1(list(char)),X3))),X4))),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X5),X6))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X1),X2),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),X1),hAPP(val,exp(list(char)),val_1(list(char)),X7))),X8))),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X9),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),X10),X1),hAPP(list(char),option(val),X6,X1)))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X11))) ),
    inference(literals_permutation,[status(thm)],[c_0_615]) ).

cnf(c_0_616_0,axiom,
    ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X1),X2),X3)),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X4),X5))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X1),X2),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),X1),hAPP(val,exp(list(char)),val_1(list(char)),X6))),X7))),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X8),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),X9),X1),hAPP(list(char),option(val),X5,X1)))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X10)))
    | hBOOL(hAPP(exp(list(char)),bool,hAPP(list(char),fun(exp(list(char)),bool),assigned,X1),X3))
    | hAPP(list(char),option(val),X9,X1) != hAPP(val,option(val),some(val),X6)
    | ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X3),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X4),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),X5),X1),none(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X7),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X8),X9)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X10))) ),
    inference(literals_permutation,[status(thm)],[c_0_616]) ).

cnf(c_0_616_1,axiom,
    ( hBOOL(hAPP(exp(list(char)),bool,hAPP(list(char),fun(exp(list(char)),bool),assigned,X1),X3))
    | hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X1),X2),X3)),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X4),X5))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X1),X2),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),X1),hAPP(val,exp(list(char)),val_1(list(char)),X6))),X7))),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X8),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),X9),X1),hAPP(list(char),option(val),X5,X1)))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X10)))
    | hAPP(list(char),option(val),X9,X1) != hAPP(val,option(val),some(val),X6)
    | ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X3),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X4),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),X5),X1),none(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X7),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X8),X9)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X10))) ),
    inference(literals_permutation,[status(thm)],[c_0_616]) ).

cnf(c_0_616_2,axiom,
    ( hAPP(list(char),option(val),X9,X1) != hAPP(val,option(val),some(val),X6)
    | hBOOL(hAPP(exp(list(char)),bool,hAPP(list(char),fun(exp(list(char)),bool),assigned,X1),X3))
    | hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X1),X2),X3)),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X4),X5))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X1),X2),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),X1),hAPP(val,exp(list(char)),val_1(list(char)),X6))),X7))),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X8),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),X9),X1),hAPP(list(char),option(val),X5,X1)))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X10)))
    | ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X3),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X4),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),X5),X1),none(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X7),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X8),X9)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X10))) ),
    inference(literals_permutation,[status(thm)],[c_0_616]) ).

cnf(c_0_616_3,axiom,
    ( ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X3),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X4),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),X5),X1),none(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X7),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X8),X9)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X10)))
    | hAPP(list(char),option(val),X9,X1) != hAPP(val,option(val),some(val),X6)
    | hBOOL(hAPP(exp(list(char)),bool,hAPP(list(char),fun(exp(list(char)),bool),assigned,X1),X3))
    | hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X1),X2),X3)),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X4),X5))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X1),X2),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),X1),hAPP(val,exp(list(char)),val_1(list(char)),X6))),X7))),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X8),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),X9),X1),hAPP(list(char),option(val),X5,X1)))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X10))) ),
    inference(literals_permutation,[status(thm)],[c_0_616]) ).

cnf(c_0_617_0,axiom,
    ( hBOOL(hAPP(product_prod(X1,product_prod(X2,product_prod(X3,product_prod(X4,X5)))),bool,X6,X7))
    | ~ hBOOL(hAPP(product_prod(X1,product_prod(X2,product_prod(X3,product_prod(X4,X5)))),bool,X6,hAPP(product_prod(X2,product_prod(X3,product_prod(X4,X5))),product_prod(X1,product_prod(X2,product_prod(X3,product_prod(X4,X5)))),hAPP(X1,fun(product_prod(X2,product_prod(X3,product_prod(X4,X5))),product_prod(X1,product_prod(X2,product_prod(X3,product_prod(X4,X5))))),product_Pair(X1,product_prod(X2,product_prod(X3,product_prod(X4,X5)))),sk1_esk14_7(X1,X2,X3,X4,X5,X7,X6)),hAPP(product_prod(X3,product_prod(X4,X5)),product_prod(X2,product_prod(X3,product_prod(X4,X5))),hAPP(X2,fun(product_prod(X3,product_prod(X4,X5)),product_prod(X2,product_prod(X3,product_prod(X4,X5)))),product_Pair(X2,product_prod(X3,product_prod(X4,X5))),sk1_esk15_7(X1,X2,X3,X4,X5,X7,X6)),hAPP(product_prod(X4,X5),product_prod(X3,product_prod(X4,X5)),hAPP(X3,fun(product_prod(X4,X5),product_prod(X3,product_prod(X4,X5))),product_Pair(X3,product_prod(X4,X5)),sk1_esk16_7(X1,X2,X3,X4,X5,X7,X6)),hAPP(X5,product_prod(X4,X5),hAPP(X4,fun(X5,product_prod(X4,X5)),product_Pair(X4,X5),sk1_esk17_7(X1,X2,X3,X4,X5,X7,X6)),sk1_esk18_7(X1,X2,X3,X4,X5,X7,X6))))))) ),
    inference(literals_permutation,[status(thm)],[c_0_617]) ).

cnf(c_0_617_1,axiom,
    ( ~ hBOOL(hAPP(product_prod(X1,product_prod(X2,product_prod(X3,product_prod(X4,X5)))),bool,X6,hAPP(product_prod(X2,product_prod(X3,product_prod(X4,X5))),product_prod(X1,product_prod(X2,product_prod(X3,product_prod(X4,X5)))),hAPP(X1,fun(product_prod(X2,product_prod(X3,product_prod(X4,X5))),product_prod(X1,product_prod(X2,product_prod(X3,product_prod(X4,X5))))),product_Pair(X1,product_prod(X2,product_prod(X3,product_prod(X4,X5)))),sk1_esk14_7(X1,X2,X3,X4,X5,X7,X6)),hAPP(product_prod(X3,product_prod(X4,X5)),product_prod(X2,product_prod(X3,product_prod(X4,X5))),hAPP(X2,fun(product_prod(X3,product_prod(X4,X5)),product_prod(X2,product_prod(X3,product_prod(X4,X5)))),product_Pair(X2,product_prod(X3,product_prod(X4,X5))),sk1_esk15_7(X1,X2,X3,X4,X5,X7,X6)),hAPP(product_prod(X4,X5),product_prod(X3,product_prod(X4,X5)),hAPP(X3,fun(product_prod(X4,X5),product_prod(X3,product_prod(X4,X5))),product_Pair(X3,product_prod(X4,X5)),sk1_esk16_7(X1,X2,X3,X4,X5,X7,X6)),hAPP(X5,product_prod(X4,X5),hAPP(X4,fun(X5,product_prod(X4,X5)),product_Pair(X4,X5),sk1_esk17_7(X1,X2,X3,X4,X5,X7,X6)),sk1_esk18_7(X1,X2,X3,X4,X5,X7,X6)))))))
    | hBOOL(hAPP(product_prod(X1,product_prod(X2,product_prod(X3,product_prod(X4,X5)))),bool,X6,X7)) ),
    inference(literals_permutation,[status(thm)],[c_0_617]) ).

cnf(c_0_618_0,axiom,
    ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),product_prod_case(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)),bool),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool)),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool))),fun(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool))),combs(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool)),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(bool,bool)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool))),hAPP(fun(fun(bool,bool),fun(fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool))),fun(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(bool,bool)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool)))),combb(fun(bool,bool),fun(fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool)),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),combb(bool,bool,fun(list(char),option(val)))),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(bool,bool)),hAPP(fun(bool,fun(bool,bool)),fun(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(bool,bool))),combb(bool,fun(bool,bool),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),fconj),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),hconf(product_prod(list(list(char)),exp(list(char)))),X1)))),hAPP(fun(list(char),option(ty)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool)),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool))),fun(fun(list(char),option(ty)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool))),combc(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool)),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool))),hAPP(fun(fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool)),fun(fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool))),fun(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool)))),combb(fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool)),fun(fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool)),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),combc(fun(list(char),option(val)),fun(list(char),option(ty)),bool)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool))),lconf(product_prod(list(list(char)),exp(list(char)))),X1))),X2))),X3))
    | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),typeSa885026672_sconf,X1),X2),X3)) ),
    inference(literals_permutation,[status(thm)],[c_0_618]) ).

cnf(c_0_618_1,axiom,
    ( ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),typeSa885026672_sconf,X1),X2),X3))
    | hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),product_prod_case(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)),bool),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool)),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool))),fun(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool))),combs(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool)),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(bool,bool)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool))),hAPP(fun(fun(bool,bool),fun(fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool))),fun(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(bool,bool)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool)))),combb(fun(bool,bool),fun(fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool)),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),combb(bool,bool,fun(list(char),option(val)))),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(bool,bool)),hAPP(fun(bool,fun(bool,bool)),fun(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(bool,bool))),combb(bool,fun(bool,bool),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),fconj),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),hconf(product_prod(list(list(char)),exp(list(char)))),X1)))),hAPP(fun(list(char),option(ty)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool)),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool))),fun(fun(list(char),option(ty)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool))),combc(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool)),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool))),hAPP(fun(fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool)),fun(fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool))),fun(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool)))),combb(fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool)),fun(fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool)),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),combc(fun(list(char),option(val)),fun(list(char),option(ty)),bool)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool))),lconf(product_prod(list(list(char)),exp(list(char)))),X1))),X2))),X3)) ),
    inference(literals_permutation,[status(thm)],[c_0_618]) ).

cnf(c_0_619_0,axiom,
    ( hBOOL(hAPP(fun(list(char),option(ty)),bool,hAPP(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool))),lconf(product_prod(list(list(char)),exp(list(char)))),X1),X2),X3),X4))
    | ~ hBOOL(hAPP(fun(list(char),option(ty)),bool,hAPP(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool))),lconf(product_prod(list(list(char)),exp(list(char)))),X1),X5),X6),X4))
    | ~ hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,X1),X5),X4),X7),X8))
    | ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X7),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X5),X6))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X9),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X2),X3)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X1))) ),
    inference(literals_permutation,[status(thm)],[c_0_619]) ).

cnf(c_0_619_1,axiom,
    ( ~ hBOOL(hAPP(fun(list(char),option(ty)),bool,hAPP(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool))),lconf(product_prod(list(list(char)),exp(list(char)))),X1),X5),X6),X4))
    | hBOOL(hAPP(fun(list(char),option(ty)),bool,hAPP(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool))),lconf(product_prod(list(list(char)),exp(list(char)))),X1),X2),X3),X4))
    | ~ hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,X1),X5),X4),X7),X8))
    | ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X7),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X5),X6))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X9),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X2),X3)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X1))) ),
    inference(literals_permutation,[status(thm)],[c_0_619]) ).

cnf(c_0_619_2,axiom,
    ( ~ hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,X1),X5),X4),X7),X8))
    | ~ hBOOL(hAPP(fun(list(char),option(ty)),bool,hAPP(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool))),lconf(product_prod(list(list(char)),exp(list(char)))),X1),X5),X6),X4))
    | hBOOL(hAPP(fun(list(char),option(ty)),bool,hAPP(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool))),lconf(product_prod(list(list(char)),exp(list(char)))),X1),X2),X3),X4))
    | ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X7),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X5),X6))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X9),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X2),X3)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X1))) ),
    inference(literals_permutation,[status(thm)],[c_0_619]) ).

cnf(c_0_619_3,axiom,
    ( ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X7),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X5),X6))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X9),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X2),X3)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X1)))
    | ~ hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,X1),X5),X4),X7),X8))
    | ~ hBOOL(hAPP(fun(list(char),option(ty)),bool,hAPP(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool))),lconf(product_prod(list(list(char)),exp(list(char)))),X1),X5),X6),X4))
    | hBOOL(hAPP(fun(list(char),option(ty)),bool,hAPP(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool))),lconf(product_prod(list(list(char)),exp(list(char)))),X1),X2),X3),X4)) ),
    inference(literals_permutation,[status(thm)],[c_0_619]) ).

cnf(c_0_620_0,axiom,
    ( hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),hconf(product_prod(list(list(char)),exp(list(char)))),X1),X2))
    | ~ hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),hconf(product_prod(list(list(char)),exp(list(char)))),X1),X3))
    | ~ hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,X1),X3),X4),X5),X6))
    | ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X5),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X3),X7))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X8),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X2),X9)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X1))) ),
    inference(literals_permutation,[status(thm)],[c_0_620]) ).

cnf(c_0_620_1,axiom,
    ( ~ hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),hconf(product_prod(list(list(char)),exp(list(char)))),X1),X3))
    | hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),hconf(product_prod(list(list(char)),exp(list(char)))),X1),X2))
    | ~ hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,X1),X3),X4),X5),X6))
    | ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X5),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X3),X7))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X8),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X2),X9)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X1))) ),
    inference(literals_permutation,[status(thm)],[c_0_620]) ).

cnf(c_0_620_2,axiom,
    ( ~ hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,X1),X3),X4),X5),X6))
    | ~ hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),hconf(product_prod(list(list(char)),exp(list(char)))),X1),X3))
    | hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),hconf(product_prod(list(list(char)),exp(list(char)))),X1),X2))
    | ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X5),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X3),X7))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X8),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X2),X9)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X1))) ),
    inference(literals_permutation,[status(thm)],[c_0_620]) ).

cnf(c_0_620_3,axiom,
    ( ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X5),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X3),X7))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X8),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X2),X9)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X1)))
    | ~ hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,X1),X3),X4),X5),X6))
    | ~ hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),hconf(product_prod(list(list(char)),exp(list(char)))),X1),X3))
    | hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),hconf(product_prod(list(list(char)),exp(list(char)))),X1),X2)) ),
    inference(literals_permutation,[status(thm)],[c_0_620]) ).

cnf(c_0_621_0,axiom,
    ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),X1),X2)),X3)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),X4),X2)),X5))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X6)))
    | ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X1),X3)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X4),X5))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X6))) ),
    inference(literals_permutation,[status(thm)],[c_0_621]) ).

cnf(c_0_621_1,axiom,
    ( ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X1),X3)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X4),X5))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X6)))
    | hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),X1),X2)),X3)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),X4),X2)),X5))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X6))) ),
    inference(literals_permutation,[status(thm)],[c_0_621]) ).

cnf(c_0_622_0,axiom,
    ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),X1),X2)),X3)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),X1),X4)),X5))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X6)))
    | ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X2),X3)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X4),X5))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X6))) ),
    inference(literals_permutation,[status(thm)],[c_0_622]) ).

cnf(c_0_622_1,axiom,
    ( ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X2),X3)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X4),X5))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X6)))
    | hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),X1),X2)),X3)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),X1),X4)),X5))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X6))) ),
    inference(literals_permutation,[status(thm)],[c_0_622]) ).

cnf(c_0_623_0,axiom,
    ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,X1),X2),X3),X4),X5))
    | ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X2),X3)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X4),X5))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X1))) ),
    inference(literals_permutation,[status(thm)],[c_0_623]) ).

cnf(c_0_623_1,axiom,
    ( ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X2),X3)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X4),X5))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X1)))
    | hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,X1),X2),X3),X4),X5)) ),
    inference(literals_permutation,[status(thm)],[c_0_623]) ).

cnf(c_0_624_0,axiom,
    ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),typeSa885026672_sconf,X1),X2),X3))
    | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),typeSa885026672_sconf,X1),X2),X4))
    | ~ hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,X1),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hp,X4)),X2),X5),X6))
    | ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X5),X4)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X7),X3))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X1))) ),
    inference(literals_permutation,[status(thm)],[c_0_624]) ).

cnf(c_0_624_1,axiom,
    ( ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),typeSa885026672_sconf,X1),X2),X4))
    | hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),typeSa885026672_sconf,X1),X2),X3))
    | ~ hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,X1),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hp,X4)),X2),X5),X6))
    | ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X5),X4)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X7),X3))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X1))) ),
    inference(literals_permutation,[status(thm)],[c_0_624]) ).

cnf(c_0_624_2,axiom,
    ( ~ hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,X1),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hp,X4)),X2),X5),X6))
    | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),typeSa885026672_sconf,X1),X2),X4))
    | hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),typeSa885026672_sconf,X1),X2),X3))
    | ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X5),X4)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X7),X3))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X1))) ),
    inference(literals_permutation,[status(thm)],[c_0_624]) ).

cnf(c_0_624_3,axiom,
    ( ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X5),X4)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X7),X3))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X1)))
    | ~ hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,X1),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hp,X4)),X2),X5),X6))
    | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),typeSa885026672_sconf,X1),X2),X4))
    | hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),typeSa885026672_sconf,X1),X2),X3)) ),
    inference(literals_permutation,[status(thm)],[c_0_624]) ).

cnf(c_0_625_0,axiom,
    ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,X1),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X2),X3),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),X2),hAPP(val,exp(list(char)),val_1(list(char)),X4))),X5))),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X6),X7)),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X2),X3),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),X2),hAPP(val,exp(list(char)),val_1(list(char)),X8))),X9))),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X10),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),X11),X2),hAPP(list(char),option(val),X7,X2)))))
    | hAPP(list(char),option(val),X11,X2) != hAPP(val,option(val),some(val),X8)
    | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,X1),X5),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X6),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),X7),X2),hAPP(val,option(val),some(val),X4)))),X9),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X10),X11))) ),
    inference(literals_permutation,[status(thm)],[c_0_625]) ).

cnf(c_0_625_1,axiom,
    ( hAPP(list(char),option(val),X11,X2) != hAPP(val,option(val),some(val),X8)
    | hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,X1),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X2),X3),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),X2),hAPP(val,exp(list(char)),val_1(list(char)),X4))),X5))),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X6),X7)),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X2),X3),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),X2),hAPP(val,exp(list(char)),val_1(list(char)),X8))),X9))),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X10),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),X11),X2),hAPP(list(char),option(val),X7,X2)))))
    | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,X1),X5),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X6),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),X7),X2),hAPP(val,option(val),some(val),X4)))),X9),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X10),X11))) ),
    inference(literals_permutation,[status(thm)],[c_0_625]) ).

cnf(c_0_625_2,axiom,
    ( ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,X1),X5),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X6),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),X7),X2),hAPP(val,option(val),some(val),X4)))),X9),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X10),X11)))
    | hAPP(list(char),option(val),X11,X2) != hAPP(val,option(val),some(val),X8)
    | hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,X1),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X2),X3),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),X2),hAPP(val,exp(list(char)),val_1(list(char)),X4))),X5))),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X6),X7)),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X2),X3),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),X2),hAPP(val,exp(list(char)),val_1(list(char)),X8))),X9))),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X10),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),X11),X2),hAPP(list(char),option(val),X7,X2))))) ),
    inference(literals_permutation,[status(thm)],[c_0_625]) ).

cnf(c_0_626_0,axiom,
    ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,X1),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X2),X3),X4)),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X5),X6)),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X2),X3),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),X2),hAPP(val,exp(list(char)),val_1(list(char)),X7))),X8))),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X9),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),X10),X2),hAPP(list(char),option(val),X6,X2)))))
    | hBOOL(hAPP(exp(list(char)),bool,hAPP(list(char),fun(exp(list(char)),bool),assigned,X2),X4))
    | hAPP(list(char),option(val),X10,X2) != hAPP(val,option(val),some(val),X7)
    | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,X1),X4),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X5),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),X6),X2),none(val)))),X8),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X9),X10))) ),
    inference(literals_permutation,[status(thm)],[c_0_626]) ).

cnf(c_0_626_1,axiom,
    ( hBOOL(hAPP(exp(list(char)),bool,hAPP(list(char),fun(exp(list(char)),bool),assigned,X2),X4))
    | hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,X1),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X2),X3),X4)),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X5),X6)),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X2),X3),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),X2),hAPP(val,exp(list(char)),val_1(list(char)),X7))),X8))),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X9),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),X10),X2),hAPP(list(char),option(val),X6,X2)))))
    | hAPP(list(char),option(val),X10,X2) != hAPP(val,option(val),some(val),X7)
    | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,X1),X4),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X5),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),X6),X2),none(val)))),X8),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X9),X10))) ),
    inference(literals_permutation,[status(thm)],[c_0_626]) ).

cnf(c_0_626_2,axiom,
    ( hAPP(list(char),option(val),X10,X2) != hAPP(val,option(val),some(val),X7)
    | hBOOL(hAPP(exp(list(char)),bool,hAPP(list(char),fun(exp(list(char)),bool),assigned,X2),X4))
    | hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,X1),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X2),X3),X4)),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X5),X6)),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X2),X3),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),X2),hAPP(val,exp(list(char)),val_1(list(char)),X7))),X8))),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X9),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),X10),X2),hAPP(list(char),option(val),X6,X2)))))
    | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,X1),X4),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X5),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),X6),X2),none(val)))),X8),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X9),X10))) ),
    inference(literals_permutation,[status(thm)],[c_0_626]) ).

cnf(c_0_626_3,axiom,
    ( ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,X1),X4),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X5),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),X6),X2),none(val)))),X8),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X9),X10)))
    | hAPP(list(char),option(val),X10,X2) != hAPP(val,option(val),some(val),X7)
    | hBOOL(hAPP(exp(list(char)),bool,hAPP(list(char),fun(exp(list(char)),bool),assigned,X2),X4))
    | hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,X1),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X2),X3),X4)),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X5),X6)),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X2),X3),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),X2),hAPP(val,exp(list(char)),val_1(list(char)),X7))),X8))),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X9),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),X10),X2),hAPP(list(char),option(val),X6,X2))))) ),
    inference(literals_permutation,[status(thm)],[c_0_626]) ).

cnf(c_0_627_0,axiom,
    ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X1),X2)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X3),X4))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X5)))
    | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,X5),X1),X2),X3),X4)) ),
    inference(literals_permutation,[status(thm)],[c_0_627]) ).

cnf(c_0_627_1,axiom,
    ( ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,X5),X1),X2),X3),X4))
    | hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X1),X2)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X3),X4))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X5))) ),
    inference(literals_permutation,[status(thm)],[c_0_627]) ).

cnf(c_0_628_0,axiom,
    ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,X1),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X2),X3),X4)),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X5),X6)),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X2),X3),X7)),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X8),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),X9),X2),hAPP(list(char),option(val),X6,X2)))))
    | hBOOL(hAPP(exp(list(char)),bool,hAPP(list(char),fun(exp(list(char)),bool),assigned,X2),X4))
    | hAPP(list(char),option(val),X9,X2) != none(val)
    | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,X1),X4),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X5),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),X6),X2),none(val)))),X7),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X8),X9))) ),
    inference(literals_permutation,[status(thm)],[c_0_628]) ).

cnf(c_0_628_1,axiom,
    ( hBOOL(hAPP(exp(list(char)),bool,hAPP(list(char),fun(exp(list(char)),bool),assigned,X2),X4))
    | hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,X1),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X2),X3),X4)),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X5),X6)),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X2),X3),X7)),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X8),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),X9),X2),hAPP(list(char),option(val),X6,X2)))))
    | hAPP(list(char),option(val),X9,X2) != none(val)
    | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,X1),X4),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X5),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),X6),X2),none(val)))),X7),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X8),X9))) ),
    inference(literals_permutation,[status(thm)],[c_0_628]) ).

cnf(c_0_628_2,axiom,
    ( hAPP(list(char),option(val),X9,X2) != none(val)
    | hBOOL(hAPP(exp(list(char)),bool,hAPP(list(char),fun(exp(list(char)),bool),assigned,X2),X4))
    | hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,X1),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X2),X3),X4)),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X5),X6)),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X2),X3),X7)),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X8),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),X9),X2),hAPP(list(char),option(val),X6,X2)))))
    | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,X1),X4),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X5),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),X6),X2),none(val)))),X7),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X8),X9))) ),
    inference(literals_permutation,[status(thm)],[c_0_628]) ).

cnf(c_0_628_3,axiom,
    ( ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,X1),X4),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X5),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),X6),X2),none(val)))),X7),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X8),X9)))
    | hAPP(list(char),option(val),X9,X2) != none(val)
    | hBOOL(hAPP(exp(list(char)),bool,hAPP(list(char),fun(exp(list(char)),bool),assigned,X2),X4))
    | hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,X1),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X2),X3),X4)),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X5),X6)),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X2),X3),X7)),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X8),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),X9),X2),hAPP(list(char),option(val),X6,X2))))) ),
    inference(literals_permutation,[status(thm)],[c_0_628]) ).

cnf(c_0_629_0,axiom,
    ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,X1),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),X2),X3)),X4),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),X5),X3)),X6))
    | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,X1),X2),X4),X5),X6)) ),
    inference(literals_permutation,[status(thm)],[c_0_629]) ).

cnf(c_0_629_1,axiom,
    ( ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,X1),X2),X4),X5),X6))
    | hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,X1),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),X2),X3)),X4),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),X5),X3)),X6)) ),
    inference(literals_permutation,[status(thm)],[c_0_629]) ).

cnf(c_0_630_0,axiom,
    ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,X1),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),X2),X3)),X4),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),X2),X5)),X6))
    | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,X1),X3),X4),X5),X6)) ),
    inference(literals_permutation,[status(thm)],[c_0_630]) ).

cnf(c_0_630_1,axiom,
    ( ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,X1),X3),X4),X5),X6))
    | hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,X1),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),X2),X3)),X4),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),X2),X5)),X6)) ),
    inference(literals_permutation,[status(thm)],[c_0_630]) ).

cnf(c_0_637_0,axiom,
    ( hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,X1),X2),X3),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),X4),X5)),X6))
    | ~ hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,X1),X2),X3),X5),X6))
    | ~ hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,X1),X2),X3),X4),X7)) ),
    inference(literals_permutation,[status(thm)],[c_0_637]) ).

cnf(c_0_637_1,axiom,
    ( ~ hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,X1),X2),X3),X5),X6))
    | hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,X1),X2),X3),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),X4),X5)),X6))
    | ~ hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,X1),X2),X3),X4),X7)) ),
    inference(literals_permutation,[status(thm)],[c_0_637]) ).

cnf(c_0_637_2,axiom,
    ( ~ hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,X1),X2),X3),X4),X7))
    | ~ hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,X1),X2),X3),X5),X6))
    | hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,X1),X2),X3),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),X4),X5)),X6)) ),
    inference(literals_permutation,[status(thm)],[c_0_637]) ).

cnf(c_0_639_0,axiom,
    ( hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,p),h_a),X1),e_a),sk1_esk1_2(X2,X1)))
    | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),typeSa885026672_sconf,p),X1),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),ha),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),la),v_1),hAPP(val,option(val),some(val),v)))))
    | ~ hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,p),ha),X1),ea),X2)) ),
    inference(literals_permutation,[status(thm)],[c_0_639]) ).

cnf(c_0_639_1,axiom,
    ( ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),typeSa885026672_sconf,p),X1),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),ha),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),la),v_1),hAPP(val,option(val),some(val),v)))))
    | hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,p),h_a),X1),e_a),sk1_esk1_2(X2,X1)))
    | ~ hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,p),ha),X1),ea),X2)) ),
    inference(literals_permutation,[status(thm)],[c_0_639]) ).

cnf(c_0_639_2,axiom,
    ( ~ hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,p),ha),X1),ea),X2))
    | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),typeSa885026672_sconf,p),X1),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),ha),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),la),v_1),hAPP(val,option(val),some(val),v)))))
    | hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,p),h_a),X1),e_a),sk1_esk1_2(X2,X1))) ),
    inference(literals_permutation,[status(thm)],[c_0_639]) ).

cnf(c_0_642_0,axiom,
    ( hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,X1),X2),X3),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X4),X5),X6)),X7))
    | ~ hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,X1),X2),hAPP(option(ty),fun(list(char),option(ty)),hAPP(list(char),fun(option(ty),fun(list(char),option(ty))),hAPP(fun(list(char),option(ty)),fun(list(char),fun(option(ty),fun(list(char),option(ty)))),fun_upd(list(char),option(ty)),X3),X4),hAPP(ty,option(ty),some(ty),X5))),X6),X7)) ),
    inference(literals_permutation,[status(thm)],[c_0_642]) ).

cnf(c_0_642_1,axiom,
    ( ~ hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,X1),X2),hAPP(option(ty),fun(list(char),option(ty)),hAPP(list(char),fun(option(ty),fun(list(char),option(ty))),hAPP(fun(list(char),option(ty)),fun(list(char),fun(option(ty),fun(list(char),option(ty)))),fun_upd(list(char),option(ty)),X3),X4),hAPP(ty,option(ty),some(ty),X5))),X6),X7))
    | hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,X1),X2),X3),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X4),X5),X6)),X7)) ),
    inference(literals_permutation,[status(thm)],[c_0_642]) ).

cnf(c_0_643_0,axiom,
    ( hBOOL(hAPP(ty,bool,hAPP(ty,fun(ty,bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(ty,fun(ty,bool)),widen(product_prod(list(list(char)),exp(list(char)))),p),sk1_esk1_2(X2,X1)),X2))
    | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),typeSa885026672_sconf,p),X1),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),ha),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),la),v_1),hAPP(val,option(val),some(val),v)))))
    | ~ hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,p),ha),X1),ea),X2)) ),
    inference(literals_permutation,[status(thm)],[c_0_643]) ).

cnf(c_0_643_1,axiom,
    ( ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),typeSa885026672_sconf,p),X1),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),ha),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),la),v_1),hAPP(val,option(val),some(val),v)))))
    | hBOOL(hAPP(ty,bool,hAPP(ty,fun(ty,bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(ty,fun(ty,bool)),widen(product_prod(list(list(char)),exp(list(char)))),p),sk1_esk1_2(X2,X1)),X2))
    | ~ hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,p),ha),X1),ea),X2)) ),
    inference(literals_permutation,[status(thm)],[c_0_643]) ).

cnf(c_0_643_2,axiom,
    ( ~ hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,p),ha),X1),ea),X2))
    | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),typeSa885026672_sconf,p),X1),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),ha),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),la),v_1),hAPP(val,option(val),some(val),v)))))
    | hBOOL(hAPP(ty,bool,hAPP(ty,fun(ty,bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(ty,fun(ty,bool)),widen(product_prod(list(list(char)),exp(list(char)))),p),sk1_esk1_2(X2,X1)),X2)) ),
    inference(literals_permutation,[status(thm)],[c_0_643]) ).

cnf(c_0_644_0,axiom,
    ( hBOOL(hAPP(product_prod(X1,product_prod(X2,product_prod(X3,X4))),bool,X5,X6))
    | ~ hBOOL(hAPP(product_prod(X1,product_prod(X2,product_prod(X3,X4))),bool,X5,hAPP(product_prod(X2,product_prod(X3,X4)),product_prod(X1,product_prod(X2,product_prod(X3,X4))),hAPP(X1,fun(product_prod(X2,product_prod(X3,X4)),product_prod(X1,product_prod(X2,product_prod(X3,X4)))),product_Pair(X1,product_prod(X2,product_prod(X3,X4))),sk1_esk24_6(X1,X2,X3,X4,X6,X5)),hAPP(product_prod(X3,X4),product_prod(X2,product_prod(X3,X4)),hAPP(X2,fun(product_prod(X3,X4),product_prod(X2,product_prod(X3,X4))),product_Pair(X2,product_prod(X3,X4)),sk1_esk25_6(X1,X2,X3,X4,X6,X5)),hAPP(X4,product_prod(X3,X4),hAPP(X3,fun(X4,product_prod(X3,X4)),product_Pair(X3,X4),sk1_esk26_6(X1,X2,X3,X4,X6,X5)),sk1_esk27_6(X1,X2,X3,X4,X6,X5)))))) ),
    inference(literals_permutation,[status(thm)],[c_0_644]) ).

cnf(c_0_644_1,axiom,
    ( ~ hBOOL(hAPP(product_prod(X1,product_prod(X2,product_prod(X3,X4))),bool,X5,hAPP(product_prod(X2,product_prod(X3,X4)),product_prod(X1,product_prod(X2,product_prod(X3,X4))),hAPP(X1,fun(product_prod(X2,product_prod(X3,X4)),product_prod(X1,product_prod(X2,product_prod(X3,X4)))),product_Pair(X1,product_prod(X2,product_prod(X3,X4))),sk1_esk24_6(X1,X2,X3,X4,X6,X5)),hAPP(product_prod(X3,X4),product_prod(X2,product_prod(X3,X4)),hAPP(X2,fun(product_prod(X3,X4),product_prod(X2,product_prod(X3,X4))),product_Pair(X2,product_prod(X3,X4)),sk1_esk25_6(X1,X2,X3,X4,X6,X5)),hAPP(X4,product_prod(X3,X4),hAPP(X3,fun(X4,product_prod(X3,X4)),product_Pair(X3,X4),sk1_esk26_6(X1,X2,X3,X4,X6,X5)),sk1_esk27_6(X1,X2,X3,X4,X6,X5))))))
    | hBOOL(hAPP(product_prod(X1,product_prod(X2,product_prod(X3,X4))),bool,X5,X6)) ),
    inference(literals_permutation,[status(thm)],[c_0_644]) ).

cnf(c_0_649_0,axiom,
    ( hBOOL(hAPP(ty,bool,hAPP(ty,fun(ty,bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X1)))))))),fun(ty,fun(ty,bool)),widen(X1),X2),X3),X4))
    | ~ hBOOL(hAPP(ty,bool,hAPP(ty,fun(ty,bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X1)))))))),fun(ty,fun(ty,bool)),widen(X1),X2),X5),X4))
    | ~ hBOOL(hAPP(ty,bool,hAPP(ty,fun(ty,bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X1)))))))),fun(ty,fun(ty,bool)),widen(X1),X2),X3),X5)) ),
    inference(literals_permutation,[status(thm)],[c_0_649]) ).

cnf(c_0_649_1,axiom,
    ( ~ hBOOL(hAPP(ty,bool,hAPP(ty,fun(ty,bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X1)))))))),fun(ty,fun(ty,bool)),widen(X1),X2),X5),X4))
    | hBOOL(hAPP(ty,bool,hAPP(ty,fun(ty,bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X1)))))))),fun(ty,fun(ty,bool)),widen(X1),X2),X3),X4))
    | ~ hBOOL(hAPP(ty,bool,hAPP(ty,fun(ty,bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X1)))))))),fun(ty,fun(ty,bool)),widen(X1),X2),X3),X5)) ),
    inference(literals_permutation,[status(thm)],[c_0_649]) ).

cnf(c_0_649_2,axiom,
    ( ~ hBOOL(hAPP(ty,bool,hAPP(ty,fun(ty,bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X1)))))))),fun(ty,fun(ty,bool)),widen(X1),X2),X3),X5))
    | ~ hBOOL(hAPP(ty,bool,hAPP(ty,fun(ty,bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X1)))))))),fun(ty,fun(ty,bool)),widen(X1),X2),X5),X4))
    | hBOOL(hAPP(ty,bool,hAPP(ty,fun(ty,bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X1)))))))),fun(ty,fun(ty,bool)),widen(X1),X2),X3),X4)) ),
    inference(literals_permutation,[status(thm)],[c_0_649]) ).

cnf(c_0_650_0,axiom,
    ( hBOOL(hAPP(fun(X1,bool),bool,hAPP(X1,fun(fun(X1,bool),bool),member(X1),X2),hAPP(product_prod(X3,X4),fun(X1,bool),hAPP(fun(X3,fun(X4,fun(X1,bool))),fun(product_prod(X3,X4),fun(X1,bool)),product_prod_case(X3,X4,fun(X1,bool)),X5),X6)))
    | ~ hBOOL(hAPP(fun(X1,bool),bool,hAPP(X1,fun(fun(X1,bool),bool),member(X1),X2),hAPP(X4,fun(X1,bool),hAPP(X3,fun(X4,fun(X1,bool)),X5,sk1_esk60_6(X1,X3,X4,X2,X5,X6)),sk1_esk61_6(X1,X3,X4,X2,X5,X6)))) ),
    inference(literals_permutation,[status(thm)],[c_0_650]) ).

cnf(c_0_650_1,axiom,
    ( ~ hBOOL(hAPP(fun(X1,bool),bool,hAPP(X1,fun(fun(X1,bool),bool),member(X1),X2),hAPP(X4,fun(X1,bool),hAPP(X3,fun(X4,fun(X1,bool)),X5,sk1_esk60_6(X1,X3,X4,X2,X5,X6)),sk1_esk61_6(X1,X3,X4,X2,X5,X6))))
    | hBOOL(hAPP(fun(X1,bool),bool,hAPP(X1,fun(fun(X1,bool),bool),member(X1),X2),hAPP(product_prod(X3,X4),fun(X1,bool),hAPP(fun(X3,fun(X4,fun(X1,bool))),fun(product_prod(X3,X4),fun(X1,bool)),product_prod_case(X3,X4,fun(X1,bool)),X5),X6))) ),
    inference(literals_permutation,[status(thm)],[c_0_650]) ).

cnf(c_0_651_0,axiom,
    ( hBOOL(hAPP(X1,bool,hAPP(product_prod(X2,X3),fun(X1,bool),hAPP(fun(X2,fun(X3,fun(X1,bool))),fun(product_prod(X2,X3),fun(X1,bool)),product_prod_case(X2,X3,fun(X1,bool)),X4),X5),X6))
    | ~ hBOOL(hAPP(X1,bool,hAPP(X3,fun(X1,bool),hAPP(X2,fun(X3,fun(X1,bool)),X4,sk1_esk58_6(X1,X3,X2,X4,X6,X5)),sk1_esk59_6(X1,X3,X2,X4,X6,X5)),X6)) ),
    inference(literals_permutation,[status(thm)],[c_0_651]) ).

cnf(c_0_651_1,axiom,
    ( ~ hBOOL(hAPP(X1,bool,hAPP(X3,fun(X1,bool),hAPP(X2,fun(X3,fun(X1,bool)),X4,sk1_esk58_6(X1,X3,X2,X4,X6,X5)),sk1_esk59_6(X1,X3,X2,X4,X6,X5)),X6))
    | hBOOL(hAPP(X1,bool,hAPP(product_prod(X2,X3),fun(X1,bool),hAPP(fun(X2,fun(X3,fun(X1,bool))),fun(product_prod(X2,X3),fun(X1,bool)),product_prod_case(X2,X3,fun(X1,bool)),X4),X5),X6)) ),
    inference(literals_permutation,[status(thm)],[c_0_651]) ).

cnf(c_0_653_0,axiom,
    ( hBOOL(hAPP(fun(X1,bool),bool,hAPP(X1,fun(fun(X1,bool),bool),member(X1),X2),hAPP(X4,fun(X1,bool),hAPP(X3,fun(X4,fun(X1,bool)),X5,sk1_esk56_6(X1,X3,X4,X2,X5,X6)),sk1_esk57_6(X1,X3,X4,X2,X5,X6))))
    | ~ hBOOL(hAPP(fun(X1,bool),bool,hAPP(X1,fun(fun(X1,bool),bool),member(X1),X2),hAPP(product_prod(X3,X4),fun(X1,bool),hAPP(fun(X3,fun(X4,fun(X1,bool))),fun(product_prod(X3,X4),fun(X1,bool)),product_prod_case(X3,X4,fun(X1,bool)),X5),X6))) ),
    inference(literals_permutation,[status(thm)],[c_0_653]) ).

cnf(c_0_653_1,axiom,
    ( ~ hBOOL(hAPP(fun(X1,bool),bool,hAPP(X1,fun(fun(X1,bool),bool),member(X1),X2),hAPP(product_prod(X3,X4),fun(X1,bool),hAPP(fun(X3,fun(X4,fun(X1,bool))),fun(product_prod(X3,X4),fun(X1,bool)),product_prod_case(X3,X4,fun(X1,bool)),X5),X6)))
    | hBOOL(hAPP(fun(X1,bool),bool,hAPP(X1,fun(fun(X1,bool),bool),member(X1),X2),hAPP(X4,fun(X1,bool),hAPP(X3,fun(X4,fun(X1,bool)),X5,sk1_esk56_6(X1,X3,X4,X2,X5,X6)),sk1_esk57_6(X1,X3,X4,X2,X5,X6)))) ),
    inference(literals_permutation,[status(thm)],[c_0_653]) ).

cnf(c_0_654_0,axiom,
    ( hBOOL(hAPP(X1,bool,hAPP(X3,fun(X1,bool),hAPP(X2,fun(X3,fun(X1,bool)),X4,sk1_esk54_6(X1,X2,X3,X4,X5,X6)),sk1_esk55_6(X1,X2,X3,X4,X5,X6)),X6))
    | ~ hBOOL(hAPP(X1,bool,hAPP(product_prod(X2,X3),fun(X1,bool),hAPP(fun(X2,fun(X3,fun(X1,bool))),fun(product_prod(X2,X3),fun(X1,bool)),product_prod_case(X2,X3,fun(X1,bool)),X4),X5),X6)) ),
    inference(literals_permutation,[status(thm)],[c_0_654]) ).

cnf(c_0_654_1,axiom,
    ( ~ hBOOL(hAPP(X1,bool,hAPP(product_prod(X2,X3),fun(X1,bool),hAPP(fun(X2,fun(X3,fun(X1,bool))),fun(product_prod(X2,X3),fun(X1,bool)),product_prod_case(X2,X3,fun(X1,bool)),X4),X5),X6))
    | hBOOL(hAPP(X1,bool,hAPP(X3,fun(X1,bool),hAPP(X2,fun(X3,fun(X1,bool)),X4,sk1_esk54_6(X1,X2,X3,X4,X5,X6)),sk1_esk55_6(X1,X2,X3,X4,X5,X6)),X6)) ),
    inference(literals_permutation,[status(thm)],[c_0_654]) ).

cnf(c_0_655_0,axiom,
    ( hBOOL(hAPP(X1,bool,X2,hAPP(X4,X1,hAPP(X3,fun(X4,X1),X5,sk1_esk64_6(X1,X3,X4,X2,X5,X6)),sk1_esk65_6(X1,X3,X4,X2,X5,X6))))
    | ~ hBOOL(hAPP(X1,bool,X2,hAPP(product_prod(X3,X4),X1,hAPP(fun(X3,fun(X4,X1)),fun(product_prod(X3,X4),X1),product_prod_case(X3,X4,X1),X5),X6))) ),
    inference(literals_permutation,[status(thm)],[c_0_655]) ).

cnf(c_0_655_1,axiom,
    ( ~ hBOOL(hAPP(X1,bool,X2,hAPP(product_prod(X3,X4),X1,hAPP(fun(X3,fun(X4,X1)),fun(product_prod(X3,X4),X1),product_prod_case(X3,X4,X1),X5),X6)))
    | hBOOL(hAPP(X1,bool,X2,hAPP(X4,X1,hAPP(X3,fun(X4,X1),X5,sk1_esk64_6(X1,X3,X4,X2,X5,X6)),sk1_esk65_6(X1,X3,X4,X2,X5,X6)))) ),
    inference(literals_permutation,[status(thm)],[c_0_655]) ).

cnf(c_0_656_0,axiom,
    ( hBOOL(hAPP(product_prod(X1,product_prod(X2,X3)),bool,X4,X5))
    | ~ hBOOL(hAPP(product_prod(X1,product_prod(X2,X3)),bool,X4,hAPP(product_prod(X2,X3),product_prod(X1,product_prod(X2,X3)),hAPP(X1,fun(product_prod(X2,X3),product_prod(X1,product_prod(X2,X3))),product_Pair(X1,product_prod(X2,X3)),sk1_esk38_5(X1,X2,X3,X5,X4)),hAPP(X3,product_prod(X2,X3),hAPP(X2,fun(X3,product_prod(X2,X3)),product_Pair(X2,X3),sk1_esk39_5(X1,X2,X3,X5,X4)),sk1_esk40_5(X1,X2,X3,X5,X4))))) ),
    inference(literals_permutation,[status(thm)],[c_0_656]) ).

cnf(c_0_656_1,axiom,
    ( ~ hBOOL(hAPP(product_prod(X1,product_prod(X2,X3)),bool,X4,hAPP(product_prod(X2,X3),product_prod(X1,product_prod(X2,X3)),hAPP(X1,fun(product_prod(X2,X3),product_prod(X1,product_prod(X2,X3))),product_Pair(X1,product_prod(X2,X3)),sk1_esk38_5(X1,X2,X3,X5,X4)),hAPP(X3,product_prod(X2,X3),hAPP(X2,fun(X3,product_prod(X2,X3)),product_Pair(X2,X3),sk1_esk39_5(X1,X2,X3,X5,X4)),sk1_esk40_5(X1,X2,X3,X5,X4)))))
    | hBOOL(hAPP(product_prod(X1,product_prod(X2,X3)),bool,X4,X5)) ),
    inference(literals_permutation,[status(thm)],[c_0_656]) ).

cnf(c_0_658_0,axiom,
    ( hBOOL(hAPP(product_prod(X1,X2),bool,hAPP(fun(X1,fun(X2,bool)),fun(product_prod(X1,X2),bool),product_prod_case(X1,X2,bool),X4),X5))
    | ~ hBOOL(hAPP(product_prod(X1,X2),bool,hAPP(fun(X1,fun(X2,bool)),fun(product_prod(X1,X2),bool),product_prod_case(X1,X2,bool),hAPP(fun(X1,fun(X2,bool)),fun(X1,fun(X2,bool)),hAPP(fun(fun(X2,bool),fun(X2,bool)),fun(fun(X1,fun(X2,bool)),fun(X1,fun(X2,bool))),combb(fun(X2,bool),fun(X2,bool),X1),hAPP(fun(bool,bool),fun(fun(X2,bool),fun(X2,bool)),combb(bool,bool,X2),hAPP(bool,fun(bool,bool),fconj,X3))),X4)),X5)) ),
    inference(literals_permutation,[status(thm)],[c_0_658]) ).

cnf(c_0_658_1,axiom,
    ( ~ hBOOL(hAPP(product_prod(X1,X2),bool,hAPP(fun(X1,fun(X2,bool)),fun(product_prod(X1,X2),bool),product_prod_case(X1,X2,bool),hAPP(fun(X1,fun(X2,bool)),fun(X1,fun(X2,bool)),hAPP(fun(fun(X2,bool),fun(X2,bool)),fun(fun(X1,fun(X2,bool)),fun(X1,fun(X2,bool))),combb(fun(X2,bool),fun(X2,bool),X1),hAPP(fun(bool,bool),fun(fun(X2,bool),fun(X2,bool)),combb(bool,bool,X2),hAPP(bool,fun(bool,bool),fconj,X3))),X4)),X5))
    | hBOOL(hAPP(product_prod(X1,X2),bool,hAPP(fun(X1,fun(X2,bool)),fun(product_prod(X1,X2),bool),product_prod_case(X1,X2,bool),X4),X5)) ),
    inference(literals_permutation,[status(thm)],[c_0_658]) ).

cnf(c_0_659_0,axiom,
    ( hBOOL(X3)
    | ~ hBOOL(hAPP(product_prod(X1,X2),bool,hAPP(fun(X1,fun(X2,bool)),fun(product_prod(X1,X2),bool),product_prod_case(X1,X2,bool),hAPP(fun(X1,fun(X2,bool)),fun(X1,fun(X2,bool)),hAPP(fun(fun(X2,bool),fun(X2,bool)),fun(fun(X1,fun(X2,bool)),fun(X1,fun(X2,bool))),combb(fun(X2,bool),fun(X2,bool),X1),hAPP(fun(bool,bool),fun(fun(X2,bool),fun(X2,bool)),combb(bool,bool,X2),hAPP(bool,fun(bool,bool),fconj,X3))),X4)),X5)) ),
    inference(literals_permutation,[status(thm)],[c_0_659]) ).

cnf(c_0_659_1,axiom,
    ( ~ hBOOL(hAPP(product_prod(X1,X2),bool,hAPP(fun(X1,fun(X2,bool)),fun(product_prod(X1,X2),bool),product_prod_case(X1,X2,bool),hAPP(fun(X1,fun(X2,bool)),fun(X1,fun(X2,bool)),hAPP(fun(fun(X2,bool),fun(X2,bool)),fun(fun(X1,fun(X2,bool)),fun(X1,fun(X2,bool))),combb(fun(X2,bool),fun(X2,bool),X1),hAPP(fun(bool,bool),fun(fun(X2,bool),fun(X2,bool)),combb(bool,bool,X2),hAPP(bool,fun(bool,bool),fconj,X3))),X4)),X5))
    | hBOOL(X3) ),
    inference(literals_permutation,[status(thm)],[c_0_659]) ).

cnf(c_0_661_0,axiom,
    ( ti(fun(product_prod(X1,X2),bool),X3) = ti(fun(product_prod(X1,X2),bool),X4)
    | ~ hBOOL(hAPP(fun(product_prod(X1,X2),bool),bool,hAPP(product_prod(X1,X2),fun(fun(product_prod(X1,X2),bool),bool),member(product_prod(X1,X2)),hAPP(X2,product_prod(X1,X2),hAPP(X1,fun(X2,product_prod(X1,X2)),product_Pair(X1,X2),sk1_esk41_4(X1,X2,X4,X3)),sk1_esk42_4(X1,X2,X4,X3))),X4))
    | ~ hBOOL(hAPP(fun(product_prod(X1,X2),bool),bool,hAPP(product_prod(X1,X2),fun(fun(product_prod(X1,X2),bool),bool),member(product_prod(X1,X2)),hAPP(X2,product_prod(X1,X2),hAPP(X1,fun(X2,product_prod(X1,X2)),product_Pair(X1,X2),sk1_esk41_4(X1,X2,X4,X3)),sk1_esk42_4(X1,X2,X4,X3))),X3)) ),
    inference(literals_permutation,[status(thm)],[c_0_661]) ).

cnf(c_0_661_1,axiom,
    ( ~ hBOOL(hAPP(fun(product_prod(X1,X2),bool),bool,hAPP(product_prod(X1,X2),fun(fun(product_prod(X1,X2),bool),bool),member(product_prod(X1,X2)),hAPP(X2,product_prod(X1,X2),hAPP(X1,fun(X2,product_prod(X1,X2)),product_Pair(X1,X2),sk1_esk41_4(X1,X2,X4,X3)),sk1_esk42_4(X1,X2,X4,X3))),X4))
    | ti(fun(product_prod(X1,X2),bool),X3) = ti(fun(product_prod(X1,X2),bool),X4)
    | ~ hBOOL(hAPP(fun(product_prod(X1,X2),bool),bool,hAPP(product_prod(X1,X2),fun(fun(product_prod(X1,X2),bool),bool),member(product_prod(X1,X2)),hAPP(X2,product_prod(X1,X2),hAPP(X1,fun(X2,product_prod(X1,X2)),product_Pair(X1,X2),sk1_esk41_4(X1,X2,X4,X3)),sk1_esk42_4(X1,X2,X4,X3))),X3)) ),
    inference(literals_permutation,[status(thm)],[c_0_661]) ).

cnf(c_0_661_2,axiom,
    ( ~ hBOOL(hAPP(fun(product_prod(X1,X2),bool),bool,hAPP(product_prod(X1,X2),fun(fun(product_prod(X1,X2),bool),bool),member(product_prod(X1,X2)),hAPP(X2,product_prod(X1,X2),hAPP(X1,fun(X2,product_prod(X1,X2)),product_Pair(X1,X2),sk1_esk41_4(X1,X2,X4,X3)),sk1_esk42_4(X1,X2,X4,X3))),X3))
    | ~ hBOOL(hAPP(fun(product_prod(X1,X2),bool),bool,hAPP(product_prod(X1,X2),fun(fun(product_prod(X1,X2),bool),bool),member(product_prod(X1,X2)),hAPP(X2,product_prod(X1,X2),hAPP(X1,fun(X2,product_prod(X1,X2)),product_Pair(X1,X2),sk1_esk41_4(X1,X2,X4,X3)),sk1_esk42_4(X1,X2,X4,X3))),X4))
    | ti(fun(product_prod(X1,X2),bool),X3) = ti(fun(product_prod(X1,X2),bool),X4) ),
    inference(literals_permutation,[status(thm)],[c_0_661]) ).

cnf(c_0_667_0,axiom,
    ( hBOOL(hAPP(product_prod(X1,X2),bool,hAPP(fun(X1,fun(X2,bool)),fun(product_prod(X1,X2),bool),product_prod_case(X1,X2,bool),hAPP(fun(X1,fun(X2,bool)),fun(X1,fun(X2,bool)),hAPP(fun(fun(X2,bool),fun(X2,bool)),fun(fun(X1,fun(X2,bool)),fun(X1,fun(X2,bool))),combb(fun(X2,bool),fun(X2,bool),X1),hAPP(fun(bool,bool),fun(fun(X2,bool),fun(X2,bool)),combb(bool,bool,X2),hAPP(bool,fun(bool,bool),fconj,X3))),X4)),X5))
    | ~ hBOOL(hAPP(product_prod(X1,X2),bool,hAPP(fun(X1,fun(X2,bool)),fun(product_prod(X1,X2),bool),product_prod_case(X1,X2,bool),X4),X5))
    | ~ hBOOL(X3) ),
    inference(literals_permutation,[status(thm)],[c_0_667]) ).

cnf(c_0_667_1,axiom,
    ( ~ hBOOL(hAPP(product_prod(X1,X2),bool,hAPP(fun(X1,fun(X2,bool)),fun(product_prod(X1,X2),bool),product_prod_case(X1,X2,bool),X4),X5))
    | hBOOL(hAPP(product_prod(X1,X2),bool,hAPP(fun(X1,fun(X2,bool)),fun(product_prod(X1,X2),bool),product_prod_case(X1,X2,bool),hAPP(fun(X1,fun(X2,bool)),fun(X1,fun(X2,bool)),hAPP(fun(fun(X2,bool),fun(X2,bool)),fun(fun(X1,fun(X2,bool)),fun(X1,fun(X2,bool))),combb(fun(X2,bool),fun(X2,bool),X1),hAPP(fun(bool,bool),fun(fun(X2,bool),fun(X2,bool)),combb(bool,bool,X2),hAPP(bool,fun(bool,bool),fconj,X3))),X4)),X5))
    | ~ hBOOL(X3) ),
    inference(literals_permutation,[status(thm)],[c_0_667]) ).

cnf(c_0_667_2,axiom,
    ( ~ hBOOL(X3)
    | ~ hBOOL(hAPP(product_prod(X1,X2),bool,hAPP(fun(X1,fun(X2,bool)),fun(product_prod(X1,X2),bool),product_prod_case(X1,X2,bool),X4),X5))
    | hBOOL(hAPP(product_prod(X1,X2),bool,hAPP(fun(X1,fun(X2,bool)),fun(product_prod(X1,X2),bool),product_prod_case(X1,X2,bool),hAPP(fun(X1,fun(X2,bool)),fun(X1,fun(X2,bool)),hAPP(fun(fun(X2,bool),fun(X2,bool)),fun(fun(X1,fun(X2,bool)),fun(X1,fun(X2,bool))),combb(fun(X2,bool),fun(X2,bool),X1),hAPP(fun(bool,bool),fun(fun(X2,bool),fun(X2,bool)),combb(bool,bool,X2),hAPP(bool,fun(bool,bool),fconj,X3))),X4)),X5)) ),
    inference(literals_permutation,[status(thm)],[c_0_667]) ).

cnf(c_0_669_0,axiom,
    ( hAPP(X1,fun(X2,X1),hAPP(X2,fun(X1,fun(X2,X1)),hAPP(fun(X2,X1),fun(X2,fun(X1,fun(X2,X1))),fun_upd(X2,X1),hAPP(X1,fun(X2,X1),hAPP(X2,fun(X1,fun(X2,X1)),hAPP(fun(X2,X1),fun(X2,fun(X1,fun(X2,X1))),fun_upd(X2,X1),X3),X4),X5)),X6),X7) = hAPP(X1,fun(X2,X1),hAPP(X2,fun(X1,fun(X2,X1)),hAPP(fun(X2,X1),fun(X2,fun(X1,fun(X2,X1))),fun_upd(X2,X1),hAPP(X1,fun(X2,X1),hAPP(X2,fun(X1,fun(X2,X1)),hAPP(fun(X2,X1),fun(X2,fun(X1,fun(X2,X1))),fun_upd(X2,X1),X3),X6),X7)),X4),X5)
    | ti(X2,X4) = ti(X2,X6) ),
    inference(literals_permutation,[status(thm)],[c_0_669]) ).

cnf(c_0_669_1,axiom,
    ( ti(X2,X4) = ti(X2,X6)
    | hAPP(X1,fun(X2,X1),hAPP(X2,fun(X1,fun(X2,X1)),hAPP(fun(X2,X1),fun(X2,fun(X1,fun(X2,X1))),fun_upd(X2,X1),hAPP(X1,fun(X2,X1),hAPP(X2,fun(X1,fun(X2,X1)),hAPP(fun(X2,X1),fun(X2,fun(X1,fun(X2,X1))),fun_upd(X2,X1),X3),X4),X5)),X6),X7) = hAPP(X1,fun(X2,X1),hAPP(X2,fun(X1,fun(X2,X1)),hAPP(fun(X2,X1),fun(X2,fun(X1,fun(X2,X1))),fun_upd(X2,X1),hAPP(X1,fun(X2,X1),hAPP(X2,fun(X1,fun(X2,X1)),hAPP(fun(X2,X1),fun(X2,fun(X1,fun(X2,X1))),fun_upd(X2,X1),X3),X6),X7)),X4),X5) ),
    inference(literals_permutation,[status(thm)],[c_0_669]) ).

cnf(c_0_670_0,axiom,
    ( hAPP(X4,product_prod(X3,X4),hAPP(X3,fun(X4,product_prod(X3,X4)),product_Pair(X3,X4),sk1_esk56_6(X1,X3,X4,X2,X5,X6)),sk1_esk57_6(X1,X3,X4,X2,X5,X6)) = ti(product_prod(X3,X4),X6)
    | ~ hBOOL(hAPP(fun(X1,bool),bool,hAPP(X1,fun(fun(X1,bool),bool),member(X1),X2),hAPP(product_prod(X3,X4),fun(X1,bool),hAPP(fun(X3,fun(X4,fun(X1,bool))),fun(product_prod(X3,X4),fun(X1,bool)),product_prod_case(X3,X4,fun(X1,bool)),X5),X6))) ),
    inference(literals_permutation,[status(thm)],[c_0_670]) ).

cnf(c_0_670_1,axiom,
    ( ~ hBOOL(hAPP(fun(X1,bool),bool,hAPP(X1,fun(fun(X1,bool),bool),member(X1),X2),hAPP(product_prod(X3,X4),fun(X1,bool),hAPP(fun(X3,fun(X4,fun(X1,bool))),fun(product_prod(X3,X4),fun(X1,bool)),product_prod_case(X3,X4,fun(X1,bool)),X5),X6)))
    | hAPP(X4,product_prod(X3,X4),hAPP(X3,fun(X4,product_prod(X3,X4)),product_Pair(X3,X4),sk1_esk56_6(X1,X3,X4,X2,X5,X6)),sk1_esk57_6(X1,X3,X4,X2,X5,X6)) = ti(product_prod(X3,X4),X6) ),
    inference(literals_permutation,[status(thm)],[c_0_670]) ).

cnf(c_0_671_0,axiom,
    ( hAPP(X3,product_prod(X2,X3),hAPP(X2,fun(X3,product_prod(X2,X3)),product_Pair(X2,X3),sk1_esk54_6(X1,X2,X3,X4,X5,X6)),sk1_esk55_6(X1,X2,X3,X4,X5,X6)) = ti(product_prod(X2,X3),X5)
    | ~ hBOOL(hAPP(X1,bool,hAPP(product_prod(X2,X3),fun(X1,bool),hAPP(fun(X2,fun(X3,fun(X1,bool))),fun(product_prod(X2,X3),fun(X1,bool)),product_prod_case(X2,X3,fun(X1,bool)),X4),X5),X6)) ),
    inference(literals_permutation,[status(thm)],[c_0_671]) ).

cnf(c_0_671_1,axiom,
    ( ~ hBOOL(hAPP(X1,bool,hAPP(product_prod(X2,X3),fun(X1,bool),hAPP(fun(X2,fun(X3,fun(X1,bool))),fun(product_prod(X2,X3),fun(X1,bool)),product_prod_case(X2,X3,fun(X1,bool)),X4),X5),X6))
    | hAPP(X3,product_prod(X2,X3),hAPP(X2,fun(X3,product_prod(X2,X3)),product_Pair(X2,X3),sk1_esk54_6(X1,X2,X3,X4,X5,X6)),sk1_esk55_6(X1,X2,X3,X4,X5,X6)) = ti(product_prod(X2,X3),X5) ),
    inference(literals_permutation,[status(thm)],[c_0_671]) ).

cnf(c_0_673_0,axiom,
    ( hAPP(X4,product_prod(X3,X4),hAPP(X3,fun(X4,product_prod(X3,X4)),product_Pair(X3,X4),sk1_esk64_6(X1,X3,X4,X2,X5,X6)),sk1_esk65_6(X1,X3,X4,X2,X5,X6)) = ti(product_prod(X3,X4),X6)
    | ~ hBOOL(hAPP(X1,bool,X2,hAPP(product_prod(X3,X4),X1,hAPP(fun(X3,fun(X4,X1)),fun(product_prod(X3,X4),X1),product_prod_case(X3,X4,X1),X5),X6))) ),
    inference(literals_permutation,[status(thm)],[c_0_673]) ).

cnf(c_0_673_1,axiom,
    ( ~ hBOOL(hAPP(X1,bool,X2,hAPP(product_prod(X3,X4),X1,hAPP(fun(X3,fun(X4,X1)),fun(product_prod(X3,X4),X1),product_prod_case(X3,X4,X1),X5),X6)))
    | hAPP(X4,product_prod(X3,X4),hAPP(X3,fun(X4,product_prod(X3,X4)),product_Pair(X3,X4),sk1_esk64_6(X1,X3,X4,X2,X5,X6)),sk1_esk65_6(X1,X3,X4,X2,X5,X6)) = ti(product_prod(X3,X4),X6) ),
    inference(literals_permutation,[status(thm)],[c_0_673]) ).

cnf(c_0_674_0,axiom,
    ( hBOOL(hAPP(fun(X1,bool),bool,hAPP(X1,fun(fun(X1,bool),bool),member(X1),X2),hAPP(product_prod(X3,X4),fun(X1,bool),hAPP(fun(X3,fun(X4,fun(X1,bool))),fun(product_prod(X3,X4),fun(X1,bool)),product_prod_case(X3,X4,fun(X1,bool)),X5),X6)))
    | hAPP(X4,product_prod(X3,X4),hAPP(X3,fun(X4,product_prod(X3,X4)),product_Pair(X3,X4),sk1_esk60_6(X1,X3,X4,X2,X5,X6)),sk1_esk61_6(X1,X3,X4,X2,X5,X6)) = ti(product_prod(X3,X4),X6) ),
    inference(literals_permutation,[status(thm)],[c_0_674]) ).

cnf(c_0_674_1,axiom,
    ( hAPP(X4,product_prod(X3,X4),hAPP(X3,fun(X4,product_prod(X3,X4)),product_Pair(X3,X4),sk1_esk60_6(X1,X3,X4,X2,X5,X6)),sk1_esk61_6(X1,X3,X4,X2,X5,X6)) = ti(product_prod(X3,X4),X6)
    | hBOOL(hAPP(fun(X1,bool),bool,hAPP(X1,fun(fun(X1,bool),bool),member(X1),X2),hAPP(product_prod(X3,X4),fun(X1,bool),hAPP(fun(X3,fun(X4,fun(X1,bool))),fun(product_prod(X3,X4),fun(X1,bool)),product_prod_case(X3,X4,fun(X1,bool)),X5),X6))) ),
    inference(literals_permutation,[status(thm)],[c_0_674]) ).

cnf(c_0_675_0,axiom,
    ( ti(fun(product_prod(X1,X2),bool),X3) = ti(fun(product_prod(X1,X2),bool),X4)
    | hBOOL(hAPP(fun(product_prod(X1,X2),bool),bool,hAPP(product_prod(X1,X2),fun(fun(product_prod(X1,X2),bool),bool),member(product_prod(X1,X2)),hAPP(X2,product_prod(X1,X2),hAPP(X1,fun(X2,product_prod(X1,X2)),product_Pair(X1,X2),sk1_esk41_4(X1,X2,X4,X3)),sk1_esk42_4(X1,X2,X4,X3))),X4))
    | hBOOL(hAPP(fun(product_prod(X1,X2),bool),bool,hAPP(product_prod(X1,X2),fun(fun(product_prod(X1,X2),bool),bool),member(product_prod(X1,X2)),hAPP(X2,product_prod(X1,X2),hAPP(X1,fun(X2,product_prod(X1,X2)),product_Pair(X1,X2),sk1_esk41_4(X1,X2,X4,X3)),sk1_esk42_4(X1,X2,X4,X3))),X3)) ),
    inference(literals_permutation,[status(thm)],[c_0_675]) ).

cnf(c_0_675_1,axiom,
    ( hBOOL(hAPP(fun(product_prod(X1,X2),bool),bool,hAPP(product_prod(X1,X2),fun(fun(product_prod(X1,X2),bool),bool),member(product_prod(X1,X2)),hAPP(X2,product_prod(X1,X2),hAPP(X1,fun(X2,product_prod(X1,X2)),product_Pair(X1,X2),sk1_esk41_4(X1,X2,X4,X3)),sk1_esk42_4(X1,X2,X4,X3))),X4))
    | ti(fun(product_prod(X1,X2),bool),X3) = ti(fun(product_prod(X1,X2),bool),X4)
    | hBOOL(hAPP(fun(product_prod(X1,X2),bool),bool,hAPP(product_prod(X1,X2),fun(fun(product_prod(X1,X2),bool),bool),member(product_prod(X1,X2)),hAPP(X2,product_prod(X1,X2),hAPP(X1,fun(X2,product_prod(X1,X2)),product_Pair(X1,X2),sk1_esk41_4(X1,X2,X4,X3)),sk1_esk42_4(X1,X2,X4,X3))),X3)) ),
    inference(literals_permutation,[status(thm)],[c_0_675]) ).

cnf(c_0_675_2,axiom,
    ( hBOOL(hAPP(fun(product_prod(X1,X2),bool),bool,hAPP(product_prod(X1,X2),fun(fun(product_prod(X1,X2),bool),bool),member(product_prod(X1,X2)),hAPP(X2,product_prod(X1,X2),hAPP(X1,fun(X2,product_prod(X1,X2)),product_Pair(X1,X2),sk1_esk41_4(X1,X2,X4,X3)),sk1_esk42_4(X1,X2,X4,X3))),X3))
    | hBOOL(hAPP(fun(product_prod(X1,X2),bool),bool,hAPP(product_prod(X1,X2),fun(fun(product_prod(X1,X2),bool),bool),member(product_prod(X1,X2)),hAPP(X2,product_prod(X1,X2),hAPP(X1,fun(X2,product_prod(X1,X2)),product_Pair(X1,X2),sk1_esk41_4(X1,X2,X4,X3)),sk1_esk42_4(X1,X2,X4,X3))),X4))
    | ti(fun(product_prod(X1,X2),bool),X3) = ti(fun(product_prod(X1,X2),bool),X4) ),
    inference(literals_permutation,[status(thm)],[c_0_675]) ).

cnf(c_0_676_0,axiom,
    ( hBOOL(hAPP(X1,bool,hAPP(product_prod(X2,X3),fun(X1,bool),hAPP(fun(X2,fun(X3,fun(X1,bool))),fun(product_prod(X2,X3),fun(X1,bool)),product_prod_case(X2,X3,fun(X1,bool)),X4),X5),X6))
    | hAPP(X3,product_prod(X2,X3),hAPP(X2,fun(X3,product_prod(X2,X3)),product_Pair(X2,X3),sk1_esk58_6(X1,X3,X2,X4,X6,X5)),sk1_esk59_6(X1,X3,X2,X4,X6,X5)) = ti(product_prod(X2,X3),X5) ),
    inference(literals_permutation,[status(thm)],[c_0_676]) ).

cnf(c_0_676_1,axiom,
    ( hAPP(X3,product_prod(X2,X3),hAPP(X2,fun(X3,product_prod(X2,X3)),product_Pair(X2,X3),sk1_esk58_6(X1,X3,X2,X4,X6,X5)),sk1_esk59_6(X1,X3,X2,X4,X6,X5)) = ti(product_prod(X2,X3),X5)
    | hBOOL(hAPP(X1,bool,hAPP(product_prod(X2,X3),fun(X1,bool),hAPP(fun(X2,fun(X3,fun(X1,bool))),fun(product_prod(X2,X3),fun(X1,bool)),product_prod_case(X2,X3,fun(X1,bool)),X4),X5),X6)) ),
    inference(literals_permutation,[status(thm)],[c_0_676]) ).

cnf(c_0_677_0,axiom,
    ( hAPP(fun(X1,fun(X2,X3)),fun(product_prod(X1,X2),X3),product_prod_case(X1,X2,X3),X4) = ti(fun(product_prod(X1,X2),X3),X5)
    | hAPP(X2,X3,hAPP(X1,fun(X2,X3),X4,sk1_esk62_5(X2,X3,X1,X4,X5)),sk1_esk63_5(X2,X3,X1,X4,X5)) != hAPP(product_prod(X1,X2),X3,X5,hAPP(X2,product_prod(X1,X2),hAPP(X1,fun(X2,product_prod(X1,X2)),product_Pair(X1,X2),sk1_esk62_5(X2,X3,X1,X4,X5)),sk1_esk63_5(X2,X3,X1,X4,X5))) ),
    inference(literals_permutation,[status(thm)],[c_0_677]) ).

cnf(c_0_677_1,axiom,
    ( hAPP(X2,X3,hAPP(X1,fun(X2,X3),X4,sk1_esk62_5(X2,X3,X1,X4,X5)),sk1_esk63_5(X2,X3,X1,X4,X5)) != hAPP(product_prod(X1,X2),X3,X5,hAPP(X2,product_prod(X1,X2),hAPP(X1,fun(X2,product_prod(X1,X2)),product_Pair(X1,X2),sk1_esk62_5(X2,X3,X1,X4,X5)),sk1_esk63_5(X2,X3,X1,X4,X5)))
    | hAPP(fun(X1,fun(X2,X3)),fun(product_prod(X1,X2),X3),product_prod_case(X1,X2,X3),X4) = ti(fun(product_prod(X1,X2),X3),X5) ),
    inference(literals_permutation,[status(thm)],[c_0_677]) ).

cnf(c_0_679_0,axiom,
    ( hBOOL(hAPP(X1,bool,hAPP(X2,fun(X1,bool),hAPP(X3,fun(X2,fun(X1,bool)),X4,X5),X6),X7))
    | ~ hBOOL(hAPP(X1,bool,hAPP(product_prod(X3,X2),fun(X1,bool),hAPP(fun(X3,fun(X2,fun(X1,bool))),fun(product_prod(X3,X2),fun(X1,bool)),product_prod_case(X3,X2,fun(X1,bool)),X4),hAPP(X2,product_prod(X3,X2),hAPP(X3,fun(X2,product_prod(X3,X2)),product_Pair(X3,X2),X5),X6)),X7)) ),
    inference(literals_permutation,[status(thm)],[c_0_679]) ).

cnf(c_0_679_1,axiom,
    ( ~ hBOOL(hAPP(X1,bool,hAPP(product_prod(X3,X2),fun(X1,bool),hAPP(fun(X3,fun(X2,fun(X1,bool))),fun(product_prod(X3,X2),fun(X1,bool)),product_prod_case(X3,X2,fun(X1,bool)),X4),hAPP(X2,product_prod(X3,X2),hAPP(X3,fun(X2,product_prod(X3,X2)),product_Pair(X3,X2),X5),X6)),X7))
    | hBOOL(hAPP(X1,bool,hAPP(X2,fun(X1,bool),hAPP(X3,fun(X2,fun(X1,bool)),X4,X5),X6),X7)) ),
    inference(literals_permutation,[status(thm)],[c_0_679]) ).

cnf(c_0_680_0,axiom,
    ( hBOOL(hAPP(fun(product_prod(X1,X2),bool),bool,hAPP(product_prod(X1,X2),fun(fun(product_prod(X1,X2),bool),bool),member(product_prod(X1,X2)),hAPP(X2,product_prod(X1,X2),hAPP(X1,fun(X2,product_prod(X1,X2)),product_Pair(X1,X2),X5),X6)),X4))
    | ti(fun(product_prod(X1,X2),bool),X3) != ti(fun(product_prod(X1,X2),bool),X4)
    | ~ hBOOL(hAPP(fun(product_prod(X1,X2),bool),bool,hAPP(product_prod(X1,X2),fun(fun(product_prod(X1,X2),bool),bool),member(product_prod(X1,X2)),hAPP(X2,product_prod(X1,X2),hAPP(X1,fun(X2,product_prod(X1,X2)),product_Pair(X1,X2),X5),X6)),X3)) ),
    inference(literals_permutation,[status(thm)],[c_0_680]) ).

cnf(c_0_680_1,axiom,
    ( ti(fun(product_prod(X1,X2),bool),X3) != ti(fun(product_prod(X1,X2),bool),X4)
    | hBOOL(hAPP(fun(product_prod(X1,X2),bool),bool,hAPP(product_prod(X1,X2),fun(fun(product_prod(X1,X2),bool),bool),member(product_prod(X1,X2)),hAPP(X2,product_prod(X1,X2),hAPP(X1,fun(X2,product_prod(X1,X2)),product_Pair(X1,X2),X5),X6)),X4))
    | ~ hBOOL(hAPP(fun(product_prod(X1,X2),bool),bool,hAPP(product_prod(X1,X2),fun(fun(product_prod(X1,X2),bool),bool),member(product_prod(X1,X2)),hAPP(X2,product_prod(X1,X2),hAPP(X1,fun(X2,product_prod(X1,X2)),product_Pair(X1,X2),X5),X6)),X3)) ),
    inference(literals_permutation,[status(thm)],[c_0_680]) ).

cnf(c_0_680_2,axiom,
    ( ~ hBOOL(hAPP(fun(product_prod(X1,X2),bool),bool,hAPP(product_prod(X1,X2),fun(fun(product_prod(X1,X2),bool),bool),member(product_prod(X1,X2)),hAPP(X2,product_prod(X1,X2),hAPP(X1,fun(X2,product_prod(X1,X2)),product_Pair(X1,X2),X5),X6)),X3))
    | ti(fun(product_prod(X1,X2),bool),X3) != ti(fun(product_prod(X1,X2),bool),X4)
    | hBOOL(hAPP(fun(product_prod(X1,X2),bool),bool,hAPP(product_prod(X1,X2),fun(fun(product_prod(X1,X2),bool),bool),member(product_prod(X1,X2)),hAPP(X2,product_prod(X1,X2),hAPP(X1,fun(X2,product_prod(X1,X2)),product_Pair(X1,X2),X5),X6)),X4)) ),
    inference(literals_permutation,[status(thm)],[c_0_680]) ).

cnf(c_0_681_0,axiom,
    ( hBOOL(hAPP(fun(product_prod(X1,X2),bool),bool,hAPP(product_prod(X1,X2),fun(fun(product_prod(X1,X2),bool),bool),member(product_prod(X1,X2)),hAPP(X2,product_prod(X1,X2),hAPP(X1,fun(X2,product_prod(X1,X2)),product_Pair(X1,X2),X5),X6)),X3))
    | ti(fun(product_prod(X1,X2),bool),X3) != ti(fun(product_prod(X1,X2),bool),X4)
    | ~ hBOOL(hAPP(fun(product_prod(X1,X2),bool),bool,hAPP(product_prod(X1,X2),fun(fun(product_prod(X1,X2),bool),bool),member(product_prod(X1,X2)),hAPP(X2,product_prod(X1,X2),hAPP(X1,fun(X2,product_prod(X1,X2)),product_Pair(X1,X2),X5),X6)),X4)) ),
    inference(literals_permutation,[status(thm)],[c_0_681]) ).

cnf(c_0_681_1,axiom,
    ( ti(fun(product_prod(X1,X2),bool),X3) != ti(fun(product_prod(X1,X2),bool),X4)
    | hBOOL(hAPP(fun(product_prod(X1,X2),bool),bool,hAPP(product_prod(X1,X2),fun(fun(product_prod(X1,X2),bool),bool),member(product_prod(X1,X2)),hAPP(X2,product_prod(X1,X2),hAPP(X1,fun(X2,product_prod(X1,X2)),product_Pair(X1,X2),X5),X6)),X3))
    | ~ hBOOL(hAPP(fun(product_prod(X1,X2),bool),bool,hAPP(product_prod(X1,X2),fun(fun(product_prod(X1,X2),bool),bool),member(product_prod(X1,X2)),hAPP(X2,product_prod(X1,X2),hAPP(X1,fun(X2,product_prod(X1,X2)),product_Pair(X1,X2),X5),X6)),X4)) ),
    inference(literals_permutation,[status(thm)],[c_0_681]) ).

cnf(c_0_681_2,axiom,
    ( ~ hBOOL(hAPP(fun(product_prod(X1,X2),bool),bool,hAPP(product_prod(X1,X2),fun(fun(product_prod(X1,X2),bool),bool),member(product_prod(X1,X2)),hAPP(X2,product_prod(X1,X2),hAPP(X1,fun(X2,product_prod(X1,X2)),product_Pair(X1,X2),X5),X6)),X4))
    | ti(fun(product_prod(X1,X2),bool),X3) != ti(fun(product_prod(X1,X2),bool),X4)
    | hBOOL(hAPP(fun(product_prod(X1,X2),bool),bool,hAPP(product_prod(X1,X2),fun(fun(product_prod(X1,X2),bool),bool),member(product_prod(X1,X2)),hAPP(X2,product_prod(X1,X2),hAPP(X1,fun(X2,product_prod(X1,X2)),product_Pair(X1,X2),X5),X6)),X3)) ),
    inference(literals_permutation,[status(thm)],[c_0_681]) ).

cnf(c_0_682_0,axiom,
    ( hBOOL(hAPP(fun(X1,bool),bool,hAPP(X1,fun(fun(X1,bool),bool),member(X1),X2),hAPP(product_prod(X3,X4),fun(X1,bool),hAPP(fun(X3,fun(X4,fun(X1,bool))),fun(product_prod(X3,X4),fun(X1,bool)),product_prod_case(X3,X4,fun(X1,bool)),X5),hAPP(X4,product_prod(X3,X4),hAPP(X3,fun(X4,product_prod(X3,X4)),product_Pair(X3,X4),X6),X7))))
    | ~ hBOOL(hAPP(fun(X1,bool),bool,hAPP(X1,fun(fun(X1,bool),bool),member(X1),X2),hAPP(X4,fun(X1,bool),hAPP(X3,fun(X4,fun(X1,bool)),X5,X6),X7))) ),
    inference(literals_permutation,[status(thm)],[c_0_682]) ).

cnf(c_0_682_1,axiom,
    ( ~ hBOOL(hAPP(fun(X1,bool),bool,hAPP(X1,fun(fun(X1,bool),bool),member(X1),X2),hAPP(X4,fun(X1,bool),hAPP(X3,fun(X4,fun(X1,bool)),X5,X6),X7)))
    | hBOOL(hAPP(fun(X1,bool),bool,hAPP(X1,fun(fun(X1,bool),bool),member(X1),X2),hAPP(product_prod(X3,X4),fun(X1,bool),hAPP(fun(X3,fun(X4,fun(X1,bool))),fun(product_prod(X3,X4),fun(X1,bool)),product_prod_case(X3,X4,fun(X1,bool)),X5),hAPP(X4,product_prod(X3,X4),hAPP(X3,fun(X4,product_prod(X3,X4)),product_Pair(X3,X4),X6),X7)))) ),
    inference(literals_permutation,[status(thm)],[c_0_682]) ).

cnf(c_0_685_0,axiom,
    ( ti(X1,X6) = ti(X1,X4)
    | hAPP(X1,option(X2),X3,X6) = hAPP(X2,option(X2),some(X2),X7)
    | hAPP(X1,option(X2),hAPP(option(X2),fun(X1,option(X2)),hAPP(X1,fun(option(X2),fun(X1,option(X2))),hAPP(fun(X1,option(X2)),fun(X1,fun(option(X2),fun(X1,option(X2)))),fun_upd(X1,option(X2)),X3),X4),hAPP(X2,option(X2),some(X2),X5)),X6) != hAPP(X2,option(X2),some(X2),X7) ),
    inference(literals_permutation,[status(thm)],[c_0_685]) ).

cnf(c_0_685_1,axiom,
    ( hAPP(X1,option(X2),X3,X6) = hAPP(X2,option(X2),some(X2),X7)
    | ti(X1,X6) = ti(X1,X4)
    | hAPP(X1,option(X2),hAPP(option(X2),fun(X1,option(X2)),hAPP(X1,fun(option(X2),fun(X1,option(X2))),hAPP(fun(X1,option(X2)),fun(X1,fun(option(X2),fun(X1,option(X2)))),fun_upd(X1,option(X2)),X3),X4),hAPP(X2,option(X2),some(X2),X5)),X6) != hAPP(X2,option(X2),some(X2),X7) ),
    inference(literals_permutation,[status(thm)],[c_0_685]) ).

cnf(c_0_685_2,axiom,
    ( hAPP(X1,option(X2),hAPP(option(X2),fun(X1,option(X2)),hAPP(X1,fun(option(X2),fun(X1,option(X2))),hAPP(fun(X1,option(X2)),fun(X1,fun(option(X2),fun(X1,option(X2)))),fun_upd(X1,option(X2)),X3),X4),hAPP(X2,option(X2),some(X2),X5)),X6) != hAPP(X2,option(X2),some(X2),X7)
    | hAPP(X1,option(X2),X3,X6) = hAPP(X2,option(X2),some(X2),X7)
    | ti(X1,X6) = ti(X1,X4) ),
    inference(literals_permutation,[status(thm)],[c_0_685]) ).

cnf(c_0_686_0,axiom,
    ( ti(X2,X5) = ti(X2,X7)
    | hAPP(X1,option(X2),X3,X6) = hAPP(X2,option(X2),some(X2),X7)
    | hAPP(X1,option(X2),hAPP(option(X2),fun(X1,option(X2)),hAPP(X1,fun(option(X2),fun(X1,option(X2))),hAPP(fun(X1,option(X2)),fun(X1,fun(option(X2),fun(X1,option(X2)))),fun_upd(X1,option(X2)),X3),X4),hAPP(X2,option(X2),some(X2),X5)),X6) != hAPP(X2,option(X2),some(X2),X7) ),
    inference(literals_permutation,[status(thm)],[c_0_686]) ).

cnf(c_0_686_1,axiom,
    ( hAPP(X1,option(X2),X3,X6) = hAPP(X2,option(X2),some(X2),X7)
    | ti(X2,X5) = ti(X2,X7)
    | hAPP(X1,option(X2),hAPP(option(X2),fun(X1,option(X2)),hAPP(X1,fun(option(X2),fun(X1,option(X2))),hAPP(fun(X1,option(X2)),fun(X1,fun(option(X2),fun(X1,option(X2)))),fun_upd(X1,option(X2)),X3),X4),hAPP(X2,option(X2),some(X2),X5)),X6) != hAPP(X2,option(X2),some(X2),X7) ),
    inference(literals_permutation,[status(thm)],[c_0_686]) ).

cnf(c_0_686_2,axiom,
    ( hAPP(X1,option(X2),hAPP(option(X2),fun(X1,option(X2)),hAPP(X1,fun(option(X2),fun(X1,option(X2))),hAPP(fun(X1,option(X2)),fun(X1,fun(option(X2),fun(X1,option(X2)))),fun_upd(X1,option(X2)),X3),X4),hAPP(X2,option(X2),some(X2),X5)),X6) != hAPP(X2,option(X2),some(X2),X7)
    | hAPP(X1,option(X2),X3,X6) = hAPP(X2,option(X2),some(X2),X7)
    | ti(X2,X5) = ti(X2,X7) ),
    inference(literals_permutation,[status(thm)],[c_0_686]) ).

cnf(c_0_687_0,axiom,
    ( ti(X1,X6) = ti(X1,X4)
    | hAPP(X1,option(X2),hAPP(option(X2),fun(X1,option(X2)),hAPP(X1,fun(option(X2),fun(X1,option(X2))),hAPP(fun(X1,option(X2)),fun(X1,fun(option(X2),fun(X1,option(X2)))),fun_upd(X1,option(X2)),X3),X4),hAPP(X2,option(X2),some(X2),X5)),X6) != hAPP(X2,option(X2),some(X2),X7)
    | ti(X1,X6) != ti(X1,X4) ),
    inference(literals_permutation,[status(thm)],[c_0_687]) ).

cnf(c_0_687_1,axiom,
    ( hAPP(X1,option(X2),hAPP(option(X2),fun(X1,option(X2)),hAPP(X1,fun(option(X2),fun(X1,option(X2))),hAPP(fun(X1,option(X2)),fun(X1,fun(option(X2),fun(X1,option(X2)))),fun_upd(X1,option(X2)),X3),X4),hAPP(X2,option(X2),some(X2),X5)),X6) != hAPP(X2,option(X2),some(X2),X7)
    | ti(X1,X6) = ti(X1,X4)
    | ti(X1,X6) != ti(X1,X4) ),
    inference(literals_permutation,[status(thm)],[c_0_687]) ).

cnf(c_0_687_2,axiom,
    ( ti(X1,X6) != ti(X1,X4)
    | hAPP(X1,option(X2),hAPP(option(X2),fun(X1,option(X2)),hAPP(X1,fun(option(X2),fun(X1,option(X2))),hAPP(fun(X1,option(X2)),fun(X1,fun(option(X2),fun(X1,option(X2)))),fun_upd(X1,option(X2)),X3),X4),hAPP(X2,option(X2),some(X2),X5)),X6) != hAPP(X2,option(X2),some(X2),X7)
    | ti(X1,X6) = ti(X1,X4) ),
    inference(literals_permutation,[status(thm)],[c_0_687]) ).

cnf(c_0_688_0,axiom,
    ( ti(X2,X5) = ti(X2,X7)
    | hAPP(X1,option(X2),hAPP(option(X2),fun(X1,option(X2)),hAPP(X1,fun(option(X2),fun(X1,option(X2))),hAPP(fun(X1,option(X2)),fun(X1,fun(option(X2),fun(X1,option(X2)))),fun_upd(X1,option(X2)),X3),X4),hAPP(X2,option(X2),some(X2),X5)),X6) != hAPP(X2,option(X2),some(X2),X7)
    | ti(X1,X6) != ti(X1,X4) ),
    inference(literals_permutation,[status(thm)],[c_0_688]) ).

cnf(c_0_688_1,axiom,
    ( hAPP(X1,option(X2),hAPP(option(X2),fun(X1,option(X2)),hAPP(X1,fun(option(X2),fun(X1,option(X2))),hAPP(fun(X1,option(X2)),fun(X1,fun(option(X2),fun(X1,option(X2)))),fun_upd(X1,option(X2)),X3),X4),hAPP(X2,option(X2),some(X2),X5)),X6) != hAPP(X2,option(X2),some(X2),X7)
    | ti(X2,X5) = ti(X2,X7)
    | ti(X1,X6) != ti(X1,X4) ),
    inference(literals_permutation,[status(thm)],[c_0_688]) ).

cnf(c_0_688_2,axiom,
    ( ti(X1,X6) != ti(X1,X4)
    | hAPP(X1,option(X2),hAPP(option(X2),fun(X1,option(X2)),hAPP(X1,fun(option(X2),fun(X1,option(X2))),hAPP(fun(X1,option(X2)),fun(X1,fun(option(X2),fun(X1,option(X2)))),fun_upd(X1,option(X2)),X3),X4),hAPP(X2,option(X2),some(X2),X5)),X6) != hAPP(X2,option(X2),some(X2),X7)
    | ti(X2,X5) = ti(X2,X7) ),
    inference(literals_permutation,[status(thm)],[c_0_688]) ).

cnf(c_0_691_0,axiom,
    ( ti(X1,X2) = ti(X1,X3)
    | hAPP(option(X1),fun(X4,option(X1)),hAPP(X4,fun(option(X1),fun(X4,option(X1))),hAPP(fun(X4,option(X1)),fun(X4,fun(option(X1),fun(X4,option(X1)))),fun_upd(X4,option(X1)),X5),X6),hAPP(X1,option(X1),some(X1),X2)) != hAPP(option(X1),fun(X4,option(X1)),hAPP(X4,fun(option(X1),fun(X4,option(X1))),hAPP(fun(X4,option(X1)),fun(X4,fun(option(X1),fun(X4,option(X1)))),fun_upd(X4,option(X1)),X7),X6),hAPP(X1,option(X1),some(X1),X3)) ),
    inference(literals_permutation,[status(thm)],[c_0_691]) ).

cnf(c_0_691_1,axiom,
    ( hAPP(option(X1),fun(X4,option(X1)),hAPP(X4,fun(option(X1),fun(X4,option(X1))),hAPP(fun(X4,option(X1)),fun(X4,fun(option(X1),fun(X4,option(X1)))),fun_upd(X4,option(X1)),X5),X6),hAPP(X1,option(X1),some(X1),X2)) != hAPP(option(X1),fun(X4,option(X1)),hAPP(X4,fun(option(X1),fun(X4,option(X1))),hAPP(fun(X4,option(X1)),fun(X4,fun(option(X1),fun(X4,option(X1)))),fun_upd(X4,option(X1)),X7),X6),hAPP(X1,option(X1),some(X1),X3))
    | ti(X1,X2) = ti(X1,X3) ),
    inference(literals_permutation,[status(thm)],[c_0_691]) ).

cnf(c_0_692_0,axiom,
    ( hBOOL(hAPP(X1,bool,hAPP(X2,fun(X1,bool),X3,X4),X5))
    | ~ hBOOL(hAPP(product_prod(X2,X1),bool,hAPP(fun(X2,fun(X1,bool)),fun(product_prod(X2,X1),bool),product_prod_case(X2,X1,bool),X3),hAPP(X1,product_prod(X2,X1),hAPP(X2,fun(X1,product_prod(X2,X1)),product_Pair(X2,X1),X4),X5))) ),
    inference(literals_permutation,[status(thm)],[c_0_692]) ).

cnf(c_0_692_1,axiom,
    ( ~ hBOOL(hAPP(product_prod(X2,X1),bool,hAPP(fun(X2,fun(X1,bool)),fun(product_prod(X2,X1),bool),product_prod_case(X2,X1,bool),X3),hAPP(X1,product_prod(X2,X1),hAPP(X2,fun(X1,product_prod(X2,X1)),product_Pair(X2,X1),X4),X5)))
    | hBOOL(hAPP(X1,bool,hAPP(X2,fun(X1,bool),X3,X4),X5)) ),
    inference(literals_permutation,[status(thm)],[c_0_692]) ).

cnf(c_0_693_0,axiom,
    ( hBOOL(hAPP(product_prod(X1,X2),bool,hAPP(fun(X1,fun(X2,bool)),fun(product_prod(X1,X2),bool),product_prod_case(X1,X2,bool),X3),X4))
    | ~ hBOOL(hAPP(X2,bool,hAPP(X1,fun(X2,bool),X3,sk1_esk50_4(X1,X2,X3,X4)),sk1_esk51_4(X1,X2,X3,X4))) ),
    inference(literals_permutation,[status(thm)],[c_0_693]) ).

cnf(c_0_693_1,axiom,
    ( ~ hBOOL(hAPP(X2,bool,hAPP(X1,fun(X2,bool),X3,sk1_esk50_4(X1,X2,X3,X4)),sk1_esk51_4(X1,X2,X3,X4)))
    | hBOOL(hAPP(product_prod(X1,X2),bool,hAPP(fun(X1,fun(X2,bool)),fun(product_prod(X1,X2),bool),product_prod_case(X1,X2,bool),X3),X4)) ),
    inference(literals_permutation,[status(thm)],[c_0_693]) ).

cnf(c_0_694_0,axiom,
    ( hBOOL(hAPP(product_prod(X1,X2),bool,X3,X4))
    | ~ hBOOL(hAPP(product_prod(X1,X2),bool,X3,hAPP(X2,product_prod(X1,X2),hAPP(X1,fun(X2,product_prod(X1,X2)),product_Pair(X1,X2),sk1_esk33_3(X1,X2,X3)),sk1_esk34_3(X1,X2,X3)))) ),
    inference(literals_permutation,[status(thm)],[c_0_694]) ).

cnf(c_0_694_1,axiom,
    ( ~ hBOOL(hAPP(product_prod(X1,X2),bool,X3,hAPP(X2,product_prod(X1,X2),hAPP(X1,fun(X2,product_prod(X1,X2)),product_Pair(X1,X2),sk1_esk33_3(X1,X2,X3)),sk1_esk34_3(X1,X2,X3))))
    | hBOOL(hAPP(product_prod(X1,X2),bool,X3,X4)) ),
    inference(literals_permutation,[status(thm)],[c_0_694]) ).

cnf(c_0_695_0,axiom,
    ( hAPP(X1,option(X2),hAPP(option(X2),fun(X1,option(X2)),hAPP(X1,fun(option(X2),fun(X1,option(X2))),hAPP(fun(X1,option(X2)),fun(X1,fun(option(X2),fun(X1,option(X2)))),fun_upd(X1,option(X2)),X3),X4),hAPP(X2,option(X2),some(X2),X5)),X6) = hAPP(X2,option(X2),some(X2),X7)
    | ti(X1,X6) = ti(X1,X4)
    | hAPP(X1,option(X2),X3,X6) != hAPP(X2,option(X2),some(X2),X7) ),
    inference(literals_permutation,[status(thm)],[c_0_695]) ).

cnf(c_0_695_1,axiom,
    ( ti(X1,X6) = ti(X1,X4)
    | hAPP(X1,option(X2),hAPP(option(X2),fun(X1,option(X2)),hAPP(X1,fun(option(X2),fun(X1,option(X2))),hAPP(fun(X1,option(X2)),fun(X1,fun(option(X2),fun(X1,option(X2)))),fun_upd(X1,option(X2)),X3),X4),hAPP(X2,option(X2),some(X2),X5)),X6) = hAPP(X2,option(X2),some(X2),X7)
    | hAPP(X1,option(X2),X3,X6) != hAPP(X2,option(X2),some(X2),X7) ),
    inference(literals_permutation,[status(thm)],[c_0_695]) ).

cnf(c_0_695_2,axiom,
    ( hAPP(X1,option(X2),X3,X6) != hAPP(X2,option(X2),some(X2),X7)
    | ti(X1,X6) = ti(X1,X4)
    | hAPP(X1,option(X2),hAPP(option(X2),fun(X1,option(X2)),hAPP(X1,fun(option(X2),fun(X1,option(X2))),hAPP(fun(X1,option(X2)),fun(X1,fun(option(X2),fun(X1,option(X2)))),fun_upd(X1,option(X2)),X3),X4),hAPP(X2,option(X2),some(X2),X5)),X6) = hAPP(X2,option(X2),some(X2),X7) ),
    inference(literals_permutation,[status(thm)],[c_0_695]) ).

cnf(c_0_696_0,axiom,
    ( hBOOL(hAPP(product_prod(X1,X2),bool,hAPP(fun(X1,fun(X2,bool)),fun(product_prod(X1,X2),bool),product_prod_case(X1,X2,bool),X3),hAPP(X2,product_prod(X1,X2),hAPP(X1,fun(X2,product_prod(X1,X2)),product_Pair(X1,X2),X4),X5)))
    | ~ hBOOL(hAPP(X2,bool,hAPP(X1,fun(X2,bool),X3,X4),X5)) ),
    inference(literals_permutation,[status(thm)],[c_0_696]) ).

cnf(c_0_696_1,axiom,
    ( ~ hBOOL(hAPP(X2,bool,hAPP(X1,fun(X2,bool),X3,X4),X5))
    | hBOOL(hAPP(product_prod(X1,X2),bool,hAPP(fun(X1,fun(X2,bool)),fun(product_prod(X1,X2),bool),product_prod_case(X1,X2,bool),X3),hAPP(X2,product_prod(X1,X2),hAPP(X1,fun(X2,product_prod(X1,X2)),product_Pair(X1,X2),X4),X5))) ),
    inference(literals_permutation,[status(thm)],[c_0_696]) ).

cnf(c_0_697_0,axiom,
    ( hBOOL(hAPP(product_prod(X1,X2),bool,hAPP(fun(X1,fun(X2,bool)),fun(product_prod(X1,X2),bool),product_prod_case(X1,X2,bool),X3),hAPP(X2,product_prod(X1,X2),hAPP(X1,fun(X2,product_prod(X1,X2)),product_Pair(X1,X2),X4),X5)))
    | ~ hBOOL(hAPP(X2,bool,hAPP(X1,fun(X2,bool),X3,X4),X5)) ),
    inference(literals_permutation,[status(thm)],[c_0_697]) ).

cnf(c_0_697_1,axiom,
    ( ~ hBOOL(hAPP(X2,bool,hAPP(X1,fun(X2,bool),X3,X4),X5))
    | hBOOL(hAPP(product_prod(X1,X2),bool,hAPP(fun(X1,fun(X2,bool)),fun(product_prod(X1,X2),bool),product_prod_case(X1,X2,bool),X3),hAPP(X2,product_prod(X1,X2),hAPP(X1,fun(X2,product_prod(X1,X2)),product_Pair(X1,X2),X4),X5))) ),
    inference(literals_permutation,[status(thm)],[c_0_697]) ).

cnf(c_0_698_0,axiom,
    ( hBOOL(hAPP(X2,bool,hAPP(X1,fun(X2,bool),X3,sk1_esk52_4(X1,X2,X3,X4)),sk1_esk53_4(X1,X2,X3,X4)))
    | ~ hBOOL(hAPP(product_prod(X1,X2),bool,hAPP(fun(X1,fun(X2,bool)),fun(product_prod(X1,X2),bool),product_prod_case(X1,X2,bool),X3),X4)) ),
    inference(literals_permutation,[status(thm)],[c_0_698]) ).

cnf(c_0_698_1,axiom,
    ( ~ hBOOL(hAPP(product_prod(X1,X2),bool,hAPP(fun(X1,fun(X2,bool)),fun(product_prod(X1,X2),bool),product_prod_case(X1,X2,bool),X3),X4))
    | hBOOL(hAPP(X2,bool,hAPP(X1,fun(X2,bool),X3,sk1_esk52_4(X1,X2,X3,X4)),sk1_esk53_4(X1,X2,X3,X4))) ),
    inference(literals_permutation,[status(thm)],[c_0_698]) ).

cnf(c_0_699_0,axiom,
    ( hAPP(X1,option(X2),hAPP(option(X2),fun(X1,option(X2)),hAPP(X1,fun(option(X2),fun(X1,option(X2))),hAPP(fun(X1,option(X2)),fun(X1,fun(option(X2),fun(X1,option(X2)))),fun_upd(X1,option(X2)),X3),X4),hAPP(X2,option(X2),some(X2),X5)),X6) = hAPP(X2,option(X2),some(X2),X7)
    | ti(X2,X5) != ti(X2,X7)
    | ti(X1,X6) != ti(X1,X4) ),
    inference(literals_permutation,[status(thm)],[c_0_699]) ).

cnf(c_0_699_1,axiom,
    ( ti(X2,X5) != ti(X2,X7)
    | hAPP(X1,option(X2),hAPP(option(X2),fun(X1,option(X2)),hAPP(X1,fun(option(X2),fun(X1,option(X2))),hAPP(fun(X1,option(X2)),fun(X1,fun(option(X2),fun(X1,option(X2)))),fun_upd(X1,option(X2)),X3),X4),hAPP(X2,option(X2),some(X2),X5)),X6) = hAPP(X2,option(X2),some(X2),X7)
    | ti(X1,X6) != ti(X1,X4) ),
    inference(literals_permutation,[status(thm)],[c_0_699]) ).

cnf(c_0_699_2,axiom,
    ( ti(X1,X6) != ti(X1,X4)
    | ti(X2,X5) != ti(X2,X7)
    | hAPP(X1,option(X2),hAPP(option(X2),fun(X1,option(X2)),hAPP(X1,fun(option(X2),fun(X1,option(X2))),hAPP(fun(X1,option(X2)),fun(X1,fun(option(X2),fun(X1,option(X2)))),fun_upd(X1,option(X2)),X3),X4),hAPP(X2,option(X2),some(X2),X5)),X6) = hAPP(X2,option(X2),some(X2),X7) ),
    inference(literals_permutation,[status(thm)],[c_0_699]) ).

cnf(c_0_700_0,axiom,
    ( hBOOL(hAPP(product_prod(X1,X2),bool,X3,sk1_esk47_3(X1,X2,X3)))
    | ~ hBOOL(hAPP(product_prod(X1,X2),bool,X3,hAPP(X2,product_prod(X1,X2),hAPP(X1,fun(X2,product_prod(X1,X2)),product_Pair(X1,X2),X4),X5))) ),
    inference(literals_permutation,[status(thm)],[c_0_700]) ).

cnf(c_0_700_1,axiom,
    ( ~ hBOOL(hAPP(product_prod(X1,X2),bool,X3,hAPP(X2,product_prod(X1,X2),hAPP(X1,fun(X2,product_prod(X1,X2)),product_Pair(X1,X2),X4),X5)))
    | hBOOL(hAPP(product_prod(X1,X2),bool,X3,sk1_esk47_3(X1,X2,X3))) ),
    inference(literals_permutation,[status(thm)],[c_0_700]) ).

cnf(c_0_702_0,axiom,
    ( ti(X1,X2) = ti(X1,X5)
    | hAPP(exp(X1),exp(X1),hAPP(ty,fun(exp(X1),exp(X1)),hAPP(X1,fun(ty,fun(exp(X1),exp(X1))),block(X1),X2),X3),X4) != hAPP(exp(X1),exp(X1),hAPP(ty,fun(exp(X1),exp(X1)),hAPP(X1,fun(ty,fun(exp(X1),exp(X1))),block(X1),X5),X6),X7) ),
    inference(literals_permutation,[status(thm)],[c_0_702]) ).

cnf(c_0_702_1,axiom,
    ( hAPP(exp(X1),exp(X1),hAPP(ty,fun(exp(X1),exp(X1)),hAPP(X1,fun(ty,fun(exp(X1),exp(X1))),block(X1),X2),X3),X4) != hAPP(exp(X1),exp(X1),hAPP(ty,fun(exp(X1),exp(X1)),hAPP(X1,fun(ty,fun(exp(X1),exp(X1))),block(X1),X5),X6),X7)
    | ti(X1,X2) = ti(X1,X5) ),
    inference(literals_permutation,[status(thm)],[c_0_702]) ).

cnf(c_0_703_0,axiom,
    ( X3 = X6
    | hAPP(exp(X1),exp(X1),hAPP(ty,fun(exp(X1),exp(X1)),hAPP(X1,fun(ty,fun(exp(X1),exp(X1))),block(X1),X2),X3),X4) != hAPP(exp(X1),exp(X1),hAPP(ty,fun(exp(X1),exp(X1)),hAPP(X1,fun(ty,fun(exp(X1),exp(X1))),block(X1),X5),X6),X7) ),
    inference(literals_permutation,[status(thm)],[c_0_703]) ).

cnf(c_0_703_1,axiom,
    ( hAPP(exp(X1),exp(X1),hAPP(ty,fun(exp(X1),exp(X1)),hAPP(X1,fun(ty,fun(exp(X1),exp(X1))),block(X1),X2),X3),X4) != hAPP(exp(X1),exp(X1),hAPP(ty,fun(exp(X1),exp(X1)),hAPP(X1,fun(ty,fun(exp(X1),exp(X1))),block(X1),X5),X6),X7)
    | X3 = X6 ),
    inference(literals_permutation,[status(thm)],[c_0_703]) ).

cnf(c_0_704_0,axiom,
    ( X4 = X7
    | hAPP(exp(X1),exp(X1),hAPP(ty,fun(exp(X1),exp(X1)),hAPP(X1,fun(ty,fun(exp(X1),exp(X1))),block(X1),X2),X3),X4) != hAPP(exp(X1),exp(X1),hAPP(ty,fun(exp(X1),exp(X1)),hAPP(X1,fun(ty,fun(exp(X1),exp(X1))),block(X1),X5),X6),X7) ),
    inference(literals_permutation,[status(thm)],[c_0_704]) ).

cnf(c_0_704_1,axiom,
    ( hAPP(exp(X1),exp(X1),hAPP(ty,fun(exp(X1),exp(X1)),hAPP(X1,fun(ty,fun(exp(X1),exp(X1))),block(X1),X2),X3),X4) != hAPP(exp(X1),exp(X1),hAPP(ty,fun(exp(X1),exp(X1)),hAPP(X1,fun(ty,fun(exp(X1),exp(X1))),block(X1),X5),X6),X7)
    | X4 = X7 ),
    inference(literals_permutation,[status(thm)],[c_0_704]) ).

cnf(c_0_705_0,axiom,
    ( hBOOL(hAPP(product_prod(X1,X2),bool,X3,hAPP(X2,product_prod(X1,X2),hAPP(X1,fun(X2,product_prod(X1,X2)),product_Pair(X1,X2),sk1_esk45_3(X1,X2,X3)),sk1_esk46_3(X1,X2,X3))))
    | ~ hBOOL(hAPP(product_prod(X1,X2),bool,X3,X4)) ),
    inference(literals_permutation,[status(thm)],[c_0_705]) ).

cnf(c_0_705_1,axiom,
    ( ~ hBOOL(hAPP(product_prod(X1,X2),bool,X3,X4))
    | hBOOL(hAPP(product_prod(X1,X2),bool,X3,hAPP(X2,product_prod(X1,X2),hAPP(X1,fun(X2,product_prod(X1,X2)),product_Pair(X1,X2),sk1_esk45_3(X1,X2,X3)),sk1_esk46_3(X1,X2,X3)))) ),
    inference(literals_permutation,[status(thm)],[c_0_705]) ).

cnf(c_0_706_0,axiom,
    ( hAPP(X2,product_prod(X1,X2),hAPP(X1,fun(X2,product_prod(X1,X2)),product_Pair(X1,X2),sk1_esk52_4(X1,X2,X3,X4)),sk1_esk53_4(X1,X2,X3,X4)) = ti(product_prod(X1,X2),X4)
    | ~ hBOOL(hAPP(product_prod(X1,X2),bool,hAPP(fun(X1,fun(X2,bool)),fun(product_prod(X1,X2),bool),product_prod_case(X1,X2,bool),X3),X4)) ),
    inference(literals_permutation,[status(thm)],[c_0_706]) ).

cnf(c_0_706_1,axiom,
    ( ~ hBOOL(hAPP(product_prod(X1,X2),bool,hAPP(fun(X1,fun(X2,bool)),fun(product_prod(X1,X2),bool),product_prod_case(X1,X2,bool),X3),X4))
    | hAPP(X2,product_prod(X1,X2),hAPP(X1,fun(X2,product_prod(X1,X2)),product_Pair(X1,X2),sk1_esk52_4(X1,X2,X3,X4)),sk1_esk53_4(X1,X2,X3,X4)) = ti(product_prod(X1,X2),X4) ),
    inference(literals_permutation,[status(thm)],[c_0_706]) ).

cnf(c_0_708_0,axiom,
    ( hAPP(X1,X2,hAPP(X2,fun(X1,X2),hAPP(X1,fun(X2,fun(X1,X2)),hAPP(fun(X1,X2),fun(X1,fun(X2,fun(X1,X2))),fun_upd(X1,X2),X3),X4),X5),X6) = hAPP(X1,X2,X3,X6)
    | ti(X1,X6) = ti(X1,X4) ),
    inference(literals_permutation,[status(thm)],[c_0_708]) ).

cnf(c_0_708_1,axiom,
    ( ti(X1,X6) = ti(X1,X4)
    | hAPP(X1,X2,hAPP(X2,fun(X1,X2),hAPP(X1,fun(X2,fun(X1,X2)),hAPP(fun(X1,X2),fun(X1,fun(X2,fun(X1,X2))),fun_upd(X1,X2),X3),X4),X5),X6) = hAPP(X1,X2,X3,X6) ),
    inference(literals_permutation,[status(thm)],[c_0_708]) ).

cnf(c_0_709_0,axiom,
    ( hAPP(X1,X2,hAPP(X2,fun(X1,X2),hAPP(X1,fun(X2,fun(X1,X2)),hAPP(fun(X1,X2),fun(X1,fun(X2,fun(X1,X2))),fun_upd(X1,X2),X3),X4),X5),X6) = hAPP(X1,X2,X3,X6)
    | ti(X1,X6) = ti(X1,X4) ),
    inference(literals_permutation,[status(thm)],[c_0_709]) ).

cnf(c_0_709_1,axiom,
    ( ti(X1,X6) = ti(X1,X4)
    | hAPP(X1,X2,hAPP(X2,fun(X1,X2),hAPP(X1,fun(X2,fun(X1,X2)),hAPP(fun(X1,X2),fun(X1,fun(X2,fun(X1,X2))),fun_upd(X1,X2),X3),X4),X5),X6) = hAPP(X1,X2,X3,X6) ),
    inference(literals_permutation,[status(thm)],[c_0_709]) ).

cnf(c_0_710_0,axiom,
    ( hAPP(X1,X2,hAPP(X2,fun(X1,X2),hAPP(X1,fun(X2,fun(X1,X2)),hAPP(fun(X1,X2),fun(X1,fun(X2,fun(X1,X2))),fun_upd(X1,X2),X3),X4),X5),X6) = hAPP(X1,X2,X3,X6)
    | ti(X1,X6) = ti(X1,X4) ),
    inference(literals_permutation,[status(thm)],[c_0_710]) ).

cnf(c_0_710_1,axiom,
    ( ti(X1,X6) = ti(X1,X4)
    | hAPP(X1,X2,hAPP(X2,fun(X1,X2),hAPP(X1,fun(X2,fun(X1,X2)),hAPP(fun(X1,X2),fun(X1,fun(X2,fun(X1,X2))),fun_upd(X1,X2),X3),X4),X5),X6) = hAPP(X1,X2,X3,X6) ),
    inference(literals_permutation,[status(thm)],[c_0_710]) ).

cnf(c_0_711_0,axiom,
    ( hAPP(X1,X2,hAPP(X2,fun(X1,X2),hAPP(X1,fun(X2,fun(X1,X2)),hAPP(fun(X1,X2),fun(X1,fun(X2,fun(X1,X2))),fun_upd(X1,X2),X3),X4),X5),X6) = ti(X2,X5)
    | ti(X1,X6) != ti(X1,X4) ),
    inference(literals_permutation,[status(thm)],[c_0_711]) ).

cnf(c_0_711_1,axiom,
    ( ti(X1,X6) != ti(X1,X4)
    | hAPP(X1,X2,hAPP(X2,fun(X1,X2),hAPP(X1,fun(X2,fun(X1,X2)),hAPP(fun(X1,X2),fun(X1,fun(X2,fun(X1,X2))),fun_upd(X1,X2),X3),X4),X5),X6) = ti(X2,X5) ),
    inference(literals_permutation,[status(thm)],[c_0_711]) ).

cnf(c_0_712_0,axiom,
    ( hAPP(X1,X2,hAPP(X2,fun(X1,X2),hAPP(X1,fun(X2,fun(X1,X2)),hAPP(fun(X1,X2),fun(X1,fun(X2,fun(X1,X2))),fun_upd(X1,X2),X3),X4),X5),X6) = ti(X2,X5)
    | ti(X1,X6) != ti(X1,X4) ),
    inference(literals_permutation,[status(thm)],[c_0_712]) ).

cnf(c_0_712_1,axiom,
    ( ti(X1,X6) != ti(X1,X4)
    | hAPP(X1,X2,hAPP(X2,fun(X1,X2),hAPP(X1,fun(X2,fun(X1,X2)),hAPP(fun(X1,X2),fun(X1,fun(X2,fun(X1,X2))),fun_upd(X1,X2),X3),X4),X5),X6) = ti(X2,X5) ),
    inference(literals_permutation,[status(thm)],[c_0_712]) ).

cnf(c_0_714_0,axiom,
    ( hBOOL(hAPP(product_prod(X1,X2),bool,X3,hAPP(X2,product_prod(X1,X2),hAPP(X1,fun(X2,product_prod(X1,X2)),product_Pair(X1,X2),X4),X5)))
    | ~ hBOOL(hAPP(product_prod(X1,X2),bool,X3,sk1_esk32_3(X1,X2,X3))) ),
    inference(literals_permutation,[status(thm)],[c_0_714]) ).

cnf(c_0_714_1,axiom,
    ( ~ hBOOL(hAPP(product_prod(X1,X2),bool,X3,sk1_esk32_3(X1,X2,X3)))
    | hBOOL(hAPP(product_prod(X1,X2),bool,X3,hAPP(X2,product_prod(X1,X2),hAPP(X1,fun(X2,product_prod(X1,X2)),product_Pair(X1,X2),X4),X5))) ),
    inference(literals_permutation,[status(thm)],[c_0_714]) ).

cnf(c_0_719_0,axiom,
    ( hBOOL(hAPP(product_prod(X1,X2),bool,hAPP(fun(X1,fun(X2,bool)),fun(product_prod(X1,X2),bool),product_prod_case(X1,X2,bool),X3),X4))
    | hAPP(X2,product_prod(X1,X2),hAPP(X1,fun(X2,product_prod(X1,X2)),product_Pair(X1,X2),sk1_esk50_4(X1,X2,X3,X4)),sk1_esk51_4(X1,X2,X3,X4)) = ti(product_prod(X1,X2),X4) ),
    inference(literals_permutation,[status(thm)],[c_0_719]) ).

cnf(c_0_719_1,axiom,
    ( hAPP(X2,product_prod(X1,X2),hAPP(X1,fun(X2,product_prod(X1,X2)),product_Pair(X1,X2),sk1_esk50_4(X1,X2,X3,X4)),sk1_esk51_4(X1,X2,X3,X4)) = ti(product_prod(X1,X2),X4)
    | hBOOL(hAPP(product_prod(X1,X2),bool,hAPP(fun(X1,fun(X2,bool)),fun(product_prod(X1,X2),bool),product_prod_case(X1,X2,bool),X3),X4)) ),
    inference(literals_permutation,[status(thm)],[c_0_719]) ).

cnf(c_0_720_0,axiom,
    ( hAPP(X1,X2,X3,X4) = ti(X2,X5)
    | hAPP(X2,fun(X1,X2),hAPP(X1,fun(X2,fun(X1,X2)),hAPP(fun(X1,X2),fun(X1,fun(X2,fun(X1,X2))),fun_upd(X1,X2),X3),X4),X5) != ti(fun(X1,X2),X3) ),
    inference(literals_permutation,[status(thm)],[c_0_720]) ).

cnf(c_0_720_1,axiom,
    ( hAPP(X2,fun(X1,X2),hAPP(X1,fun(X2,fun(X1,X2)),hAPP(fun(X1,X2),fun(X1,fun(X2,fun(X1,X2))),fun_upd(X1,X2),X3),X4),X5) != ti(fun(X1,X2),X3)
    | hAPP(X1,X2,X3,X4) = ti(X2,X5) ),
    inference(literals_permutation,[status(thm)],[c_0_720]) ).

cnf(c_0_721_0,axiom,
    ( hAPP(exp(X1),exp(X1),hAPP(ty,fun(exp(X1),exp(X1)),hAPP(X1,fun(ty,fun(exp(X1),exp(X1))),block(X1),X2),X3),X4) = hAPP(exp(X1),exp(X1),hAPP(ty,fun(exp(X1),exp(X1)),hAPP(X1,fun(ty,fun(exp(X1),exp(X1))),block(X1),X5),X6),X7)
    | X4 != X7
    | X3 != X6
    | ti(X1,X2) != ti(X1,X5) ),
    inference(literals_permutation,[status(thm)],[c_0_721]) ).

cnf(c_0_721_1,axiom,
    ( X4 != X7
    | hAPP(exp(X1),exp(X1),hAPP(ty,fun(exp(X1),exp(X1)),hAPP(X1,fun(ty,fun(exp(X1),exp(X1))),block(X1),X2),X3),X4) = hAPP(exp(X1),exp(X1),hAPP(ty,fun(exp(X1),exp(X1)),hAPP(X1,fun(ty,fun(exp(X1),exp(X1))),block(X1),X5),X6),X7)
    | X3 != X6
    | ti(X1,X2) != ti(X1,X5) ),
    inference(literals_permutation,[status(thm)],[c_0_721]) ).

cnf(c_0_721_2,axiom,
    ( X3 != X6
    | X4 != X7
    | hAPP(exp(X1),exp(X1),hAPP(ty,fun(exp(X1),exp(X1)),hAPP(X1,fun(ty,fun(exp(X1),exp(X1))),block(X1),X2),X3),X4) = hAPP(exp(X1),exp(X1),hAPP(ty,fun(exp(X1),exp(X1)),hAPP(X1,fun(ty,fun(exp(X1),exp(X1))),block(X1),X5),X6),X7)
    | ti(X1,X2) != ti(X1,X5) ),
    inference(literals_permutation,[status(thm)],[c_0_721]) ).

cnf(c_0_721_3,axiom,
    ( ti(X1,X2) != ti(X1,X5)
    | X3 != X6
    | X4 != X7
    | hAPP(exp(X1),exp(X1),hAPP(ty,fun(exp(X1),exp(X1)),hAPP(X1,fun(ty,fun(exp(X1),exp(X1))),block(X1),X2),X3),X4) = hAPP(exp(X1),exp(X1),hAPP(ty,fun(exp(X1),exp(X1)),hAPP(X1,fun(ty,fun(exp(X1),exp(X1))),block(X1),X5),X6),X7) ),
    inference(literals_permutation,[status(thm)],[c_0_721]) ).

cnf(c_0_722_0,axiom,
    ( hAPP(option(X1),fun(X2,option(X1)),hAPP(X2,fun(option(X1),fun(X2,option(X1))),hAPP(fun(X2,option(X1)),fun(X2,fun(option(X1),fun(X2,option(X1)))),fun_upd(X2,option(X1)),X3),X4),hAPP(X1,option(X1),some(X1),X5)) = ti(fun(X2,option(X1)),X3)
    | hAPP(X2,option(X1),X3,X4) != hAPP(X1,option(X1),some(X1),X5) ),
    inference(literals_permutation,[status(thm)],[c_0_722]) ).

cnf(c_0_722_1,axiom,
    ( hAPP(X2,option(X1),X3,X4) != hAPP(X1,option(X1),some(X1),X5)
    | hAPP(option(X1),fun(X2,option(X1)),hAPP(X2,fun(option(X1),fun(X2,option(X1))),hAPP(fun(X2,option(X1)),fun(X2,fun(option(X1),fun(X2,option(X1)))),fun_upd(X2,option(X1)),X3),X4),hAPP(X1,option(X1),some(X1),X5)) = ti(fun(X2,option(X1)),X3) ),
    inference(literals_permutation,[status(thm)],[c_0_722]) ).

cnf(c_0_733_0,axiom,
    ( hBOOL(hAPP(X1,bool,X2,X3))
    | ~ hBOOL(hAPP(fun(X1,bool),bool,hAPP(X1,fun(fun(X1,bool),bool),member(X1),X3),X2)) ),
    inference(literals_permutation,[status(thm)],[c_0_733]) ).

cnf(c_0_733_1,axiom,
    ( ~ hBOOL(hAPP(fun(X1,bool),bool,hAPP(X1,fun(fun(X1,bool),bool),member(X1),X3),X2))
    | hBOOL(hAPP(X1,bool,X2,X3)) ),
    inference(literals_permutation,[status(thm)],[c_0_733]) ).

cnf(c_0_734_0,axiom,
    ( hAPP(X1,fun(X2,X1),hAPP(X2,fun(X1,fun(X2,X1)),hAPP(fun(X2,X1),fun(X2,fun(X1,fun(X2,X1))),fun_upd(X2,X1),X3),X4),X5) = ti(fun(X2,X1),X3)
    | hAPP(X2,X1,X3,X4) != ti(X1,X5) ),
    inference(literals_permutation,[status(thm)],[c_0_734]) ).

cnf(c_0_734_1,axiom,
    ( hAPP(X2,X1,X3,X4) != ti(X1,X5)
    | hAPP(X1,fun(X2,X1),hAPP(X2,fun(X1,fun(X2,X1)),hAPP(fun(X2,X1),fun(X2,fun(X1,fun(X2,X1))),fun_upd(X2,X1),X3),X4),X5) = ti(fun(X2,X1),X3) ),
    inference(literals_permutation,[status(thm)],[c_0_734]) ).

cnf(c_0_735_0,axiom,
    ( hAPP(X1,fun(X2,X1),hAPP(X2,fun(X1,fun(X2,X1)),hAPP(fun(X2,X1),fun(X2,fun(X1,fun(X2,X1))),fun_upd(X2,X1),X3),X4),X5) = ti(fun(X2,X1),X3)
    | hAPP(X2,X1,X3,X4) != ti(X1,X5) ),
    inference(literals_permutation,[status(thm)],[c_0_735]) ).

cnf(c_0_735_1,axiom,
    ( hAPP(X2,X1,X3,X4) != ti(X1,X5)
    | hAPP(X1,fun(X2,X1),hAPP(X2,fun(X1,fun(X2,X1)),hAPP(fun(X2,X1),fun(X2,fun(X1,fun(X2,X1))),fun_upd(X2,X1),X3),X4),X5) = ti(fun(X2,X1),X3) ),
    inference(literals_permutation,[status(thm)],[c_0_735]) ).

cnf(c_0_736_0,axiom,
    ( ti(X2,X3) = ti(X2,X5)
    | hAPP(X1,product_prod(X2,X1),hAPP(X2,fun(X1,product_prod(X2,X1)),product_Pair(X2,X1),X3),X4) != hAPP(X1,product_prod(X2,X1),hAPP(X2,fun(X1,product_prod(X2,X1)),product_Pair(X2,X1),X5),X6) ),
    inference(literals_permutation,[status(thm)],[c_0_736]) ).

cnf(c_0_736_1,axiom,
    ( hAPP(X1,product_prod(X2,X1),hAPP(X2,fun(X1,product_prod(X2,X1)),product_Pair(X2,X1),X3),X4) != hAPP(X1,product_prod(X2,X1),hAPP(X2,fun(X1,product_prod(X2,X1)),product_Pair(X2,X1),X5),X6)
    | ti(X2,X3) = ti(X2,X5) ),
    inference(literals_permutation,[status(thm)],[c_0_736]) ).

cnf(c_0_737_0,axiom,
    ( ti(X1,X4) = ti(X1,X6)
    | hAPP(X1,product_prod(X2,X1),hAPP(X2,fun(X1,product_prod(X2,X1)),product_Pair(X2,X1),X3),X4) != hAPP(X1,product_prod(X2,X1),hAPP(X2,fun(X1,product_prod(X2,X1)),product_Pair(X2,X1),X5),X6) ),
    inference(literals_permutation,[status(thm)],[c_0_737]) ).

cnf(c_0_737_1,axiom,
    ( hAPP(X1,product_prod(X2,X1),hAPP(X2,fun(X1,product_prod(X2,X1)),product_Pair(X2,X1),X3),X4) != hAPP(X1,product_prod(X2,X1),hAPP(X2,fun(X1,product_prod(X2,X1)),product_Pair(X2,X1),X5),X6)
    | ti(X1,X4) = ti(X1,X6) ),
    inference(literals_permutation,[status(thm)],[c_0_737]) ).

cnf(c_0_738_0,axiom,
    ( ti(X2,X3) = ti(X2,X5)
    | hAPP(X1,product_prod(X2,X1),hAPP(X2,fun(X1,product_prod(X2,X1)),product_Pair(X2,X1),X3),X4) != hAPP(X1,product_prod(X2,X1),hAPP(X2,fun(X1,product_prod(X2,X1)),product_Pair(X2,X1),X5),X6) ),
    inference(literals_permutation,[status(thm)],[c_0_738]) ).

cnf(c_0_738_1,axiom,
    ( hAPP(X1,product_prod(X2,X1),hAPP(X2,fun(X1,product_prod(X2,X1)),product_Pair(X2,X1),X3),X4) != hAPP(X1,product_prod(X2,X1),hAPP(X2,fun(X1,product_prod(X2,X1)),product_Pair(X2,X1),X5),X6)
    | ti(X2,X3) = ti(X2,X5) ),
    inference(literals_permutation,[status(thm)],[c_0_738]) ).

cnf(c_0_739_0,axiom,
    ( ti(X1,X4) = ti(X1,X6)
    | hAPP(X1,product_prod(X2,X1),hAPP(X2,fun(X1,product_prod(X2,X1)),product_Pair(X2,X1),X3),X4) != hAPP(X1,product_prod(X2,X1),hAPP(X2,fun(X1,product_prod(X2,X1)),product_Pair(X2,X1),X5),X6) ),
    inference(literals_permutation,[status(thm)],[c_0_739]) ).

cnf(c_0_739_1,axiom,
    ( hAPP(X1,product_prod(X2,X1),hAPP(X2,fun(X1,product_prod(X2,X1)),product_Pair(X2,X1),X3),X4) != hAPP(X1,product_prod(X2,X1),hAPP(X2,fun(X1,product_prod(X2,X1)),product_Pair(X2,X1),X5),X6)
    | ti(X1,X4) = ti(X1,X6) ),
    inference(literals_permutation,[status(thm)],[c_0_739]) ).

cnf(c_0_740_0,axiom,
    ( X2 = X4
    | hAPP(exp(X1),exp(X1),hAPP(exp(X1),fun(exp(X1),exp(X1)),seq(X1),X2),X3) != hAPP(exp(X1),exp(X1),hAPP(exp(X1),fun(exp(X1),exp(X1)),seq(X1),X4),X5) ),
    inference(literals_permutation,[status(thm)],[c_0_740]) ).

cnf(c_0_740_1,axiom,
    ( hAPP(exp(X1),exp(X1),hAPP(exp(X1),fun(exp(X1),exp(X1)),seq(X1),X2),X3) != hAPP(exp(X1),exp(X1),hAPP(exp(X1),fun(exp(X1),exp(X1)),seq(X1),X4),X5)
    | X2 = X4 ),
    inference(literals_permutation,[status(thm)],[c_0_740]) ).

cnf(c_0_741_0,axiom,
    ( X3 = X5
    | hAPP(exp(X1),exp(X1),hAPP(exp(X1),fun(exp(X1),exp(X1)),seq(X1),X2),X3) != hAPP(exp(X1),exp(X1),hAPP(exp(X1),fun(exp(X1),exp(X1)),seq(X1),X4),X5) ),
    inference(literals_permutation,[status(thm)],[c_0_741]) ).

cnf(c_0_741_1,axiom,
    ( hAPP(exp(X1),exp(X1),hAPP(exp(X1),fun(exp(X1),exp(X1)),seq(X1),X2),X3) != hAPP(exp(X1),exp(X1),hAPP(exp(X1),fun(exp(X1),exp(X1)),seq(X1),X4),X5)
    | X3 = X5 ),
    inference(literals_permutation,[status(thm)],[c_0_741]) ).

cnf(c_0_742_0,axiom,
    ( ti(X1,X2) = ti(X1,X4)
    | hAPP(exp(X1),exp(X1),hAPP(X1,fun(exp(X1),exp(X1)),lAss(X1),X2),X3) != hAPP(exp(X1),exp(X1),hAPP(X1,fun(exp(X1),exp(X1)),lAss(X1),X4),X5) ),
    inference(literals_permutation,[status(thm)],[c_0_742]) ).

cnf(c_0_742_1,axiom,
    ( hAPP(exp(X1),exp(X1),hAPP(X1,fun(exp(X1),exp(X1)),lAss(X1),X2),X3) != hAPP(exp(X1),exp(X1),hAPP(X1,fun(exp(X1),exp(X1)),lAss(X1),X4),X5)
    | ti(X1,X2) = ti(X1,X4) ),
    inference(literals_permutation,[status(thm)],[c_0_742]) ).

cnf(c_0_745_0,axiom,
    ( X3 = X5
    | hAPP(exp(X1),exp(X1),hAPP(X1,fun(exp(X1),exp(X1)),lAss(X1),X2),X3) != hAPP(exp(X1),exp(X1),hAPP(X1,fun(exp(X1),exp(X1)),lAss(X1),X4),X5) ),
    inference(literals_permutation,[status(thm)],[c_0_745]) ).

cnf(c_0_745_1,axiom,
    ( hAPP(exp(X1),exp(X1),hAPP(X1,fun(exp(X1),exp(X1)),lAss(X1),X2),X3) != hAPP(exp(X1),exp(X1),hAPP(X1,fun(exp(X1),exp(X1)),lAss(X1),X4),X5)
    | X3 = X5 ),
    inference(literals_permutation,[status(thm)],[c_0_745]) ).

cnf(c_0_746_0,axiom,
    ( hAPP(product_prod(X1,X2),X3,hAPP(fun(X1,fun(X2,X3)),fun(product_prod(X1,X2),X3),product_prod_case(X1,X2,X3),X4),X5) = hAPP(product_prod(X1,X2),X3,hAPP(fun(X1,fun(X2,X3)),fun(product_prod(X1,X2),X3),product_prod_case(X1,X2,X3),X4),X6)
    | ti(product_prod(X1,X2),X5) != ti(product_prod(X1,X2),X6) ),
    inference(literals_permutation,[status(thm)],[c_0_746]) ).

cnf(c_0_746_1,axiom,
    ( ti(product_prod(X1,X2),X5) != ti(product_prod(X1,X2),X6)
    | hAPP(product_prod(X1,X2),X3,hAPP(fun(X1,fun(X2,X3)),fun(product_prod(X1,X2),X3),product_prod_case(X1,X2,X3),X4),X5) = hAPP(product_prod(X1,X2),X3,hAPP(fun(X1,fun(X2,X3)),fun(product_prod(X1,X2),X3),product_prod_case(X1,X2,X3),X4),X6) ),
    inference(literals_permutation,[status(thm)],[c_0_746]) ).

cnf(c_0_747_0,axiom,
    ( hBOOL(hAPP(fun(X1,bool),bool,hAPP(X1,fun(fun(X1,bool),bool),member(X1),X2),X3))
    | ~ hBOOL(hAPP(X1,bool,X3,X2)) ),
    inference(literals_permutation,[status(thm)],[c_0_747]) ).

cnf(c_0_747_1,axiom,
    ( ~ hBOOL(hAPP(X1,bool,X3,X2))
    | hBOOL(hAPP(fun(X1,bool),bool,hAPP(X1,fun(fun(X1,bool),bool),member(X1),X2),X3)) ),
    inference(literals_permutation,[status(thm)],[c_0_747]) ).

cnf(c_0_748_0,axiom,
    ( hBOOL(X1)
    | ~ hBOOL(hAPP(bool,bool,hAPP(bool,fun(bool,bool),fconj,X2),X1)) ),
    inference(literals_permutation,[status(thm)],[c_0_748]) ).

cnf(c_0_748_1,axiom,
    ( ~ hBOOL(hAPP(bool,bool,hAPP(bool,fun(bool,bool),fconj,X2),X1))
    | hBOOL(X1) ),
    inference(literals_permutation,[status(thm)],[c_0_748]) ).

cnf(c_0_749_0,axiom,
    ( hBOOL(X1)
    | ~ hBOOL(hAPP(bool,bool,hAPP(bool,fun(bool,bool),fconj,X1),X2)) ),
    inference(literals_permutation,[status(thm)],[c_0_749]) ).

cnf(c_0_749_1,axiom,
    ( ~ hBOOL(hAPP(bool,bool,hAPP(bool,fun(bool,bool),fconj,X1),X2))
    | hBOOL(X1) ),
    inference(literals_permutation,[status(thm)],[c_0_749]) ).

cnf(c_0_750_0,axiom,
    ( ti(fun(X1,X2),X3) = ti(fun(X1,X2),X4)
    | hAPP(X1,X2,X3,sk1_esk66_4(X1,X2,X3,X4)) != hAPP(X1,X2,X4,sk1_esk66_4(X1,X2,X3,X4)) ),
    inference(literals_permutation,[status(thm)],[c_0_750]) ).

cnf(c_0_750_1,axiom,
    ( hAPP(X1,X2,X3,sk1_esk66_4(X1,X2,X3,X4)) != hAPP(X1,X2,X4,sk1_esk66_4(X1,X2,X3,X4))
    | ti(fun(X1,X2),X3) = ti(fun(X1,X2),X4) ),
    inference(literals_permutation,[status(thm)],[c_0_750]) ).

cnf(c_0_751_0,axiom,
    ( hAPP(X1,product_prod(X2,X1),hAPP(X2,fun(X1,product_prod(X2,X1)),product_Pair(X2,X1),X3),X4) = hAPP(X1,product_prod(X2,X1),hAPP(X2,fun(X1,product_prod(X2,X1)),product_Pair(X2,X1),X5),X6)
    | ti(X1,X4) != ti(X1,X6)
    | ti(X2,X3) != ti(X2,X5) ),
    inference(literals_permutation,[status(thm)],[c_0_751]) ).

cnf(c_0_751_1,axiom,
    ( ti(X1,X4) != ti(X1,X6)
    | hAPP(X1,product_prod(X2,X1),hAPP(X2,fun(X1,product_prod(X2,X1)),product_Pair(X2,X1),X3),X4) = hAPP(X1,product_prod(X2,X1),hAPP(X2,fun(X1,product_prod(X2,X1)),product_Pair(X2,X1),X5),X6)
    | ti(X2,X3) != ti(X2,X5) ),
    inference(literals_permutation,[status(thm)],[c_0_751]) ).

cnf(c_0_751_2,axiom,
    ( ti(X2,X3) != ti(X2,X5)
    | ti(X1,X4) != ti(X1,X6)
    | hAPP(X1,product_prod(X2,X1),hAPP(X2,fun(X1,product_prod(X2,X1)),product_Pair(X2,X1),X3),X4) = hAPP(X1,product_prod(X2,X1),hAPP(X2,fun(X1,product_prod(X2,X1)),product_Pair(X2,X1),X5),X6) ),
    inference(literals_permutation,[status(thm)],[c_0_751]) ).

cnf(c_0_754_0,axiom,
    ( hAPP(exp(X1),exp(X1),hAPP(X1,fun(exp(X1),exp(X1)),lAss(X1),X2),X3) = hAPP(exp(X1),exp(X1),hAPP(X1,fun(exp(X1),exp(X1)),lAss(X1),X4),X5)
    | X3 != X5
    | ti(X1,X2) != ti(X1,X4) ),
    inference(literals_permutation,[status(thm)],[c_0_754]) ).

cnf(c_0_754_1,axiom,
    ( X3 != X5
    | hAPP(exp(X1),exp(X1),hAPP(X1,fun(exp(X1),exp(X1)),lAss(X1),X2),X3) = hAPP(exp(X1),exp(X1),hAPP(X1,fun(exp(X1),exp(X1)),lAss(X1),X4),X5)
    | ti(X1,X2) != ti(X1,X4) ),
    inference(literals_permutation,[status(thm)],[c_0_754]) ).

cnf(c_0_754_2,axiom,
    ( ti(X1,X2) != ti(X1,X4)
    | X3 != X5
    | hAPP(exp(X1),exp(X1),hAPP(X1,fun(exp(X1),exp(X1)),lAss(X1),X2),X3) = hAPP(exp(X1),exp(X1),hAPP(X1,fun(exp(X1),exp(X1)),lAss(X1),X4),X5) ),
    inference(literals_permutation,[status(thm)],[c_0_754]) ).

cnf(c_0_757_0,axiom,
    ( hAPP(exp(X1),exp(X1),hAPP(exp(X1),fun(exp(X1),exp(X1)),seq(X1),X2),X3) = hAPP(exp(X1),exp(X1),hAPP(exp(X1),fun(exp(X1),exp(X1)),seq(X1),X4),X5)
    | X3 != X5
    | X2 != X4 ),
    inference(literals_permutation,[status(thm)],[c_0_757]) ).

cnf(c_0_757_1,axiom,
    ( X3 != X5
    | hAPP(exp(X1),exp(X1),hAPP(exp(X1),fun(exp(X1),exp(X1)),seq(X1),X2),X3) = hAPP(exp(X1),exp(X1),hAPP(exp(X1),fun(exp(X1),exp(X1)),seq(X1),X4),X5)
    | X2 != X4 ),
    inference(literals_permutation,[status(thm)],[c_0_757]) ).

cnf(c_0_757_2,axiom,
    ( X2 != X4
    | X3 != X5
    | hAPP(exp(X1),exp(X1),hAPP(exp(X1),fun(exp(X1),exp(X1)),seq(X1),X2),X3) = hAPP(exp(X1),exp(X1),hAPP(exp(X1),fun(exp(X1),exp(X1)),seq(X1),X4),X5) ),
    inference(literals_permutation,[status(thm)],[c_0_757]) ).

cnf(c_0_758_0,axiom,
    ( hBOOL(hAPP(bool,bool,hAPP(bool,fun(bool,bool),fconj,X1),X2))
    | ~ hBOOL(X2)
    | ~ hBOOL(X1) ),
    inference(literals_permutation,[status(thm)],[c_0_758]) ).

cnf(c_0_758_1,axiom,
    ( ~ hBOOL(X2)
    | hBOOL(hAPP(bool,bool,hAPP(bool,fun(bool,bool),fconj,X1),X2))
    | ~ hBOOL(X1) ),
    inference(literals_permutation,[status(thm)],[c_0_758]) ).

cnf(c_0_758_2,axiom,
    ( ~ hBOOL(X1)
    | ~ hBOOL(X2)
    | hBOOL(hAPP(bool,bool,hAPP(bool,fun(bool,bool),fconj,X1),X2)) ),
    inference(literals_permutation,[status(thm)],[c_0_758]) ).

cnf(c_0_762_0,axiom,
    ( X1 = X2
    | hAPP(val,exp(X3),val_1(X3),X1) != hAPP(val,exp(X3),val_1(X3),X2) ),
    inference(literals_permutation,[status(thm)],[c_0_762]) ).

cnf(c_0_762_1,axiom,
    ( hAPP(val,exp(X3),val_1(X3),X1) != hAPP(val,exp(X3),val_1(X3),X2)
    | X1 = X2 ),
    inference(literals_permutation,[status(thm)],[c_0_762]) ).

cnf(c_0_767_0,axiom,
    ( hAPP(val,exp(X1),val_1(X1),X2) = hAPP(val,exp(X1),val_1(X1),X3)
    | X2 != X3 ),
    inference(literals_permutation,[status(thm)],[c_0_767]) ).

cnf(c_0_767_1,axiom,
    ( X2 != X3
    | hAPP(val,exp(X1),val_1(X1),X2) = hAPP(val,exp(X1),val_1(X1),X3) ),
    inference(literals_permutation,[status(thm)],[c_0_767]) ).

cnf(c_0_683_0,axiom,
    hAPP(X1,option(X2),hAPP(option(X2),fun(X1,option(X2)),hAPP(X1,fun(option(X2),fun(X1,option(X2))),hAPP(fun(X1,option(X2)),fun(X1,fun(option(X2),fun(X1,option(X2)))),fun_upd(X1,option(X2)),X3),X4),hAPP(X2,option(X2),some(X2),X5)),sk1_esk67_5(X1,X2,X3,X4,X5)) != none(X2),
    inference(literals_permutation,[status(thm)],[c_0_683]) ).

cnf(c_0_715_0,axiom,
    hAPP(exp(X1),exp(X1),hAPP(exp(X1),fun(exp(X1),exp(X1)),seq(X1),X2),X3) != hAPP(exp(X1),exp(X1),hAPP(ty,fun(exp(X1),exp(X1)),hAPP(X1,fun(ty,fun(exp(X1),exp(X1))),block(X1),X4),X5),X6),
    inference(literals_permutation,[status(thm)],[c_0_715]) ).

cnf(c_0_716_0,axiom,
    hAPP(exp(X1),exp(X1),hAPP(ty,fun(exp(X1),exp(X1)),hAPP(X1,fun(ty,fun(exp(X1),exp(X1))),block(X1),X2),X3),X4) != hAPP(exp(X1),exp(X1),hAPP(exp(X1),fun(exp(X1),exp(X1)),seq(X1),X5),X6),
    inference(literals_permutation,[status(thm)],[c_0_716]) ).

cnf(c_0_717_0,axiom,
    hAPP(exp(X1),exp(X1),hAPP(X1,fun(exp(X1),exp(X1)),lAss(X1),X2),X3) != hAPP(exp(X1),exp(X1),hAPP(ty,fun(exp(X1),exp(X1)),hAPP(X1,fun(ty,fun(exp(X1),exp(X1))),block(X1),X4),X5),X6),
    inference(literals_permutation,[status(thm)],[c_0_717]) ).

cnf(c_0_718_0,axiom,
    hAPP(exp(X1),exp(X1),hAPP(ty,fun(exp(X1),exp(X1)),hAPP(X1,fun(ty,fun(exp(X1),exp(X1))),block(X1),X2),X3),X4) != hAPP(exp(X1),exp(X1),hAPP(X1,fun(exp(X1),exp(X1)),lAss(X1),X5),X6),
    inference(literals_permutation,[status(thm)],[c_0_718]) ).

cnf(c_0_724_0,axiom,
    hAPP(exp(X1),exp(X1),hAPP(ty,fun(exp(X1),exp(X1)),hAPP(X1,fun(ty,fun(exp(X1),exp(X1))),block(X1),X2),X3),X4) != hAPP(val,exp(X1),val_1(X1),X5),
    inference(literals_permutation,[status(thm)],[c_0_724]) ).

cnf(c_0_725_0,axiom,
    hAPP(val,exp(X1),val_1(X1),X2) != hAPP(exp(X1),exp(X1),hAPP(ty,fun(exp(X1),exp(X1)),hAPP(X1,fun(ty,fun(exp(X1),exp(X1))),block(X1),X3),X4),X5),
    inference(literals_permutation,[status(thm)],[c_0_725]) ).

cnf(c_0_743_0,axiom,
    hAPP(exp(X1),exp(X1),hAPP(X1,fun(exp(X1),exp(X1)),lAss(X1),X2),X3) != hAPP(exp(X1),exp(X1),hAPP(exp(X1),fun(exp(X1),exp(X1)),seq(X1),X4),X5),
    inference(literals_permutation,[status(thm)],[c_0_743]) ).

cnf(c_0_744_0,axiom,
    hAPP(exp(X1),exp(X1),hAPP(exp(X1),fun(exp(X1),exp(X1)),seq(X1),X2),X3) != hAPP(exp(X1),exp(X1),hAPP(X1,fun(exp(X1),exp(X1)),lAss(X1),X4),X5),
    inference(literals_permutation,[status(thm)],[c_0_744]) ).

cnf(c_0_752_0,axiom,
    hAPP(exp(X1),exp(X1),hAPP(exp(X1),fun(exp(X1),exp(X1)),seq(X1),X2),X3) != hAPP(val,exp(X1),val_1(X1),X4),
    inference(literals_permutation,[status(thm)],[c_0_752]) ).

cnf(c_0_753_0,axiom,
    hAPP(val,exp(X1),val_1(X1),X2) != hAPP(exp(X1),exp(X1),hAPP(exp(X1),fun(exp(X1),exp(X1)),seq(X1),X3),X4),
    inference(literals_permutation,[status(thm)],[c_0_753]) ).

cnf(c_0_755_0,axiom,
    hAPP(exp(X1),exp(X1),hAPP(X1,fun(exp(X1),exp(X1)),lAss(X1),X2),X3) != hAPP(val,exp(X1),val_1(X1),X4),
    inference(literals_permutation,[status(thm)],[c_0_755]) ).

cnf(c_0_756_0,axiom,
    hAPP(val,exp(X1),val_1(X1),X2) != hAPP(exp(X1),exp(X1),hAPP(X1,fun(exp(X1),exp(X1)),lAss(X1),X3),X4),
    inference(literals_permutation,[status(thm)],[c_0_756]) ).

cnf(c_0_631_0,axiom,
    hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X1),X2),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),X1),hAPP(val,exp(list(char)),val_1(list(char)),X3))),hAPP(val,exp(list(char)),val_1(list(char)),X4)))),X5)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),X4)),X5))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X6))),
    inference(literals_permutation,[status(thm)],[c_0_631]) ).

cnf(c_0_632_0,axiom,
    hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),ea),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),ha),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),la),v_1),hAPP(val,option(val),some(val),v))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),e_a),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),h_a),l_a)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,p))),
    inference(literals_permutation,[status(thm)],[c_0_632]) ).

cnf(c_0_633_0,axiom,
    hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),X1),hAPP(val,exp(list(char)),val_1(list(char)),X2))),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X3),X4))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),unit)),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),X3),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),X4),X1),hAPP(val,option(val),some(val),X2)))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X5))),
    inference(literals_permutation,[status(thm)],[c_0_633]) ).

cnf(c_0_634_0,axiom,
    hAPP(product_prod(X2,product_prod(X3,product_prod(X4,product_prod(X5,X6)))),product_prod(X1,product_prod(X2,product_prod(X3,product_prod(X4,product_prod(X5,X6))))),hAPP(X1,fun(product_prod(X2,product_prod(X3,product_prod(X4,product_prod(X5,X6)))),product_prod(X1,product_prod(X2,product_prod(X3,product_prod(X4,product_prod(X5,X6)))))),product_Pair(X1,product_prod(X2,product_prod(X3,product_prod(X4,product_prod(X5,X6))))),sk1_esk8_7(X1,X2,X3,X4,X5,X6,X7)),hAPP(product_prod(X3,product_prod(X4,product_prod(X5,X6))),product_prod(X2,product_prod(X3,product_prod(X4,product_prod(X5,X6)))),hAPP(X2,fun(product_prod(X3,product_prod(X4,product_prod(X5,X6))),product_prod(X2,product_prod(X3,product_prod(X4,product_prod(X5,X6))))),product_Pair(X2,product_prod(X3,product_prod(X4,product_prod(X5,X6)))),sk1_esk9_7(X1,X2,X3,X4,X5,X6,X7)),hAPP(product_prod(X4,product_prod(X5,X6)),product_prod(X3,product_prod(X4,product_prod(X5,X6))),hAPP(X3,fun(product_prod(X4,product_prod(X5,X6)),product_prod(X3,product_prod(X4,product_prod(X5,X6)))),product_Pair(X3,product_prod(X4,product_prod(X5,X6))),sk1_esk10_7(X1,X2,X3,X4,X5,X6,X7)),hAPP(product_prod(X5,X6),product_prod(X4,product_prod(X5,X6)),hAPP(X4,fun(product_prod(X5,X6),product_prod(X4,product_prod(X5,X6))),product_Pair(X4,product_prod(X5,X6)),sk1_esk11_7(X1,X2,X3,X4,X5,X6,X7)),hAPP(X6,product_prod(X5,X6),hAPP(X5,fun(X6,product_prod(X5,X6)),product_Pair(X5,X6),sk1_esk12_7(X1,X2,X3,X4,X5,X6,X7)),sk1_esk13_7(X1,X2,X3,X4,X5,X6,X7)))))) = ti(product_prod(X1,product_prod(X2,product_prod(X3,product_prod(X4,product_prod(X5,X6))))),X7),
    inference(literals_permutation,[status(thm)],[c_0_634]) ).

cnf(c_0_635_0,axiom,
    hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X1),X2),hAPP(val,exp(list(char)),val_1(list(char)),X3))),X4)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),X3)),X4))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X5))),
    inference(literals_permutation,[status(thm)],[c_0_635]) ).

cnf(c_0_636_0,axiom,
    hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),X1)),X2)),X3)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X2),X3))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,X4))),
    inference(literals_permutation,[status(thm)],[c_0_636]) ).

cnf(c_0_638_0,axiom,
    hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,X1),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X2),X3),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),X2),hAPP(val,exp(list(char)),val_1(list(char)),X4))),hAPP(val,exp(list(char)),val_1(list(char)),X5)))),X6),hAPP(val,exp(list(char)),val_1(list(char)),X5)),X6)),
    inference(literals_permutation,[status(thm)],[c_0_638]) ).

cnf(c_0_640_0,axiom,
    hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,X1),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),X2),X3),hAPP(val,exp(list(char)),val_1(list(char)),X4))),X5),hAPP(val,exp(list(char)),val_1(list(char)),X4)),X5)),
    inference(literals_permutation,[status(thm)],[c_0_640]) ).

cnf(c_0_641_0,axiom,
    hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,X1),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),X2)),X3)),X4),X3),X4)),
    inference(literals_permutation,[status(thm)],[c_0_641]) ).

cnf(c_0_645_0,axiom,
    hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,p),ha),e),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),v_1),t_1),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),v_1),hAPP(val,exp(list(char)),val_1(list(char)),v))),ea))),t)),
    inference(literals_permutation,[status(thm)],[c_0_645]) ).

cnf(c_0_646_0,axiom,
    hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool))),fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),bool),wf_prog(product_prod(list(list(char)),exp(list(char)))),wf_J_mdecl),p)),
    inference(literals_permutation,[status(thm)],[c_0_646]) ).

cnf(c_0_647_0,axiom,
    hAPP(product_prod(X2,product_prod(X3,product_prod(X4,X5))),product_prod(X1,product_prod(X2,product_prod(X3,product_prod(X4,X5)))),hAPP(X1,fun(product_prod(X2,product_prod(X3,product_prod(X4,X5))),product_prod(X1,product_prod(X2,product_prod(X3,product_prod(X4,X5))))),product_Pair(X1,product_prod(X2,product_prod(X3,product_prod(X4,X5)))),sk1_esk19_6(X1,X2,X3,X4,X5,X6)),hAPP(product_prod(X3,product_prod(X4,X5)),product_prod(X2,product_prod(X3,product_prod(X4,X5))),hAPP(X2,fun(product_prod(X3,product_prod(X4,X5)),product_prod(X2,product_prod(X3,product_prod(X4,X5)))),product_Pair(X2,product_prod(X3,product_prod(X4,X5))),sk1_esk20_6(X1,X2,X3,X4,X5,X6)),hAPP(product_prod(X4,X5),product_prod(X3,product_prod(X4,X5)),hAPP(X3,fun(product_prod(X4,X5),product_prod(X3,product_prod(X4,X5))),product_Pair(X3,product_prod(X4,X5)),sk1_esk21_6(X1,X2,X3,X4,X5,X6)),hAPP(X5,product_prod(X4,X5),hAPP(X4,fun(X5,product_prod(X4,X5)),product_Pair(X4,X5),sk1_esk22_6(X1,X2,X3,X4,X5,X6)),sk1_esk23_6(X1,X2,X3,X4,X5,X6))))) = ti(product_prod(X1,product_prod(X2,product_prod(X3,product_prod(X4,X5)))),X6),
    inference(literals_permutation,[status(thm)],[c_0_647]) ).

cnf(c_0_648_0,axiom,
    hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),typeSa885026672_sconf,p),e),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),ha),la))),
    inference(literals_permutation,[status(thm)],[c_0_648]) ).

cnf(c_0_652_0,axiom,
    ti(fun(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool))),fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),bool)),wf_prog(product_prod(list(list(char)),exp(list(char))))) = wf_prog(product_prod(list(list(char)),exp(list(char)))),
    inference(literals_permutation,[status(thm)],[c_0_652]) ).

cnf(c_0_657_0,axiom,
    ti(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))))),redp) = redp,
    inference(literals_permutation,[status(thm)],[c_0_657]) ).

cnf(c_0_660_0,axiom,
    ti(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),typeSa885026672_sconf) = typeSa885026672_sconf,
    inference(literals_permutation,[status(thm)],[c_0_660]) ).

cnf(c_0_662_0,axiom,
    hBOOL(hAPP(ty,bool,hAPP(ty,fun(ty,bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X1)))))))),fun(ty,fun(ty,bool)),widen(X1),X2),X3),X3)),
    inference(literals_permutation,[status(thm)],[c_0_662]) ).

cnf(c_0_663_0,axiom,
    ti(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool))),wf_J_mdecl) = wf_J_mdecl,
    inference(literals_permutation,[status(thm)],[c_0_663]) ).

cnf(c_0_664_0,axiom,
    ti(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool)))),lconf(product_prod(list(list(char)),exp(list(char))))) = lconf(product_prod(list(list(char)),exp(list(char)))),
    inference(literals_permutation,[status(thm)],[c_0_664]) ).

cnf(c_0_665_0,axiom,
    ti(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))))),wTrt) = wTrt,
    inference(literals_permutation,[status(thm)],[c_0_665]) ).

cnf(c_0_666_0,axiom,
    ti(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool)),hconf(product_prod(list(list(char)),exp(list(char))))) = hconf(product_prod(list(list(char)),exp(list(char)))),
    inference(literals_permutation,[status(thm)],[c_0_666]) ).

cnf(c_0_668_0,axiom,
    hAPP(product_prod(X2,product_prod(X3,X4)),product_prod(X1,product_prod(X2,product_prod(X3,X4))),hAPP(X1,fun(product_prod(X2,product_prod(X3,X4)),product_prod(X1,product_prod(X2,product_prod(X3,X4)))),product_Pair(X1,product_prod(X2,product_prod(X3,X4))),sk1_esk28_5(X1,X2,X3,X4,X5)),hAPP(product_prod(X3,X4),product_prod(X2,product_prod(X3,X4)),hAPP(X2,fun(product_prod(X3,X4),product_prod(X2,product_prod(X3,X4))),product_Pair(X2,product_prod(X3,X4)),sk1_esk29_5(X1,X2,X3,X4,X5)),hAPP(X4,product_prod(X3,X4),hAPP(X3,fun(X4,product_prod(X3,X4)),product_Pair(X3,X4),sk1_esk30_5(X1,X2,X3,X4,X5)),sk1_esk31_5(X1,X2,X3,X4,X5)))) = ti(product_prod(X1,product_prod(X2,product_prod(X3,X4))),X5),
    inference(literals_permutation,[status(thm)],[c_0_668]) ).

cnf(c_0_672_0,axiom,
    hAPP(product_prod(X5,X6),X3,hAPP(fun(X5,fun(X6,X3)),fun(product_prod(X5,X6),X3),product_prod_case(X5,X6,X3),hAPP(fun(X5,fun(X6,product_prod(X1,X2))),fun(X5,fun(X6,X3)),hAPP(fun(fun(X6,product_prod(X1,X2)),fun(X6,X3)),fun(fun(X5,fun(X6,product_prod(X1,X2))),fun(X5,fun(X6,X3))),combb(fun(X6,product_prod(X1,X2)),fun(X6,X3),X5),hAPP(fun(product_prod(X1,X2),X3),fun(fun(X6,product_prod(X1,X2)),fun(X6,X3)),combb(product_prod(X1,X2),X3,X6),hAPP(fun(X1,fun(X2,X3)),fun(product_prod(X1,X2),X3),product_prod_case(X1,X2,X3),X4))),X7)),X8) = hAPP(product_prod(X1,X2),X3,hAPP(fun(X1,fun(X2,X3)),fun(product_prod(X1,X2),X3),product_prod_case(X1,X2,X3),X4),hAPP(product_prod(X5,X6),product_prod(X1,X2),hAPP(fun(X5,fun(X6,product_prod(X1,X2))),fun(product_prod(X5,X6),product_prod(X1,X2)),product_prod_case(X5,X6,product_prod(X1,X2)),X7),X8)),
    inference(literals_permutation,[status(thm)],[c_0_672]) ).

cnf(c_0_678_0,axiom,
    hAPP(X1,fun(X2,X1),hAPP(X2,fun(X1,fun(X2,X1)),hAPP(fun(X2,X1),fun(X2,fun(X1,fun(X2,X1))),fun_upd(X2,X1),hAPP(X1,fun(X2,X1),hAPP(X2,fun(X1,fun(X2,X1)),hAPP(fun(X2,X1),fun(X2,fun(X1,fun(X2,X1))),fun_upd(X2,X1),X3),X4),X5)),X4),X6) = hAPP(X1,fun(X2,X1),hAPP(X2,fun(X1,fun(X2,X1)),hAPP(fun(X2,X1),fun(X2,fun(X1,fun(X2,X1))),fun_upd(X2,X1),X3),X4),X6),
    inference(literals_permutation,[status(thm)],[c_0_678]) ).

cnf(c_0_684_0,axiom,
    ti(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X1)))))))),fun(ty,fun(ty,bool))),widen(X1)) = widen(X1),
    inference(literals_permutation,[status(thm)],[c_0_684]) ).

cnf(c_0_689_0,axiom,
    hAPP(fun(X1,fun(X2,X3)),fun(product_prod(X1,X2),X3),product_prod_case(X1,X2,X3),hAPP(fun(X1,fun(X2,product_prod(X1,X2))),fun(X1,fun(X2,X3)),hAPP(fun(fun(X2,product_prod(X1,X2)),fun(X2,X3)),fun(fun(X1,fun(X2,product_prod(X1,X2))),fun(X1,fun(X2,X3))),combb(fun(X2,product_prod(X1,X2)),fun(X2,X3),X1),hAPP(fun(product_prod(X1,X2),X3),fun(fun(X2,product_prod(X1,X2)),fun(X2,X3)),combb(product_prod(X1,X2),X3,X2),X4)),product_Pair(X1,X2))) = ti(fun(product_prod(X1,X2),X3),X4),
    inference(literals_permutation,[status(thm)],[c_0_689]) ).

cnf(c_0_690_0,axiom,
    hAPP(X1,option(X2),hAPP(option(X2),fun(X1,option(X2)),hAPP(X1,fun(option(X2),fun(X1,option(X2))),hAPP(fun(X1,option(X2)),fun(X1,fun(option(X2),fun(X1,option(X2)))),fun_upd(X1,option(X2)),hAPP(option(X2),fun(X1,option(X2)),combk(option(X2),X1),none(X2))),X3),none(X2)),X4) = none(X2),
    inference(literals_permutation,[status(thm)],[c_0_690]) ).

cnf(c_0_701_0,axiom,
    hAPP(product_prod(X2,X3),product_prod(X1,product_prod(X2,X3)),hAPP(X1,fun(product_prod(X2,X3),product_prod(X1,product_prod(X2,X3))),product_Pair(X1,product_prod(X2,X3)),sk1_esk35_4(X1,X2,X3,X4)),hAPP(X3,product_prod(X2,X3),hAPP(X2,fun(X3,product_prod(X2,X3)),product_Pair(X2,X3),sk1_esk36_4(X1,X2,X3,X4)),sk1_esk37_4(X1,X2,X3,X4))) = ti(product_prod(X1,product_prod(X2,X3)),X4),
    inference(literals_permutation,[status(thm)],[c_0_701]) ).

cnf(c_0_707_0,axiom,
    ti(fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),hp) = hp,
    inference(literals_permutation,[status(thm)],[c_0_707]) ).

cnf(c_0_713_0,axiom,
    hAPP(X1,X2,hAPP(X2,fun(X1,X2),hAPP(X1,fun(X2,fun(X1,X2)),hAPP(fun(X1,X2),fun(X1,fun(X2,fun(X1,X2))),fun_upd(X1,X2),X3),X4),X5),X4) = ti(X2,X5),
    inference(literals_permutation,[status(thm)],[c_0_713]) ).

cnf(c_0_723_0,axiom,
    hAPP(X1,X2,hAPP(fun(X1,X3),fun(X1,X2),hAPP(fun(X1,fun(X3,X2)),fun(fun(X1,X3),fun(X1,X2)),combs(X1,X3,X2),X4),X5),X6) = hAPP(X3,X2,hAPP(X1,fun(X3,X2),X4,X6),hAPP(X1,X3,X5,X6)),
    inference(literals_permutation,[status(thm)],[c_0_723]) ).

cnf(c_0_726_0,axiom,
    hAPP(product_prod(X1,X2),X3,hAPP(fun(X1,fun(X2,X3)),fun(product_prod(X1,X2),X3),product_prod_case(X1,X2,X3),X4),hAPP(X2,product_prod(X1,X2),hAPP(X1,fun(X2,product_prod(X1,X2)),product_Pair(X1,X2),X5),X6)) = hAPP(X2,X3,hAPP(X1,fun(X2,X3),X4,X5),X6),
    inference(literals_permutation,[status(thm)],[c_0_726]) ).

cnf(c_0_727_0,axiom,
    hAPP(product_prod(X1,X2),X3,hAPP(fun(X1,fun(X2,X3)),fun(product_prod(X1,X2),X3),product_prod_case(X1,X2,X3),X4),hAPP(X2,product_prod(X1,X2),hAPP(X1,fun(X2,product_prod(X1,X2)),product_Pair(X1,X2),X5),X6)) = hAPP(X2,X3,hAPP(X1,fun(X2,X3),X4,X5),X6),
    inference(literals_permutation,[status(thm)],[c_0_727]) ).

cnf(c_0_728_0,axiom,
    hAPP(product_prod(X1,X2),X3,hAPP(fun(X1,fun(X2,X3)),fun(product_prod(X1,X2),X3),produc1605651328_split(X1,X2,X3),X4),hAPP(X2,product_prod(X1,X2),hAPP(X1,fun(X2,product_prod(X1,X2)),product_Pair(X1,X2),X5),X6)) = hAPP(X2,X3,hAPP(X1,fun(X2,X3),X4,X5),X6),
    inference(literals_permutation,[status(thm)],[c_0_728]) ).

cnf(c_0_729_0,axiom,
    hAPP(product_prod(X1,X2),X3,hAPP(fun(X1,fun(X2,X3)),fun(product_prod(X1,X2),X3),product_prod_rec(X1,X2,X3),X4),hAPP(X2,product_prod(X1,X2),hAPP(X1,fun(X2,product_prod(X1,X2)),product_Pair(X1,X2),X5),X6)) = hAPP(X2,X3,hAPP(X1,fun(X2,X3),X4,X5),X6),
    inference(literals_permutation,[status(thm)],[c_0_729]) ).

cnf(c_0_730_0,axiom,
    hAPP(X1,X2,hAPP(X3,fun(X1,X2),hAPP(fun(X1,fun(X3,X2)),fun(X3,fun(X1,X2)),combc(X1,X3,X2),X4),X5),X6) = hAPP(X3,X2,hAPP(X1,fun(X3,X2),X4,X6),X5),
    inference(literals_permutation,[status(thm)],[c_0_730]) ).

cnf(c_0_731_0,axiom,
    hAPP(X1,X2,hAPP(fun(X1,X3),fun(X1,X2),hAPP(fun(X3,X2),fun(fun(X1,X3),fun(X1,X2)),combb(X3,X2,X1),X4),X5),X6) = hAPP(X3,X2,X4,hAPP(X1,X3,X5,X6)),
    inference(literals_permutation,[status(thm)],[c_0_731]) ).

cnf(c_0_732_0,axiom,
    hAPP(X1,fun(X2,X1),hAPP(X2,fun(X1,fun(X2,X1)),hAPP(fun(X2,X1),fun(X2,fun(X1,fun(X2,X1))),fun_upd(X2,X1),X3),X4),hAPP(X2,X1,X3,X4)) = ti(fun(X2,X1),X3),
    inference(literals_permutation,[status(thm)],[c_0_732]) ).

cnf(c_0_759_0,axiom,
    hAPP(X2,product_prod(X1,X2),hAPP(X1,fun(X2,product_prod(X1,X2)),product_Pair(X1,X2),sk1_esk48_3(X1,X2,X3)),sk1_esk49_3(X1,X2,X3)) = ti(product_prod(X1,X2),X3),
    inference(literals_permutation,[status(thm)],[c_0_759]) ).

cnf(c_0_760_0,axiom,
    hAPP(X2,product_prod(X1,X2),hAPP(X1,fun(X2,product_prod(X1,X2)),product_Pair(X1,X2),sk1_esk43_3(X1,X2,X3)),sk1_esk44_3(X1,X2,X3)) = ti(product_prod(X1,X2),X3),
    inference(literals_permutation,[status(thm)],[c_0_760]) ).

cnf(c_0_761_0,axiom,
    hAPP(X1,X2,hAPP(X2,fun(X1,X2),combk(X2,X1),X3),X4) = ti(X2,X3),
    inference(literals_permutation,[status(thm)],[c_0_761]) ).

cnf(c_0_763_0,axiom,
    ti(X1,hAPP(X2,X1,X3,X4)) = hAPP(X2,X1,X3,X4),
    inference(literals_permutation,[status(thm)],[c_0_763]) ).

cnf(c_0_764_0,axiom,
    ti(fun(fun(X1,fun(X2,X3)),fun(fun(X1,X2),fun(X1,X3))),combs(X1,X2,X3)) = combs(X1,X2,X3),
    inference(literals_permutation,[status(thm)],[c_0_764]) ).

cnf(c_0_765_0,axiom,
    hAPP(X1,X2,ti(fun(X1,X2),X3),X4) = hAPP(X1,X2,X3,X4),
    inference(literals_permutation,[status(thm)],[c_0_765]) ).

cnf(c_0_766_0,axiom,
    hAPP(X1,X2,X3,ti(X1,X4)) = hAPP(X1,X2,X3,X4),
    inference(literals_permutation,[status(thm)],[c_0_766]) ).

cnf(c_0_768_0,axiom,
    ti(fun(fun(X1,fun(X2,X3)),fun(product_prod(X1,X2),X3)),product_prod_rec(X1,X2,X3)) = product_prod_rec(X1,X2,X3),
    inference(literals_permutation,[status(thm)],[c_0_768]) ).

cnf(c_0_769_0,axiom,
    ti(fun(fun(X1,fun(X2,X3)),fun(product_prod(X1,X2),X3)),product_prod_case(X1,X2,X3)) = product_prod_case(X1,X2,X3),
    inference(literals_permutation,[status(thm)],[c_0_769]) ).

cnf(c_0_770_0,axiom,
    ti(fun(fun(X1,fun(X2,X3)),fun(product_prod(X1,X2),X3)),produc1605651328_split(X1,X2,X3)) = produc1605651328_split(X1,X2,X3),
    inference(literals_permutation,[status(thm)],[c_0_770]) ).

cnf(c_0_771_0,axiom,
    ti(fun(fun(X1,fun(X2,X3)),fun(X2,fun(X1,X3))),combc(X1,X2,X3)) = combc(X1,X2,X3),
    inference(literals_permutation,[status(thm)],[c_0_771]) ).

cnf(c_0_772_0,axiom,
    ti(fun(fun(X1,X2),fun(fun(X3,X1),fun(X3,X2))),combb(X1,X2,X3)) = combb(X1,X2,X3),
    inference(literals_permutation,[status(thm)],[c_0_772]) ).

cnf(c_0_773_0,axiom,
    hAPP(list(char),option(val),l_a,v_1) = hAPP(val,option(val),some(val),v_2),
    inference(literals_permutation,[status(thm)],[c_0_773]) ).

cnf(c_0_774_0,axiom,
    ti(fun(fun(X1,X2),fun(X1,fun(X2,fun(X1,X2)))),fun_upd(X1,X2)) = fun_upd(X1,X2),
    inference(literals_permutation,[status(thm)],[c_0_774]) ).

cnf(c_0_775_0,axiom,
    ti(fun(X1,fun(ty,fun(exp(X1),exp(X1)))),block(X1)) = block(X1),
    inference(literals_permutation,[status(thm)],[c_0_775]) ).

cnf(c_0_776_0,axiom,
    ti(fun(X1,fun(X2,product_prod(X1,X2))),product_Pair(X1,X2)) = product_Pair(X1,X2),
    inference(literals_permutation,[status(thm)],[c_0_776]) ).

cnf(c_0_777_0,axiom,
    ti(fun(X1,fun(fun(X1,bool),bool)),member(X1)) = member(X1),
    inference(literals_permutation,[status(thm)],[c_0_777]) ).

cnf(c_0_778_0,axiom,
    ti(fun(exp(X1),fun(exp(X1),exp(X1))),seq(X1)) = seq(X1),
    inference(literals_permutation,[status(thm)],[c_0_778]) ).

cnf(c_0_779_0,axiom,
    ti(fun(X1,fun(exp(X1),exp(X1))),lAss(X1)) = lAss(X1),
    inference(literals_permutation,[status(thm)],[c_0_779]) ).

cnf(c_0_780_0,axiom,
    ti(fun(list(char),fun(exp(list(char)),bool)),assigned) = assigned,
    inference(literals_permutation,[status(thm)],[c_0_780]) ).

cnf(c_0_781_0,axiom,
    ti(fun(X1,fun(X2,X1)),combk(X1,X2)) = combk(X1,X2),
    inference(literals_permutation,[status(thm)],[c_0_781]) ).

cnf(c_0_782_0,axiom,
    product_prod_case(X1,X2,X3) = produc1605651328_split(X1,X2,X3),
    inference(literals_permutation,[status(thm)],[c_0_782]) ).

cnf(c_0_783_0,axiom,
    ti(fun(bool,fun(bool,bool)),fconj) = fconj,
    inference(literals_permutation,[status(thm)],[c_0_783]) ).

cnf(c_0_784_0,axiom,
    ti(fun(X1,option(X1)),some(X1)) = some(X1),
    inference(literals_permutation,[status(thm)],[c_0_784]) ).

cnf(c_0_785_0,axiom,
    ti(fun(val,exp(X1)),val_1(X1)) = val_1(X1),
    inference(literals_permutation,[status(thm)],[c_0_785]) ).

cnf(c_0_786_0,axiom,
    ti(X1,ti(X1,X2)) = ti(X1,X2),
    inference(literals_permutation,[status(thm)],[c_0_786]) ).

cnf(c_0_787_0,axiom,
    ti(fun(list(char),option(ty)),e) = e,
    inference(literals_permutation,[status(thm)],[c_0_787]) ).

cnf(c_0_788_0,axiom,
    ti(option(X1),none(X1)) = none(X1),
    inference(literals_permutation,[status(thm)],[c_0_788]) ).

cnf(c_0_789_0,axiom,
    ti(X1,undefined(X1)) = undefined(X1),
    inference(literals_permutation,[status(thm)],[c_0_789]) ).

cnf(c_0_790_0,axiom,
    ti(val,v_2) = v_2,
    inference(literals_permutation,[status(thm)],[c_0_790]) ).

cnf(c_0_791_0,axiom,
    ti(ty,t_1) = t_1,
    inference(literals_permutation,[status(thm)],[c_0_791]) ).

cnf(c_0_792_0,axiom,
    ti(ty,t) = t,
    inference(literals_permutation,[status(thm)],[c_0_792]) ).

cnf(c_0_793_0,axiom,
    ti(val,unit) = unit,
    inference(literals_permutation,[status(thm)],[c_0_793]) ).

% CNF of non-axioms
% Start CNF derivation
fof(c_0_0_001,conjecture,
    hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),ea),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),ha),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),la),v_1),hAPP(val,option(val),some(val),v))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),e_a),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),h_a),l_a)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,p))),
    file('<stdin>',conj_0) ).

fof(c_0_1_002,hypothesis,
    ti(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool)),red) = red,
    file('<stdin>',tsy_c_SmallStep_Ored_res) ).

fof(c_0_2_003,hypothesis,
    ti(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),p) = p,
    file('<stdin>',tsy_v_P_res) ).

fof(c_0_3_004,hypothesis,
    ti(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),ha) = ha,
    file('<stdin>',tsy_v_ha_____res) ).

fof(c_0_4_005,hypothesis,
    ti(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),h_a) = h_a,
    file('<stdin>',tsy_v_h_Ha_____res) ).

fof(c_0_5_006,hypothesis,
    ti(fun(list(char),option(val)),la) = la,
    file('<stdin>',tsy_v_la_____res) ).

fof(c_0_6_007,hypothesis,
    ti(fun(list(char),option(val)),l_a) = l_a,
    file('<stdin>',tsy_v_l_Ha_____res) ).

fof(c_0_7_008,hypothesis,
    ! [X1] :
      ( hBOOL(ti(bool,X1))
    <=> hBOOL(X1) ),
    file('<stdin>',tsy_c_hBOOL_arg1) ).

fof(c_0_8_009,hypothesis,
    ti(exp(list(char)),ea) = ea,
    file('<stdin>',tsy_v_ea_____res) ).

fof(c_0_9_010,hypothesis,
    ti(exp(list(char)),e_a) = e_a,
    file('<stdin>',tsy_v_e_Ha_____res) ).

fof(c_0_10_011,hypothesis,
    ti(list(char),v_1) = v_1,
    file('<stdin>',tsy_v_V_____res) ).

fof(c_0_11_012,hypothesis,
    ti(val,v) = v,
    file('<stdin>',tsy_v_v_____res) ).

fof(c_0_12_013,negated_conjecture,
    ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),ea),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),ha),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),la),v_1),hAPP(val,option(val),some(val),v))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),e_a),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),h_a),l_a)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,p))),
    inference(fof_simplification,[status(thm)],[inference(assume_negation,[status(cth)],[c_0_0])]) ).

fof(c_0_13_014,hypothesis,
    ti(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool)),red) = red,
    c_0_1 ).

fof(c_0_14_015,hypothesis,
    ti(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),p) = p,
    c_0_2 ).

fof(c_0_15_016,hypothesis,
    ti(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),ha) = ha,
    c_0_3 ).

fof(c_0_16_017,hypothesis,
    ti(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),h_a) = h_a,
    c_0_4 ).

fof(c_0_17_018,hypothesis,
    ti(fun(list(char),option(val)),la) = la,
    c_0_5 ).

fof(c_0_18_019,hypothesis,
    ti(fun(list(char),option(val)),l_a) = l_a,
    c_0_6 ).

fof(c_0_19_020,hypothesis,
    ! [X1] :
      ( hBOOL(ti(bool,X1))
    <=> hBOOL(X1) ),
    c_0_7 ).

fof(c_0_20_021,hypothesis,
    ti(exp(list(char)),ea) = ea,
    c_0_8 ).

fof(c_0_21_022,hypothesis,
    ti(exp(list(char)),e_a) = e_a,
    c_0_9 ).

fof(c_0_22_023,hypothesis,
    ti(list(char),v_1) = v_1,
    c_0_10 ).

fof(c_0_23_024,hypothesis,
    ti(val,v) = v,
    c_0_11 ).

fof(c_0_24_025,negated_conjecture,
    ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),ea),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),ha),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),la),v_1),hAPP(val,option(val),some(val),v))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),e_a),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),h_a),l_a)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,p))),
    c_0_12 ).

fof(c_0_25_026,hypothesis,
    ti(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool)),red) = red,
    c_0_13 ).

fof(c_0_26_027,hypothesis,
    ti(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),p) = p,
    c_0_14 ).

fof(c_0_27_028,hypothesis,
    ti(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),ha) = ha,
    c_0_15 ).

fof(c_0_28_029,hypothesis,
    ti(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),h_a) = h_a,
    c_0_16 ).

fof(c_0_29_030,hypothesis,
    ti(fun(list(char),option(val)),la) = la,
    c_0_17 ).

fof(c_0_30_031,hypothesis,
    ti(fun(list(char),option(val)),l_a) = l_a,
    c_0_18 ).

fof(c_0_31_032,hypothesis,
    ! [X2,X3] :
      ( ( ~ hBOOL(ti(bool,X2))
        | hBOOL(X2) )
      & ( ~ hBOOL(X3)
        | hBOOL(ti(bool,X3)) ) ),
    inference(shift_quantors,[status(thm)],[inference(variable_rename,[status(thm)],[inference(shift_quantors,[status(thm)],[inference(fof_nnf,[status(thm)],[c_0_19])])])]) ).

fof(c_0_32_033,hypothesis,
    ti(exp(list(char)),ea) = ea,
    c_0_20 ).

fof(c_0_33_034,hypothesis,
    ti(exp(list(char)),e_a) = e_a,
    c_0_21 ).

fof(c_0_34_035,hypothesis,
    ti(list(char),v_1) = v_1,
    c_0_22 ).

fof(c_0_35_036,hypothesis,
    ti(val,v) = v,
    c_0_23 ).

cnf(c_0_36_037,negated_conjecture,
    ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),ea),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),ha),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),la),v_1),hAPP(val,option(val),some(val),v))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),e_a),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),h_a),l_a)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,p))),
    inference(split_conjunct,[status(thm)],[c_0_24]) ).

cnf(c_0_37_038,hypothesis,
    ti(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool)),red) = red,
    inference(split_conjunct,[status(thm)],[c_0_25]) ).

cnf(c_0_38_039,hypothesis,
    ti(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),p) = p,
    inference(split_conjunct,[status(thm)],[c_0_26]) ).

cnf(c_0_39_040,hypothesis,
    ti(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),ha) = ha,
    inference(split_conjunct,[status(thm)],[c_0_27]) ).

cnf(c_0_40_041,hypothesis,
    ti(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),h_a) = h_a,
    inference(split_conjunct,[status(thm)],[c_0_28]) ).

cnf(c_0_41_042,hypothesis,
    ti(fun(list(char),option(val)),la) = la,
    inference(split_conjunct,[status(thm)],[c_0_29]) ).

cnf(c_0_42_043,hypothesis,
    ti(fun(list(char),option(val)),l_a) = l_a,
    inference(split_conjunct,[status(thm)],[c_0_30]) ).

cnf(c_0_43_044,hypothesis,
    ( hBOOL(X1)
    | ~ hBOOL(ti(bool,X1)) ),
    inference(split_conjunct,[status(thm)],[c_0_31]) ).

cnf(c_0_44_045,hypothesis,
    ( hBOOL(ti(bool,X1))
    | ~ hBOOL(X1) ),
    inference(split_conjunct,[status(thm)],[c_0_31]) ).

cnf(c_0_45_046,hypothesis,
    ti(exp(list(char)),ea) = ea,
    inference(split_conjunct,[status(thm)],[c_0_32]) ).

cnf(c_0_46_047,hypothesis,
    ti(exp(list(char)),e_a) = e_a,
    inference(split_conjunct,[status(thm)],[c_0_33]) ).

cnf(c_0_47_048,hypothesis,
    ti(list(char),v_1) = v_1,
    inference(split_conjunct,[status(thm)],[c_0_34]) ).

cnf(c_0_48_049,hypothesis,
    ti(val,v) = v,
    inference(split_conjunct,[status(thm)],[c_0_35]) ).

cnf(c_0_49_050,negated_conjecture,
    ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),ea),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),ha),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),la),v_1),hAPP(val,option(val),some(val),v))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),e_a),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),h_a),l_a)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,p))),
    c_0_36,
    [final] ).

cnf(c_0_50_051,hypothesis,
    ti(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool)),red) = red,
    c_0_37,
    [final] ).

cnf(c_0_51_052,hypothesis,
    ti(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),p) = p,
    c_0_38,
    [final] ).

cnf(c_0_52_053,hypothesis,
    ti(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),ha) = ha,
    c_0_39,
    [final] ).

cnf(c_0_53_054,hypothesis,
    ti(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),h_a) = h_a,
    c_0_40,
    [final] ).

cnf(c_0_54_055,hypothesis,
    ti(fun(list(char),option(val)),la) = la,
    c_0_41,
    [final] ).

cnf(c_0_55_056,hypothesis,
    ti(fun(list(char),option(val)),l_a) = l_a,
    c_0_42,
    [final] ).

cnf(c_0_56_057,hypothesis,
    ( hBOOL(X1)
    | ~ hBOOL(ti(bool,X1)) ),
    c_0_43,
    [final] ).

cnf(c_0_57_058,hypothesis,
    ( hBOOL(ti(bool,X1))
    | ~ hBOOL(X1) ),
    c_0_44,
    [final] ).

cnf(c_0_58_059,hypothesis,
    ti(exp(list(char)),ea) = ea,
    c_0_45,
    [final] ).

cnf(c_0_59_060,hypothesis,
    ti(exp(list(char)),e_a) = e_a,
    c_0_46,
    [final] ).

cnf(c_0_60_061,hypothesis,
    ti(list(char),v_1) = v_1,
    c_0_47,
    [final] ).

cnf(c_0_61_062,hypothesis,
    ti(val,v) = v,
    c_0_48,
    [final] ).

% End CNF derivation

%-------------------------------------------------------------
% Proof by iprover

cnf(c_69,plain,
    hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),ea),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),ha),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),la),v_1),hAPP(val,option(val),some(val),v))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),e_a),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),h_a),l_a)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,p))),
    file('/export/starexec/sandbox2/tmp/iprover_modulo_b37773.p',c_0_632_0) ).

cnf(c_315,negated_conjecture,
    ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),ea),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),ha),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),la),v_1),hAPP(val,option(val),some(val),v))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),e_a),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),h_a),l_a)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,p))),
    file('/export/starexec/sandbox2/tmp/iprover_modulo_b37773.p',c_0_49) ).

cnf(contradiction,plain,
    $false,
    inference(minisat,[status(thm)],[c_69,c_315]) ).


%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.00/0.12  % Problem  : SWW478+5 : TPTP v8.1.0. Released v5.3.0.
% 0.00/0.12  % Command  : iprover_modulo %s %d
% 0.13/0.33  % Computer : n029.cluster.edu
% 0.13/0.33  % Model    : x86_64 x86_64
% 0.13/0.33  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.13/0.33  % Memory   : 8042.1875MB
% 0.13/0.33  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.13/0.33  % CPULimit : 300
% 0.13/0.33  % WCLimit  : 600
% 0.13/0.33  % DateTime : Mon Jun  6 07:19:19 EDT 2022
% 0.13/0.33  % CPUTime  : 
% 0.13/0.34  % Running in mono-core mode
% 0.43/0.59  % Orienting using strategy Equiv(ClausalAll)
% 0.43/0.59  % FOF problem with conjecture
% 0.43/0.59  % Executing iprover_moduloopt --modulo true --schedule none --sub_typing false --res_to_prop_solver none --res_prop_simpl_given false --res_lit_sel kbo_max --large_theory_mode false --res_time_limit 1000 --res_orphan_elimination false --prep_sem_filter none --prep_unflatten false --comb_res_mult 1000 --comb_inst_mult 300 --clausifier .//eprover --clausifier_options "--tstp-format  " --proof_out_file /export/starexec/sandbox2/tmp/iprover_proof_ee60a1.s --tptp_safe_out true --time_out_real 150 /export/starexec/sandbox2/tmp/iprover_modulo_b37773.p | tee /export/starexec/sandbox2/tmp/iprover_modulo_out_6db490 | grep -v "SZS"
% 0.43/0.62  
% 0.43/0.62  %---------------- iProver v2.5 (CASC-J8 2016) ----------------%
% 0.43/0.62  
% 0.43/0.62  % 
% 0.43/0.62  % ------  iProver source info 
% 0.43/0.62  
% 0.43/0.62  % git: sha1: 57accf6c58032223c7708532cf852a99fa48c1b3
% 0.43/0.62  % git: non_committed_changes: true
% 0.43/0.62  % git: last_make_outside_of_git: true
% 0.43/0.62  
% 0.43/0.62  % 
% 0.43/0.62  % ------ Input Options
% 0.43/0.62  
% 0.43/0.62  % --out_options                         all
% 0.43/0.62  % --tptp_safe_out                       true
% 0.43/0.62  % --problem_path                        ""
% 0.43/0.62  % --include_path                        ""
% 0.43/0.62  % --clausifier                          .//eprover
% 0.43/0.62  % --clausifier_options                  --tstp-format  
% 0.43/0.62  % --stdin                               false
% 0.43/0.62  % --dbg_backtrace                       false
% 0.43/0.62  % --dbg_dump_prop_clauses               false
% 0.43/0.62  % --dbg_dump_prop_clauses_file          -
% 0.43/0.62  % --dbg_out_stat                        false
% 0.43/0.62  
% 0.43/0.62  % ------ General Options
% 0.43/0.62  
% 0.43/0.62  % --fof                                 false
% 0.43/0.62  % --time_out_real                       150.
% 0.43/0.62  % --time_out_prep_mult                  0.2
% 0.43/0.62  % --time_out_virtual                    -1.
% 0.43/0.62  % --schedule                            none
% 0.43/0.62  % --ground_splitting                    input
% 0.43/0.62  % --splitting_nvd                       16
% 0.43/0.62  % --non_eq_to_eq                        false
% 0.43/0.62  % --prep_gs_sim                         true
% 0.43/0.62  % --prep_unflatten                      false
% 0.43/0.62  % --prep_res_sim                        true
% 0.43/0.62  % --prep_upred                          true
% 0.43/0.62  % --res_sim_input                       true
% 0.43/0.62  % --clause_weak_htbl                    true
% 0.43/0.62  % --gc_record_bc_elim                   false
% 0.43/0.62  % --symbol_type_check                   false
% 0.43/0.62  % --clausify_out                        false
% 0.43/0.62  % --large_theory_mode                   false
% 0.43/0.62  % --prep_sem_filter                     none
% 0.43/0.62  % --prep_sem_filter_out                 false
% 0.43/0.62  % --preprocessed_out                    false
% 0.43/0.62  % --sub_typing                          false
% 0.43/0.62  % --brand_transform                     false
% 0.43/0.62  % --pure_diseq_elim                     true
% 0.43/0.62  % --min_unsat_core                      false
% 0.43/0.62  % --pred_elim                           true
% 0.43/0.62  % --add_important_lit                   false
% 0.43/0.62  % --soft_assumptions                    false
% 0.43/0.62  % --reset_solvers                       false
% 0.43/0.62  % --bc_imp_inh                          []
% 0.43/0.62  % --conj_cone_tolerance                 1.5
% 0.43/0.62  % --prolific_symb_bound                 500
% 0.43/0.62  % --lt_threshold                        2000
% 0.43/0.62  
% 0.43/0.62  % ------ SAT Options
% 0.43/0.62  
% 0.43/0.62  % --sat_mode                            false
% 0.43/0.62  % --sat_fm_restart_options              ""
% 0.43/0.62  % --sat_gr_def                          false
% 0.43/0.62  % --sat_epr_types                       true
% 0.43/0.62  % --sat_non_cyclic_types                false
% 0.43/0.62  % --sat_finite_models                   false
% 0.43/0.62  % --sat_fm_lemmas                       false
% 0.43/0.62  % --sat_fm_prep                         false
% 0.43/0.62  % --sat_fm_uc_incr                      true
% 0.43/0.62  % --sat_out_model                       small
% 0.43/0.62  % --sat_out_clauses                     false
% 0.43/0.62  
% 0.43/0.62  % ------ QBF Options
% 0.43/0.62  
% 0.43/0.62  % --qbf_mode                            false
% 0.43/0.62  % --qbf_elim_univ                       true
% 0.43/0.62  % --qbf_sk_in                           true
% 0.43/0.62  % --qbf_pred_elim                       true
% 0.43/0.62  % --qbf_split                           32
% 0.43/0.62  
% 0.43/0.62  % ------ BMC1 Options
% 0.43/0.62  
% 0.43/0.62  % --bmc1_incremental                    false
% 0.43/0.62  % --bmc1_axioms                         reachable_all
% 0.43/0.62  % --bmc1_min_bound                      0
% 0.43/0.62  % --bmc1_max_bound                      -1
% 0.43/0.62  % --bmc1_max_bound_default              -1
% 0.43/0.62  % --bmc1_symbol_reachability            true
% 0.43/0.62  % --bmc1_property_lemmas                false
% 0.43/0.62  % --bmc1_k_induction                    false
% 0.43/0.62  % --bmc1_non_equiv_states               false
% 0.43/0.62  % --bmc1_deadlock                       false
% 0.43/0.62  % --bmc1_ucm                            false
% 0.43/0.62  % --bmc1_add_unsat_core                 none
% 0.43/0.62  % --bmc1_unsat_core_children            false
% 0.43/0.62  % --bmc1_unsat_core_extrapolate_axioms  false
% 0.43/0.62  % --bmc1_out_stat                       full
% 0.43/0.62  % --bmc1_ground_init                    false
% 0.43/0.62  % --bmc1_pre_inst_next_state            false
% 0.43/0.62  % --bmc1_pre_inst_state                 false
% 0.43/0.62  % --bmc1_pre_inst_reach_state           false
% 0.43/0.62  % --bmc1_out_unsat_core                 false
% 0.43/0.62  % --bmc1_aig_witness_out                false
% 0.43/0.62  % --bmc1_verbose                        false
% 0.43/0.62  % --bmc1_dump_clauses_tptp              false
% 0.46/0.65  % --bmc1_dump_unsat_core_tptp           false
% 0.46/0.65  % --bmc1_dump_file                      -
% 0.46/0.65  % --bmc1_ucm_expand_uc_limit            128
% 0.46/0.65  % --bmc1_ucm_n_expand_iterations        6
% 0.46/0.65  % --bmc1_ucm_extend_mode                1
% 0.46/0.65  % --bmc1_ucm_init_mode                  2
% 0.46/0.65  % --bmc1_ucm_cone_mode                  none
% 0.46/0.65  % --bmc1_ucm_reduced_relation_type      0
% 0.46/0.65  % --bmc1_ucm_relax_model                4
% 0.46/0.65  % --bmc1_ucm_full_tr_after_sat          true
% 0.46/0.65  % --bmc1_ucm_expand_neg_assumptions     false
% 0.46/0.65  % --bmc1_ucm_layered_model              none
% 0.46/0.65  % --bmc1_ucm_max_lemma_size             10
% 0.46/0.65  
% 0.46/0.65  % ------ AIG Options
% 0.46/0.65  
% 0.46/0.65  % --aig_mode                            false
% 0.46/0.65  
% 0.46/0.65  % ------ Instantiation Options
% 0.46/0.65  
% 0.46/0.65  % --instantiation_flag                  true
% 0.46/0.65  % --inst_lit_sel                        [+prop;+sign;+ground;-num_var;-num_symb]
% 0.46/0.65  % --inst_solver_per_active              750
% 0.46/0.65  % --inst_solver_calls_frac              0.5
% 0.46/0.65  % --inst_passive_queue_type             priority_queues
% 0.46/0.65  % --inst_passive_queues                 [[-conj_dist;+conj_symb;-num_var];[+age;-num_symb]]
% 0.46/0.65  % --inst_passive_queues_freq            [25;2]
% 0.46/0.65  % --inst_dismatching                    true
% 0.46/0.65  % --inst_eager_unprocessed_to_passive   true
% 0.46/0.65  % --inst_prop_sim_given                 true
% 0.46/0.65  % --inst_prop_sim_new                   false
% 0.46/0.65  % --inst_orphan_elimination             true
% 0.46/0.65  % --inst_learning_loop_flag             true
% 0.46/0.65  % --inst_learning_start                 3000
% 0.46/0.65  % --inst_learning_factor                2
% 0.46/0.65  % --inst_start_prop_sim_after_learn     3
% 0.46/0.65  % --inst_sel_renew                      solver
% 0.46/0.65  % --inst_lit_activity_flag              true
% 0.46/0.65  % --inst_out_proof                      true
% 0.46/0.65  
% 0.46/0.65  % ------ Resolution Options
% 0.46/0.65  
% 0.46/0.65  % --resolution_flag                     true
% 0.46/0.65  % --res_lit_sel                         kbo_max
% 0.46/0.65  % --res_to_prop_solver                  none
% 0.46/0.65  % --res_prop_simpl_new                  false
% 0.46/0.65  % --res_prop_simpl_given                false
% 0.46/0.65  % --res_passive_queue_type              priority_queues
% 0.46/0.65  % --res_passive_queues                  [[-conj_dist;+conj_symb;-num_symb];[+age;-num_symb]]
% 0.46/0.65  % --res_passive_queues_freq             [15;5]
% 0.46/0.65  % --res_forward_subs                    full
% 0.46/0.65  % --res_backward_subs                   full
% 0.46/0.65  % --res_forward_subs_resolution         true
% 0.46/0.65  % --res_backward_subs_resolution        true
% 0.46/0.65  % --res_orphan_elimination              false
% 0.46/0.65  % --res_time_limit                      1000.
% 0.46/0.65  % --res_out_proof                       true
% 0.46/0.65  % --proof_out_file                      /export/starexec/sandbox2/tmp/iprover_proof_ee60a1.s
% 0.46/0.65  % --modulo                              true
% 0.46/0.65  
% 0.46/0.65  % ------ Combination Options
% 0.46/0.65  
% 0.46/0.65  % --comb_res_mult                       1000
% 0.46/0.65  % --comb_inst_mult                      300
% 0.46/0.65  % ------ 
% 0.46/0.65  
% 0.46/0.65  % ------ Parsing...% 
% 0.46/0.65  
% 0.46/0.65  
% 0.46/0.65  % ------                             Statistics
% 0.46/0.65  
% 0.46/0.65  % ------ General
% 0.46/0.65  
% 0.46/0.65  % num_of_input_clauses:                 129
% 0.46/0.65  % num_of_input_neg_conjectures:         0
% 0.46/0.65  % num_of_splits:                        0
% 0.46/0.65  % num_of_split_atoms:                   0
% 0.46/0.65  % num_of_sem_filtered_clauses:          0
% 0.46/0.65  % num_of_subtypes:                      0
% 0.46/0.65  % monotx_restored_types:                0
% 0.46/0.66  % sat_num_of_epr_types:                 0
% 0.46/0.66  % sat_num_of_non_cyclic_types:          0
% 0.46/0.66  % sat_guarded_non_collapsed_types:      0
% 0.46/0.66  % is_epr:                               0
% 0.46/0.66  % is_horn:                              0
% 0.46/0.66  % has_eq:                               0
% 0.46/0.66  % num_pure_diseq_elim:                  0
% 0.46/0.66  % simp_replaced_by:                     0
% 0.46/0.66  % res_preprocessed:                     0
% 0.46/0.66  % prep_upred:                           0
% 0.46/0.66  % prep_unflattend:                      0
% 0.46/0.66  % pred_elim_cands:                      0
% 0.46/0.66  % pred_elim:                            0
% 0.46/0.66  % pred_elim_cl:                         0
% 0.46/0.66  % pred_elim_cycles:                     0
% 0.46/0.66  % forced_gc_time:                       0
% 0.46/0.66  % gc_basic_clause_elim:                 0
% 0.46/0.66  % parsing_time:                         0.
% 0.46/0.66  % sem_filter_time:                      0.
% 0.46/0.66  % pred_elim_time:                       0.
% 0.46/0.66  % out_proof_time:                       0.
% 0.46/0.66  % monotx_time:                          0.
% 0.46/0.66  % subtype_inf_time:                     0.
% 0.46/0.66  % unif_index_cands_time:                0.
% 0.46/0.66  % Fatal error: exception Failure("Parse error in: /export/starexec/sandbox2/tmp/iprover_modulo_b37773.p line: 132 near token: '!='")
% 0.46/0.66  unif_index_add_time:                  0.
% 0.46/0.66  % total_time:                           0.054
% 0.46/0.66  % num_of_symbols:                       115
% 0.46/0.66  % num_of_terms:                         1214
% 0.46/0.66  
% 0.46/0.66  % ------ Propositional Solver
% 0.46/0.66  
% 0.46/0.66  % prop_solver_calls:                    0
% 0.46/0.66  % prop_fast_solver_calls:               0
% 0.46/0.66  % prop_num_of_clauses:                  0
% 0.46/0.66  % prop_preprocess_simplified:           0
% 0.46/0.66  % prop_fo_subsumed:                     0
% 0.46/0.66  % prop_solver_time:                     0.
% 0.46/0.66  % prop_fast_solver_time:                0.
% 0.46/0.66  % prop_unsat_core_time:                 0.
% 0.46/0.66  
% 0.46/0.66  % ------ QBF 
% 0.46/0.66  
% 0.46/0.66  % qbf_q_res:                            0
% 0.46/0.66  % qbf_num_tautologies:                  0
% 0.46/0.66  % qbf_prep_cycles:                      0
% 0.46/0.66  
% 0.46/0.66  % ------ BMC1
% 0.46/0.66  
% 0.46/0.66  % bmc1_current_bound:                   -1
% 0.46/0.66  % bmc1_last_solved_bound:               -1
% 0.46/0.66  % bmc1_unsat_core_size:                 -1
% 0.46/0.66  % bmc1_unsat_core_parents_size:         -1
% 0.46/0.66  % bmc1_merge_next_fun:                  0
% 0.46/0.66  % bmc1_unsat_core_clauses_time:         0.
% 0.46/0.66  
% 0.46/0.66  % ------ Instantiation
% 0.46/0.66  
% 0.46/0.66  % inst_num_of_clauses:                  undef
% 0.46/0.66  % inst_num_in_passive:                  undef
% 0.46/0.66  % inst_num_in_active:                   0
% 0.46/0.66  % inst_num_in_unprocessed:              0
% 0.46/0.66  % inst_num_of_loops:                    0
% 0.46/0.66  % inst_num_of_learning_restarts:        0
% 0.46/0.66  % inst_num_moves_active_passive:        0
% 0.46/0.66  % inst_lit_activity:                    0
% 0.46/0.66  % inst_lit_activity_moves:              0
% 0.46/0.66  % inst_num_tautologies:                 0
% 0.46/0.66  % inst_num_prop_implied:                0
% 0.46/0.66  % inst_num_existing_simplified:         0
% 0.46/0.66  % inst_num_eq_res_simplified:           0
% 0.46/0.66  % inst_num_child_elim:                  0
% 0.46/0.66  % inst_num_of_dismatching_blockings:    0
% 0.46/0.66  % inst_num_of_non_proper_insts:         0
% 0.46/0.66  % inst_num_of_duplicates:               0
% 0.46/0.66  % inst_inst_num_from_inst_to_res:       0
% 0.46/0.66  % inst_dismatching_checking_time:       0.
% 0.46/0.66  
% 0.46/0.66  % ------ Resolution
% 0.46/0.66  
% 0.46/0.66  % res_num_of_clauses:                   undef
% 0.46/0.66  % res_num_in_passive:                   undef
% 0.46/0.66  % res_num_in_active:                    0
% 0.46/0.66  % res_num_of_loops:                     0
% 0.46/0.66  % res_forward_subset_subsumed:          0
% 0.46/0.66  % res_backward_subset_subsumed:         0
% 0.46/0.66  % res_forward_subsumed:                 0
% 0.46/0.66  % res_backward_subsumed:                0
% 0.46/0.66  % res_forward_subsumption_resolution:   0
% 0.46/0.66  % res_backward_subsumption_resolution:  0
% 0.46/0.66  % res_clause_to_clause_subsumption:     0
% 0.46/0.66  % res_orphan_elimination:               0
% 0.46/0.66  % res_tautology_del:                    0
% 0.46/0.66  % res_num_eq_res_simplified:            0
% 0.46/0.66  % res_num_sel_changes:                  0
% 0.46/0.66  % res_moves_from_active_to_pass:        0
% 0.46/0.66  
% 0.46/0.66  % Status Unknown
% 0.53/0.93  % Orienting using strategy ClausalAll
% 0.53/0.93  % FOF problem with conjecture
% 0.53/0.93  % Executing iprover_moduloopt --modulo true --schedule none --sub_typing false --res_to_prop_solver none --res_prop_simpl_given false --res_lit_sel kbo_max --large_theory_mode false --res_time_limit 1000 --res_orphan_elimination false --prep_sem_filter none --prep_unflatten false --comb_res_mult 1000 --comb_inst_mult 300 --clausifier .//eprover --clausifier_options "--tstp-format  " --proof_out_file /export/starexec/sandbox2/tmp/iprover_proof_ee60a1.s --tptp_safe_out true --time_out_real 150 /export/starexec/sandbox2/tmp/iprover_modulo_b37773.p | tee /export/starexec/sandbox2/tmp/iprover_modulo_out_5a1eb2 | grep -v "SZS"
% 0.82/0.95  
% 0.82/0.95  %---------------- iProver v2.5 (CASC-J8 2016) ----------------%
% 0.82/0.95  
% 0.82/0.95  % 
% 0.82/0.95  % ------  iProver source info 
% 0.82/0.95  
% 0.82/0.95  % git: sha1: 57accf6c58032223c7708532cf852a99fa48c1b3
% 0.82/0.95  % git: non_committed_changes: true
% 0.82/0.95  % git: last_make_outside_of_git: true
% 0.82/0.95  
% 0.82/0.95  % 
% 0.82/0.95  % ------ Input Options
% 0.82/0.95  
% 0.82/0.95  % --out_options                         all
% 0.82/0.95  % --tptp_safe_out                       true
% 0.82/0.95  % --problem_path                        ""
% 0.82/0.95  % --include_path                        ""
% 0.82/0.95  % --clausifier                          .//eprover
% 0.82/0.95  % --clausifier_options                  --tstp-format  
% 0.82/0.95  % --stdin                               false
% 0.82/0.95  % --dbg_backtrace                       false
% 0.82/0.95  % --dbg_dump_prop_clauses               false
% 0.82/0.95  % --dbg_dump_prop_clauses_file          -
% 0.82/0.95  % --dbg_out_stat                        false
% 0.82/0.95  
% 0.82/0.95  % ------ General Options
% 0.82/0.95  
% 0.82/0.95  % --fof                                 false
% 0.82/0.95  % --time_out_real                       150.
% 0.82/0.95  % --time_out_prep_mult                  0.2
% 0.82/0.95  % --time_out_virtual                    -1.
% 0.82/0.95  % --schedule                            none
% 0.82/0.95  % --ground_splitting                    input
% 0.82/0.95  % --splitting_nvd                       16
% 0.82/0.95  % --non_eq_to_eq                        false
% 0.82/0.95  % --prep_gs_sim                         true
% 0.82/0.95  % --prep_unflatten                      false
% 0.82/0.95  % --prep_res_sim                        true
% 0.82/0.95  % --prep_upred                          true
% 0.82/0.95  % --res_sim_input                       true
% 0.82/0.95  % --clause_weak_htbl                    true
% 0.82/0.95  % --gc_record_bc_elim                   false
% 0.82/0.95  % --symbol_type_check                   false
% 0.82/0.95  % --clausify_out                        false
% 0.82/0.95  % --large_theory_mode                   false
% 0.82/0.95  % --prep_sem_filter                     none
% 0.82/0.95  % --prep_sem_filter_out                 false
% 0.82/0.95  % --preprocessed_out                    false
% 0.82/0.95  % --sub_typing                          false
% 0.82/0.95  % --brand_transform                     false
% 0.82/0.95  % --pure_diseq_elim                     true
% 0.82/0.95  % --min_unsat_core                      false
% 0.82/0.95  % --pred_elim                           true
% 0.82/0.95  % --add_important_lit                   false
% 0.82/0.95  % --soft_assumptions                    false
% 0.82/0.95  % --reset_solvers                       false
% 0.82/0.95  % --bc_imp_inh                          []
% 0.82/0.95  % --conj_cone_tolerance                 1.5
% 0.82/0.95  % --prolific_symb_bound                 500
% 0.82/0.95  % --lt_threshold                        2000
% 0.82/0.95  
% 0.82/0.95  % ------ SAT Options
% 0.82/0.95  
% 0.82/0.95  % --sat_mode                            false
% 0.82/0.95  % --sat_fm_restart_options              ""
% 0.82/0.95  % --sat_gr_def                          false
% 0.82/0.95  % --sat_epr_types                       true
% 0.82/0.95  % --sat_non_cyclic_types                false
% 0.82/0.95  % --sat_finite_models                   false
% 0.82/0.95  % --sat_fm_lemmas                       false
% 0.82/0.95  % --sat_fm_prep                         false
% 0.82/0.95  % --sat_fm_uc_incr                      true
% 0.82/0.95  % --sat_out_model                       small
% 0.82/0.95  % --sat_out_clauses                     false
% 0.82/0.95  
% 0.82/0.95  % ------ QBF Options
% 0.82/0.95  
% 0.82/0.95  % --qbf_mode                            false
% 0.82/0.95  % --qbf_elim_univ                       true
% 0.82/0.95  % --qbf_sk_in                           true
% 0.82/0.95  % --qbf_pred_elim                       true
% 0.82/0.95  % --qbf_split                           32
% 0.82/0.95  
% 0.82/0.95  % ------ BMC1 Options
% 0.82/0.95  
% 0.82/0.95  % --bmc1_incremental                    false
% 0.82/0.95  % --bmc1_axioms                         reachable_all
% 0.82/0.95  % --bmc1_min_bound                      0
% 0.82/0.95  % --bmc1_max_bound                      -1
% 0.82/0.95  % --bmc1_max_bound_default              -1
% 0.82/0.95  % --bmc1_symbol_reachability            true
% 0.82/0.95  % --bmc1_property_lemmas                false
% 0.82/0.95  % --bmc1_k_induction                    false
% 0.82/0.95  % --bmc1_non_equiv_states               false
% 0.82/0.95  % --bmc1_deadlock                       false
% 0.82/0.95  % --bmc1_ucm                            false
% 0.82/0.95  % --bmc1_add_unsat_core                 none
% 0.82/0.95  % --bmc1_unsat_core_children            false
% 0.82/0.95  % --bmc1_unsat_core_extrapolate_axioms  false
% 0.82/0.95  % --bmc1_out_stat                       full
% 0.82/0.95  % --bmc1_ground_init                    false
% 0.82/0.95  % --bmc1_pre_inst_next_state            false
% 0.82/0.95  % --bmc1_pre_inst_state                 false
% 0.82/0.95  % --bmc1_pre_inst_reach_state           false
% 0.82/0.95  % --bmc1_out_unsat_core                 false
% 0.82/0.95  % --bmc1_aig_witness_out                false
% 0.82/0.95  % --bmc1_verbose                        false
% 0.82/0.95  % --bmc1_dump_clauses_tptp              false
% 0.96/1.13  % --bmc1_dump_unsat_core_tptp           false
% 0.96/1.13  % --bmc1_dump_file                      -
% 0.96/1.13  % --bmc1_ucm_expand_uc_limit            128
% 0.96/1.13  % --bmc1_ucm_n_expand_iterations        6
% 0.96/1.13  % --bmc1_ucm_extend_mode                1
% 0.96/1.13  % --bmc1_ucm_init_mode                  2
% 0.96/1.13  % --bmc1_ucm_cone_mode                  none
% 0.96/1.13  % --bmc1_ucm_reduced_relation_type      0
% 0.96/1.13  % --bmc1_ucm_relax_model                4
% 0.96/1.13  % --bmc1_ucm_full_tr_after_sat          true
% 0.96/1.13  % --bmc1_ucm_expand_neg_assumptions     false
% 0.96/1.13  % --bmc1_ucm_layered_model              none
% 0.96/1.13  % --bmc1_ucm_max_lemma_size             10
% 0.96/1.13  
% 0.96/1.13  % ------ AIG Options
% 0.96/1.13  
% 0.96/1.13  % --aig_mode                            false
% 0.96/1.13  
% 0.96/1.13  % ------ Instantiation Options
% 0.96/1.13  
% 0.96/1.13  % --instantiation_flag                  true
% 0.96/1.13  % --inst_lit_sel                        [+prop;+sign;+ground;-num_var;-num_symb]
% 0.96/1.13  % --inst_solver_per_active              750
% 0.96/1.13  % --inst_solver_calls_frac              0.5
% 0.96/1.13  % --inst_passive_queue_type             priority_queues
% 0.96/1.13  % --inst_passive_queues                 [[-conj_dist;+conj_symb;-num_var];[+age;-num_symb]]
% 0.96/1.13  % --inst_passive_queues_freq            [25;2]
% 0.96/1.13  % --inst_dismatching                    true
% 0.96/1.13  % --inst_eager_unprocessed_to_passive   true
% 0.96/1.13  % --inst_prop_sim_given                 true
% 0.96/1.13  % --inst_prop_sim_new                   false
% 0.96/1.13  % --inst_orphan_elimination             true
% 0.96/1.13  % --inst_learning_loop_flag             true
% 0.96/1.13  % --inst_learning_start                 3000
% 0.96/1.13  % --inst_learning_factor                2
% 0.96/1.13  % --inst_start_prop_sim_after_learn     3
% 0.96/1.13  % --inst_sel_renew                      solver
% 0.96/1.13  % --inst_lit_activity_flag              true
% 0.96/1.13  % --inst_out_proof                      true
% 0.96/1.13  
% 0.96/1.13  % ------ Resolution Options
% 0.96/1.13  
% 0.96/1.13  % --resolution_flag                     true
% 0.96/1.13  % --res_lit_sel                         kbo_max
% 0.96/1.13  % --res_to_prop_solver                  none
% 0.96/1.13  % --res_prop_simpl_new                  false
% 0.96/1.13  % --res_prop_simpl_given                false
% 0.96/1.13  % --res_passive_queue_type              priority_queues
% 0.96/1.13  % --res_passive_queues                  [[-conj_dist;+conj_symb;-num_symb];[+age;-num_symb]]
% 0.96/1.13  % --res_passive_queues_freq             [15;5]
% 0.96/1.13  % --res_forward_subs                    full
% 0.96/1.13  % --res_backward_subs                   full
% 0.96/1.13  % --res_forward_subs_resolution         true
% 0.96/1.13  % --res_backward_subs_resolution        true
% 0.96/1.13  % --res_orphan_elimination              false
% 0.96/1.13  % --res_time_limit                      1000.
% 0.96/1.13  % --res_out_proof                       true
% 0.96/1.13  % --proof_out_file                      /export/starexec/sandbox2/tmp/iprover_proof_ee60a1.s
% 0.96/1.13  % --modulo                              true
% 0.96/1.13  
% 0.96/1.13  % ------ Combination Options
% 0.96/1.13  
% 0.96/1.13  % --comb_res_mult                       1000
% 0.96/1.13  % --comb_inst_mult                      300
% 0.96/1.13  % ------ 
% 0.96/1.13  
% 0.96/1.13  % ------ Parsing...% successful
% 0.96/1.13  
% 0.96/1.13  % 
% 0.96/1.13  
% 0.96/1.13  
% 0.96/1.13  % ------                             Statistics
% 0.96/1.13  
% 0.96/1.13  % ------ General
% 0.96/1.13  
% 0.96/1.13  % num_of_input_clauses:                 326
% 0.96/1.13  % num_of_input_neg_conjectures:         1
% 0.96/1.13  % num_of_splits:                        0
% 0.96/1.13  % num_of_split_atoms:                   0
% 0.96/1.13  % num_of_sem_filtered_clauses:          0
% 0.96/1.13  % num_of_subtypes:                      0
% 0.96/1.13  % monotx_restored_types:                0
% 0.96/1.13  % sat_num_of_epr_types:                 0
% 0.96/1.13  % sat_num_of_non_cyclic_types:          0
% 0.96/1.13  % sat_guarded_non_collapsed_types:      0
% 0.96/1.13  % is_epr:                               0
% 0.96/1.13  % is_horn:                              0
% 0.96/1.13  % has_eq:                               0
% 0.96/1.13  % num_pure_diseq_elim:                  0
% 0.96/1.13  % simp_replaced_by:                     0
% 0.96/1.13  % res_preprocessed:                     0
% 0.96/1.13  % prep_upred:                           0
% 0.96/1.13  % prep_unflattend:                      0
% 0.96/1.13  % pred_elim_cands:                      0
% 0.96/1.13  % pred_elim:                            0
% 0.96/1.13  % pred_elim_cl:                         0
% 0.96/1.13  % pred_elim_cycles:                     0
% 0.96/1.13  % forced_gc_time:                       0
% 0.96/1.13  % gc_basic_clause_elim:                 0
% 0.96/1.13  % parsing_time:                         0.152
% 0.96/1.13  % sem_filter_time:                      0.
% 0.96/1.13  % pred_elim_time:                       0.
% 0.96/1.13  % out_proof_time:                       0.002
% 0.96/1.13  % monotx_time:                          0.
% 0.96/1.13  % subtype_inf_time:                     0.
% 0.96/1.13  % unif_index_cands_time:                0.
% 0.96/1.14  % unif_index_add_time:                  0.
% 0.96/1.14  % total_time:                           0.195
% 0.96/1.14  % num_of_symbols:                       148
% 0.96/1.14  % num_of_terms:                         3013
% 0.96/1.14  
% 0.96/1.14  % ------ Propositional Solver
% 0.96/1.14  
% 0.96/1.14  % prop_solver_calls:                    0
% 0.96/1.14  % prop_fast_solver_calls:               0
% 0.96/1.14  % prop_num_of_clauses:                  291
% 0.96/1.14  % prop_preprocess_simplified:           211
% 0.96/1.14  % prop_fo_subsumed:                     0
% 0.96/1.14  % prop_solver_time:                     0.
% 0.96/1.14  % prop_fast_solver_time:                0.
% 0.96/1.14  % prop_unsat_core_time:                 0.
% 0.96/1.14  
% 0.96/1.14  % ------ QBF 
% 0.96/1.14  
% 0.96/1.14  % qbf_q_res:                            0
% 0.96/1.14  % qbf_num_tautologies:                  0
% 0.96/1.14  % qbf_prep_cycles:                      0
% 0.96/1.14  
% 0.96/1.14  % ------ BMC1
% 0.96/1.14  
% 0.96/1.14  % bmc1_current_bound:                   -1
% 0.96/1.14  % bmc1_last_solved_bound:               -1
% 0.96/1.14  % bmc1_unsat_core_size:                 -1
% 0.96/1.14  % bmc1_unsat_core_parents_size:         -1
% 0.96/1.14  % bmc1_merge_next_fun:                  0
% 0.96/1.14  % bmc1_unsat_core_clauses_time:         0.
% 0.96/1.14  
% 0.96/1.14  % ------ Instantiation
% 0.96/1.14  
% 0.96/1.14  % inst_num_of_clauses:                  undef
% 0.96/1.14  % inst_num_in_passive:                  undef
% 0.96/1.14  % inst_num_in_active:                   0
% 0.96/1.14  % inst_num_in_unprocessed:              0
% 0.96/1.14  % inst_num_of_loops:                    0
% 0.96/1.14  % inst_num_of_learning_restarts:        0
% 0.96/1.14  % inst_num_moves_active_passive:        0
% 0.96/1.14  % inst_lit_activity:                    0
% 0.96/1.14  % inst_lit_activity_moves:              0
% 0.96/1.14  % inst_num_tautologies:                 0
% 0.96/1.14  % inst_num_prop_implied:                0
% 0.96/1.14  % inst_num_existing_simplified:         0
% 0.96/1.14  % inst_num_eq_res_simplified:           0
% 0.96/1.14  % inst_num_child_elim:                  0
% 0.96/1.14  % inst_num_of_dismatching_blockings:    0
% 0.96/1.14  % inst_num_of_non_proper_insts:         0
% 0.96/1.14  % inst_num_of_duplicates:               0
% 0.96/1.14  % inst_inst_num_from_inst_to_res:       0
% 0.96/1.14  % inst_dismatching_checking_time:       0.
% 0.96/1.14  
% 0.96/1.14  % ------ Resolution
% 0.96/1.14  
% 0.96/1.14  % res_num_of_clauses:                   undef
% 0.96/1.14  % res_num_in_passive:                   undef
% 0.96/1.14  % res_num_in_active:                    0
% 0.96/1.14  % res_num_of_loops:                     0
% 0.96/1.14  % res_forward_subset_subsumed:          0
% 0.96/1.14  % res_backward_subset_subsumed:         0
% 0.96/1.14  % res_forward_subsumed:                 0
% 0.96/1.14  % res_backward_subsumed:                0
% 0.96/1.14  % res_forward_subsumption_resolution:   0
% 0.96/1.14  % res_backward_subsumption_resolution:  0
% 0.96/1.14  % res_clause_to_clause_subsumption:     0
% 0.96/1.14  % res_orphan_elimination:               0
% 0.96/1.14  % res_tautology_del:                    0
% 0.96/1.14  % res_num_eq_res_simplified:            0
% 0.96/1.14  % res_num_sel_changes:                  0
% 0.96/1.14  % res_moves_from_active_to_pass:        0
% 0.96/1.14  
% 0.96/1.14  % Status Unsatisfiable
% 0.96/1.14  % SZS status Theorem
% 0.96/1.14  % SZS output start CNFRefutation
% See solution above
%------------------------------------------------------------------------------